@arbisoft/react-design-tool 1.0.24 → 1.0.25

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/features/Studio/props.js","../../src/theme/color.js","../../src/theme/fonts.js","../../src/theme/index.js","../../src/features/Studio/styled.js","../../src/components/SideBar/props.js","../../src/components/SideBar/styled.js","../../src/components/SideBarPill/props.js","../../src/components/SideBarPill/styled.js","../../src/components/SideBarPill/sideBarPill.jsx","../../src/assets/icons/ic_template.svg","../../src/assets/icons/ic_image.svg","../../src/assets/icons/ic_qr_code.svg","../../src/assets/icons/ic_shape.svg","../../src/assets/icons/ic_text.svg","../../src/assets/icons/ic_white_label.svg","../../src/assets/icons/ic_dropdown.svg","../../src/assets/icons/ic_background-color.svg","../../src/assets/icons/ic_background_image.svg","../../src/assets/icons/ic_background_image_opacity.svg","../../src/assets/icons/ic_dropdown_small.svg","../../src/assets/icons/ic_frame.svg","../../src/assets/icons/ic_zoom_in.svg","../../src/assets/icons/ic_zoom_out.svg","../../src/assets/icons/ic_bring_to_front.svg","../../src/assets/icons/ic_sent_to_back.svg","../../src/assets/icons/ic_lock.svg","../../src/assets/icons/ic_copy.svg","../../src/assets/icons/ic_delete.svg","../../src/assets/icons/ic_undo.svg","../../src/assets/icons/ic_redo.svg","../../src/assets/icons/ic_text_small.svg","../../src/assets/icons/ic_bold.svg","../../src/assets/icons/ic_line_through.svg","../../src/assets/icons/ic_text_italic.svg","../../src/assets/icons/ic_text_underline.svg","../../src/assets/icons/ic_align_text_left.svg","../../src/assets/icons/ic_align_text_center.svg","../../src/assets/icons/ic_align_text_Right.svg","../../src/assets/icons/ic_opacity.svg","../../src/assets/icons/ic_grid.svg","../../src/assets/icons/ic_chevron_left.svg","../../src/assets/icons/ic_add.svg","../../src/assets/icons/ic_add_text.svg","../../src/assets/icons/ic_upload.svg","../../src/assets/icons/ic_graph.svg","../../src/assets/icons/ic_cheveron_down.svg","../../src/assets/icons/ic_info.svg","../../src/assets/icons/ic_tools.svg","../../src/assets/icons/ic_tools_pink.svg","../../src/assets/icons/ic_circle.svg","../../src/assets/icons/ic_square.svg","../../src/assets/icons/ic_triangle.svg","../../src/assets/icons/ic_arrow_right.svg","../../src/assets/icons/ic_horizontal_line.svg","../../src/assets/icons/ic_vertical_line.svg","../../src/assets/icons/ic_star.svg","../../src/assets/icons/ic_heart.svg","../../src/assets/icons/ic_unlock.svg","../../src/assets/icons/ic_cross.svg","../../src/assets/images/small-dots.png","../../src/constants/layoutConstants.js","../../src/constants/index.js","../../src/constants/textConstants.js","../../src/components/SideBar/sideBar.jsx","../../src/components/Editor/props.js","../../src/components/Editor/styled.js","../../src/components/TopToolBar/props.js","../../src/components/TopToolBar/styled.js","../../src/components/TemplateToolBar/props.js","../../src/components/ToolBarButtonWrapper/props.js","../../src/components/ToolBarButtonWrapper/styled.js","../../src/components/Tooltip/props.js","../../src/components/Tooltip/styled.js","../../src/components/Tooltip/tooltip.jsx","../../src/components/ToolBarButtonWrapper/toolBarBottonWrapper.jsx","../../src/components/DropDown/props.js","../../src/components/DropDown/styled.js","../../src/components/DropDown/dropDown.jsx","../../src/components/TemplateToolBar/styled.js","../../src/components/ColorBox/props.js","../../src/components/ColorBox/styled.js","../../src/components/ColorBox/colorBox.jsx","../../src/generic/Styled.js","../../src/utils/index.js","../../src/components/OpacityPicker/props.js","../../src/components/OpacityPicker/opacityPicker.jsx","../../src/components/StrokePicker/props.js","../../src/components/StrokePicker/strokePicker.jsx","../../src/components/TemplateToolBar/templateToolBar.jsx","../../src/components/TextToolBar/props.js","../../src/components/TextToolBar/styled.js","../../src/components/ToolsTabBar/props.js","../../src/components/ToolsTabBar/styled.js","../../src/components/ToolsTabBar/toolsTabBar.jsx","../../src/components/TextToolBar/textToolBar.jsx","../../src/components/ImageToolBar/props.js","../../src/components/ImageToolBar/styled.js","../../src/components/ImageToolBar/imageToolBar.jsx","../../src/components/ShapeToolBar/props.js","../../src/components/ShapeToolBar/styled.js","../../src/components/ShapeToolBar/shapeToolBar.jsx","../../src/components/QrToolBar/props.js","../../src/components/QrToolBar/styled.js","../../src/components/QrToolBar/qrToolBar.jsx","../../src/components/TopToolBar/topToolBar.jsx","../../src/components/BottomToolBar/props.js","../../src/components/ZoomControls/props.js","../../src/components/ZoomControls/styled.js","../../src/components/Button/props.js","../../src/components/Button/styled.js","../../src/components/Button/button.jsx","../../src/components/ZoomControls/zoomControls.jsx","../../src/components/BottomToolBarControls/props.js","../../src/components/BottomToolBarControls/styled.js","../../src/components/BottomToolBarControls/bottomToolBarControls.jsx","../../src/components/BottomToolBar/styled.js","../../src/components/UndoRedoControls/props.js","../../src/components/UndoRedoControls/undoRedoControls.jsx","../../src/components/BottomToolBar/bottomToolBar.jsx","../../src/components/CanvasImage/props.js","../../src/components/CanvasImage/canvasImage.jsx","../../src/components/QrElement/props.js","../../src/components/QrElement/qrElement.jsx","../../src/components/EditableText/props.js","../../src/components/EditableText/textEditor.jsx","../../src/components/EditableText/editableText.jsx","../../src/components/Editor/util.js","../../src/components/Editor/editor.jsx","../../src/components/HelperSideBar/props.js","../../src/components/SideBarHeader/props.js","../../src/components/SideBarHeader/styled.js","../../src/components/SideBarHeader/sideBarHeader.jsx","../../src/components/HelperSideBar/styled.js","../../src/components/TemplateSideBar/props.js","../../src/components/Collapsable/props.js","../../src/components/Collapsable/styled.js","../../src/components/Collapsable/collapsable.jsx","../../src/components/TemplateSideBar/styled.js","../../src/components/TemplateSideBar/templateSideBar.jsx","../../src/components/TextSideBar/props.js","../../src/components/TextSideBar/styled.js","../../src/components/TextSideBar/textSideBar.jsx","../../src/components/ImageSideBar/props.js","../../src/components/ImageSideBar/styled.js","../../src/components/ImageSideBar/imageSideBar.jsx","../../src/components/ShapeSideBar/props.js","../../src/components/ShapeSideBar/styled.js","../../src/components/ShapeSideBar/shapeSideBar.jsx","../../src/components/QrSideBar/props.js","../../src/components/QrSideBar/styled.js","../../src/components/RadioSection/props.js","../../src/components/RadioSection/styled.js","../../src/components/RadioSection/radioSection.jsx","../../src/components/QrSideBar/qrSideBar.jsx","../../src/components/WhiteLabelSideBar/props.js","../../src/components/WhiteLabelSideBar/styled.js","../../src/components/WhiteLabelSideBar/whiteLabelSideBar.jsx","../../src/components/HelperSideBar/helperSideBar.jsx","../../src/components/Overlay/props.js","../../src/components/Overlay/overlay.jsx","../../src/components/LoadingSpinner/props.js","../../src/components/LoadingSpinner/styled.js","../../src/components/LoadingSpinner/loadingSpinner.jsx","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../src/features/Studio/studio.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n languageLocale: PropTypes.string,\n elementsList: PropTypes.array,\n customImages: PropTypes.array,\n defaultImages: PropTypes.array,\n disableWhiteLabel: PropTypes.bool,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n qrLink: PropTypes.string,\n styleProps: PropTypes.object,\n defaultText: PropTypes.string,\n onSave: PropTypes.func,\n saveButtonText: PropTypes.string,\n locale: PropTypes.oneOf(['en', 'ru', 'pl', 'de', 'es', 'fr', 'it']),\n};\n","/**\n * palette contains the basic colors set\n */\nexport const palette = {\n primary: '#5F98D0',\n secondary: '#F9FAFB',\n gray_700: '#344054',\n white: '#FFFFFF',\n white_F5F5F5: '#F5F5F5',\n white_F7F7F7: '#F7F7F7',\n gray_535354: '#535354',\n gray_545454: '#545454',\n gray_646464: '#646464',\n gray_200: '#E4E7EC',\n gray_788899: '#788899',\n icon_gray: '#4D6277',\n gray_B8B8B8: '#B8B8B8',\n gray_25: '#FCFCFD',\n gray_7A7979: '#7A7979',\n gray_E8E8E8: '#E8E8E8',\n gray_EAEAEA: '#EAEAEA',\n gray_CCC: '#CCC',\n gray_F2F2F2: '#F2F2F2',\n gray_FDFCFC: '#FDFCFC',\n gray_EDEDED: '#EDEDED',\n gray_FBFBFB: '#FBFBFB',\n gray_F5F6F6: '#F5F6F6',\n gray_A1A1A1: '#A1A1A1',\n gray_F0F2F7: '#F0F2F7',\n gray_333: '#333333',\n gray_EFEFEF: '#EFEFEF',\n gray_9DA1A7: '#9DA1A7',\n green_80D965: '#80D965',\n black: '#000000',\n black_transparent: 'rgba(0,0,0,0.4)',\n};\n\nexport const color = {\n ...palette,\n};\n","export const fonts = {\n primary: 'Plus Jakarta Sans, sans-serif',\n secondary: 'Inter, sans-serif',\n tertiary: 'Source Sans Pro, sans-serif',\n};\nexport const fontWeights = {\n 100: 100,\n 200: 200,\n 300: 300,\n 400: 400,\n 500: 500,\n 600: 600,\n 700: 700,\n 800: 800,\n 900: 900,\n};\n","import { color } from './color';\nimport { fonts } from './fonts';\nimport { fontWeights } from './fonts';\n\nexport default { color, fonts, fontWeights };\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StudioWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex: 1;\n flex-direction: row;\n overflow: hidden;\n height: 100%;\n width: 100%;\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onClickPill: PropTypes.func,\n languageLocale: PropTypes.string,\n disableWhiteLabel: PropTypes.bool,\n styleProps: PropTypes.object,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex-direction: column;\n width: 100px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n isSelected: PropTypes.bool,\n onClick: PropTypes.func,\n icon: PropTypes.node,\n text: PropTypes.string,\n pillActiveColor: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const SideBarItem = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100px;\n min-height: 100px;\n background-color: ${({ isSelected, pillActiveColor }) =>\n isSelected ? pillActiveColor : theme.color.secondary};\n margin-bottom: 2px;\n cursor: pointer;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background-color: ${({ pillActiveColor }) => pillActiveColor};\n }\n`;\n\nexport const SideBarIcon = styled.img`\n height: 28px;\n width: 28px;\n object-fit: contain;\n margin-bottom: 8px;\n filter: ${({ isSelected = false }) => (isSelected ? 'brightness(0) invert(1)' : 'none')};\n\n ${SideBarItem}:hover & {\n filter: brightness(0) invert(1);\n }\n`;\n\nexport const SideBarText = styled.p`\n color: ${({ isSelected = false }) =>\n isSelected ? theme.color.white : theme.color.gray_535354};\n font-size: 12px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n line-height: 109.023%;\n text-align: center;\n\n ${SideBarItem}:hover & {\n color: ${theme.color.white};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarIcon, SideBarItem, SideBarText } from './styled';\nimport theme from '@/theme';\n\nexport const SideBarPill = ({\n isSelected = false,\n onClick = () => {},\n icon,\n text,\n pillActiveColor,\n id\n}) => (\n <SideBarItem\n key={id}\n isSelected={isSelected}\n onClick={() => onClick()}\n pillActiveColor={pillActiveColor || theme.color.primary}\n >\n <SideBarIcon src={icon} isSelected={isSelected} />\n <SideBarText isSelected={isSelected}>{text}</SideBarText>\n </SideBarItem>\n);\n\nSideBarPill.propTypes = propTypes;\n","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22layout-dashboard%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%202.83337C3.37816%202.83337%202.3335%203.87804%202.3335%205.16671V13.3334C2.3335%2014.622%203.37816%2015.6667%204.66683%2015.6667H10.5002C11.7888%2015.6667%2012.8335%2014.622%2012.8335%2013.3334V5.16671C12.8335%203.87804%2011.7888%202.83337%2010.5002%202.83337H4.66683ZM4.66683%205.16671H10.5002V13.3334H4.66683V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M17.5002%202.83337C16.2115%202.83337%2015.1668%203.87804%2015.1668%205.16671V8.66671C15.1668%209.95537%2016.2115%2011%2017.5002%2011H23.3335C24.6222%2011%2025.6668%209.95537%2025.6668%208.66671V5.16671C25.6668%203.87804%2024.6222%202.83337%2023.3335%202.83337H17.5002ZM17.5002%205.16671H23.3335V8.66671H17.5002V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.1668%2015.6667C15.1668%2014.378%2016.2115%2013.3334%2017.5002%2013.3334H23.3335C24.6222%2013.3334%2025.6668%2014.378%2025.6668%2015.6667V23.8334C25.6668%2025.122%2024.6222%2026.1667%2023.3335%2026.1667H17.5002C16.2115%2026.1667%2015.1668%2025.122%2015.1668%2023.8334V15.6667ZM23.3335%2015.6667H17.5002V23.8334H23.3335V15.6667Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%2018C3.37816%2018%202.3335%2019.0447%202.3335%2020.3334V23.8334C2.3335%2025.122%203.37816%2026.1667%204.66683%2026.1667H10.5002C11.7888%2026.1667%2012.8335%2025.122%2012.8335%2023.8334V20.3334C12.8335%2019.0447%2011.7888%2018%2010.5002%2018H4.66683ZM4.66683%2020.3334H10.5002V23.8334H4.66683V20.3334Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M22.1667%204H5.83333C4.54467%204%203.5%205.04467%203.5%206.33333V22.6667C3.5%2023.9553%204.54467%2025%205.83333%2025H22.1667C23.4553%2025%2024.5%2023.9553%2024.5%2022.6667V6.33333C24.5%205.04467%2023.4553%204%2022.1667%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M10.4998%2013.3334C11.7885%2013.3334%2012.8332%2012.2887%2012.8332%2011C12.8332%209.71136%2011.7885%208.66669%2010.4998%208.66669C9.21117%208.66669%208.1665%209.71136%208.1665%2011C8.1665%2012.2887%209.21117%2013.3334%2010.4998%2013.3334Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M24.5%2018L20.8997%2014.3997C20.4621%2013.9622%2019.8687%2013.7165%2019.25%2013.7165C18.6313%2013.7165%2018.0379%2013.9622%2017.6003%2014.3997L7%2025%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22heroicons-solid%2Fqr-code%22%3E%3Cpath%20id%3D%22Vector%20%28Stroke%29%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M2%205C2%203.61929%203.11929%202.5%204.5%202.5H10.5C11.8807%202.5%2013%203.61929%2013%205V11C13%2012.3807%2011.8807%2013.5%2010.5%2013.5H4.5C3.11929%2013.5%202%2012.3807%202%2011V5ZM4.5%204.5C4.22386%204.5%204%204.72386%204%205V11C4%2011.2761%204.22386%2011.5%204.5%2011.5H10.5C10.7761%2011.5%2011%2011.2761%2011%2011V5C11%204.72386%2010.7761%204.5%2010.5%204.5H4.5ZM15%205C15%203.61929%2016.1193%202.5%2017.5%202.5H23.5C24.8807%202.5%2026%203.61929%2026%205V11C26%2012.3807%2024.8807%2013.5%2023.5%2013.5H17.5C16.1193%2013.5%2015%2012.3807%2015%2011V5ZM17.5%204.5C17.2239%204.5%2017%204.72386%2017%205V11C17%2011.2761%2017.2239%2011.5%2017.5%2011.5H23.5C23.7761%2011.5%2024%2011.2761%2024%2011V5C24%204.72386%2023.7761%204.5%2023.5%204.5H17.5ZM6%207.5C6%206.94772%206.44772%206.5%207%206.5H8C8.55228%206.5%209%206.94772%209%207.5V8.5C9%209.05228%208.55228%209.5%208%209.5H7C6.44772%209.5%206%209.05228%206%208.5V7.5ZM19%207.5C19%206.94772%2019.4477%206.5%2020%206.5H21C21.5523%206.5%2022%206.94772%2022%207.5V8.5C22%209.05228%2021.5523%209.5%2021%209.5H20C19.4477%209.5%2019%209.05228%2019%208.5V7.5ZM2%2018C2%2016.6193%203.11929%2015.5%204.5%2015.5H10.5C11.8807%2015.5%2013%2016.6193%2013%2018V24C13%2025.3807%2011.8807%2026.5%2010.5%2026.5H4.5C3.11929%2026.5%202%2025.3807%202%2024V18ZM4.5%2017.5C4.22386%2017.5%204%2017.7239%204%2018V24C4%2024.2761%204.22386%2024.5%204.5%2024.5H10.5C10.7761%2024.5%2011%2024.2761%2011%2024V18C11%2017.7239%2010.7761%2017.5%2010.5%2017.5H4.5ZM15%2016.5C15%2015.9477%2015.4477%2015.5%2016%2015.5H17C17.5523%2015.5%2018%2015.9477%2018%2016.5V17.5C18%2018.0523%2017.5523%2018.5%2017%2018.5H16C15.4477%2018.5%2015%2018.0523%2015%2017.5V16.5ZM23%2016.5C23%2015.9477%2023.4477%2015.5%2024%2015.5H25C25.5523%2015.5%2026%2015.9477%2026%2016.5V17.5C26%2018.0523%2025.5523%2018.5%2025%2018.5H24C23.4477%2018.5%2023%2018.0523%2023%2017.5V16.5ZM6%2020.5C6%2019.9477%206.44772%2019.5%207%2019.5H8C8.55228%2019.5%209%2019.9477%209%2020.5V21.5C9%2022.0523%208.55228%2022.5%208%2022.5H7C6.44772%2022.5%206%2022.0523%206%2021.5V20.5ZM19%2020.5C19%2019.9477%2019.4477%2019.5%2020%2019.5H21C21.5523%2019.5%2022%2019.9477%2022%2020.5V21.5C22%2022.0523%2021.5523%2022.5%2021%2022.5H20C19.4477%2022.5%2019%2022.0523%2019%2021.5V20.5ZM15%2024.5C15%2023.9477%2015.4477%2023.5%2016%2023.5H17C17.5523%2023.5%2018%2023.9477%2018%2024.5V25.5C18%2026.0523%2017.5523%2026.5%2017%2026.5H16C15.4477%2026.5%2015%2026.0523%2015%2025.5V24.5ZM23%2024.5C23%2023.9477%2023.4477%2023.5%2024%2023.5H25C25.5523%2023.5%2026%2023.9477%2026%2024.5V25.5C26%2026.0523%2025.5523%2026.5%2025%2026.5H24C23.4477%2026.5%2023%2026.0523%2023%2025.5V24.5Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2226%22%20height%3D%2227%22%20viewBox%3D%220%200%2026%2027%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.8996%200.305068C13.2791%200.29145%2013.6556%200.376085%2013.9926%200.55077C14.3297%200.725456%2014.616%200.984266%2014.8236%201.30211L14.8386%201.32569L19.6238%209.0076C19.8397%209.33005%2019.9667%209.70402%2019.9917%2010.0917C20.0176%2010.4929%2019.9332%2010.8935%2019.7477%2011.2502C19.5623%2011.6068%2019.2828%2011.906%2018.9395%2012.1152C18.5963%2012.3244%2018.2023%2012.4358%2017.8003%2012.4372L17.7958%2012.4372H8.19452C7.8032%2012.4509%207.41501%2012.3601%207.07005%2012.1737C6.71246%2011.9806%206.41525%2011.6923%206.21129%2011.3407C6.00733%2010.9892%205.90457%2010.588%205.91436%2010.1817C5.92407%209.77863%206.0442%209.38598%206.26157%209.04651L11.0735%201.39989C11.2568%201.08451%2011.5157%200.819365%2011.8271%200.628499C12.1508%200.430098%2012.5202%200.318687%2012.8996%200.305068ZM12.9777%203.24166L8.82255%209.84459H17.0908L12.9777%203.24166Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0%2017.6223C0%2016.1905%201.16074%2015.0297%202.59259%2015.0297H9.07407C10.5059%2015.0297%2011.6667%2016.1905%2011.6667%2017.6223V24.1038C11.6667%2025.5356%2010.5059%2026.6964%209.07407%2026.6964H2.59259C1.16074%2026.6964%200%2025.5356%200%2024.1038V17.6223ZM9.07407%2017.6223H2.59259V24.1038H9.07407V17.6223Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.0926%2015.0297C16.8709%2015.0297%2014.2593%2017.6414%2014.2593%2020.863C14.2593%2024.0847%2016.8709%2026.6964%2020.0926%2026.6964C23.3143%2026.6964%2025.9259%2024.0847%2025.9259%2020.863C25.9259%2017.6414%2023.3143%2015.0297%2020.0926%2015.0297ZM16.8519%2020.863C16.8519%2019.0732%2018.3028%2017.6223%2020.0926%2017.6223C21.8824%2017.6223%2023.3333%2019.0732%2023.3333%2020.863C23.3333%2022.6529%2021.8824%2024.1038%2020.0926%2024.1038C18.3028%2024.1038%2016.8519%2022.6529%2016.8519%2020.863Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.81277%2024.83C11.0728%2024.63%2011.8428%2024.43%2012.1228%2024.23C12.4028%2024.01%2012.5428%2023.59%2012.5428%2022.97V6.77C9.96277%206.81%208.58277%206.87%208.40277%206.95C8.22277%207.03%208.08277%207.12%207.98277%207.22C7.74277%207.54%207.45277%208.67%207.11277%2010.61L5.58277%2010.49C5.56277%2010.19%205.55277%209.61%205.55277%208.75C5.55277%207.87%205.64277%206.69%205.82277%205.21H22.1728C22.3528%206.69%2022.4428%207.87%2022.4428%208.75C22.4428%209.61%2022.4328%2010.19%2022.4128%2010.49L20.8828%2010.61C20.5428%208.67%2020.2428%207.54%2019.9828%207.22C19.9028%207.12%2019.7728%207.03%2019.5928%206.95C19.4128%206.87%2018.0328%206.81%2015.4528%206.77V23.69C15.4528%2024.15%2015.6528%2024.41%2016.0528%2024.47L18.3628%2024.83L18.2428%2026H9.99277L9.81277%2024.83Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_1597_130%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M11.2063%2022.2583H24.7765V12.7095H11.2063V22.2583ZM1.71955%2026.75C0.913059%2026.75%200.230426%2026.4642%20-0.328346%2025.8925C-0.887118%2025.3208%20-1.1665%2024.6224%20-1.1665%2023.7973V5.20266C-1.1665%204.37755%20-0.887118%203.67917%20-0.328346%203.1075C0.230426%202.53583%200.913059%202.25%201.71955%202.25H26.2808C27.0873%202.25%2027.7699%202.53583%2028.3287%203.1075C28.8874%203.67917%2029.1668%204.37755%2029.1668%205.20266V23.7973C29.1668%2024.6224%2028.8874%2025.3208%2028.3287%2025.8925C27.7699%2026.4642%2027.0873%2026.75%2026.2808%2026.75H1.71955ZM1.71955%2024.3H26.2808C26.4037%2024.3%2026.5163%2024.2476%2026.6184%2024.1428C26.7209%2024.0383%2026.7721%2023.9231%2026.7721%2023.7973V5.20266C26.7721%205.07689%2026.7209%204.96174%2026.6184%204.85721C26.5163%204.7524%2026.4037%204.7%2026.2808%204.7H1.71955C1.59662%204.7%201.48407%204.7524%201.3819%204.85721C1.27945%204.96174%201.22823%205.07689%201.22823%205.20266V23.7973C1.22823%2023.9231%201.27945%2024.0383%201.3819%2024.1428C1.48407%2024.2476%201.59662%2024.3%201.71955%2024.3Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_1597_130%22%3E%3Crect%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22white%22%20transform%3D%22translate%280%200.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Shape%22%20d%3D%22M1.41005%201.71004C1.95679%201.1633%202.84322%201.1633%203.38995%201.71004L8%206.32009L12.6101%201.71004C13.1568%201.1633%2014.0432%201.1633%2014.5899%201.71004C15.1367%202.25677%2015.1367%203.1432%2014.5899%203.68994L8.98995%209.28994C8.44322%209.83667%207.55679%209.83667%207.01005%209.28994L1.41005%203.68994C0.863317%203.1432%200.863317%202.25677%201.41005%201.71004Z%22%20fill%3D%22%2398A2B3%22%20stroke%3D%22white%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2218%22%20viewBox%3D%220%200%2017%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22background-color%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M13.5093%2012.1849C13.5093%2012.4144%2013.3232%2012.6005%2013.0937%2012.6005C12.8643%2012.6005%2012.6782%2012.4144%2012.6782%2012.1849C12.6782%2012.1873%2012.6782%2012.1886%2012.6783%2012.1886C12.6793%2012.1887%2012.6927%2012.0751%2012.8642%2011.8179C12.9262%2011.7249%2013.0023%2011.6229%2013.0937%2011.5118C13.1852%2011.6229%2013.2613%2011.7249%2013.3233%2011.8179C13.4948%2012.0751%2013.5082%2012.1887%2013.5092%2012.1886C13.5093%2012.1886%2013.5093%2012.1873%2013.5093%2012.1849Z%22%20fill%3D%22%23344054%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.37988%202.45471L8.63103%203.70587%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.38058%203.45575L2.87549%208.96086L6.8792%2012.9646L12.3843%207.45945L8.38058%203.45575Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M4.24658%207.61035L10.2488%209.58373%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M1.41553%2015.7238H15.5708%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.34066%204H20.6323C21.1616%204%2021.5907%204.44772%2021.5907%205V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V5C3.38232%204.44772%203.81138%204%204.34066%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.93457%208.99994C8.33152%208.99994%208.65332%208.66415%208.65332%208.24994C8.65332%207.83573%208.33152%207.49994%207.93457%207.49994C7.53762%207.49994%207.21582%207.83573%207.21582%208.24994C7.21582%208.66415%207.53762%208.99994%207.93457%208.99994Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.17399%2012L10.5698%2014L13.4448%2010.5L21.5907%2017V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V17L8.17399%2012Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16327%2017.3162V0.683777H17.7957V17.3162H1.16327Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%220.353881%22%2F%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.46362%203.33789H15.4956C15.8865%203.33789%2016.2033%203.65477%2016.2033%204.04565V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V4.04565C2.75586%203.65477%203.07274%203.33789%203.46362%203.33789Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M6.11774%206.87671C6.4109%206.87671%206.64856%206.63905%206.64856%206.34589C6.64856%206.05272%206.4109%205.81506%206.11774%205.81506C5.82457%205.81506%205.58691%206.05272%205.58691%206.34589C5.58691%206.63905%205.82457%206.87671%206.11774%206.87671Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M6.29467%209L8.06408%2010.4155L10.1874%207.93835L16.2033%2012.5388V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V12.5388L6.29467%209Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%226%22%20viewBox%3D%220%200%2011%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.97266%201L5.97266%205L1.97266%201%22%20stroke%3D%22%2398A2B3%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M5.97266%2019H19.9727V5H5.97266V19ZM3.97266%2021V3H21.9727V21H3.97266ZM7.97266%2013V11H9.97266V13H7.97266ZM11.9727%2017V15H13.9727V17H11.9727ZM11.9727%2013V11H13.9727V13H11.9727ZM11.9727%209V7H13.9727V9H11.9727ZM15.9727%2013V11H17.9727V13H15.9727Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2216%22%20viewBox%3D%220%200%2018%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-in%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.03174%204.73066C8.42294%204.73066%208.74007%205.02339%208.74007%205.3845V6.69219H10.1567C10.5479%206.69219%2010.8651%206.98493%2010.8651%207.34604C10.8651%207.70715%2010.5479%207.99989%2010.1567%207.99989H8.74007V9.30758C8.74007%209.66869%208.42294%209.96143%208.03174%209.96143C7.64054%209.96143%207.3234%209.66869%207.3234%209.30758V7.99989H5.90674C5.51554%207.99989%205.1984%207.70715%205.1984%207.34604C5.1984%206.98493%205.51554%206.69219%205.90674%206.69219H7.3234V5.3845C7.3234%205.02339%207.64054%204.73066%208.03174%204.73066Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.0109%2011.9439C10.9203%2012.7491%209.53694%2013.2307%208.03174%2013.2307C4.51092%2013.2307%201.65674%2010.596%201.65674%207.34604C1.65674%204.09606%204.51092%201.46143%208.03174%201.46143C11.5526%201.46143%2014.4067%204.09606%2014.4067%207.34604C14.4067%208.73549%2013.8851%2010.0125%2013.0126%2011.0192L15.6159%2013.4222C15.8925%2013.6775%2015.8925%2014.0915%2015.6159%2014.3468C15.3392%2014.6022%2014.8908%2014.6022%2014.6141%2014.3468L12.0109%2011.9439ZM3.0734%207.34604C3.0734%204.81828%205.29333%202.76912%208.03174%202.76912C10.7702%202.76912%2012.9901%204.81828%2012.9901%207.34604C12.9901%208.57907%2012.4619%209.69821%2011.6029%2010.5212C11.5786%2010.5384%2011.5552%2010.5574%2011.5329%2010.5779C11.5106%2010.5985%2011.4901%2010.6201%2011.4714%2010.6426C10.5799%2011.4354%209.36749%2011.923%208.03174%2011.923C5.29333%2011.923%203.0734%209.87381%203.0734%207.34604Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-out%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M5.90674%207.58329C5.51554%207.58329%205.1984%207.90042%205.1984%208.29163C5.1984%208.68283%205.51554%208.99996%205.90674%208.99996H10.1567C10.5479%208.99996%2010.8651%208.68283%2010.8651%208.29163C10.8651%207.90042%2010.5479%207.58329%2010.1567%207.58329H5.90674Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.03174%2014.6666C9.53694%2014.6666%2010.9203%2014.145%2012.0109%2013.2726L14.6141%2015.8758C14.8908%2016.1525%2015.3392%2016.1525%2015.6159%2015.8758C15.8925%2015.5992%2015.8925%2015.1507%2015.6159%2014.8741L13.0126%2012.2709C13.8851%2011.1803%2014.4067%209.79686%2014.4067%208.29163C14.4067%204.77081%2011.5526%201.91663%208.03174%201.91663C4.51092%201.91663%201.65674%204.77081%201.65674%208.29163C1.65674%2011.8124%204.51092%2014.6666%208.03174%2014.6666ZM8.03174%203.33329C5.29333%203.33329%203.0734%205.55321%203.0734%208.29163C3.0734%2011.03%205.29333%2013.25%208.03174%2013.25C9.36749%2013.25%2010.5799%2012.7218%2011.4714%2011.8629C11.4901%2011.8385%2011.5106%2011.8151%2011.5329%2011.7928C11.5552%2011.7706%2011.5786%2011.7501%2011.6029%2011.7314C12.4619%2010.8398%2012.9901%209.6274%2012.9901%208.29163C12.9901%205.55321%2010.7702%203.33329%208.03174%203.33329Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22bring-to-front%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M17.0833%207.49988H7.91667C7.68654%207.49988%207.5%207.68642%207.5%207.91654V17.0832C7.5%2017.3133%207.68654%2017.4999%207.91667%2017.4999H17.0833C17.3135%2017.4999%2017.5%2017.3133%2017.5%2017.0832V7.91654C17.5%207.68642%2017.3135%207.49988%2017.0833%207.49988Z%22%20fill%3D%22white%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8345%202.5H12.5002V4.173%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M2.5%206.66675C2.5%207.77241%202.5%208.32796%202.5%208.33341%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M12.5%206.66675C12.5%207.78196%2012.5%208.06075%2012.5%207.50316%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M6.66357%2012.5001H7.49999%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22sent-to-back%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M12.5%207.49988H17.0833C17.3135%207.49988%2017.5%207.68642%2017.5%207.91654V17.0832C17.5%2017.3133%2017.3135%2017.4999%2017.0833%2017.4999H7.91667C7.68654%2017.4999%207.5%2017.3133%207.5%2017.0832V12.4999%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8335%2012.4999H12.499V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M10.8345%202.5H12.5002V4.16577%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M2.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M12.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_9%22%20d%3D%22M6.66357%2012.5001H8.33332%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22lock%22%3E%3Cpath%20id%3D%22Icon%20color%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5.46566%208.33325V5.83325C5.46566%204.50717%205.99244%203.2354%206.93012%202.29772C7.86781%201.36004%209.13958%200.833252%2010.4657%200.833252C11.7917%200.833252%2013.0635%201.36004%2014.0012%202.29772C14.9389%203.2354%2015.4657%204.50717%2015.4657%205.83325V8.33325H16.299C17.6797%208.33325%2018.799%209.45254%2018.799%2010.8333V16.6666C18.799%2018.0473%2017.6797%2019.1666%2016.299%2019.1666H4.63232C3.25161%2019.1666%202.13232%2018.0473%202.13232%2016.6666V10.8333C2.13232%209.45254%203.25161%208.33325%204.63232%208.33325H5.46566ZM8.10863%203.47623C8.73376%202.85111%209.5816%202.49992%2010.4657%202.49992C11.3497%202.49992%2012.1976%202.85111%2012.8227%203.47623C13.4478%204.10135%2013.799%204.9492%2013.799%205.83325V8.33325H7.13232V5.83325C7.13232%204.9492%207.48351%204.10135%208.10863%203.47623ZM4.63232%209.99992C4.17209%209.99992%203.79899%2010.373%203.79899%2010.8333V16.6666C3.79899%2017.1268%204.17209%2017.4999%204.63232%2017.4999H16.299C16.7592%2017.4999%2017.1323%2017.1268%2017.1323%2016.6666V10.8333C17.1323%2010.373%2016.7592%209.99992%2016.299%209.99992H4.63232Z%22%20fill%3D%22%23383F46%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22copy%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M3.27653%203.33337C3.27653%202.87694%203.65343%202.50004%204.10986%202.50004H12.4432C12.8996%202.50004%2013.2765%202.87694%2013.2765%203.33337C13.2765%203.79361%2013.6496%204.16671%2014.1099%204.16671C14.5701%204.16671%2014.9432%203.79361%2014.9432%203.33337C14.9432%201.95647%2013.8201%200.833374%2012.4432%200.833374H4.10986C2.73296%200.833374%201.60986%201.95647%201.60986%203.33337V11.6667C1.60986%2013.0436%202.73296%2014.1667%204.10986%2014.1667C4.5701%2014.1667%204.9432%2013.7936%204.9432%2013.3334C4.9432%2012.8731%204.5701%2012.5%204.10986%2012.5C3.65343%2012.5%203.27653%2012.1231%203.27653%2011.6667V3.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.10986%205.83337C7.72915%205.83337%206.60986%206.95266%206.60986%208.33337V16.6667C6.60986%2018.0474%207.72915%2019.1667%209.10986%2019.1667H17.4432C18.8239%2019.1667%2019.9432%2018.0474%2019.9432%2016.6667V8.33337C19.9432%206.95266%2018.8239%205.83337%2017.4432%205.83337H9.10986ZM8.27653%208.33337C8.27653%207.87314%208.64963%207.50004%209.10986%207.50004H17.4432C17.9034%207.50004%2018.2765%207.87314%2018.2765%208.33337V16.6667C18.2765%2017.1269%2017.9034%2017.5%2017.4432%2017.5H9.10986C8.64963%2017.5%208.27653%2017.1269%208.27653%2016.6667V8.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.48691%2016.1537L12.0869%2013.5537L14.6869%2016.1537L15.7407%2015.1L13.1407%2012.5L15.7407%209.89998L14.6869%208.84623L12.0869%2011.4462L9.48691%208.84623L8.43316%209.89998L11.0332%2012.5L8.43316%2015.1L9.48691%2016.1537ZM7.39466%2020.5C6.8895%2020.5%206.46191%2020.325%206.11191%2019.975C5.76191%2019.625%205.58691%2019.1974%205.58691%2018.6922V5.99998H4.58691V4.49998H9.08691V3.61548H15.0869V4.49998H19.5869V5.99998H18.5869V18.6922C18.5869%2019.1974%2018.4119%2019.625%2018.0619%2019.975C17.7119%2020.325%2017.2843%2020.5%2016.7792%2020.5H7.39466ZM17.0869%205.99998H7.08691V18.6922C7.08691%2018.7692%207.119%2018.8397%207.18316%2018.9037C7.24716%2018.9679%207.31766%2019%207.39466%2019H16.7792C16.8562%2019%2016.9267%2018.9679%2016.9907%2018.9037C17.0548%2018.8397%2017.0869%2018.7692%2017.0869%2018.6922V5.99998Z%22%20fill%3D%22%23D91919%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M1.66683%205.83333C1.66683%205.3731%202.03993%205%202.50016%205C2.9604%205%203.3335%205.3731%203.3335%205.83333V8.9622L4.44323%207.96344C5.96994%206.59414%207.94893%205.83542%209.99974%205.83333C12.2099%205.83333%2014.3299%206.71131%2015.8927%208.27411C17.4555%209.83691%2018.3335%2011.9565%2018.3335%2014.1667C18.3335%2014.6269%2017.9604%2015%2017.5002%2015C17.0399%2015%2016.6668%2014.6269%2016.6668%2014.1667C16.6668%2012.3986%2015.9645%2010.7029%2014.7142%209.45262C13.4641%208.20248%2011.7685%207.50011%2010.0006%207.5C8.36033%207.50178%206.77775%208.10868%205.55657%209.2037L4.67179%2010H7.50016C7.9604%2010%208.3335%2010.3731%208.3335%2010.8333C8.3335%2011.2936%207.9604%2011.6667%207.50016%2011.6667H2.50016C2.03993%2011.6667%201.66683%2011.2936%201.66683%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M18.8332%205.83333C18.8332%205.3731%2018.4601%205%2017.9998%205C17.5396%205%2017.1665%205.3731%2017.1665%205.83333V8.9622L16.0568%207.96344C14.5301%206.59414%2012.5511%205.83542%2010.5003%205.83333C8.29012%205.83333%206.17008%206.71131%204.60728%208.27411C3.04448%209.83691%202.1665%2011.9565%202.1665%2014.1667C2.1665%2014.6269%202.5396%2015%202.99984%2015C3.46007%2015%203.83317%2014.6269%203.83317%2014.1667C3.83317%2012.3986%204.53555%2010.7029%205.78579%209.45262C7.03594%208.20248%208.73146%207.50011%2010.4994%207.5C12.1397%207.50178%2013.7222%208.10868%2014.9434%209.2037L15.8282%2010H12.9998C12.5396%2010%2012.1665%2010.3731%2012.1665%2010.8333C12.1665%2011.2936%2012.5396%2011.6667%2012.9998%2011.6667H17.9998C18.4601%2011.6667%2018.8332%2011.2936%2018.8332%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2217%22%20viewBox%3D%220%200%2014%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.78979%2015.7742C4.75579%2015.6209%205.34613%2015.4675%205.56079%2015.3142C5.77546%2015.1455%205.88279%2014.8235%205.88279%2014.3482V1.9282C3.90479%201.95887%202.84679%202.00487%202.70879%202.0662C2.57079%202.12754%202.46346%202.19654%202.38679%202.2732C2.20279%202.51854%201.98046%203.38487%201.71979%204.8722L0.546793%204.7802C0.53146%204.5502%200.523793%204.10554%200.523793%203.4462C0.523793%202.77154%200.592793%201.86687%200.730793%200.732203H13.2658C13.4038%201.86687%2013.4728%202.77154%2013.4728%203.4462C13.4728%204.10554%2013.4651%204.5502%2013.4498%204.7802L12.2768%204.8722C12.0161%203.38487%2011.7861%202.51854%2011.5868%202.2732C11.5255%202.19654%2011.4258%202.12754%2011.2878%202.0662C11.1498%202.00487%2010.0918%201.95887%208.11379%201.9282V14.9002C8.11379%2015.2529%208.26713%2015.4522%208.57379%2015.4982L10.3448%2015.7742L10.2528%2016.6712H3.92779L3.78979%2015.7742Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-bold%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.1463%208.99999C11.0946%208.99999%2012.6741%207.41559%2012.6741%205.46118C12.6741%203.50674%2011.0946%201.92236%209.1463%201.92236H3.69434V8.99999H9.1463Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10.4291%2016.0776C12.3775%2016.0776%2013.9569%2014.4932%2013.9569%2012.5388C13.9569%2010.5844%2012.3775%209%2010.4291%209H3.69434V16.0776H10.4291Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2216%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.4649%204.09091H12.1695C12.0914%201.89631%2010.0672%200.255681%207.25471%200.255681C4.47061%200.255681%202.28311%201.875%202.28311%204.31818C2.28311%206.27841%203.70357%207.44318%205.9763%208.09659L7.76607%208.60795C9.30016%209.03409%2010.6638%209.57386%2010.6638%2011.0227C10.6638%2012.6136%209.12971%2013.6648%207.11266%2013.6648C5.37971%2013.6648%203.84561%2012.8977%203.70357%2011.25H1.88539C2.05584%2013.6364%203.98766%2015.2557%207.11266%2015.2557C10.4649%2015.2557%2012.3683%2013.4091%2012.3683%2011.0511C12.3683%208.32386%209.78311%207.44318%208.27743%207.04545L6.80016%206.64773C5.72061%206.36364%203.98766%205.79545%203.98766%204.23295C3.98766%202.84091%205.26607%201.81818%207.19789%201.81818C8.95925%201.81818%2010.2945%202.65625%2010.4649%204.09091Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20d%3D%22M0.749023%208.4517H13.5047V9.81534H0.749023V8.4517Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.5293%202.63013H13.1914%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M4.69824%2015.3699H10.3603%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M10.7146%202.61328L7.17578%2015.3699%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-underline%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M2.89062%2016.0776H14.2148%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M13.1531%202.66443C13.1531%205.02362%2013.1531%205.93299%2013.1531%208.29221C13.1531%2010.833%2011.0934%2012.8927%208.55261%2012.8927C6.01184%2012.8927%203.95215%2010.833%203.95215%208.29221C3.95215%205.93299%203.95215%205.02362%203.95215%202.66443%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2192%203.86304H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%207.40186H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.2192%2010.9407H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%2014.4795H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.3926%207.40186H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%203.86304H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%2010.9407H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M13.3926%2014.4795H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.813%203.86304H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%207.40186H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2010.9407H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2014.4795H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2217%22%20viewBox%3D%220%200%2018%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_565_3386%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M8.52116%2015.5045C6.65314%2015.5045%205.06461%2014.8885%203.75556%2013.6565C2.44652%2012.4246%201.79199%2010.9167%201.79199%209.13278C1.79199%208.26628%201.96889%207.45244%202.3227%206.69128C2.67635%205.93011%203.15629%205.25038%203.76252%204.6521L8.52116%200.171204L13.2798%204.6521C13.886%205.25038%2014.366%205.93011%2014.7196%206.69128C15.0734%207.45244%2015.2503%208.26628%2015.2503%209.13278C15.2503%2010.9167%2014.5958%2012.4246%2013.2868%2013.6565C11.9777%2014.8885%2010.3892%2015.5045%208.52116%2015.5045ZM3.19121%209.90772H13.8233C14.0027%208.87446%2013.9004%207.98916%2013.5162%207.25182C13.1321%206.51433%2012.7381%205.95903%2012.3344%205.58591L8.52116%201.9695L4.70796%205.58591C4.30421%205.95903%203.90936%206.51433%203.52341%207.25182C3.13745%207.98916%203.02672%208.87446%203.19121%209.90772Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_565_3386%22%3E%3Crect%20width%3D%2217%22%20height%3D%2216%22%20fill%3D%22white%22%20transform%3D%22translate%280.0917969%200.171204%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.5%2020.5V3.5H20.5V20.5H3.5ZM19%2019V12.75H12.75V19H19ZM19%205H12.75V11.25H19V5ZM5%205V11.25H11.25V5H5ZM5%2019H11.25V12.75H5V19Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%2218%22%20viewBox%3D%220%200%2010%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.125L1%208.625L9%201.125%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83317%2012.5H9.1665V10.5H11.1665V9.16665H9.1665V7.16665H7.83317V9.16665H5.83317V10.5H7.83317V12.5ZM4.49984%2015.1666C4.13317%2015.1666%203.81928%2015.0361%203.55817%2014.775C3.29706%2014.5139%203.1665%2014.2%203.1665%2013.8333V3.16665C3.1665%202.79998%203.29706%202.48609%203.55817%202.22498C3.81928%201.96387%204.13317%201.83331%204.49984%201.83331H9.83317L13.8332%205.83331V13.8333C13.8332%2014.2%2013.7026%2014.5139%2013.4415%2014.775C13.1804%2015.0361%2012.8665%2015.1666%2012.4998%2015.1666H4.49984ZM9.1665%206.49998V3.16665H4.49984V13.8333H12.4998V6.49998H9.1665Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83366%2011.1667V7.16669H5.83366V5.83335H11.167V7.16669H9.16699V11.1667H7.83366ZM1.16699%2015.8334V11.8334H2.50033V5.16669H1.16699V1.16669H5.16699V2.50002H11.8337V1.16669H15.8337V5.16669H14.5003V11.8334H15.8337V15.8334H11.8337V14.5H5.16699V15.8334H1.16699ZM5.16699%2013.1667H11.8337V11.8334H13.167V5.16669H11.8337V3.83335H5.16699V5.16669H3.83366V11.8334H5.16699V13.1667ZM2.50033%203.83335H3.83366V2.50002H2.50033V3.83335ZM13.167%203.83335H14.5003V2.50002H13.167V3.83335ZM13.167%2014.5H14.5003V13.1667H13.167V14.5ZM2.50033%2014.5H3.83366V13.1667H2.50033V14.5Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2217%22%20viewBox%3D%220%200%2016%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22upload%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.33349%201.91643%208.40716%201.96466%208.47108%202.02858L11.8044%205.36191C12.0648%205.62226%2012.0648%206.04437%2011.8044%206.30472C11.5441%206.56507%2011.122%206.56507%2010.8616%206.30472L8.66634%204.10946V10.5C8.66634%2010.8682%208.36786%2011.1666%207.99967%2011.1666C7.63148%2011.1666%207.33301%2010.8682%207.33301%2010.5V4.10946L5.13775%206.30472C4.8774%206.56507%204.45529%206.56507%204.19494%206.30472C3.93459%206.04437%203.93459%205.62226%204.19494%205.36191L7.52792%202.02893%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.17626%201.8513%208.09007%201.83331%207.99967%201.83331C7.8163%201.83331%207.65021%201.90735%207.52969%202.02716%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M1.99967%209.83331C2.36786%209.83331%202.66634%2010.1318%202.66634%2010.5V13.1666C2.66634%2013.3435%202.73658%2013.513%202.8616%2013.6381C2.98663%2013.7631%203.1562%2013.8333%203.33301%2013.8333H12.6663C12.8432%2013.8333%2013.0127%2013.7631%2013.1377%2013.6381C13.2628%2013.513%2013.333%2013.3435%2013.333%2013.1666V10.5C13.333%2010.1318%2013.6315%209.83331%2013.9997%209.83331C14.3679%209.83331%2014.6663%2010.1318%2014.6663%2010.5V13.1666C14.6663%2013.6971%2014.4556%2014.2058%2014.0806%2014.5809C13.7055%2014.9559%2013.1968%2015.1666%2012.6663%2015.1666H3.33301C2.80257%2015.1666%202.29387%2014.9559%201.91879%2014.5809C1.54372%2014.2058%201.33301%2013.6971%201.33301%2013.1666V10.5C1.33301%2010.1318%201.63148%209.83331%201.99967%209.83331Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_2240_1532%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16467%2016L0%2014.8505L7.57326%207.321L11.9943%2011.6846L18.1987%205.63636H14.9211V4H21V10H19.3421V6.78618L11.9943%2014.0385L7.57326%209.67491L1.16467%2016Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2240_1532%22%3E%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate%280.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11%201L6%206L1%201%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.49312%2011.0095C7.67156%2011.0095%207.82229%2010.948%207.94531%2010.8248C8.06833%2010.7016%208.12984%2010.5507%208.12984%2010.3722C8.12984%2010.1938%208.06823%2010.043%207.945%209.92C7.82177%209.79708%207.67094%209.73562%207.4925%209.73562C7.31406%209.73562%207.16333%209.79724%207.04031%209.92047C6.91729%2010.0437%206.85578%2010.1945%206.85578%2010.373C6.85578%2010.5514%206.9174%2010.7021%207.04063%2010.8252C7.16385%2010.9481%207.31469%2011.0095%207.49312%2011.0095ZM7.05047%208.77156H7.93031C7.93833%208.46396%207.98339%208.21818%208.06547%208.03422C8.14766%207.85036%208.34698%207.60661%208.66344%207.30297C8.93833%207.02807%209.14885%206.77422%209.295%206.54141C9.44125%206.3087%209.51437%206.03385%209.51437%205.71688C9.51437%205.17885%209.32109%204.75859%208.93453%204.45609C8.54786%204.1537%208.09052%204.0025%207.5625%204.0025C7.04083%204.0025%206.60917%204.14172%206.2675%204.42016C5.92573%204.69859%205.68193%205.02651%205.53609%205.40391L6.33891%205.72594C6.41505%205.51844%206.54526%205.3163%206.72953%205.11953C6.9138%204.92286%207.18745%204.82453%207.55047%204.82453C7.91984%204.82453%208.19286%204.92568%208.36953%205.12797C8.5463%205.33036%208.63469%205.55292%208.63469%205.79562C8.63469%206.00802%208.57417%206.20234%208.45312%206.37859C8.33219%206.55484%208.17797%206.7251%207.99047%206.88937C7.58016%207.25958%207.32094%207.5549%207.21281%207.77531C7.10458%207.99563%207.05047%208.32771%207.05047%208.77156ZM7.50109%2013.4375C6.67984%2013.4375%205.90792%2013.2817%205.18531%2012.97C4.46271%2012.6583%203.83417%2012.2354%203.29969%2011.7011C2.76521%2011.1668%202.34203%2010.5385%202.03016%209.81625C1.71839%209.09396%201.5625%208.32224%201.5625%207.50109C1.5625%206.67984%201.71833%205.90792%202.03%205.18531C2.34167%204.46271%202.76464%203.83417%203.29891%203.29969C3.83318%202.76521%204.46146%202.34203%205.18375%202.03016C5.90604%201.71839%206.67776%201.5625%207.49891%201.5625C8.32016%201.5625%209.09208%201.71833%209.81469%202.03C10.5373%202.34167%2011.1658%202.76464%2011.7003%203.29891C12.2348%203.83318%2012.658%204.46146%2012.9698%205.18375C13.2816%205.90604%2013.4375%206.67776%2013.4375%207.49891C13.4375%208.32016%2013.2817%209.09208%2012.97%209.81469C12.6583%2010.5373%2012.2354%2011.1658%2011.7011%2011.7003C11.1668%2012.2348%2010.5385%2012.658%209.81625%2012.9698C9.09396%2013.2816%208.32224%2013.4375%207.50109%2013.4375ZM7.5%2012.5C8.89583%2012.5%2010.0781%2012.0156%2011.0469%2011.0469C12.0156%2010.0781%2012.5%208.89583%2012.5%207.5C12.5%206.10417%2012.0156%204.92188%2011.0469%203.95312C10.0781%202.98438%208.89583%202.5%207.5%202.5C6.10417%202.5%204.92188%202.98438%203.95312%203.95312C2.98438%204.92188%202.5%206.10417%202.5%207.5C2.5%208.89583%202.98438%2010.0781%203.95312%2011.0469C4.92188%2012.0156%206.10417%2012.5%207.5%2012.5Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%201%22%20clip-path%3D%22url%28%23clip0_2312_1672%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1672%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1672%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1672%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%202%22%20clip-path%3D%22url%28%23clip0_2312_1680%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1680%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1680%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1680%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M23.5037%2041.7084C20.9852%2041.7084%2018.6179%2041.2305%2016.402%2040.2747C14.186%2039.3189%2012.2584%2038.0218%2010.6194%2036.3834C8.9803%2034.7449%207.68255%2032.8182%206.72614%2030.6032C5.77004%2028.3882%205.29199%2026.0216%205.29199%2023.5034C5.29199%2020.9849%205.76988%2018.6176%206.72566%2016.4016C7.68144%2014.1857%208.97854%2012.2581%2010.617%2010.6191C12.2554%208.97999%2014.1821%207.68225%2016.3972%206.72583C18.6122%205.76974%2020.9788%205.29169%2023.497%205.29169C26.0155%205.29169%2028.3827%205.76958%2030.5987%206.72535C32.8147%207.68113%2034.7422%208.97824%2036.3813%2010.6167C38.0204%2012.2551%2039.3181%2014.1818%2040.2745%2016.3969C41.2306%2018.6119%2041.7087%2020.9785%2041.7087%2023.4967C41.7087%2026.0152%2041.2308%2028.3824%2040.275%2030.5984C39.3192%2032.8144%2038.0221%2034.7419%2036.3837%2036.381C34.7453%2038.0201%2032.8185%2039.3178%2030.6035%2040.2742C28.3885%2041.2303%2026.0219%2041.7084%2023.5037%2041.7084ZM23.5003%2038.8334C27.7809%2038.8334%2031.4066%2037.3479%2034.3774%2034.3771C37.3482%2031.4063%2038.8337%2027.7806%2038.8337%2023.5C38.8337%2019.2195%2037.3482%2015.5938%2034.3774%2012.6229C31.4066%209.6521%2027.7809%208.16669%2023.5003%208.16669C19.2198%208.16669%2015.5941%209.6521%2012.6232%2012.6229C9.65241%2015.5938%208.16699%2019.2195%208.16699%2023.5C8.16699%2027.7806%209.65241%2031.4063%2012.6232%2034.3771C15.5941%2037.3479%2019.2198%2038.8334%2023.5003%2038.8334Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2237%22%20height%3D%2237%22%20viewBox%3D%220%200%2037%2037%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%221.5%22%20y%3D%221.5%22%20width%3D%2234%22%20height%3D%2234%22%20stroke%3D%22%23A7A7A7%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.68652%2038.1875L23.4995%209.67908L41.3125%2038.1875H5.68652ZM10.9662%2035.25H36.0329L23.4995%2015.1771L10.9662%2035.25Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M33.9701%2031.6345L31.8761%2029.5709L36.4782%2024.9688H6.85449V22.0313H36.4782L31.906%2017.4292L33.9999%2015.3656L42.1045%2023.5L33.9701%2031.6345Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.8125%2024.9688V22.0312H38.1875V24.9688H8.8125Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M24.9688%2038.1875L22.0312%2038.1875L22.0312%208.8125L24.9687%208.8125L24.9688%2038.1875Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.3316%2032.949L23.5003%2029.2281L29.6691%2032.9979L28.0534%2025.9479L33.4878%2021.2479L26.3399%2020.6115L23.5003%2013.9531L20.6607%2020.5625L13.5128%2021.199L18.9472%2025.9479L17.3316%2032.949ZM12.8764%2039.0913L15.6822%2027.0098L6.30859%2018.8867L18.676%2017.8135L23.5003%206.42139L28.3247%2017.8135L40.692%2018.8867L31.3185%2027.0098L34.1243%2039.0913L23.5003%2032.6817L12.8764%2039.0913Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.4997%2039.8066L21.3382%2037.8634C18.0919%2034.9184%2015.4074%2032.3877%2013.2845%2030.2714C11.1617%2028.1548%209.47948%2026.2711%208.23789%2024.6202C6.99631%2022.9696%206.12893%2021.4638%205.63576%2020.1028C5.14226%2018.7421%204.89551%2017.3613%204.89551%2015.9604C4.89551%2013.1812%205.83257%2010.8544%207.7067%208.97995C9.58115%207.10582%2011.908%206.16876%2014.6872%206.16876C16.3968%206.16876%2018.0124%206.56859%2019.534%207.36824C21.0557%208.16789%2022.3775%209.31466%2023.4997%2010.8085C24.6218%209.31466%2025.9437%208.16789%2027.4653%207.36824C28.9869%206.56859%2030.6025%206.16876%2032.3122%206.16876C35.0914%206.16876%2037.4182%207.10582%2039.2927%208.97995C41.1668%2010.8544%2042.1038%2013.1812%2042.1038%2015.9604C42.1038%2017.3613%2041.8571%2018.7421%2041.3636%2020.1028C40.8704%2021.4638%2040.003%2022.9696%2038.7615%2024.6202C37.5199%2026.2711%2035.8408%2028.1548%2033.7241%2030.2714C31.6078%2032.3877%2028.9202%2034.9184%2025.6612%2037.8634L23.4997%2039.8066ZM23.4997%2035.8375C26.633%2033.0182%2029.2115%2030.6016%2031.2351%2028.5878C33.2587%2026.5743%2034.858%2024.825%2036.033%2023.3399C37.208%2021.8548%2038.024%2020.5361%2038.4809%2019.3836C38.9379%2018.2314%2039.1663%2017.0904%2039.1663%2015.9604C39.1663%2014.0021%2038.5136%2012.3702%2037.208%2011.0646C35.9025%209.75904%2034.2705%209.10626%2032.3122%209.10626C30.7657%209.10626%2029.3365%209.54493%2028.0244%2010.4223C26.7126%2011.2999%2025.6739%2012.5208%2024.9082%2014.0848H22.0911C21.3127%2012.5081%2020.2707%2011.2841%2018.9652%2010.413C17.6596%209.54183%2016.2336%209.10626%2014.6872%209.10626C12.7412%209.10626%2011.1124%209.75904%209.80064%2011.0646C8.48889%2012.3702%207.83301%2014.0021%207.83301%2015.9604C7.83301%2017.0904%208.06148%2018.2314%208.51842%2019.3836C8.97537%2020.5361%209.79134%2021.8548%2010.9663%2023.3399C12.1413%2024.825%2013.7406%2026.5712%2015.7643%2028.5785C17.7879%2030.5858%2020.3663%2033.0054%2023.4997%2035.8375Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2216%22%20viewBox%3D%220%200%2017%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.66368%202.01017C9.32164%201.94371%209.98083%202.1241%2010.5133%202.51632C11.0457%202.90854%2011.4134%203.4846%2011.545%204.13269C11.6183%204.49351%2011.9702%204.72662%2012.331%204.65336C12.6918%204.58009%2012.925%204.22819%2012.8517%203.86736C12.6543%202.89524%2012.1027%202.03114%2011.3041%201.44281C10.5054%200.854482%209.51663%200.583899%208.52969%200.68359C7.54691%200.782861%206.63577%201.24224%205.97161%201.97299L5.96306%201.98228C5.29856%202.71803%204.93098%203.67431%204.93156%204.66567L4.93156%206.66675H4.26489C3.16032%206.66675%202.26489%207.56218%202.26489%208.66675V13.3334C2.26489%2014.438%203.16032%2015.3334%204.26489%2015.3334H13.5982C14.7028%2015.3334%2015.5982%2014.438%2015.5982%2013.3334V8.66675C15.5982%207.56218%2014.7028%206.66675%2013.5982%206.66675H6.26489L6.26489%204.66601C6.26423%204.00811%206.50679%203.37331%206.94572%202.88356L6.95268%202.87597C7.39593%202.3852%208.00572%202.07663%208.66368%202.01017ZM4.26489%208.00008C3.8967%208.00008%203.59823%208.29856%203.59823%208.66675V13.3334C3.59823%2013.7016%203.8967%2014.0001%204.26489%2014.0001H13.5982C13.9664%2014.0001%2014.2649%2013.7016%2014.2649%2013.3334V8.66675C14.2649%208.29856%2013.9664%208.00008%2013.5982%208.00008H4.26489Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2024%2024%22%3E%3Cpath%20d%3D%22M5.3%2018.7c.2.2.4.3.7.3s.5-.1.7-.3l5.3-5.3%205.3%205.3c.2.2.5.3.7.3s.5-.1.7-.3c.4-.4.4-1%200-1.4L13.4%2012l5.3-5.3c.4-.4.4-1%200-1.4s-1-.4-1.4%200L12%2010.6%206.7%205.3c-.4-.4-1-.4-1.4%200s-.4%201%200%201.4l5.3%205.3-5.3%205.3c-.4.4-.4%201%200%201.4z%22%20id%3D%22_icons%22%20fill%3D%22%23ffffff%22%20class%3D%22fill-000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\"","export default \"/images/small-dots.png\"","export const topTabBarpadding = '11.51px 14.16px';\nexport const helperSideBarWidth = 280;\nexport const pageSizes = {\n A4: 'A4',\n A3: 'A3',\n A5: 'A5',\n Letter: 'Letter',\n Legal: 'Legal',\n Ledger: 'Ledger',\n B5: 'B5',\n C5: 'C5',\n};\n\nexport const pageSizesDimensions = {\n [pageSizes.A4]: { width: 499, height: 670 },\n [pageSizes.A3]: { width: 531, height: 750 },\n [pageSizes.A5]: { width: 350, height: 499 },\n [pageSizes.Letter]: { width: 510, height: 680 },\n [pageSizes.Legal]: { width: 440, height: 750 },\n [pageSizes.Ledger]: { width: 900, height: 584 },\n [pageSizes.B5]: { width: 518, height: 726 },\n [pageSizes.C5]: { width: 460, height: 648 },\n};\nexport const STANDARD_PAPER_SIZES_MM = {\n A3: { width: 297, height: 420 },\n A4: { width: 210, height: 297 },\n A5: { width: 148, height: 210 },\n Letter: { width: 215.9, height: 279.4 },\n Legal: { width: 215.9, height: 355.6 },\n Ledger: { width: 431.8, height: 279.4 },\n B5: { width: 176, height: 250 },\n C5: { width: 162, height: 229 },\n};\n","import {\n IconArrowRight,\n IconCircle,\n IconHeart,\n IconHorizontalLine,\n IconSquare,\n IconStar,\n IconTools,\n IconToolsPink,\n IconTriangle,\n IconVerticalLine,\n ImageCustomTemplate1,\n ImageCustomTemplate2,\n ImageTemplate1,\n ImageTemplate2,\n} from '@/assets';\nimport theme from '@/theme';\nimport { pageSizes } from './layoutConstants';\n\nexport const sideBarpillsList = {\n template: 'Template',\n text: 'Text',\n image: 'Image',\n shape: 'Shape',\n qr: 'QR',\n whiteLabel: 'White-label',\n};\n\nexport const ButtonVarients = {\n primary: 'primary',\n secondary: 'secondary',\n};\nexport const shapes = {\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n};\nexport const defaultSideBarImagesList = [IconTools, IconToolsPink];\nexport const textList = [\n {\n text: '+ Heading 1',\n fontFamily: 'Open Sans',\n fontSize: 18,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 125,\n },\n {\n text: '+ Heading 2',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n // {\n // text: 'What problem are you facing in this meeting room?',\n // fontFamily: 'Open Sans Condensed',\n // fontSize: 18,\n // color: '#333333',\n // fontWeight: theme.fontWeights[700],\n // textDecoration: 'normal',\n // fontStyle: 'normal',\n // textAlign: 'left',\n // },\n {\n text: 'Scan this QR code from your mobile to report the issue',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 220,\n },\n {\n text: 'property 1 > building 2 > Room 2',\n fontFamily: 'Open Sans',\n fontSize: 12,\n color: '#6D737B',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n {\n text: 'www.domain.com',\n fontFamily: 'Plus Jakarta Sans',\n fontSize: 10,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n];\nexport const elementTypes = {\n pageSize: 'pageSize',\n backgroundColor: 'backgroundColor',\n backgroundImage: 'backgroundImage',\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n image: 'image',\n qr: 'qr',\n text: 'text',\n};\nexport const shapesList = [\n {\n shape: elementTypes.circle,\n icon: IconCircle,\n },\n {\n shape: elementTypes.square,\n icon: IconSquare,\n },\n {\n shape: elementTypes.triangle,\n icon: IconTriangle,\n },\n {\n shape: elementTypes.arrowRight,\n icon: IconArrowRight,\n },\n {\n shape: elementTypes.horizontalLine,\n icon: IconHorizontalLine,\n },\n {\n shape: elementTypes.verticalLine,\n icon: IconVerticalLine,\n },\n {\n shape: elementTypes.star,\n icon: IconStar,\n },\n {\n shape: elementTypes.heart,\n icon: IconHeart,\n },\n];\n\nexport const defaultElements = [\n {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: pageSizes?.A4,\n cuttingGuideStroke: 0,\n cuttingGuideStrokeColor: theme.color.black,\n },\n];\nexport const basicTextProps = {\n opacity: 1,\n text: 'Enter Text Here',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: theme.color.black,\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: theme.fontWeights[400],\n textAlign: 'left',\n lineHeight: 1,\n // width: 125,\n};\n\nexport const DEF_TEMPLATE = [\n {\n elements: [\n {\n type: 'pageSize',\n id: 'element-page-size',\n size: 'Ledger',\n cuttingGuideStroke: 50,\n cuttingGuideStrokeColor: '#000000',\n },\n {\n id: 'element-title-text',\n x: 70.86,\n y: 69.25,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'What problem are you facing in this room?',\n fontSize: 59,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n width: 750.7,\n fontVariant: 700,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element-bg-color',\n color: '#ffffff',\n },\n {\n id: 'element-qr',\n type: 'qr',\n height: 110,\n width: 110,\n x: 601.665,\n y: 269.005,\n fill: '#80D965',\n stroke: '#000000',\n strokeWidth: 2,\n draggable: false,\n qrText: 'https://fixalert.io/asbce',\n opacity: 1,\n logoVisible: false,\n rotation: 0,\n scaleX: 1.995,\n scaleY: 1.995,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n id: 'element-instruction-text',\n x: 72.25,\n y: 264.32,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'Scan the QR code to report directly to the person responsible.',\n fontSize: 36,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 479.03,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n id: 'element-location-text',\n x: 72.25,\n y: 490.45,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'ABCE ',\n fontSize: 25,\n fontFamily: 'Open Sans',\n color: '#8c8c8c',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 376.1,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n ],\n image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABwgAAASQCAYAAADoThs1AAAAAXNSR0IArs4c6QAAIABJREFUeF7s3QnYXdPZ//FVEQQVQUypIKRB0RJiiiFiDq0aQkhIzIRqldcsETETYxGNqKh5CPGGJGKKeYo5KkQbFDFVjImg//9v9z3pyZPnnLP3Wvc+Zz3nfNd15dKrz95rr/1Z++xh3Wv4iXPu346EAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAINIfATAoQNUc+cJAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKJAAFCLgQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNV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c0T+hX+F31pLeU/1NQnZT9exfmd6dqiNQ1Z6X5CdTGN6fnBPDalp9s1bYM6cOck9SM99/Vff03ru6z228E7LMz/vWiB/BBBAoL4FYnovC5H+iXPu3yEZxLIvAcLa1oRGEGokUGh666233GqrrRaazdz9NX2hGgb0wVqNlMf6O6eddpo744wzgouvIOmee+6ZKR+rBtaDDz7YXX311amO/corr7innnrKPfvss+7xxx+vOLXqz3/+82Ta1BVXXNGts8467je/+Y3r0qVLqmPFtpEaWP7+97+71157zcnhpZdeck8//bTX9JsKoGrU6GabbeY22WQTp1EwHTt2jOqUFfANHXG7/fbbO12noUmNLy2psUrPPN3ffJIadbO+xKgB6JlnnnGPPPKImzBhgnv55ZfL3lf1u1x11VXdxhtv7HbbbTenaRprldTQpn9ZU0hjsrwefPBBd+edd7rHHnvMTZ06tezhdQ878sgj3fHHH5+1mEHbf/LJJ8n99vXXX59735k8eXKqPHWPWW+99dyvfvUrp2mwtYaw/htLsnp+6R4zbty4VKclS3UUeuedd9z06dOT+3mp6ZN1f9Y9Wc8tjbLXvTrkmktVwBIb1WOAUEFu1cerr76aPE9feOGF5L0iTSpc21p/cs0110yeobq2s9430xwryzbVvJfp+aL3D5k999xz7oknnnBvv/12yeKqoXWFFVaY+z62xRZbuF69eiXvZnklBU/uvfde98ADDyS/Nf3myk1XXijjpptu6hT4V73qfbElPfvzskybr4JWel4U/64qvQ+Uylu/L9VB165dk2fJ2muvnQTAap107WdtV9C9Qe9Wvunjjz92Y8eOTd4ZdK+qNO2+3rEuu+wyt9122/keMvN+9XhPzYyQcgd9z1mlWnyfWJa/Wu81eu/WM0vf0FqWRc/9F198MXUbkN7BfvnLXybvZPpm6datW83eyZq7dnzuS03zqca1ZHHtVKOcVr9P8kEAAQQkUOtvRKtaIEBoJdng+Zx11lnu5JNPDlb461//6vbdd9/gfAoZKMCixstqJX3s6sXUMqmR5dFHHw3O8v33308ab7IkqwbW3/3ud+6SSy4peWg1UiuAOXz48CTwEJpUD3369EmChXrRjzWpAULnq0YBNXIpIJpnUqPnrrvu6g466KAkYFjLpJGxmvq3UiNItcqohkyLQGO1yqt1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Vse87777nGZNskohFs2VwapTUCHvkKlPCRBaXSXkgwACCOQjEPotlU+psufKGoTZzdgjpYAaTUOmhSscJm2jV+jxyk0vGToFhtb0SNNLzuplPWQKq+LqtW5gVd5Wo5QK5dQIGI1us0jW6+xZlCk0DysfNSROmzYttDhz9ydAGEZp1aBfKEXo+hhNz+bVV19166yzTthJFu0d0vPWulG9UCyNvLvlllu8ewT74FieSx7T5P34449JvVsFCnwanQqu1s+vyy+/3GytHpXRciSB8ps0aVIygtMnWd1PQgKEmuLdZ4255s73ueeec127dvWhKLuPxXSImsp53LhxXmWz/P2rAOpsYNGBSHlZXUPFMPLW1K4WSaO8f//731tk5bSW9B//+EeTvMjEJVPhWzwzLEab5hkgtPy9pbluuKemUar+Nupkos4mFimks4LW/lPQKjSpfePTTz/NPAOS7qHDhg0LPXyyvwLv6hhknY4++mh36aWXmmSrZ61vBz8ChCZVQCYIIIBAbgIECHOj9cuYEYR+bnnupV7JnTt3Dj5E2kbM0BErWjur1ILvGlkWspaNesntsMMOFS369evn/vrXv1bcrtwGW2+9tdM0dBbJuoE1dDqU5s7JcoqS0KkMLcyt83jllVecRmCFJn0AKtBtlQgQhklaNsZquitNeWidLBuzX3zxRaf8fJJlOQrH15TUmpK4WqMAdNwPPvjArbjiij4E8+0TOiVluUKokbZPnz4m5dRzV2vJ+STr59dHH32UrP9omSxGpBXKExLAtLqfhAQIrUaf6lmlRn6LUWdN6/rDDz90K6ywQtAloNEeGpngk6zvZRZrthXOQ1OQ77777j6nVXKfb775xrVp08YkT6t3IRWmHjuTmSB7ZmK1RqTWoD/00EM9S/Gf3fIKEJ599tlOUxZWM3FPraZ2+mNp1Kym9tQ7RWjy/ea3eJYVyq73B5+pOLWkwdSpU0MJkv01VfEqq6xikldxJpYduTQi/o033vAqIwFCLzZ2QgABBKomQICwatTpDkSAMJ1Ttbdabrnlgl+AtZj34MGDyxZd9d+2bVvvaUAr9egObVhI22vMwuvMM890J510kklVWzewqgHJarRf8QlqallNMRuaNCJII+7qKVkFFQgQxnVVWDXo66yOOOIIp04Q1klrr1r16L3++utd3759vYpo3aiu34LWWdT9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RDMzrbPOOpUOm/rvCqKtvvrqqbevtGHo2n+alcWq853awkJnsSqc7zfffOOWX375oEB0UzsChJWuJv6OAAKxCRAgjKxGCBBGViEVihMyNWfImarnlnpwWSU1XrZp08Yqu0z5hKzJlfZAVg2s9Rwg1MimhRZaKC1p2e223357N27cOJO8lElo79PiglgH4m6//XandS0sUh5rg1mUK888rBr0i8t42mmnudNPPz242FdeeaXTOkVWSWVS2XxT7I3qWc7r448/TkaPWyWtx6t1eS2SOv+sv/76burUqRbZudDAsNXzq/hkdtxxx2SKqAUWWCDoHC+//HIzdxVE7poKyzdZ3U9CA4Rnn322O+mkk3xPY5791MD0wgsvuGWWWcYkvxgyif1eRoAwhqtk/jKceeaZ7pRTTjEpXMio7qYF0JT6Fh0uCvkSIJy/irmnmlz2NclE35d6jlkFhXxOwjKQ1NzxrWa5Ud6//e1vnZaRsWqkHTBggGlH7G+//dYtssgiPtWQ7GMZ7NdSPfpWs0jHHnusu/DCCy2ympsHAUJTTjJDAIEqCFg9e6pQ1LKHYARhrWugQY8fMjVnCFke8+jvsMMObvz48SHF8tr3rbfecquttprXvml3smpgrecAoSytevVZThtrVXeFa8U6QHjfffe5nXbaKe2lWHY7BRutpqkxKVAVMrFq0G9aVI0A23fffb3PQNO9br755t77N7dj6NoisTeqZ8Xadddd3d133511t5Lba1Si8gxJmlpUeeh3bZU03XLIaETre2DhvNSbXr8/3/TEE0+Yr5WjtWY1jaBvsrqfhAYINQJAv1erpCCzRhIuuOCCVllmykfTgj344INuxowZQffVwkFjv5cRIMx0eVRtY3UoPOCAA0yOd80115jkNXv2bLfVVlsFzaTS9IQIEM5fxdxTTS77mmWiDnKDBw+uyfFDOx6lKbTWINQSB1ZJo6UtglWamvXUU0+1KlZyz9S9MyTttttuTu/rVum1115zap8JSVdddZXT7EfWiQChtSj5IYBA3gIECPMWzpg/IwgzgtV485CpOUOK/q9//cstueSSIVnMt+/5558f1FjoU5hqvThZNbDWe4DQslefxWg4rb3ku25XqevROkD4yCOPJI1DFkmB1ddff90ttdRSFtm1iDysGvSbO1nVjc/UydOnT0+m9wlZ76RpeVS3H3zw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CZAACZCANgIUCLWhpWMSIAESIAESIAESIAES8Exg5cqVcuutt1p+KlWqZAl02bJlk6xZs8pVV10lZ86csc4XROpPXHv69GnPdabk4N5775WZM2dq8U2nJEACJEACJJDIBCgQGtb6FAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwTWL58udSoUcOzH68O1q5dKxUqVPDqhuVJgARIgARIgASSEaBAaFiXoEBoWIMwHBIgARIgAW0EKBBqQ0vHJEACJEACJEACJEACJOCZgAkC4auvvio9evTwfC90QAIkQAIkQAIkcDkBCoSG9QoKhIY1CMMhARIgARLQRoACoTa0dEwCJEACJEACJEACJEACngkELRDWrFlTFi5cKGnTpvV8L3RAAiRAAiRAAiRAgdD4PkCB0PgmYoAkQAIkQAKKCFAgVASSbkiABEiABEiABEiABEhAA4EgBUKccbh582YpWLCghjujSxIgARIgARIgARDgDkLD+gEFQsMahOGQAAmQAAloI0CBUBtaOiYBEiABEiABEiABEiABzwSCFAhnzJghDz74oOd7oAMSIAESIAESIIHIBCgQGtY7KBAa1iAMhwRIgARIQBsBCoTa0NIxCZAACZAACZAACZAACXgmEJRA2L17dxk4cKDn+OmABEiABEiABEggdQIUCA3rIRQIDWsQhkMCJEACJKCNAAVCbWjpmARIgARIgARIgARIgAQ8EwhCIIQwCIGQRgIkQAIkQAIkoJ8ABUL9jB3VQIHQES5eTAIkQAIkEMMEKBDGcOMxdBIgARIgARIgARIggbgn4LdA+N5770mbNm3initvkARIgARIgARMIUCB0JSW+F8cFAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwT8FMg/Pe//y3333+/55jpgARIgARIgARIwD4BCoT2WflyJQVCXzCzEhIgARIgAQMIUCA0oBEYAgmQAAmQAAmQAAmQAAlEIOCHQFi2bFl55513pEqVKmwHEiABEiABEiABnwlQIPQZeLTqKBBGI8R/JwESIAESiBcCFAjjpSV5HyRAAiRAAiRAAiRAAvFIQKdAeNVVV8mIESPkn//8p6RNmzYe8fGeSIAESIAESMB4AhQIDWsiCoSGNQjDIQESIAES0EaAAqE2tHRMAiRAAiRAAiRAAiRAAp4J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cme1aygsSAIGEDh16pTgtxtiPn5n8JuN/8bLB74BiBlCCgSwiATfO/jWwTci+iD6Hr4b2ffYZVQRQL86efKk1aewqxriMhc4JKVLRqp6G/34TQBji9AClG3btlnj5yJFiljZgooVK2aJ/zQSIAESIAESIAF/CMTLGO4fIvIff5DprYUCoV6+9E4CJEACphI4duyYNTC2sxM1tXvAitvBgwdbabZ0/sivW7dOHn/8cWs3rVdr1KiRfPzxx17dsDwJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIBNAjrnDm2GoOQyCoRKMNIJCZAACZBAUARUnFP0z3/+U959913fVthjRT/q9Ho+C9LOffXVV0GhZ70kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkHAEKBAa1uTcQWhYgzAcEiABEvCBANLs4HxAL7sH27VrJ6NHj/Y9JbCKnY9Igbp27VofSLMKEiABEiABEiABEiABEiABEiABEiABEiABEiABEKBAaFg/oEBoWIMwHBIgARLwgcD8+fOlXr16rmu69tprrTMBcfZYEPbss8/KyJEjXVddu3ZtWbRokevyLEgCJEACJEACJEACJEACJEACJEACJEACJEACJOCMAAVCZ7y0X02BUDtiVkACJEACxhHo0aOHDBo0yHVcEydOlBYtWrgu77Ugdi4+9dRTrt00adJEPvroI9flWZAESIAESIAESIAESIAESIAESIAESIAESIAESMAZAQqEznhpv5oCoXbErIAESIAEjCNQt25dWbBggeu49u3bJ//P3n2AT1Hd+x//BlFpgqAgIIKCdIKiQdEAgooNa0QRe7miEnsJUVTsLRpL1KBGYwM7WFGjAorYBSsi2BUVUOlig/yfz9y7/H9lZnZmd3b37Oz7PM/vwXuZOXPm9Z2dH5nPnjOtW7fOef98d7zwwgvt3HPPzbmbESNGeMuj0hBAAAEEEEAAAQQQQAABBBBAAAEEEECgOAIEhMVxjnwUAsLIVGyIAAIIpEage/fuNnPmzJzPp9S/O3bffXd74oknch7/pZdeappFSUMAAQQQQAABBBBAAAEEEEAAAQQQQACB4ggQEBbHOfJRSv2QN/JA2RABBBBAIDGBxo0b29KlS3Pub+XKlVanTp2c989nx3nz5lnLli3z6cKef/5569+/f159sDMCCCCAAAIIIIAAAggg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BBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAWHM5hgAACAASURBVAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGh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2AFhxuu2226zI444ohR8HLMMBAgI8yuSfj+tvfba1TqZNm2abbvttvl1zN4IIIAAAggggAACCCCAAAIIILBagIDQsYuBgNCtgvz73/+2I488MuugWrRo4b2jasCAAab/btasmfet97lz59qXX35pX3zxhSlE+fjjj2369OmB/WkJ07///e9Zj8cGCMQVuPjii72lHau2n3/+2dZaa624XdXanoAwb8KidvDrr7/a8ccfbzfffHPk4+6///7WoUMHa9u2rW200Uam96bqPrd06VL77rvvvJ85c+Z4oZ8e4kdpulc+88wz1rNnzyibB24TFsToSxe9e/f23XfRokXeUqeLFy82/ff8+fNjj+Phhx82zYikIVBTgIAwv2ti6tSp1r9//2qdTJ482ft3Fg0BBBBAAAEEEEAAAQQQQAABBJIRICBMxjGxXggIE6PMuyM9RG/fvr199dVXgX3p76+//nrbZZddLOqH6aeffjI95NLSfvfff7/3gD3TXn/9dfvDH/6Q99jpAIGaAn379q0V3BAQVt51oi8u7LnnnvbEE09kPXmFgKeeeqodfvjh1rRp06zbZzZYsGCBPf300zZ69Gj75JNPsu6nL0306tUr63ZBG4QFMWeddZYpHI/StJxh5kscjz76qE2YMCHKbjZ79mzr2LFjpG3ZqHIECAjzq7XuHxdccEG1TggI8zNlbwQQQAABBBBAAAEEEEAAAQRqCkTNNFyX+52Z/df1QUYZHwFhFKXibHPnnXfaYYcdFngwvX/qxhtvzGsGlpbQmjJlihcWfv755/bUU08V5+Q4SkUJLFy40JvtVbMREFbUZeCd7K233mr/8z//E3ri+uKDllXWzLi6devmjKTr67rrrsu6jKmWG9USuLkeK6mAsOaJarlnOWRbYloharHeUZtzMdix6AIEhPmRb7nllrVWXCAgzM+UvRFAAAEEEEAAAQQQQAABBBCoKUBA6Ng1QUDoTkE6d+7szQzxa/vtt5+NGzcu5wfa7pwlI6kEAc2E+tOf/lTrVAkIK6H6//8ctYTmpptuWm3Wck0BhXVPPvmkt1RyUk1ffth+++1DZxNqaWUtsZxLK1RAmBmLvsAxZMiQwKFpGdOvv/7aGjVqlMvw2SelAgSEuRd23rx51rJly1odEBDmbsqeCCCAAAIIIIAAAggggAACCPgJEBA6dl0QELpRkB9/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99xzY401qY3nz59v+v3h13R/XLRokdWpUyepw4X2c+edd9phhx3mu42+4HH00UcnNo6w9/ptscUW9uabb4YeK2zmpWara3ZiUu2oo46y2267zbe7qAFhJd6vCh0QltP1mtS1SD8IIIAAAggggAACCCCAAAIIBAkQEDp2bRAQOlaQAg5nyZIl1qRJE98j6KGzHj4HtbCHhv369bMXXnihgCP/367DZkfccccdduihh+Y1hq+++spbCsyvERBGpw0LCL///ntr1qxZ9M4Ctvz0009NM6r8WrYl/+IevH///jZ16tRauyk0v/LKK7N2t2rVKi/00fXl1xS8NG/ePGs/5bZBkFvmPPS+tNatWxf8tC699FI766yzAo+TywzoQgWEGuTFF18cGp7OmTPHNt1004K7+R0gbLnMSZMmhS6RmuSAP/roI+vYsaNvl0n/PgoLd0455ZTAmbKZwYXNfO/UqZPp75Noerfn+uuvn/fSvpV4vwoLCB999FHbY4898ipROV2veZ0oOyOAAAIIIIAAAggggAACCCAQQYCAMAJSMTchICymdmmPlc/yYytXrvQe5ivM8GuPP/64DR48uKAnqPeE6YGsX5s4caLtuuuueR1fszn0DkK/RkAYnfaee+4xzUj1a1retlevXtE7C9iynAJCncKoUaPskksu8T2bUs4Ky7sQIR2MHz/e9t1338AttKyxtgl7r2i+43vxxRdNgVFQ22uvvezhhx+OfZhCBoSa8aiZzEGBsu5zut+Voml2mmap+bXevXublswsxixC/bulR48eppmqfu3pp582hZn5tp9//tkLY4NqESUU1e/Opk2bBgZ3SS0zGjbDXg5RZxBW4v0qbOau3h97/PHH53UpldP1mteJsjMCCCCAAAIIIIAAAggggAACEQQICCMgFXMTAsJiapfuWHrQ2bZt28CA7+WXX7Y+ffqEDjBsmVG98+ntt9+2unXrFuwk77vvPjvggAN8+7/uuuvshBNOyPnYYcvnqVMCwui0Ye8qmzBhgu29997ROwvYstwCwnfeecc222yzwPN+4403TO8HTVtTrfWexaCmpVf15YJ111038VP/z3/+Ywohw9rrr79uf/jDH2Ifu5ABoQaj0HKfffYJHNcDDzxgQ4YMiT3ufHdYsGBB6Lsa77//fttvv/3yPUyk/e+++2475JBDfLdVWPnqq69a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PvhAvfTSSwrvJXSvXr26+v333z27g+0WW2yhDjvssEDPpvfff19dc8016sUXXwysf86cOapq1apWfTXpaVVBjIW+/fZb9corr6jZs2ern376ybsXuZ8Zp9wj4NK5c2e14447emMv6IEYVw7CoLmErm644Yaqdu3a1r0uxviwVQ4ieerUqQrc/TmJMJvMc1WqVPHmJMI9cg9tv/32gaEfbdsqtBw6Tp482dPRv8+Zp/nYRk/ubcYwR+PGjdWmm26qOnbsaDX+sc24cePURRdd5I25fIGAZzzaCHjRvk4effRR1a9fv8CfFy9eHDimmBeC3jFq1Kih6tWrZ6OWc5nffvtN/fHHH4HXMe+vu+66znXaXEC7o0aNUv379w8sTmjMSy65xKYq7zlVp04dq7KmQuRB/PLLL735mTHHGOT5zTObZwsH448x16FDB7X55ptHbjOpCtJ6ZhRKEDLXcy3Pw7lz53q4c18wznl/a9CggTf/77DDDooclWlLKcyVaWMi7QkCgoAgEBcCQhDGhaRdPcUmCPneffPNN9Vbb73lnadPn26n+P+W4jts1113Vbvssot33mabbZyuT7uwEIRu60S8C+aOD97BXaRVq1aK9QB/fPD9Us4iBGG61pUQo+niLa2ZERCCMGMjRAjCbBkEEu++++6rpBREC4tN+cIi3y233KKuvfZa7YJo7jWEcmSRylVoe+jQod7hIuecc45HSkKERBUW+VnkzJUBAwaoO+64Y42qIUrPPPNMxeKorWy11VbqpJNO8rxw1l9/fdvLCiqH3SB0sfMzzzzjVAcL/vT7yCOPjI2AZVH7qKOOWkMPFjyDCANIvVNPPXUNewR1ZOzYserAAw/0foKwGj16tLrrrrucP6RMII0fP1717NnTCcc4C69YscKzJV5cn376qXXVEIW33nqr6tatW6VrevXqFUicErbw4Ycftq4/aC7hYj5EJ06caF1PWuPDWiGlFBsGwPu2224LDFGrqwvCGgKHD64kX0Z4rkJcPvbYY57NdISVTk9IXDzR0JfNFpB3ucK9OXz4cHXnnXc69T8MY/SEnAoSV4IQHSE9g4RnGhs4krABGz6YE4IEonannXYKg8Hpd+75e++9Vw0bNszpOlNhSKR33323oPqYZ3mu8LxmE4eL7LXXXur0009X++yzzxpjzqWeuMoW45nhShDyLL/yyivV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QhBmzJpCEGbMIKKOICAICAKCgCAgCAgCKSFgIgjffPNNtcsuu6SkiV0zJn3HjRun9ttvP7uKpJQgIAgIAoKAIBADAkIQxgBiilUIQSgEoRCEQhCmOOWUTVNCEJaNKTPTESEIM2OK/6+IEITZMsiff/6pfv3110pKrb/++qphw4ZaRefPn6/efvtt9d577yn+vXDhQlW1alX1+++/q0aNGqnGjRurpk2bqj322ENts802Ku2bkDH28ccfq7lz56pvv/1Wsbj31VdfqXXWWUetXr1aNW/e3NPv3//+t2rXrp3q2LFjrEYBk1WrVlWqs379+qp69eradtDvueeeUyRt/uGHHzxdwbV27dqqTp06qk2bNmr33XdX3bt3d9IVDL7++mvPTt9//713fPfdd+rHH39U6AQOm2yyiWrSpIl3xnabb765atCggVM7roUZd4wf9KG/nLEVejH2mjVrpjbbbDNPP46uXbsqxmXcEmQrMKhSpYq2KTDlwGazZ89WX375pWevpUuXqrp166p69ep59tphhx28sVWzZs241Y6lviyN09wO/f3332rq1KkV9+4333zjjWE+rrEL9y/3LuNi++239/6dtPz888+enefNm1dxHzFe+Zv7Gh04/HuIM38zjguVIPtwX1arVi2wyhUrVqjp06erSZMmqS+++EItWrRILViwwBuPK1eu9O5t7q3tttvOm5uZV9IW5sUPPvhAYdPc+Yh/gyNzD5j5eHbp0sW7p+KWoOdejRo1PKx0wvMNXBmLc+bM8Y7Fixer3377zbvHwROM0blTp06qRYsWiT/7ijG/B41LMNt0002t+2si3N59911v7swXnt2TJ0/2bIAO/nNj2bJlauONN/aeYZw7d+7sEYym563reEqbIMziHOiKmZQXBAQBQUAQSA4BIQiTwzaJmoUgFILQNK74Lpo4caJ66623FBvl+MZ0Eb45dt11V+/9l7PrtzHrGbTrt897touw7uG3v9tuuxnXEamX9a7c9n755ReX5lT79u0V7fj9NX2/BVX8ySefVGqf7zmRbCIgBGE27VLKWqXNTSSF1b/g1pKqPM16hSBME+3wtk455RR13333VSq4xRZbeIvh+cJi5LnnnqteeOGF8Ir/twQLdscdd5y64IILPEIqSWFRbfTo0eqmm25Sn376qXVTLCiec8456qCDDtIuvttWBvkG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BBBAAAEEEEAAAQQQQICAkD6AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQBMJEBA2UWNzqAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggQENIHEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEGgiAQLCJmpsDhUBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABAkL6AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJNJEBA2ESNzaEigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQEBIH0AAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgiQQICJuosTlUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgI6QMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIINJEAAWETNTaHigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABIX0AAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgSYSICBsosbmUBFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAgIKQPIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIINBEAgSETdTYHCoCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBIT0AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSaSICAsIkam0NFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgICQPoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAEwkQEDZRY3OoCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBAQ0gcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQaCIBAsImamwOFQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAECQvoAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAk0kQEDYRI3NoSKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBAQEgfQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKCJBAgIm6ixOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECAjpAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgg0kQABYRM1NoeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAEhfQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBJhIgIGyixuZQEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECAgpA8ggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0EQCBIRN1NgcKgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIEhPQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBJpIgICwiRqbQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA+gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEATCRAQNlFjc6gIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBDSBxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBoIgECwiZqbA4VAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQJC+gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACTSRAQNhEjc2hIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAL/tz07JgAAAEAQ1r81QVgEp58ECDgIbYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASMBBOCpbVAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIOQhsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMBJwEI7KFpUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAg9AGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwEHISjskUlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg4CC0AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIjAQfhqGxRCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAS0VvX1w8c1BwAAAABJRU5ErkJggg==',\n },\n];\nexport const defaultTemplates = [\n {\n image: ImageTemplate1,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'Ledger',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageTemplate2,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const customTemplates = [\n {\n image: ImageCustomTemplate1,\n title: 'Custom temp-1',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageCustomTemplate2,\n title: 'Custom2',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const normalFonts = [\n 'Open Sans',\n 'Roboto',\n 'Lato',\n 'Montserrat',\n 'Source Sans Pro',\n 'Inter',\n 'Raleway',\n 'Poppins',\n 'Merriweather',\n 'Noto Sans',\n 'Work Sans',\n 'Ubuntu',\n 'Nunito',\n 'Playfair Display',\n 'DM Sans',\n 'PT Sans',\n 'Quicksand',\n 'Baloo 2',\n 'Amatic SC',\n 'Plus Jakarta Sans',\n 'Rubik',\n 'Oswald',\n 'Kalam',\n 'Caveat',\n];\nexport const funkyFonts = [\n 'Open Sans Condensed',\n 'Lobster',\n 'Pacifico',\n 'Bangers',\n 'Shadows Into Light',\n 'Indie Flower',\n 'Fredericka the Great',\n 'Chewy',\n 'Coming Soon',\n 'Gloria Hallelujah',\n 'Luckiest Guy',\n 'Patrick Hand',\n 'Rock Salt',\n 'Architects Daughter',\n 'Boogaloo',\n 'Concert One',\n 'Courgette',\n 'Great Vibes',\n 'Handlee',\n 'Mansalva',\n 'Satisfy',\n 'Special Elite',\n 'Titan One',\n];\n\nexport const fontFamilies = [...normalFonts, ...funkyFonts];\n","/* eslint-disable max-len */\n\nimport enTranslations from '@/assets/locales/en.json'; // English\nimport ruTranslations from '@/assets/locales/ru.json'; // Russian\nimport plTranslations from '@/assets/locales/pl.json'; // Polish\nimport deTranslations from '@/assets/locales/de.json'; // German\nimport esTranslations from '@/assets/locales/es.json'; // Spanish\nimport frTranslations from '@/assets/locales/fr.json'; // French\nimport itTranslations from '@/assets/locales/it.json'; // Italian\nexport const SUPPPORTED_LOCALES = ['en', 'ru', 'pl', 'de', 'es', 'fr', 'it'];\nexport const TEXT_DICTIONARY = {\n en: enTranslations,\n ru: ruTranslations,\n pl: plTranslations,\n de: deTranslations,\n es: esTranslations,\n fr: frTranslations,\n it: itTranslations,\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { propTypes } from './props';\nimport { SideBarWrapper } from './styled';\nimport { SideBarPill } from '../SideBarPill';\nimport { IconImage, IconQrCode, IconShape, IconTemplate, IconText, IconWhiteLabel } from '@/assets';\nimport { sideBarpillsList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nexport const SideBar = ({\n selectedSideBarItem,\n onClickPill = () => {},\n disableWhiteLabel,\n styleProps,\n languageLocale,\n}) => {\n const sideBarItems = [\n {\n id: sideBarpillsList.template,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n icon: IconTemplate,\n },\n {\n id: sideBarpillsList.text,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n icon: IconText,\n },\n {\n id: sideBarpillsList.image,\n text: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n icon: IconImage,\n },\n {\n id: sideBarpillsList.shape,\n text: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n icon: IconShape,\n },\n {\n id: sideBarpillsList.qr,\n text: TEXT_DICTIONARY?.[languageLocale]?.QR,\n icon: IconQrCode,\n },\n {\n id: sideBarpillsList.whiteLabel,\n text: TEXT_DICTIONARY?.[languageLocale]?.WHITE_LABEL,\n icon: IconWhiteLabel,\n },\n ];\n const onClickSinglePill = useCallback(\n e => {\n onClickPill(e);\n },\n [onClickPill],\n );\n\n const renderPills = useMemo(\n () =>\n sideBarItems?.map(item => {\n if (item?.id === sideBarpillsList?.whiteLabel && disableWhiteLabel) {\n return null;\n }\n return (\n <SideBarPill\n key={item?.id}\n id={item?.id}\n isSelected={selectedSideBarItem === item?.id}\n onClick={() => onClickSinglePill(item?.id)}\n icon={item?.icon}\n text={item?.text}\n languageLocale={languageLocale}\n pillActiveColor={styleProps?.primaryColor}\n />\n );\n }),\n [selectedSideBarItem, onClickSinglePill, languageLocale],\n );\n\n return <SideBarWrapper>{renderPills}</SideBarWrapper>;\n};\n\nSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n languageLocale: PropTypes.string,\n title: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n editorHeight: PropTypes.number,\n editorWidth: PropTypes.number,\n onSetBackgroundColor: PropTypes.func,\n elements: PropTypes.array,\n history: PropTypes.array,\n redoStack: PropTypes.array,\n onSetBackgroundImage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n shapeOpacity: PropTypes.number,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onSelectElement: PropTypes.func,\n stageRef: PropTypes.object,\n saveHistory: PropTypes.func,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n loadingImages: PropTypes.bool,\n loadingFonts: PropTypes.bool,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\nimport EditorBg from '@/assets/images/small-dots.png';\n\nexport const Container = styled.div`\n flex: 1;\n display: flex;\n background-color: ${theme.color.white_F7F7F7};\n background-image: ${({ selectedTab }) => (selectedTab ? 'none' : `url(${EditorBg})`)};\n position: relative;\n flex-direction: column;\n overflow: hidden;\n`;\n\nexport const InnerContainer = styled.div`\n // display: flex;\n // flex-direction: column;\n // overflow: auto;\n // flex: 1;\n // align-items: center;\n // justify-content: center;\n // flex-grow: 1;\n // background: green;\n // // min-height: 100px;\n\n display: grid;\n place-items: center;\n overflow: auto;\n flex: 1;\n position: relative;\n`;\n\nexport const InnerContainerWrapper = styled.div`\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex: 1;\n justify-content: center;\n min-height: ${({ editorHeight }) => editorHeight || 500}px;\n height: ${({ editorHeight }) => editorHeight || 500}px;\n min-width: ${({ editorWidth }) => editorWidth || 400}px;\n width: ${({ editorWidth }) => editorWidth || 400}px;\n`;\n\nexport const Title = styled.p`\n border: 1px solid ${theme.color.gray_E8E8E8};\n align-self: flex-start;\n font-size: 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[300]};\n color: ${theme.color.gray_7A7979};\n padding: 0 6px;\n border-bottom-width: 0;\n`;\n\nexport const EditorBox = styled.div`\n height: ${({ editorHeight }) => editorHeight || 470}px;\n width: ${({ editorWidth }) => editorWidth || 350}px;\n min-height: ${({ editorHeight }) => editorHeight || 470}px;\n min-width: ${({ editorWidth }) => editorWidth || 350}px;\n background: ${theme.color.gray_25};\n box-shadow: 1.317px 1.317px 1.317px 0px rgba(0, 0, 0, 0.08);\n // transition: all 0.1s ease-in-out;\n overflow: hidden;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n canvasBackgroundImage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onSetBackgroundImage: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n translation: PropTypes.object,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToolBarWrapper = styled.div`\n display: flex;\n padding: 10px 30px;\n align-items: center;\n border-bottom: 1px solid ${theme.color.gray_EAEAEA};\n background: ${theme.color.white};\n flex-direction: row;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n // pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n // overflow: auto;\n`;\nexport const OverlayBlocker = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: rgba(255, 255, 255, 0.1);\n z-index: 100;\n cursor: not-allowed;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n onSetBackgroundImage: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onChangeBackgroundImageOpacity: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingTop: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingBottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n children: PropTypes.node,\n marginLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n justifyContent: PropTypes.string,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 8px;\n background-color: ${theme.color.white};\n height: ${({ height = 40 }) => `${height}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n margin-right: ${({ marginRight = 12 }) => `${marginRight}px`};\n display: flex;\n align-items: center;\n justify-content: ${({ justifyContent = 'center' }) => justifyContent};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 10 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 10 }) => `${paddingLeft}px`};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n gap: ${({ gap = 0 }) => `${gap}px`};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n text: PropTypes.string,\n position: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n disabled: PropTypes.bool,\n};\n","import styled, { css } from 'styled-components';\nimport theme from '@/theme';\n\nexport const Wrapper = styled.div`\n position: relative;\n display: inline-block;\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n`;\n\nexport const TooltipText = styled.div`\n visibility: hidden;\n background-color: rgba(0, 0, 0, 0.7);\n color: white;\n text-align: center;\n padding: 4px 10px;\n border-radius: 4px;\n position: absolute;\n z-index: 9999;\n white-space: nowrap;\n opacity: 0;\n transition: all 0.1s;\n font-size: 13px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n\n ${({ position }) =>\n position === 'top' &&\n css`\n bottom: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'right' &&\n css`\n top: 50%;\n left: 105%;\n transform: translateY(-50%);\n `}\n ${({ position }) =>\n position === 'bottom' &&\n css`\n top: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'left' &&\n css`\n top: 50%;\n right: 105%;\n transform: translateY(-50%);\n `}\n\n ${Wrapper}:hover & {\n visibility: visible;\n opacity: 1;\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TooltipText, Wrapper } from './styled';\n\nexport const Tooltip = ({ children, text, position = 'top', disabled = false }) => (\n <Wrapper disabled={disabled}>\n {children}\n {!disabled && <TooltipText position={position}>{text}</TooltipText>}\n </Wrapper>\n);\n\nTooltip.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolBarButtonWrapper = ({\n height,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n children,\n marginLeft,\n marginRight,\n justifyContent,\n gap,\n onClick,\n disabled = false,\n tooltip,\n tooltipPosition,\n}) => (\n <Tooltip text={tooltip} position={tooltipPosition} disabled={disabled}>\n <StyledContainer\n height={height}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n marginLeft={marginLeft}\n marginRight={marginRight}\n justifyContent={justifyContent}\n gap={gap}\n onClick={() => {\n if (disabled) {\n return;\n }\n onClick && onClick();\n }}\n disabled={disabled}\n >\n {children}\n </StyledContainer>\n </Tooltip>\n);\n\nToolBarButtonWrapper.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n right: PropTypes.bool,\n center: PropTypes.bool,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n list: PropTypes.array,\n onSelect: PropTypes.func,\n fontPicker: PropTypes.any,\n tooltip: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const DropDownItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const IconWrapper = styled.img`\n object-fit: contain;\n`;\n\nexport const DropDownList = styled.div`\n position: absolute;\n left: 0;\n top: 50;\n background-color: white;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n margin-top: 5px;\n z-index: 10;\n width: 100%;\n max-height: 200px;\n overflow-y: auto;\n z-index: 9999;\n`;\n\n// Individual option in the dropdown\nexport const DropDownOption = styled.div`\n padding: 8px 16px;\n cursor: pointer;\n font-size: 14px;\n color: #333333;\n &:hover {\n background-color: #f0f0f0;\n }\n &:active {\n background-color: #e0e0e0;\n }\n`;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { IconDropDown } from '@/assets';\nimport { DropDownItem, DropDownList, DropDownOption, IconWrapper } from './styled';\nimport theme from '@/theme';\n\nexport const DropDown = ({\n left,\n right,\n center,\n gap,\n paddingLeft,\n paddingRight,\n list,\n onSelect,\n fontPicker,\n tooltip,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const dropdownRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const handleSelect = item => {\n onSelect(item);\n setIsOpen(false);\n };\n\n return (\n <div\n ref={dropdownRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setIsOpen(true);\n }}\n >\n <ToolBarButtonWrapper\n justifyContent={center ? 'space-between' : 'center'}\n gap={gap}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n tooltip={tooltip}\n tooltipPosition={'bottom'}\n >\n <DropDownItem>{left}</DropDownItem>\n <DropDownItem>{center}</DropDownItem>\n <DropDownItem>{right ? right : <IconWrapper src={IconDropDown} />}</DropDownItem>\n </ToolBarButtonWrapper>\n {isOpen && (\n <DropDownList>\n {list?.map((item, index) => (\n <DropDownOption\n key={index}\n onClick={e => {\n handleSelect(item);\n e?.stopPropagation();\n }}\n style={{\n padding: '8px 16px',\n cursor: 'pointer',\n borderBottom: index !== list.length - 1 ? '1px solid #eee' : 'none',\n fontFamily: fontPicker ? item : theme.fonts.primary,\n }}\n >\n {item}\n </DropDownOption>\n ))}\n </DropDownList>\n )}\n </div>\n );\n};\n\nDropDown.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n\nexport const RemoveButton = styled.div`\n height: 20px;\n width: 20px;\n border-radius: 20px;\n position: absolute;\n right: -7px;\n top: -7px;\n background: #ff4d4d;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n backgroundColor: PropTypes.string,\n onChange: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Box = styled.input.attrs({ type: 'color' })`\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 22px;\n height: 22px;\n border: none;\n border-radius: 4px;\n border: 1px solid ${theme.color.gray_CCC};\n padding: 0;\n cursor: pointer;\n &::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n &::-webkit-color-swatch {\n border: none;\n border-radius: 4px;\n }\n\n &::-moz-color-swatch {\n border: none;\n border-radius: 4px;\n }\n`;\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Box } from './styled';\n\nexport const ColorBox = ({ backgroundColor, onChange }) => {\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChange(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n\n return <Box value={backgroundColor} onChange={onChangeColor} />;\n};\n\nColorBox.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledImage = styled.img`\n width: ${({ width }) => width + 'px' || 'auto'};\n height: ${({ height }) => height + 'px' || 'auto'};\n max-width: ${({ maxWidth }) => maxWidth + 'px' || 'auto'};\n max-height: ${({ maxHeight }) => maxHeight + 'px' || 'auto'};\n object-fit: ${({ objectFit }) => objectFit || 'contain'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n border-radius: ${({ borderRadius = 0 }) => `${borderRadius}px`};\n`;\nexport const StyledText = styled.p`\n font-family: ${({ fontFamily }) => fontFamily || theme.fonts.primary};\n font-size: ${({ fontSize = 14 }) => `${fontSize}px`};\n color: ${({ color }) => color || theme.color.gray_700};\n font-weight: ${({ fontWeight = 400 }) => fontWeight};\n line-height: ${({ lineHeight }) => lineHeight || 'normal'};\n text-align: ${({ textAlign }) => textAlign || 'left'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n`;\n","import { elementTypes, fontFamilies } from '@/constants';\nimport { SUPPPORTED_LOCALES } from '@/constants/textConstants';\n\nexport const calculatePercentageValue = (value, percentage) => {\n return (value * percentage) / 100;\n};\nexport const getPercentage = (part, whole) => {\n if (whole === 0) return 0;\n return (part / whole) * 100;\n};\nexport const pickImage = () => {\n return new Promise((resolve, reject) => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/*';\n input.style.display = 'none';\n\n input.addEventListener('change', event => {\n if (event.target.files.length > 0) {\n resolve(event.target.files[0]);\n } else {\n reject(new Error('No file selected'));\n }\n });\n\n input.click();\n });\n};\n\nexport const isElementShape = elem => {\n if (\n elem?.type === elementTypes?.circle ||\n elem?.type === elementTypes?.arrowRight ||\n elem?.type === elementTypes?.heart ||\n elem?.type === elementTypes?.horizontalLine ||\n elem?.type === elementTypes?.square ||\n elem?.type === elementTypes?.star ||\n elem?.type === elementTypes?.triangle ||\n elem?.type === elementTypes?.verticalLine\n ) {\n return true;\n } else {\n return false;\n }\n};\nexport const isElementOfSameType = (elem, type) => {\n if (elem && elem?.type === type) {\n return true;\n } else {\n return false;\n }\n};\n\nexport const debounce = (func, delay) => {\n let timeoutId;\n\n return function (...args) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n func.apply(this, args);\n }, delay);\n };\n};\n\nexport const sanitizeNumber = (value, defaultValue = 0, precision = 2) => {\n const num = parseFloat(value);\n if (isNaN(num)) return defaultValue;\n return parseFloat(num.toFixed(precision));\n};\n\nexport const loadAllGoogleFonts = () => {\n const weights = [400, 700];\n const italics = [0, 1];\n\n const fontParams = fontFamilies.map(font => {\n const fontName = font.replace(/ /g, '+');\n const variantStr = italics\n .map(ital => weights.map(w => `${ital},${w}`).join(';'))\n .join(';');\n return `family=${fontName}:ital,wght@${variantStr}`;\n });\n\n const fontURL = `https://fonts.googleapis.com/css2?${fontParams.join('&')}&display=swap`;\n\n return new Promise((resolve, reject) => {\n try {\n if (!document.querySelector(`link[href=\"${fontURL}\"]`)) {\n const link = document.createElement('link');\n link.href = fontURL;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n }\n\n const loadPromises = [];\n fontFamilies.forEach(font => {\n weights.forEach(weight => {\n italics.forEach(ital => {\n loadPromises.push(\n document.fonts.load(\n `${ital ? 'italic' : 'normal'} ${weight} 16px \"${font}\"`,\n ),\n );\n });\n });\n });\n\n Promise.all(loadPromises)\n .then(() => resolve(`✅ All ${fontFamilies?.length} fonts loaded`))\n .catch(err => reject(err));\n } catch (err) {\n reject(err);\n }\n });\n};\nexport const preloadRelevantImages = async (elements = []) => {\n const imagePromises = elements\n ?.map(elem => {\n let src = null;\n\n if (elem?.type === 'image' || elem?.type === 'backgroundImage') {\n src = elem?.src;\n } else if (elem?.type === 'qr') {\n src = elem?.qrLogo;\n }\n\n if (!src) return null;\n\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ src, success: true });\n img.onerror = () => reject({ src, success: false });\n img.src = src;\n });\n })\n .filter(Boolean);\n\n return Promise?.allSettled(imagePromises).then(results => {\n const successes = results?.filter(r => r?.status === 'fulfilled').map(r => r?.value);\n\n const errors = results?.filter(r => r?.status === 'rejected').map(r => r?.reason);\n\n return { successes, errors };\n });\n};\nexport const removeImageProperty = (elements = []) => {\n return elements.map(elem => {\n if ('image' in elem) {\n // eslint-disable-next-line no-unused-vars\n const { image, ...rest } = elem;\n return rest;\n }\n return elem;\n });\n};\n\nexport const exportStageAsImage = async (stageRef, pageSizeKey, scale = 2) => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const stage = stageRef?.current;\n if (!stage) {\n return reject('Stage is not available');\n }\n\n // Create a canvas with the scale factor\n const canvas = await stage.toCanvas({ pixelRatio: scale });\n\n // Convert canvas to data URL\n const dataURL = await canvas.toDataURL('image/png');\n\n // Return the data URL as the resolved value\n resolve(dataURL);\n } catch (error) {\n reject(error);\n }\n });\n};\n\nexport const validateLocale = locale => {\n if (SUPPPORTED_LOCALES.includes(locale)) {\n return locale;\n } else {\n return 'en';\n }\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n onChangeOpacity: PropTypes.func,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n pickerWidth: PropTypes.number,\n leftChild: PropTypes.node,\n rightChild: PropTypes.node,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n showLeftChild: PropTypes.bool,\n varient: PropTypes.string,\n fontFamily: PropTypes.string,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconOpacity } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const OpacityPicker = ({\n value = 1,\n onChangeOpacity,\n min = 0,\n max = 1,\n step = 0.1,\n pickerWidth = 100,\n leftChild,\n rightChild,\n gap = 12,\n showLeftChild = true,\n varient = 'opacity',\n fontFamily = theme.fonts.secondary,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.OPACITY,\n tooltipPosition = 'bottom',\n}) => {\n const pickerRef = useRef(null);\n\n const [opacityPickerVisible, setOpacityPickerVisible] = useState(false);\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setOpacityPickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n ref={pickerRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setOpacityPickerVisible(true);\n }}\n >\n <ToolBarButtonWrapper gap={gap} tooltip={tooltip} tooltipPosition={tooltipPosition}>\n {showLeftChild && (leftChild ? leftChild : <StyledImage src={IconOpacity} />)}\n <StyledText fontFamily={fontFamily}>\n {varient === 'opacity' ? `${value * 100}%` : Math.round(value)}\n </StyledText>\n {rightChild && rightChild}\n </ToolBarButtonWrapper>\n {opacityPickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeOpacity(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nOpacityPicker.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n strokeColor: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChangeStrokeWidth: PropTypes.func,\n onChangeShapeStrokeColor: PropTypes.func,\n pickerWidth: PropTypes.number,\n languageLocale: PropTypes.string,\n tooltip: PropTypes.string,\n leftIcon: PropTypes.elementType,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconGrid } from '@/assets';\nimport theme from '@/theme';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const StrokePicker = ({\n value,\n strokeColor,\n min = 0,\n max = 30,\n step = 1,\n onChangeStrokeWidth,\n onChangeShapeStrokeColor,\n pickerWidth = 100,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.STROKE_WIDTH_AND_COLOR,\n leftIcon = IconGrid,\n}) => {\n const pickerRef = useRef(null);\n const [strokePickerVisible, setStrokePickerVisible] = useState(false);\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChangeShapeStrokeColor(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setStrokePickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n style={{\n position: 'relative',\n }}\n ref={pickerRef}\n >\n <ToolBarButtonWrapper gap={12} tooltip={tooltip} tooltipPosition={'bottom'}>\n <StyledImage src={leftIcon} />\n <StyledText\n fontFamily={theme.fonts.secondary}\n // marginRight={10}\n paddingRight={10}\n onClick={() => {\n setStrokePickerVisible(true);\n }}\n >\n {value}\n </StyledText>\n <div\n style={{\n height: 22,\n width: 22,\n borderRadius: 4,\n background: theme.color.gray_EFEFEF,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <input\n type=\"color\"\n value={strokeColor}\n onChange={onChangeColor}\n style={{\n width: '100%',\n height: '100%',\n border: 'none',\n cursor: 'pointer',\n opacity: 0,\n }}\n />\n <div\n style={{\n height: 13,\n width: 1,\n backgroundColor: strokeColor,\n transform: 'rotate(38deg)',\n position: 'absolute',\n pointerEvents: 'none',\n }}\n />\n </div>\n </ToolBarButtonWrapper>\n {strokePickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeStrokeWidth(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nStrokePicker.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RemoveButton, RowContainer } from './styled';\nimport {\n IconBackgroundColor,\n IconBackgroundImage,\n IconBackgroundImageOpacity,\n IconCross,\n IconDropDownSmall,\n IconFrame,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { pickImage } from '@/utils';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { pageSizes } from '@/constants/layoutConstants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { StrokePicker } from '../StrokePicker';\n\nexport const TemplateToolBar = ({\n onSetBackgroundColor,\n canvasBackgroundColor,\n onSetBackgroundImage,\n backgroundImageOpacity,\n onChangeBackgroundImageOpacity,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n canvasBackgroundImage,\n onRemoveBackgroundImage,\n}) => {\n const selectBackgroundColor = e => {\n onSetBackgroundColor(e);\n };\n const handleBackgroundUpload = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onSetBackgroundImage(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onSetBackgroundImage(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <RowContainer>\n <DropDown\n gap={20}\n left={<Label>{selectedPageSize}</Label>}\n list={Object.keys(pageSizes)}\n onSelect={e => {\n onSetPageSize && onSetPageSize(e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.PAGE_SIZE}\n />\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={canvasBackgroundColor || theme.color.white}\n onChange={selectBackgroundColor}\n />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={17}\n paddingLeft={17}\n onClick={handleBackgroundUpload}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE}\n tooltipPosition={'bottom'}\n >\n {canvasBackgroundImage && (\n <RemoveButton\n onClick={e => {\n onRemoveBackgroundImage && onRemoveBackgroundImage();\n e.stopPropagation();\n }}\n >\n <StyledImage src={IconCross} height={15} width={15} />\n </RemoveButton>\n )}\n <StyledImage\n src={canvasBackgroundImage?.src || IconBackgroundImage}\n height={24}\n width={24}\n />\n </ToolBarButtonWrapper>\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE_OPACITY}\n gap={10}\n value={backgroundImageOpacity}\n onChangeOpacity={onChangeBackgroundImageOpacity}\n leftChild={<StyledImage src={IconBackgroundImageOpacity} />}\n rightChild={<StyledImage src={IconDropDownSmall} />}\n />\n <StrokePicker\n gap={10}\n value={cuttingGuideStroke}\n onChangeStrokeWidth={e => {\n onChangeCuttingGuideProp('cuttingGuideStroke', e);\n }}\n strokeColor={cuttingGuideStrokeColor}\n onChangeShapeStrokeColor={e => {\n onChangeCuttingGuideProp('cuttingGuideStrokeColor', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.CUTTING_GUIDE}\n languageLocale={languageLocale}\n leftIcon={IconFrame}\n max={200}\n />\n </RowContainer>\n );\n};\n\nTemplateToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n fontFamily: PropTypes.string,\n fontSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n color: PropTypes.string,\n textDecoration: PropTypes.string,\n fontStyle: PropTypes.string,\n fontWeight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textAlign: PropTypes.string,\n textOpacity: PropTypes.number,\n onChangeTextProperty: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${({ fontFamily = theme.fonts.primary }) => fontFamily};\n width: 100px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n tabsData: PropTypes.arrayOf(PropTypes.object),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n tabPadding: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n disabled: PropTypes.bool,\n tooltipPosition: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const TabBarContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n height: ${({ height }) => height}px;\n margin-right: ${({ marginRight = 0 }) => marginRight}px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: ${theme.color.white};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n\nexport const TabItem = styled.div`\n padding: ${({ tabPadding }) => tabPadding};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n border-right: ${({ isLast }) => (isLast ? 'none' : `1px solid ${theme.color.gray_200}`)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n background: ${({ selected = false }) => (selected ? theme.color.gray_200 : theme.color.white)};\n border-top-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-bottom-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-top-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n border-bottom-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TabBarContainer, TabItem } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolsTabBar = ({\n tabsData = [],\n height = 36,\n tabPadding = '8px 12px',\n marginRight = 0,\n disabled = false,\n tooltipPosition = 'bottom',\n}) => (\n <TabBarContainer disabled={disabled} height={height} marginRight={marginRight}>\n {tabsData.map((item, index) => (\n <Tooltip\n key={index}\n position={tooltipPosition}\n text={item?.tooltip}\n disabled={item?.disabled}\n >\n <TabItem\n key={index}\n tabPadding={tabPadding}\n isLast={index === tabsData.length - 1}\n isFirst={index === 0}\n onClick={item?.onClick}\n disabled={item?.disabled}\n selected={item?.selected}\n >\n {item?.element}\n </TabItem>\n </Tooltip>\n ))}\n </TabBarContainer>\n);\n\nToolsTabBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RowContainer } from './styled';\nimport {\n IconAlignCenter,\n IconAlignLeft,\n IconAlignRight,\n IconBold,\n IconDropDown,\n IconLineThrough,\n IconTextItalic,\n IconTextSmall,\n IconTextUnderLine,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { topTabBarpadding } from '@/constants/layoutConstants';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { fontFamilies, funkyFonts } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextToolBar = ({\n fontFamily,\n fontSize,\n lineHeight,\n color,\n textDecoration,\n fontStyle,\n fontWeight,\n textAlign,\n textOpacity,\n onChangeTextProperty,\n languageLocale,\n}) => {\n let TextTabsData = [\n {\n element: <StyledImage src={IconBold} />,\n selected: fontWeight > theme?.fontWeights[500] || fontWeight === 'bold',\n onClick: () => {\n if (fontWeight > theme?.fontWeights[500] || fontWeight === 'bold') {\n onChangeTextProperty('fontWeight', theme?.fontWeights[400]);\n } else {\n onChangeTextProperty('fontWeight', theme?.fontWeights[700]);\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BOLD,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconTextItalic} />,\n selected: fontStyle === 'italic',\n onClick: () => {\n if (fontStyle === 'italic') {\n onChangeTextProperty('fontStyle', 'normal');\n } else {\n onChangeTextProperty('fontStyle', 'italic');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.ITALIC,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconLineThrough} />,\n selected: textDecoration?.includes('line-through'),\n onClick: () => {\n if (textDecoration?.includes('line-through')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline') ? 'underline' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline')\n ? 'underline line-through'\n : 'line-through',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LINE_THROUGH,\n },\n {\n element: <StyledImage src={IconTextUnderLine} />,\n selected: textDecoration?.includes('underline'),\n onClick: () => {\n if (textDecoration?.includes('underline')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through') ? 'line-through' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through')\n ? 'underline line-through'\n : 'underline',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDERLINE,\n },\n ];\n\n let AlignmentTabsData = [\n {\n element: <StyledImage src={IconAlignLeft} />,\n selected: textAlign === 'left',\n onClick: () => {\n if (textAlign !== 'left') {\n onChangeTextProperty('textAlign', 'left');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LEFT_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignCenter} />,\n selected: textAlign === 'center',\n onClick: () => {\n if (textAlign !== 'center') {\n onChangeTextProperty('textAlign', 'center');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.CENTER_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignRight} />,\n selected: textAlign === 'right',\n onClick: () => {\n if (textAlign !== 'right') {\n onChangeTextProperty('textAlign', 'right');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.RIGHT_ALIGN,\n },\n ];\n\n return (\n <RowContainer>\n <DropDown\n gap={40}\n left={<Label fontFamily={fontFamily}>{fontFamily}</Label>}\n fontPicker={true}\n list={fontFamilies}\n onSelect={e => {\n onChangeTextProperty('fontFamily', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.FONT_FAMILY}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={fontSize}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={5}\n max={100}\n step={1}\n onChangeOpacity={e => onChangeTextProperty('fontSize', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_SIZE}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={lineHeight}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={1}\n max={5}\n step={0.5}\n onChangeOpacity={e => onChangeTextProperty('lineHeight', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_LINE_HEIGHT}\n tooltipPosition={'bottom'}\n />\n <ToolBarButtonWrapper\n gap={12}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconTextSmall} />\n <ColorBox\n backgroundColor={color}\n onChange={e => onChangeTextProperty('color', e)}\n />\n </ToolBarButtonWrapper>\n <ToolsTabBar\n tabsData={TextTabsData}\n marginRight={12}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n <ToolsTabBar\n tabsData={AlignmentTabsData}\n marginRight={20}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n\n <OpacityPicker\n value={textOpacity}\n onChangeOpacity={e => onChangeTextProperty('opacity', e)}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_OPACITY}\n tooltipPosition={'bottom'}\n />\n </RowContainer>\n );\n};\n\nTextToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { isElementOfSameType } from '@/utils';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageToolBar = ({\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.strokeWidth\n : imageStrokeWidth\n }\n onChangeStrokeWidth={onChangeImageStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.stroke\n : imageStrokeColor\n }\n onChangeShapeStrokeColor={onChangeImageStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.IMAGE_OPACITY}\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.opacity\n : imageOpacity\n }\n onChangeOpacity={onChangeImageOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nImageToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { RowContainer } from './styled';\nimport { IconBackgroundColor } from '@/assets';\nimport { StyledImage } from '@/generic/Styled';\nimport { ColorBox } from '../ColorBox';\nimport { isElementShape } from '@/utils';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeToolBar = ({\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_FILL}\n tooltipPosition=\"bottom\"\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={\n (isElementShape(selectedElement) && selectedElement?.fill) || shapeFillColor\n }\n onChange={onChangeShapeFill}\n />\n </ToolBarButtonWrapper>\n <StrokePicker\n value={\n isElementShape(selectedElement)\n ? selectedElement?.strokeWidth\n : shapeStrokeWidth\n }\n onChangeStrokeWidth={onChangeShapeStrokeWidth}\n strokeColor={\n isElementShape(selectedElement) ? selectedElement?.stroke : shapeStrokeColor\n }\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_OPACITY}\n value={isElementShape(selectedElement) ? selectedElement?.opacity : shapeOpacity}\n onChangeOpacity={onChangeShapeOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nShapeToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { elementTypes } from '@/constants';\nimport { isElementOfSameType } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrToolBar = ({\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.strokeWidth\n : qrStrokeWidth\n }\n onChangeStrokeWidth={onChangeQrStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.stroke\n : qrStrokeColor\n }\n onChangeShapeStrokeColor={onChangeQrStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.opacity\n : qrOpacity\n }\n onChangeOpacity={onChangeQrOpacity}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.OPACITY}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nQrToolBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { OverlayBlocker, ToolBarWrapper } from './styled';\nimport { TemplateToolBar } from '../TemplateToolBar';\nimport { TextToolBar } from '../TextToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport { ImageToolBar } from '../ImageToolBar';\nimport { ShapeToolBar } from '../ShapeToolBar';\nimport { QrToolBar } from '../QrToolBar';\nimport { isElementOfSameType } from '@/utils';\n\nexport const TopToolBar = ({\n selectedTab,\n onSetBackgroundColor,\n canvasBackgroundColor,\n canvasBackgroundImage,\n onSetBackgroundImage,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onRemoveBackgroundImage,\n}) => {\n return (\n <ToolBarWrapper disabled={selectedElement && !selectedElement?.draggable}>\n {selectedElement && !selectedElement?.draggable && (\n <OverlayBlocker\n onClick={e => {\n e?.stopPropagation();\n }}\n />\n )}\n {selectedTab === sideBarpillsList?.template ? (\n <TemplateToolBar\n onSetBackgroundColor={onSetBackgroundColor}\n canvasBackgroundColor={canvasBackgroundColor}\n canvasBackgroundImage={canvasBackgroundImage}\n onSetBackgroundImage={onSetBackgroundImage}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n ) : selectedTab === sideBarpillsList?.text ? (\n <TextToolBar\n fontFamily={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontFamily\n : defaultTextProps?.fontFamily\n }\n fontSize={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontSize\n : defaultTextProps?.fontSize\n }\n lineHeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.lineHeight\n : defaultTextProps?.lineHeight\n }\n color={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.color\n : defaultTextProps?.color\n }\n textDecoration={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textDecoration\n : defaultTextProps?.textDecoration\n }\n fontStyle={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontStyle\n : defaultTextProps?.fontStyle\n }\n fontWeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontWeight\n : defaultTextProps?.fontWeight\n }\n textAlign={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textAlign\n : defaultTextProps?.textAlign\n }\n selectedElement={selectedElement}\n textOpacity={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.opacity\n : defaultTextProps?.opacity\n }\n onChangeTextProperty={onChangeTextProperty}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.image ? (\n <ImageToolBar\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.shape ? (\n <ShapeToolBar\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.qr ? (\n <QrToolBar\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : null}\n </ToolBarWrapper>\n );\n};\n\nTopToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n selectedElement: PropTypes.object,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n zoomLevel: PropTypes.number,\n onZoomIn: PropTypes.func,\n onZoomOut: PropTypes.func,\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n`;\n\nexport const ZoomControlWrapper = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 6px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n background: white;\n`;\n\nexport const ZoomButton = styled.div`\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 14px;\n cursor: pointer;\n`;\n\nexport const Divider = styled.div`\n width: 1px;\n height: 80%;\n background: rgba(77, 98, 119, 0.2);\n`;\n\nexport const ZoomPercentage = styled.p`\n padding: 0 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[500]};\n color: ${theme.color.icon_gray};\n`;\n","import { ButtonVarients } from '@/constants';\nimport PropTypes from 'prop-types';\n\nexport const propTypes = {\n varient: PropTypes.oneOf(Object.values(ButtonVarients)),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n text: PropTypes.string,\n marginBottom: PropTypes.number,\n marginTop: PropTypes.number,\n onClick: PropTypes.func,\n};\n","import { ButtonVarients } from '@/constants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledButton = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 10px;\n border-radius: 6px;\n border: 1px solid ${theme.color.primary};\n cursor: pointer;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n background: ${({ varient }) =>\n varient === ButtonVarients.primary ? theme.color.primary : theme.color.white};\n`;\n\nexport const IconWrapper = styled.div`\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\nimport { StyledText } from '@/generic/Styled';\nimport { ButtonVarients } from '@/constants';\nimport { IconWrapper, StyledButton } from './styled';\n\nexport const Button = ({\n varient = ButtonVarients.secondary,\n left,\n text,\n marginBottom = 0,\n marginTop = 0,\n onClick,\n style,\n}) => (\n <StyledButton\n varient={varient}\n marginTop={marginTop}\n marginBottom={marginBottom}\n onClick={onClick}\n style={style}\n >\n {left && <IconWrapper>{left}</IconWrapper>}\n <StyledText\n fontSize={14}\n fontWeight={theme.fontWeights[600]}\n color={varient === ButtonVarients.primary ? theme.color.white : theme.color.primary}\n >\n {text}\n </StyledText>\n </StyledButton>\n);\n\nButton.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, Divider, ZoomButton, ZoomControlWrapper, ZoomPercentage } from './styled';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconZoomIn, IconZoomOut } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { Button } from '../Button';\nimport { ButtonVarients } from '@/constants';\n\nexport const ZoomControls = ({\n zoomLevel = 60,\n onZoomIn,\n onZoomOut,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => (\n <Container>\n {showSaveButton && (\n <Button\n text={saveButtonText || TEXT_DICTIONARY?.[languageLocale]?.SAVE}\n varient={ButtonVarients?.primary}\n marginBottom={10}\n style={{ position: 'absolute', top: -50, zIndex: 400, right: 0 }}\n onClick={onSave}\n />\n )}\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.ZOOM_IN_OUT} position=\"top\">\n <ZoomControlWrapper>\n <ZoomButton onClick={onZoomOut}>\n <StyledImage src={IconZoomOut} />\n </ZoomButton>\n <Divider />\n <ZoomPercentage>{zoomLevel}%</ZoomPercentage>\n <Divider />\n <ZoomButton onClick={onZoomIn}>\n <StyledImage src={IconZoomIn} />\n </ZoomButton>\n </ZoomControlWrapper>\n </Tooltip>\n </Container>\n);\n\nZoomControls.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n selectedElement: PropTypes.object,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const ToolBarContainer = styled.div`\n display: flex;\n padding: 12px 24px;\n background: ${theme.color.gray_FDFCFC};\n gap: 15px;\n border-radius: 10px 10px 0px 0px;\n border: 1px solid ${theme.color.gray_EDEDED};\n border-bottom: none;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarContainer } from './styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage } from '@/generic/Styled';\nimport {\n IconBringFront,\n IconCopy,\n IconDelete,\n // IconGroup,\n // IconGuide,\n IconLock,\n IconSentBack,\n IconUnlock,\n} from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const BottomToolBarControls = ({\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n selectedElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n}) => {\n let BringFrontBackTabsData = [\n {\n element: <StyledImage src={IconBringFront} />,\n onClick: () => {\n bringSelectedElementToFront && bringSelectedElementToFront();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BRING_FORWARD,\n },\n {\n element: <StyledImage src={IconSentBack} />,\n onClick: () => {\n sendSelectedElementToBack && sendSelectedElementToBack();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.SEND_BACKWARD,\n },\n ];\n\n return (\n <ToolBarContainer>\n <ToolsTabBar\n disabled={!selectedElement?.draggable}\n tabsData={BringFrontBackTabsData}\n tooltipPosition=\"top\"\n />\n {/* <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGuide} />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGroup} />\n </ToolBarButtonWrapper> */}\n <ToolBarButtonWrapper\n tooltip={\n selectedElement?.draggable\n ? TEXT_DICTIONARY?.[languageLocale]?.LOCK\n : TEXT_DICTIONARY?.[languageLocale]?.UNLOCK\n }\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onToggleLockElement}\n >\n <StyledImage\n src={selectedElement?.draggable ? IconUnlock : IconLock}\n height={20}\n width={20}\n />\n </ToolBarButtonWrapper>\n {selectedElement?.type !== elementTypes?.qr && (\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.COPY}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onCopySelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconCopy} />\n </ToolBarButtonWrapper>\n )}\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.DELETE}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onDeleteSelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconDelete} />\n </ToolBarButtonWrapper>\n </ToolBarContainer>\n );\n};\n\nBottomToolBarControls.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const BottomToolbarWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: ${({ selectedTab }) => (selectedTab ? 'space-between' : 'flex-end')};\n padding-right: 3%;\n padding-left: 5%;\n padding-bottom: ${({ selectedTab }) => (selectedTab ? '6' : '14')}px;\n flex-wrap: wrap;\n gap: 5px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n translation: PropTypes.object,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconRedo, IconUndo } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const UndoRedoControls = ({ onUndo, onRedo, disableUndo, disableRedo, languageLocale }) => {\n let UndeRedoTabsData = [\n {\n element: <StyledImage src={IconUndo} />,\n onClick: () => onUndo(),\n disabled: disableUndo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDO,\n },\n {\n element: <StyledImage src={IconRedo} />,\n onClick: () => onRedo(),\n disabled: disableRedo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.REDO,\n },\n ];\n\n return (\n <ToolsTabBar\n height={44}\n tabPadding=\"12px 17px\"\n tabsData={UndeRedoTabsData}\n tooltipPosition=\"top\"\n />\n );\n};\n\nUndoRedoControls.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ZoomControls } from '../ZoomControls';\nimport { BottomToolBarControls } from '../BottomToolBarControls';\nimport { BottomToolbarWrapper } from './styled';\nimport { UndoRedoControls } from '../UndoRedoControls';\n\nexport const BottomToolBar = ({\n selectedTab,\n zoomPercentage,\n onChangeZoomPercentage,\n onUndo,\n onRedo,\n disableUndo,\n disableRedo,\n selectedElement,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => {\n const onZoomIn = () => {\n if (zoomPercentage < 300) {\n onChangeZoomPercentage(zoomPercentage + 10);\n }\n };\n const onZoomOut = () => {\n if (zoomPercentage > 20) {\n onChangeZoomPercentage(zoomPercentage - 10);\n }\n };\n return (\n <BottomToolbarWrapper selectedTab={selectedTab}>\n {selectedTab && (\n <>\n <UndoRedoControls\n onUndo={onUndo}\n onRedo={onRedo}\n disableUndo={disableUndo}\n disableRedo={disableRedo}\n languageLocale={languageLocale}\n />\n {selectedElement ? (\n <BottomToolBarControls\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n selectedElement={selectedElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n />\n ) : (\n <div style={{ height: 63 }} />\n )}\n </>\n )}\n <ZoomControls\n zoomLevel={zoomPercentage}\n onZoomIn={onZoomIn}\n onZoomOut={onZoomOut}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </BottomToolbarWrapper>\n );\n};\n\nBottomToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n id: PropTypes.string,\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Image } from 'react-konva';\n\nexport const CanvasImage = ({ id, element, onClick, onDragEnd, onTransformEnd, onDragMove }) => {\n const [loaded, setLoaded] = useState(false);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n // const reader = new FileReader();\n // reader.onload = () => {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.src;\n img.onload = () => {\n setImage(img);\n setLoaded(true);\n };\n // };\n // reader.readAsDataURL(file);\n }, [element]);\n if (loaded) {\n return (\n <Image\n id={id}\n image={image}\n {...element}\n width={element?.width}\n height={element?.height}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n strokeScaleEnabled={false}\n />\n );\n } else {\n return null;\n }\n};\n\nCanvasImage.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n LogoTitle: PropTypes.string,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Group, Rect, Text } from 'react-konva';\nimport { calculatePercentageValue } from '@/utils';\nimport theme from '@/theme';\nimport QRCode from 'qrcode';\n\nexport const QrElement = ({\n element,\n onClick,\n onDragEnd,\n onTransformEnd,\n onDragMove,\n LogoTitle,\n}) => {\n let innerRectWidth = calculatePercentageValue(element?.width, 24);\n let innerRectHeight = calculatePercentageValue(element?.height, 24);\n let innerRectX = calculatePercentageValue(element?.width, 38);\n let innerRectY = calculatePercentageValue(element?.height, 38);\n\n const [loaded, setLoaded] = useState(false);\n const [logo, setLogo] = useState(null);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n if (!element?.qrLogo) {\n return;\n }\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.qrLogo;\n img.onload = () => {\n const scaleX = innerRectWidth / img.width;\n const scaleY = innerRectHeight / img.height;\n const scale = Math.min(scaleX, scaleY);\n setLogo({ img, scale });\n };\n }, [element]);\n const addQR = async () => {\n try {\n QRCode.toDataURL(element?.qrText, { margin: 0, width: 110 }, function (err, url) {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = url;\n img.onload = () => {\n const scaleX = element?.width / img.width;\n const scaleY = element.height / img.height;\n const scale = Math.min(scaleX, scaleY);\n setImage({ img, scale });\n setLoaded(true);\n };\n });\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Failed to generate QR code', err);\n }\n };\n useEffect(() => {\n addQR();\n }, [element]);\n\n if (loaded) {\n return (\n <Group\n key={element.id}\n {...element}\n id={element.id}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n >\n <Rect\n width={element?.width}\n height={element?.height}\n fillPatternImage={image?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: element?.width / image?.img.width,\n y: element?.height / image?.img.height,\n }}\n stroke={element?.stroke}\n strokeWidth={element?.strokeWidth}\n opacity={element?.opacity}\n strokeScaleEnabled={false}\n />\n {element?.logoVisible && (\n <Group x={innerRectX} y={innerRectY}>\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fill={theme.color.white}\n />\n\n {logo ? (\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fillPatternImage={logo?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: innerRectHeight / logo?.img.width,\n y: innerRectHeight / logo?.img.height,\n }}\n />\n ) : (\n <Text\n text={LogoTitle}\n fontSize={8}\n fill={theme.color.gray_9DA1A7}\n x={3}\n y={innerRectHeight / 2 - 3}\n fontFamily={theme.fonts.primary}\n fontStyle={theme.fontWeights[600]}\n />\n )}\n </Group>\n )}\n </Group>\n );\n } else {\n return null;\n }\n};\n\nQrElement.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onTransform: PropTypes.func,\n onChangeTextContent: PropTypes.func,\n onChangeTextProperty: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Html } from 'react-konva-utils';\nimport { element } from 'prop-types';\n\nexport const TextEditor = ({ textNodeRef, value, onBlur, onChange, textWidth }) => {\n const textareaRef = useRef(null);\n const [styles, setStyles] = useState({});\n\n useEffect(() => {\n if (!textNodeRef) return;\n // const position = textNodeRef?.absolutePosition();\n // const scale = textNodeRef?.getAbsoluteScale();\n const stg = textNodeRef?.getStage().findOne(`#${textNodeRef?.attrs?.id}`);\n\n const styleObj = {\n position: 'absolute',\n top: `${stg?.attrs?.y}px`,\n left: `${stg?.attrs?.x}px`,\n width: `${textWidth}px`,\n height: `${textNodeRef?.getHeight()}px`,\n fontSize: `${textNodeRef.fontSize()}px`,\n fontFamily: textNodeRef.fontFamily(),\n lineHeight: textNodeRef.lineHeight(),\n color: textNodeRef.fill(),\n background: 'transparent',\n border: 'none',\n padding: '0px',\n margin: '0px',\n overflow: 'hidden',\n outline: 'none',\n resize: 'none',\n transformOrigin: 'left top',\n textAlign: textNodeRef.align(),\n transform: `rotateZ(${textNodeRef.rotation()}deg)`,\n minHeight: '1em',\n whiteSpace: 'normal',\n userSelect: 'text',\n fontStyle: textNodeRef?.fontStyle?.() || 'normal',\n fontWeight: textNodeRef?.fontVariant?.() || 400,\n textDecoration: textNodeRef?.textDecoration?.() || 'none',\n };\n\n setStyles(styleObj);\n }, [textNodeRef?.current, value, element]);\n useEffect(() => {\n setTimeout(() => {\n if (textareaRef?.current) {\n textareaRef?.current?.focus();\n textareaRef?.current?.select();\n }\n }, 200);\n }, []);\n return (\n <Html>\n <textarea\n ref={textareaRef}\n style={styles}\n value={value}\n onChange={e => {\n onChange(e.target.value);\n }}\n onBlur={onBlur}\n />\n </Html>\n );\n};\n\nTextEditor.propTypes = propTypes;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Text } from 'react-konva';\nimport { sanitizeNumber } from '@/utils';\nimport { TextEditor } from './textEditor';\n\nexport const EditableText = ({\n element,\n trRef,\n onClick,\n onDragEnd,\n onTransformEnd,\n id,\n onTransform,\n onChangeTextContent,\n onDragMove,\n}) => {\n const textRef = useRef();\n const [textWidth, setTextWidth] = useState(element?.width);\n const [textFontSize, setTextFontSize] = useState(element?.fontSize);\n const [isEditing, setIsEditing] = useState(false);\n const [text, setText] = useState(element?.text);\n const [isFontLoaded, setIsFontLoaded] = useState(false);\n\n useEffect(() => {\n setIsFontLoaded(false);\n setTimeout(() => {\n setIsFontLoaded(true);\n }, 150);\n }, [element?.fontFamily, element?.fontWeight, element?.fontStyle]);\n\n useEffect(() => {\n setTextWidth(element?.width);\n setText(element?.text);\n setTextFontSize(element?.fontSize);\n }, [element]);\n\n const tranform = e => {\n const transformer = trRef.current;\n const activeAnchor = transformer.getActiveAnchor();\n if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {\n const node = e.target;\n const scaleX = sanitizeNumber(node.scaleX(), 1);\n const updatedWidth = sanitizeNumber(node.width() * scaleX, element.width);\n\n const updatedObject = {\n ...node.attrs,\n width: updatedWidth,\n scaleX: 1,\n scaleY: 1,\n };\n delete updatedObject['ref'];\n setTextWidth(updatedWidth);\n onTransform && onTransform(updatedObject);\n node.scaleX(1);\n node.scaleY(1);\n }\n };\n\n const handleTransformEnd = e => {\n const transformer = trRef.current;\n const activeAnchor = transformer.getActiveAnchor();\n if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {\n onTransformEnd && onTransformEnd(e);\n return;\n }\n const node = textRef.current;\n const nodeAttrs = node.attrs;\n const scaleX = sanitizeNumber(node.scaleX(), 1);\n const newFontSize = nodeAttrs.fontSize * scaleX;\n const updatedWidth = sanitizeNumber(node.width() * scaleX, nodeAttrs.width);\n node.scaleX(1);\n node.scaleY(1);\n\n const updatedObject = {\n ...nodeAttrs,\n width: updatedWidth,\n fontSize: newFontSize,\n };\n setTextFontSize(newFontSize);\n setTextWidth(updatedWidth);\n delete updatedObject['ref'];\n onTransform && onTransform(updatedObject);\n onTransformEnd && onTransformEnd(e);\n };\n\n const handleTextDblClick = () => {\n setIsEditing(true);\n };\n\n const handleTextChange = newText => {\n setText(newText);\n onChangeTextContent(newText);\n };\n const onSelect = () => {\n // const node = textRef?.current?.target;\n let width = textRef?.current?.getWidth();\n if (width) {\n setTextWidth(width);\n // onChangeTextProperty('width', width);\n }\n // const scaleX = sanitizeNumber(node?.scaleX(), 1);\n // const updatedWidth = sanitizeNumber(node?.width() * scaleX, element?.width);\n // console.error(textRef?.current?.getWidth());\n\n onClick && onClick();\n };\n if (!isFontLoaded) {\n return (\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n fontSize={textFontSize}\n text={text}\n fill={element?.color}\n opacity={0}\n visible={false}\n />\n );\n }\n return (\n <>\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n fontSize={textFontSize}\n text={text}\n fill={element?.color}\n onClick={() => onSelect()}\n onTransform={e => tranform(e)}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onTransformEnd={e => {\n handleTransformEnd(e);\n }}\n onDragMove={onDragMove}\n onDblClick={handleTextDblClick}\n onDblTap={handleTextDblClick}\n visible={!isEditing}\n />\n {isEditing && (\n <TextEditor\n value={text}\n textWidth={textWidth}\n textNodeRef={textRef?.current}\n onChange={handleTextChange}\n onBlur={() => {\n setIsEditing(false);\n // onChangeTextContent(text);\n }}\n />\n )}\n </>\n );\n};\n\nEditableText.propTypes = propTypes;\n","/* eslint-disable func-style */\n/* eslint-disable max-len */\n/* eslint-disable prettier/prettier */\n/* eslint-disable space-before-blocks */\nimport Konva from 'konva';\n\nexport const useKonvaSnapping = params => {\n\n const defaultParams = {\n snapRange:params.snapRange ?? 3,\n guidelineColor: params.guidelineColor ?? 'rgb(0, 161, 255)',\n guidelineDash: params.guidelineDash ?? true,\n showGuidelines:params.showGuidelines ?? true,\n guidelineThickness:params.guidelineThickness ?? 1,\n snapToStageCenter:params.snapToStageCenter ?? true,\n snapToStageBorders:params.snapToStageBorders ?? true,\n snapToShapes:params.snapToShapes ?? true\n };\n const oppositeAnchors = {\n 'top-left': 'bottom-right',\n 'top-right': 'bottom-left',\n 'bottom-right': 'top-left',\n 'bottom-left': 'top-right',\n };\n\n const getSnappingPoints = e => {\n const { snapToStageCenter, snapToStageBorders, snapToShapes } = defaultParams;\n const stage = e.currentTarget.getStage();\n const vertical = [];\n const horizontal = [];\n if (snapToStageCenter){\n vertical.push(stage.attrs.width / 2);\n horizontal.push(stage.attrs.height / 2);\n }\n if (snapToStageBorders){\n horizontal.push(0, stage.attrs.height);\n vertical.push(0, stage.attrs.width);\n }\n if (snapToShapes){\n stage?.children?.forEach(layer => {\n\n layer?.children?.forEach(layerChild => {\n\n layerChild?.children?.forEach(obj=>{\n\n const box = obj.getClientRect();\n if (e.target !== obj && obj.getName() !== 'guid-line' && !(obj instanceof Konva.Transformer)) {\n vertical.push(box.x, box.x + box.width, box.x + box.width / 2);\n horizontal.push(box.y, box.y + box.height, box.y + box.height / 2);\n }\n });\n\n });\n });\n }\n\n return { vertical, horizontal };\n };\n\n const createLine = (Layer, isHorizontal, lineX, lineY) => {\n const { guidelineColor,\n showGuidelines,\n guidelineThickness,\n guidelineDash\n } = defaultParams;\n if (!showGuidelines) return;\n const points = isHorizontal ? [-6000, 0, 6000, 0] : [0, -6000, 0, 6000];\n const line = new Konva.Line({\n points,\n stroke: guidelineColor,\n strokeWidth: guidelineThickness,\n name: 'guid-line',\n dash: guidelineDash ? [4, 6] : [0, 0],\n });\n Layer.add(line);\n line.absolutePosition({ x: lineX, y: lineY });\n };\n function dotProduct(v1, v2) {\n return v1.x * v2.x + v1.y * v2.y;\n }\n\n function vectorProject(a, b) {\n const dotAB = dotProduct(a, b);\n const dotBB = dotProduct(b, b);\n const scalar = dotAB / dotBB;\n return {\n x: scalar * b.x,\n y: scalar * b.y,\n };\n }\n\n function calculateSlope(point1, point2) {\n const deltaX = point2.x - point1.x;\n\n if (deltaX === 0) {\n\n throw new Error(`Slope is undefined for vertical lines (deltaX is zero). ${point2.x}, ${point1.x}`);\n }\n\n const deltaY = point2.y - point1.y;\n return deltaY / deltaX;\n }\n\n const handleDragging = e => {\n const Layer = e.target.parent;\n\n // Clear existing guidelines\n Layer.find('.guid-line').forEach(line => line.destroy());\n const { horizontal, vertical } = getSnappingPoints(e);\n let newPos = { x: e.target.absolutePosition().x, y: e.target.absolutePosition().y };\n let guideLinesX = [];\n let guideLinesY = [];\n const { snapRange } = defaultParams;\n // Snap vertically\n vertical.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().x - breakPoint) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x;\n guideLinesX.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width / 2) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width / 2;\n guideLinesX.push(breakPoint);\n\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width;\n guideLinesX.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesX.forEach(line=>{\n if (Math.round(e.target.getClientRect().x - line) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width / 2) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width) === 0) {\n createLine(Layer, false, line, 0);\n }\n });\n // Snap horizontally\n horizontal.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().y - breakPoint) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height / 2) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height / 2;\n guideLinesY.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesY.forEach(line=>{\n if (Math.round(e.target.getClientRect().y - line) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height / 2) === 0) {\n createLine(Layer, true, 0, line);\n }\n });\n };\n\n const handleResizing = e => {\n const Layer = e.target.parent;\n const { snapRange } = defaultParams;\n\n let { horizontal, vertical } = getSnappingPoints(e);\n if (!e.currentTarget.keepRatio() || (e.currentTarget.keepRatio() && !!!oppositeAnchors[e.currentTarget._movingAnchorName])){\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newAbsPos) => {\n\n Layer.find('.guid-line').forEach(line => line.destroy());\n let bounds = { x: newAbsPos.x, y: newAbsPos.y };\n //console.log(Konva.Util.haveIntersection(e.target.getClientRect(),breakPoint))\n if (e.currentTarget.getActiveAnchor() === 'rotater') return bounds;\n for (let breakPoint of vertical) {\n if (Math.abs(newAbsPos.x - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.x - breakPoint) <= snapRange + 1\n ) {\n bounds.x = breakPoint;\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n for (let breakPoint of horizontal) {\n if (Math.abs(newAbsPos.y - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.y - breakPoint) <= snapRange + 1\n ) {\n bounds.y = breakPoint;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n\n return bounds;\n });\n } else {\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n Layer.find('.guid-line').forEach(line => line.destroy());\n const currentAnchorName = e.currentTarget._movingAnchorName;\n const oppositeAnchorName = oppositeAnchors[currentAnchorName];\n\n const movingAnchor = e.currentTarget.findOne(`.${currentAnchorName}`);\n // Capture the anchor's starting absolute position:\n const anchorStartPosition = movingAnchor.getAbsolutePosition();\n\n // Do nothing for the rotater anchor.\n if (currentAnchorName === 'rotater') {\n return newPos;\n }\n\n const oppositeElement = e.currentTarget.findOne(`.${oppositeAnchorName}`);\n if (!oppositeElement) return newPos;\n const oppositePoint = oppositeElement.getAbsolutePosition();\n\n const slope = calculateSlope(anchorStartPosition, oppositePoint);\n\n\n // Calculate the vector from the starting anchor position to the opposite anchor.\n const transformVector = {\n x: anchorStartPosition.x - oppositePoint.x,\n y: anchorStartPosition.y - oppositePoint.y,\n };\n\n // Compute the movement delta from the starting position.\n const delta = {\n x: newPos.x - anchorStartPosition.x,\n y: newPos.y - anchorStartPosition.y,\n };\n\n // Project the delta onto the transform vector.\n const projectedDelta = vectorProject(delta, transformVector);\n\n // Compute the candidate new position (before snapping).\n const nextPos = {\n x: anchorStartPosition.x + projectedDelta.x,\n y: anchorStartPosition.y + projectedDelta.y,\n };\n\n for (let breakPoint of horizontal) {\n if (Math.abs(nextPos.y - breakPoint) <= snapRange) {\n nextPos.y = breakPoint;\n nextPos.x = anchorStartPosition.x + (breakPoint - anchorStartPosition.y) / slope;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n for (let breakPoint of vertical) {\n if (Math.abs(nextPos.x - breakPoint) <= snapRange) {\n nextPos.x = breakPoint;\n nextPos.y = anchorStartPosition.y + slope * (breakPoint - anchorStartPosition.x);\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n\n return nextPos;\n });\n }\n\n };\n\n const handleResizeEnd = e =>{\n const Layer = e.target.parent;\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n return newPos;\n });\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n const handleDragEnd = e =>{\n const Layer = e.target.parent;\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n\n return { handleDragging, handleResizing, handleResizeEnd, handleDragEnd };\n};\n","import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { propTypes } from './props';\nimport { Container, EditorBox, InnerContainer, InnerContainerWrapper, Title } from './styled';\nimport { TopToolBar } from '../TopToolBar';\nimport { BottomToolBar } from '../BottomToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport {\n Stage,\n Layer,\n Rect,\n Circle,\n Transformer,\n Arrow,\n RegularPolygon,\n Path,\n Star,\n Line,\n Group,\n} from 'react-konva';\nimport { CanvasImage } from '../CanvasImage';\nimport theme from '@/theme';\nimport { QrElement } from '../QrElement';\nimport { EditableText } from '../EditableText';\nimport { debounce } from '@/utils';\nimport { useKonvaSnapping } from './util';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const Editor = ({\n selectedTab,\n languageLocale,\n title = TEXT_DICTIONARY?.[languageLocale]?.TITLE,\n zoomPercentage,\n onChangeZoomPercentage,\n editorHeight,\n editorWidth,\n onSetBackgroundColor,\n elements,\n history,\n redoStack,\n onSetBackgroundImage,\n onUndo,\n onRedo,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n shapeOpacity,\n onChangeShapeOpacity,\n selectedElement,\n onSelectElement,\n stageRef,\n saveHistory,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n loadingImages,\n loadingFonts,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onSave,\n showSaveButton,\n onSetSelectedTab,\n saveButtonText,\n onRemoveBackgroundImage,\n}) => {\n const transformerRef = useRef(null);\n useEffect(() => {\n if (transformerRef?.current) {\n const selectedNode = stageRef?.current?.findOne(`#${selectedElement?.id}`);\n if (selectedNode) {\n transformerRef?.current.nodes([selectedNode]);\n transformerRef?.current.getLayer().batchDraw();\n } else {\n transformerRef?.current.nodes([]);\n }\n }\n }, [selectedElement]);\n const { handleDragging, handleDragEnd, handleResizing, handleResizeEnd } = useKonvaSnapping({\n guidelineColor: 'blue',\n guidelineDash: true,\n snapToStageCenter: true,\n snapRange: 5,\n guidelineThickness: 1,\n showGuidelines: true,\n snapToShapes: true,\n snapToStageBorders: true,\n });\n // console.error({ selectedElement });\n let canvasBackgroundColor = useMemo(() => {\n let backgroundColor;\n let backgroundIndex = elements?.findIndex(e => e?.type === elementTypes?.backgroundColor);\n\n if (backgroundIndex > -1) {\n backgroundColor = elements?.[backgroundIndex]?.color;\n }\n return backgroundColor;\n }, [elements]);\n\n let canvasBackgroundImage = useMemo(() => {\n let backgroundImage;\n\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n backgroundImage = elements?.[backgroundImageIndex];\n }\n return backgroundImage;\n }, [elements]);\n\n const handleTransform = (id, newAttrs) => {\n let newAttributes = { ...newAttrs };\n delete newAttributes['ref'];\n const updatedElements = elements?.map(el =>\n el.id === id ? { ...el, ...newAttributes } : el,\n );\n saveHistory(updatedElements);\n onSelectElement({ ...newAttributes });\n };\n const handleSelect = elem => {\n onSelectElement(elem);\n };\n\n const debouncedTransform = debounce((id, attrs) => {\n const updatedElements = elements?.map(el =>\n el.id === id\n ? {\n ...el,\n ...attrs,\n }\n : el,\n );\n saveHistory(updatedElements);\n onSelectElement({\n ...attrs,\n });\n }, 100);\n\n const debouncedChangeText = debounce(e => {\n onChangeTextProperty('text', e);\n }, 300);\n\n const handleTextTransform = (id, attrs) => {\n debouncedTransform(id, attrs);\n };\n\n const onChangeTextContent = e => {\n debouncedChangeText(e);\n };\n const renderElements = useCallback(\n el => {\n switch (el.type) {\n case elementTypes.circle:\n return (\n <Circle\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.square:\n return (\n <Rect\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.arrowRight:\n return (\n <Arrow\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.triangle:\n return (\n <RegularPolygon\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.heart:\n return (\n <Path\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.star:\n return (\n <Star\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.horizontalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.verticalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.image:\n return (\n <CanvasImage\n key={el.id}\n id={el.id}\n element={{\n ...el,\n }}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n />\n );\n case elementTypes.qr:\n return (\n <QrElement\n key={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n onDragMove={handleDragging}\n languageLocale={languageLocale}\n LogoTitle={TEXT_DICTIONARY?.[languageLocale]?.LOGO}\n />\n );\n case elementTypes.text:\n return (\n <EditableText\n trRef={transformerRef}\n key={el.id}\n id={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onTransform={e => handleTextTransform(el.id, e)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onChangeTextContent={onChangeTextContent}\n />\n );\n default:\n return null;\n }\n },\n [elements, selectedElement, languageLocale],\n );\n\n return (\n <Container selectedTab={selectedTab}>\n {selectedTab && selectedTab !== sideBarpillsList?.whiteLabel && (\n <TopToolBar\n selectedTab={selectedTab}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n canvasBackgroundColor={canvasBackgroundColor}\n onSetBackgroundImage={onSetBackgroundImage}\n canvasBackgroundImage={canvasBackgroundImage}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n )}\n <InnerContainer>\n <InnerContainerWrapper editorHeight={editorHeight + 50} editorWidth={editorWidth}>\n {title && <Title>{title}</Title>}\n <EditorBox editorHeight={editorHeight} editorWidth={editorWidth}>\n {!loadingImages && !loadingFonts && (\n <Stage\n width={editorWidth}\n height={editorHeight}\n ref={stageRef}\n onMouseDown={e => {\n if (e.target === e.target.getStage()) {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }\n }}\n >\n <Layer\n onClick={() => {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }}\n listening={false}\n >\n <Rect\n width={editorWidth}\n height={editorHeight}\n fill={canvasBackgroundColor || theme.color.white}\n />\n {canvasBackgroundImage && (\n <CanvasImage\n element={{\n ...canvasBackgroundImage,\n width: editorWidth,\n height: editorHeight,\n }}\n />\n )}\n </Layer>\n <Layer>\n <Group\n scaleX={zoomPercentage / 100}\n scaleY={zoomPercentage / 100}\n >\n {elements?.map(el => renderElements(el))}\n {selectedElement && (\n <Transformer\n ref={transformerRef}\n onTransform={handleResizing}\n onTransformEnd={handleResizeEnd}\n enabledAnchors={\n selectedElement?.draggable\n ? selectedElement?.type ===\n elementTypes?.text\n ? [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n 'middle-left',\n 'middle-right',\n ]\n : [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n 'middle-left',\n 'middle-right',\n 'top-center',\n 'bottom-center',\n ]\n : []\n }\n borderStroke={theme.color.primary}\n borderStrokeWidth={2}\n // add anchors\n anchorFill={theme.color.white}\n anchorStroke={theme.color.primary}\n anchorStrokeWidth={2}\n anchorSize={8}\n rotateEnabled={\n selectedElement?.draggable ? true : false\n }\n // make all anchors look like circles\n // anchorCornerRadius={50}\n boundBoxFunc={(oldBox, newBox) => {\n // limit resize\n if (\n !selectedElement?.draggable ||\n // Handle element flliping\n newBox.width < 1 ||\n newBox.height < 1\n ) {\n return oldBox;\n }\n return newBox;\n }}\n />\n )}\n </Group>\n </Layer>\n <Layer listening={false}>\n <Rect\n listening={false}\n x={0}\n y={0}\n width={editorWidth}\n height={editorHeight}\n stroke={cuttingGuideStrokeColor}\n strokeWidth={cuttingGuideStroke}\n strokeScaleEnabled={false}\n fill={'transparent'}\n />\n </Layer>\n </Stage>\n )}\n </EditorBox>\n </InnerContainerWrapper>\n </InnerContainer>\n <BottomToolBar\n disableUndo={history.length === 0}\n disableRedo={redoStack.length === 0}\n selectedTab={selectedTab}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onUndo={onUndo}\n onRedo={onRedo}\n selectedElement={selectedElement}\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </Container>\n );\n};\n\nEditor.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n helperSideBarVisible: PropTypes.bool,\n onCollapse: PropTypes.func,\n onAddShape: PropTypes.func,\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onAddTextToCanvas: PropTypes.func,\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n styleProps: PropTypes.object,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onCollapse: PropTypes.func,\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Container = styled.div`\n height: 55px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: 17px;\n background: ${theme.color.gray_FBFBFB};\n border-bottom: 1px solid ${theme.color.gray_EDEDED};\n`;\n\nexport const IconWrapper = styled.div`\n height: 100%;\n padding: 0px 17px;\n display: flex;\n align-items: center;\n cursor: pointer;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, IconWrapper } from './styled';\nimport theme from '@/theme';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconChevronLeft } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const SideBarHeader = ({ onCollapse = () => {}, selectedSideBarItem, languageLocale }) => {\n const sideBarpillsText = {\n Template: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n Text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n Image: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n Shape: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n QR: TEXT_DICTIONARY?.[languageLocale]?.QR_CODE,\n 'White-label': TEXT_DICTIONARY?.[languageLocale]?.BRANDING,\n };\n return (\n <Container>\n <StyledText\n fontWeight={theme.fontWeights[600]}\n color={theme.color.gray_545454}\n fontSize={16}\n >\n {sideBarpillsText?.[selectedSideBarItem]}\n </StyledText>\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.COLLAPSE} position=\"left\">\n <IconWrapper onClick={onCollapse}>\n <StyledImage src={IconChevronLeft} />\n </IconWrapper>\n </Tooltip>\n </Container>\n );\n};\n\nSideBarHeader.propTypes = propTypes;\n","import { helperSideBarWidth } from '@/constants/layoutConstants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n width: ${({ visible = true }) => (visible ? helperSideBarWidth : 0)}px;\n display: flex;\n flex-direction: column;\n background: ${theme.color.gray_FBFBFB};\n border-left: 1px solid ${theme.color.gray_F5F6F6};\n transition: width 0.3s ease-in-out;\n overflow: hidden;\n`;\n\nexport const SideBarContainer = styled.div`\n flex: 1;\n overflow: auto;\n display: flex;\n flex-direction: column;\n width: ${helperSideBarWidth}px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n hideIcon: PropTypes.bool,\n marginTop: PropTypes.number,\n marginBottom: PropTypes.number,\n content: PropTypes.node,\n};\n","import styled from 'styled-components';\n\nexport const CollapsableContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n`;\n\nexport const CollapsableHeader = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n justify-content: flex-start;\n align-self: flex-start;\n margin-bottom: 14px;\n`;\n\nexport const LeftIconWrapper = styled.div`\n margin-right: 6px;\n display: flex;\n align-items: center;\n`;\n\nexport const IconWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: 3px;\n`;\n\nexport const CollapsableContent = styled.div`\n display: ${({ visible }) => (visible ? 'flex' : 'none')};\n`;\n","import React, { useCallback, useState } from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconCheveronDown } from '@/assets';\nimport {\n CollapsableContainer,\n CollapsableContent,\n CollapsableHeader,\n IconWrapper,\n LeftIconWrapper,\n} from './styled';\n\nexport const Collapsable = ({\n title,\n left,\n hideIcon = false,\n marginTop = 0,\n marginBottom = 30,\n content,\n}) => {\n const [visible, setVisible] = useState(true);\n const toggleVisibility = useCallback(() => {\n if (hideIcon) return;\n setVisible(!visible);\n }, [visible, setVisible]);\n\n return (\n <CollapsableContainer marginTop={marginTop} marginBottom={marginBottom}>\n <CollapsableHeader onClick={toggleVisibility}>\n {left && <LeftIconWrapper>{left}</LeftIconWrapper>}\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n >\n {title}\n </StyledText>\n {!hideIcon && (\n <IconWrapper>\n <StyledImage src={IconCheveronDown} />\n </IconWrapper>\n )}\n </CollapsableHeader>\n <CollapsableContent visible={visible}>{content}</CollapsableContent>\n </CollapsableContainer>\n );\n};\n\nCollapsable.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const TemplatesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 10px;\n align-items: flex-start;\n`;\n\nexport const TemplateItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 1;\n }\n\n &:hover::before {\n opacity: 1;\n }\n &:hover > button {\n display: flex;\n z-index: 2;\n }\n`;\n\nexport const StyledDeleteButton = styled.button`\n display: none;\n justify-content: center;\n align-items: center;\n height: 30px;\n width: 30px;\n padding: 8px;\n border-radius: 100%;\n background: rgba(255, 255, 255, 1);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n\n &:hover {\n border-color: #d91919;\n }\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAdd } from '@/assets';\nimport { IconDelete } from '@/assets';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { StyledContainer, StyledDeleteButton, TemplateItem, TemplatesContainer } from './styled';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TemplateSideBar = ({\n oncreateNewTemplate,\n languageLocale,\n onDeleteCustomTemplate,\n defaultTemplatesList,\n customTemplatesList,\n}) => {\n const renderDefaultContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {defaultTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n const renderCustomContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {customTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledDeleteButton\n onClick={e => {\n e.stopPropagation(); // ⛔ Prevents parent onClick\n onDeleteCustomTemplate?.(item);\n }}\n >\n <StyledImage src={IconDelete} height={24} />\n </StyledDeleteButton>\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.NEW_TEMPLATE}\n left={<StyledImage src={IconAdd} />}\n marginBottom={38}\n onClick={() => oncreateNewTemplate()}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n {customTemplatesList.length > 0 && (\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_TEMPLATES}\n content={renderCustomContent}\n />\n )}\n </StyledContainer>\n );\n};\n\nTemplateSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddTextToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ItemWrapper = styled.div`\n margin-bottom: 18px;\n cursor: pointer;\n transition: background-color 0.1s ease;\n padding: 5px;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAddText, IconInfo } from '@/assets';\nimport { Container, ItemWrapper, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport { textList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextSideBar = ({ onAddTextToCanvas, languageLocale, defaultText }) => {\n const renderTextListContent = () => {\n return (\n <Container>\n {textList?.map((item, index) => {\n return (\n <ItemWrapper\n key={index}\n onClick={() => {\n onAddTextToCanvas({ ...item, text: defaultText || item?.text });\n }}\n >\n <StyledText\n color={item?.color}\n fontFamily={item?.fontFamily}\n fontWeight={item?.fontWeight}\n fontSize={item?.fontSize}\n >\n {defaultText || item?.text}\n </StyledText>\n </ItemWrapper>\n );\n })}\n </Container>\n );\n };\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_TEXT}\n left={<StyledImage src={IconAddText} />}\n marginBottom={38}\n onClick={() => onAddTextToCanvas(null)}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.HELP_TEXT}\n content={renderTextListContent()}\n left={<StyledImage src={IconInfo} />}\n />\n </StyledContainer>\n );\n};\n\nTextSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ImagesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 20px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n width: ${(width = 'calc(50% - 20px)') => width};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconUpload } from '@/assets';\nimport { ImagesContainer, SingleItem, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { pickImage } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageSideBar = ({\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n}) => {\n const renderDefaultContent = (\n <ImagesContainer>\n {defaultImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {defaultImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n width={'auto'}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const renderCustomImages = (\n <ImagesContainer>\n {customImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {customImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const addImageToList = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onAddCustomImageToList(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onAddCustomImageToList(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_IMAGE}\n left={<StyledImage src={IconUpload} />}\n marginBottom={38}\n onClick={addImageToList}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_IMAGES}\n content={renderCustomImages}\n />\n </StyledContainer>\n );\n};\n\nImageSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddShape: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ShapesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 15px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n width: 71px;\n height: 71px;\n transition: background-color 0.1s ease;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { ShapesContainer, SingleItem, StyledContainer } from './styled';\nimport { shapesList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeSideBar = ({ onAddShape, languageLocale }) => {\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={15}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.ADD_SHAPES}\n </StyledText>\n <ShapesContainer>\n {shapesList.map((item, index) => {\n return (\n <SingleItem key={index} onClick={() => onAddShape(item?.shape)}>\n <StyledImage src={item?.icon} />\n </SingleItem>\n );\n })}\n </ShapesContainer>\n </StyledContainer>\n );\n};\n\nShapeSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n text: PropTypes.string,\n onToggle: PropTypes.func,\n isActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToggleContainer = styled.div`\n width: 44px;\n height: 24px;\n background-color: ${({ isActive }) =>\n isActive ? theme.color.green_80D965 : theme.color.gray_E8E8E8};\n border-radius: 25px;\n display: flex;\n align-items: center;\n padding: 2px;\n cursor: pointer;\n transition: background-color 0.3s ease;\n position: relative;\n`;\n\nexport const ToggleCircle = styled.div`\n width: 20px;\n height: 20px;\n background-color: white;\n border-radius: 50%;\n position: absolute;\n left: ${({ isActive }) => (isActive ? 'calc(100% - 24px)' : '4px')};\n transition:\n left 0.3s ease,\n box-shadow 0.3s ease;\n box-shadow: ${({ isActive }) =>\n isActive ? '2px 2px 5px rgba(0, 0, 0, 0.2)' : '-2px 2px 5px rgba(0, 0, 0, 0.2)'};\n`;\n\nexport const Container = styled.div`\n padding: 10px 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const InfoContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconInfo } from '@/assets';\nimport theme from '@/theme';\nimport { Container, InfoContainer, ToggleCircle, ToggleContainer } from './styled';\n\nexport const RadioSection = ({ text, onToggle, isActive, disabled }) => {\n return (\n <Container>\n <InfoContainer>\n <StyledImage src={IconInfo} />\n <StyledText\n marginLeft={6}\n color={theme.color.black}\n fontSize={12}\n fontWeight={theme.fontWeights[500]}\n >\n {text}\n </StyledText>\n </InfoContainer>\n <ToggleContainer\n isActive={isActive}\n onClick={() => {\n if (disabled) {\n return;\n }\n onToggle && onToggle();\n }}\n >\n <ToggleCircle isActive={isActive} />\n </ToggleContainer>\n </Container>\n );\n};\n\nRadioSection.propTypes = propTypes;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconUpload } from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrSideBar = ({\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n languageLocale,\n}) => {\n let logoVisible = useMemo(() => {\n let index = elements?.findIndex(e => e?.type === elementTypes?.qr);\n if (index < 0) {\n return false;\n }\n return elements?.[index]?.logoVisible;\n }, [elements]);\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.SETTINGS}\n </StyledText>\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_QR_CODE}\n isActive={qrPresent}\n onToggle={toggleQr}\n />\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_LOGO_IN_QR}\n isActive={qrPresent && logoVisible}\n onToggle={toggleQrLogo}\n disabled={!qrPresent}\n />\n\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_LOGO}\n left={<StyledImage src={IconUpload} />}\n marginBottom={30}\n marginTop={24}\n onClick={addQrLogo}\n />\n {qrLogo && <StyledImage src={qrLogo} height={89} width={89} />}\n </StyledContainer>\n );\n};\n\nQrSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconGraph } from '@/assets';\nimport { ButtonVarients } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const WhiteLabelSideBar = ({ languageLocale }) => (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.PREMIUM_SETTINGS}\n </StyledText>\n <RadioSection text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_BRANDING} />\n\n <StyledText\n fontSize={12}\n color={theme.color.gray_333}\n marginTop={16}\n marginBottom={30}\n lineHeight={'20px'}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.UNLOCK_PREMIUM_FEATURE_PARAGRAPH}\n </StyledText>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.UPGRADE_PLAN}\n left={<StyledImage src={IconGraph} />}\n varient={ButtonVarients.primary}\n />\n </StyledContainer>\n);\n\nWhiteLabelSideBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarHeader } from '../SideBarHeader';\nimport { SideBarContainer, SideBarWrapper } from './styled';\nimport { TemplateSideBar } from '../TemplateSideBar';\nimport { TextSideBar } from '../TextSideBar';\nimport { ImageSideBar } from '../ImageSideBar';\nimport { ShapeSideBar } from '../ShapeSideBar';\nimport { QrSideBar } from '../QrSideBar';\nimport { WhiteLabelSideBar } from '../WhiteLabelSideBar';\nimport { sideBarpillsList } from '@/constants';\nexport const HelperSideBar = ({\n selectedSideBarItem,\n helperSideBarVisible,\n onCollapse = () => {},\n onAddShape,\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n onAddTextToCanvas,\n oncreateNewTemplate,\n uploadImageCallBack,\n setLoadingUploadImage,\n defaultTemplatesList,\n customTemplatesList,\n onDeleteCustomTemplate,\n styleProps,\n defaultText,\n languageLocale,\n}) => (\n <SideBarWrapper visible={selectedSideBarItem && helperSideBarVisible}>\n <SideBarHeader\n onCollapse={onCollapse}\n selectedSideBarItem={selectedSideBarItem}\n languageLocale={languageLocale}\n />\n <SideBarContainer visible={selectedSideBarItem && helperSideBarVisible}>\n {selectedSideBarItem === sideBarpillsList?.template ? (\n <TemplateSideBar\n oncreateNewTemplate={oncreateNewTemplate}\n languageLocale={languageLocale}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.text ? (\n <TextSideBar\n onAddTextToCanvas={onAddTextToCanvas}\n languageLocale={languageLocale}\n styleProps={styleProps}\n defaultText={defaultText}\n />\n ) : selectedSideBarItem === sideBarpillsList?.image ? (\n <ImageSideBar\n defaultImagesList={defaultImagesList}\n customImagesList={customImagesList}\n onAddCustomImageToList={onAddCustomImageToList}\n onAddImageToCanvas={onAddImageToCanvas}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.shape ? (\n <ShapeSideBar onAddShape={onAddShape} languageLocale={languageLocale} />\n ) : selectedSideBarItem === sideBarpillsList?.qr ? (\n <QrSideBar\n toggleQr={toggleQr}\n qrPresent={qrPresent}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n elements={elements}\n qrLogo={qrLogo}\n languageLocale={languageLocale}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.whiteLabel ? (\n <WhiteLabelSideBar languageLocale={languageLocale} styleProps={styleProps} />\n ) : null}\n </SideBarContainer>\n </SideBarWrapper>\n);\n\nHelperSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n backgroundColor: PropTypes.string,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\n\nexport const Overlay = ({ children, backgroundColor = theme.color.black_transparent }) => (\n <div\n style={{\n height: '100%',\n width: '100%',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n background: backgroundColor,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 99999,\n }}\n >\n {children}\n </div>\n);\n\nOverlay.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n size: PropTypes.string,\n color: PropTypes.string,\n borderWidth: PropTypes.string,\n};\n","import styled, { keyframes } from 'styled-components';\n\nconst spin = keyframes`\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const SpinnerWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Spinner = styled.div`\n width: ${props => props.size || '40px'};\n height: ${props => props.size || '40px'};\n border: ${props => props.borderWidth || '4px'} solid\n ${props => props.color + '33' || 'rgba(0, 123, 255, 0.2)'};\n border-top-color: ${props => props.color || '#007bff'};\n border-radius: 50%;\n animation: ${spin} 1s linear infinite;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Spinner, SpinnerWrapper } from './styled';\n\nexport const LoadingSpinner = ({ size = '40px', color = '#007bff', borderWidth = '4px' }) => (\n <SpinnerWrapper>\n <Spinner size={size} color={color} borderWidth={borderWidth} />\n </SpinnerWrapper>\n);\n\nLoadingSpinner.propTypes = propTypes;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import React, {\n useCallback,\n useMemo,\n useRef,\n useState,\n useEffect,\n forwardRef,\n useImperativeHandle,\n} from 'react';\nimport { propTypes } from './props';\nimport { StudioWrapper } from './styled';\nimport { Editor, HelperSideBar, LoadingSpinner, Overlay, SideBar } from '@/components';\nimport {\n calculatePercentageValue,\n exportStageAsImage,\n isElementOfSameType,\n isElementShape,\n loadAllGoogleFonts,\n pickImage,\n preloadRelevantImages,\n removeImageProperty,\n validateLocale,\n} from '@/utils';\nimport { pageSizes, pageSizesDimensions } from '@/constants/layoutConstants';\nimport {\n basicTextProps,\n defaultElements,\n defaultSideBarImagesList,\n elementTypes,\n sideBarpillsList,\n} from '@/constants';\nimport theme from '@/theme';\nimport { StyleSheetManager } from 'styled-components';\nimport isPropValid from '@emotion/is-prop-valid';\n/**\n * @typedef {Object} StudioProps\n * @property {string} [title]\n * @property {string} [defaultQrLogo]\n * @property {string} [languageLocale]\n * @property {Array} [elementsList]\n * @property {Array} [customImages]\n * @property {Array} [defaultImages]\n * @property {boolean} [disableWhiteLabel]\n * @property {Array} [defaultTemplatesList]\n * @property {Array} [customTemplatesList]\n * @property {string} [qrLink]\n * @property {Object} [styleProps]\n * @property {string} [defaultText]\n * @property {Function} onSave\n * @property {string} [saveButtonText]\n * @property {'en'|'ru'|'pl'|'de'|'es'|'fr'|'it'} [locale]\n */\n\n/**\n * @type {React.ForwardRefExoticComponent<StudioProps & React.RefAttributes<HTMLDivElement>>}\n */\nexport const Studio = forwardRef(\n (\n {\n title = '',\n defaultQrLogo = null,\n elementsList = defaultElements,\n uploadImageCallBack,\n customImages,\n defaultImages = defaultSideBarImagesList,\n disableWhiteLabel,\n defaultTemplatesList = [],\n customTemplatesList = [],\n onDeleteCustomTemplate,\n qrLink = 'www.google.com',\n styleProps = {},\n defaultText,\n onSave,\n showSaveButton,\n saveButtonText,\n locale = 'en',\n },\n ref,\n ) => {\n const stageRef = useRef(null);\n const [copiedElement, setCopiedElement] = useState(null);\n const [selectedTab, setSelectedTab] = useState(sideBarpillsList.template);\n const [languageLocale, setLanguageLocale] = useState(validateLocale(locale));\n const [loadingFonts, setLoadingFonts] = useState(true);\n const [loadingImages, setLoadingImages] = useState(true);\n const [loading, setLoading] = useState(false);\n const [loadingUploadImage, setLoadingUploadImage] = useState(false);\n const [helperSideBarVisible, setHelperSideBarVisible] = useState(true);\n const [zoomPercentage, setZoomPercentage] = useState(100);\n const [elements, setElements] = useState(elementsList);\n const [backgroundImageOpacity, setBackgroundImageOpacity] = useState(1);\n const [history, setHistory] = useState([]);\n const [redoStack, setRedoStack] = useState([]);\n const [shapeFillColor, setShapeFillColor] = useState(theme.color.white);\n const [shapeStrokeWidth, setShapeStrokeWidth] = useState(1);\n const [shapeStrokeColor, setShapeStrokeColor] = useState(theme.color.black);\n const [shapeOpacity, setShapeOpacity] = useState(1);\n const [imageStrokeWidth, setImageStrokeWidth] = useState(0);\n const [imageStrokeColor, setImageStrokeColor] = useState(theme.color.black);\n const [imageOpacity, setImageOpacity] = useState(1);\n const [qrStrokeWidth, setQrStrokeWidth] = useState(2);\n const [qrStrokeColor, setQrStrokeColor] = useState(theme.color.black);\n const [qrOpacity, setQrOpacity] = useState(1);\n const [selectedElement, setSelectedElement] = useState(null);\n const [customImagesList, setCustomImagesList] = useState(customImages || []);\n const [qrLogo, setQrLogo] = useState(defaultQrLogo);\n const [defaultTextProps, setDefaultTextProps] = useState(basicTextProps);\n\n const overallLoading = loadingFonts || loadingImages || loadingUploadImage || loading;\n\n const undo = useCallback(() => {\n if (history.length > 0) {\n setSelectedElement(null);\n\n const previousState = history[history.length - 1];\n setRedoStack([elements, ...redoStack]);\n setHistory(history.slice(0, -1));\n setElements(previousState);\n }\n }, [history, elements, redoStack, setRedoStack, setHistory, setElements]);\n\n const redo = useCallback(() => {\n if (redoStack.length > 0) {\n setSelectedElement(null);\n\n const nextState = redoStack[0];\n setHistory([...history, elements]);\n setRedoStack(redoStack.slice(1));\n setElements(nextState);\n }\n }, [history, elements, redoStack, setHistory, setRedoStack, setElements]);\n\n useImperativeHandle(ref, () => ({\n onSave: async () => {\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n return { elements: processedElements, image: dataURL };\n },\n loading: overallLoading,\n setLoading,\n }));\n useEffect(() => {\n const handleKeyDown = e => {\n const isMac = navigator.platform.toUpperCase().includes('MAC');\n const ctrlOrCmd = isMac ? e.metaKey : e.ctrlKey;\n const shiftKey = e.shiftKey;\n\n // Delete\n if (\n (e.key === 'Delete' || e.key === 'Backspace') &&\n selectedElement &&\n selectedElement?.draggable !== false &&\n !['INPUT', 'TEXTAREA'].includes(document.activeElement.tagName) &&\n !document.activeElement.isContentEditable\n ) {\n e.preventDefault();\n onDeleteSelectedElement();\n }\n\n // Copy\n if (ctrlOrCmd && e.key.toLowerCase() === 'c') {\n if (selectedElement) {\n e.preventDefault();\n const copied = { ...selectedElement };\n delete copied.ref;\n setCopiedElement(copied);\n }\n }\n\n // Paste\n if (ctrlOrCmd && e.key.toLowerCase() === 'v') {\n if (copiedElement) {\n e.preventDefault();\n const newElement = {\n ...copiedElement,\n id: `element${Date.now()}`,\n x: copiedElement.x + 10,\n y: copiedElement.y + 10,\n draggable: true,\n };\n addElement(newElement);\n setSelectedElement(newElement);\n }\n }\n\n // Undo: Ctrl/Cmd + Z\n if (ctrlOrCmd && !shiftKey && e.key.toLowerCase() === 'z') {\n e.preventDefault();\n undo();\n }\n\n // Redo: Ctrl/Cmd + Shift + Z or Ctrl + Y\n if (\n (ctrlOrCmd && shiftKey && e.key.toLowerCase() === 'z') ||\n (ctrlOrCmd && e.key.toLowerCase() === 'y')\n ) {\n e.preventDefault();\n redo();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [selectedElement, copiedElement, undo, redo]);\n\n // console.log(isPropValid('onClick'));\n useEffect(() => {\n setLanguageLocale(validateLocale(locale));\n }, [locale]);\n\n useEffect(() => {\n setCustomImagesList(customImages || []);\n }, [customImages]);\n\n useEffect(() => {\n setLoadingFonts(true);\n loadAllGoogleFonts()\n .then(() => {\n // eslint-disable-next-line no-console\n // console.log(msg);\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('❌ Error loading fonts:', err);\n })\n .finally(() => {\n setTimeout(() => {\n setLoadingFonts(false);\n }, 1000);\n // eslint-disable-next-line no-console\n console.log('🎉 Font loading complete!');\n });\n }, []);\n useEffect(() => {\n LoadImages(elementsList);\n setElements(elementsList);\n }, [...elementsList]);\n\n const LoadImages = elems => {\n setLoadingImages(true);\n preloadRelevantImages(elems)\n .then(({ errors }) => {\n // eslint-disable-next-line no-console\n // console.log('✅ Loaded images:', successes);\n if (errors?.length > 0) {\n // eslint-disable-next-line no-console\n console.log('❌ Failed images:', errors);\n }\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('Something went really wrong:', err);\n })\n .finally(() => {\n setLoadingImages(false);\n });\n };\n\n const editorHeight = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.height,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const editorWidth = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.width,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const selectedPageSize = useMemo(() => {\n return elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4;\n }, [elements]);\n\n const onSelectedTab = useCallback(\n tab => {\n setSelectedElement(null);\n setSelectedTab(tab);\n setHelperSideBarVisible(true);\n },\n [setSelectedTab],\n );\n\n const onCollapseHelperSideBar = useCallback(() => {\n setHelperSideBarVisible(false);\n }, [setHelperSideBarVisible]);\n\n const onChangeZoomPercentage = percentage => {\n setZoomPercentage(percentage);\n };\n\n const saveHistory = newElements => {\n setHistory([...history, elements]);\n setRedoStack([]);\n setElements(newElements);\n };\n\n const onSetBackgroundColor = color => {\n if (!color) {\n return;\n }\n let newElement;\n let elemClone = [...elements];\n let backgroundColorIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundColor,\n );\n if (backgroundColorIndex > -1) {\n elemClone.splice(backgroundColorIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundColor,\n id: `element${Date.now()}`,\n color: color,\n };\n\n saveHistory([...elemClone, newElement]);\n };\n const onSetPageSize = size => {\n if (!size) {\n return;\n }\n\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex]['size'] = size;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: size,\n };\n elemClone.push(sizeElement);\n }\n\n saveHistory(removeImageProperty(elemClone));\n };\n\n const onChangeCuttingGuideProp = (type, value) => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex][type] = value;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n };\n sizeElement[type] = value;\n elemClone.push(sizeElement);\n }\n saveHistory(removeImageProperty(elemClone));\n };\n\n const addElement = elem => {\n saveHistory([...elements, elem]);\n setSelectedElement(elem);\n };\n\n const addShape = type => {\n let shapeProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: shapeFillColor,\n stroke: shapeStrokeColor,\n strokeWidth: shapeStrokeWidth,\n opacity: shapeOpacity,\n type: type,\n draggable: true,\n };\n if (type === elementTypes.circle) {\n shapeProps['radius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.square) {\n shapeProps['height'] = 100;\n shapeProps['width'] = 100;\n shapeProps['name'] = elementTypes.square;\n\n addElement(shapeProps);\n } else if (type === elementTypes.arrowRight) {\n shapeProps['points'] = [0, 0, 100, 0];\n shapeProps['pointerLength'] = 20;\n shapeProps['pointerWidth'] = 20;\n shapeProps['strokeWidth'] = 4;\n shapeProps['fill'] = shapeStrokeColor;\n addElement(shapeProps);\n } else if (type === elementTypes.triangle) {\n shapeProps['sides'] = 3;\n shapeProps['radius'] = 60;\n shapeProps['rotation'] = 0;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.heart) {\n shapeProps['data'] = `M 50,20 \n C 20,-10 -30,40 50,90 \n C 130,40 80,-10 50,20 Z`;\n shapeProps['scale'] = { x: 1, y: 1 };\n addElement(shapeProps);\n } else if (type === elementTypes.star) {\n shapeProps['numPoints'] = 5;\n shapeProps['innerRadius'] = 30;\n shapeProps['outerRadius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.horizontalLine) {\n const centerY = editorHeight / 2;\n shapeProps['points'] = [50, centerY, editorWidth - 50, centerY];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n } else if (type === elementTypes.verticalLine) {\n const centerX = editorWidth / 2;\n shapeProps['points'] = [centerX, 50, centerX, editorHeight - 50];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n }\n // console.error(type);\n };\n\n const onSetBackgroundImage = img => {\n let newElement;\n let elemClone = [...elements];\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundImage,\n id: `element${Date.now()}`,\n src: img,\n opacity: backgroundImageOpacity,\n };\n saveHistory([...elemClone, newElement]);\n };\n const onRemoveBackgroundImage = () => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n saveHistory(elemClone);\n }\n };\n\n const onChangeBackgroundImageOpacity = val => {\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.backgroundImage ? { ...el, opacity: val } : el,\n );\n\n saveHistory(updatedElements);\n }\n setBackgroundImageOpacity(val);\n };\n\n const onSelectElement = element => {\n if (isElementShape(element)) {\n setSelectedTab(sideBarpillsList?.shape);\n } else if (isElementOfSameType(element, elementTypes?.image)) {\n setSelectedTab(sideBarpillsList?.image);\n } else if (isElementOfSameType(element, elementTypes?.qr)) {\n setSelectedTab(sideBarpillsList?.qr);\n } else if (isElementOfSameType(element, elementTypes?.text)) {\n setSelectedTab(sideBarpillsList?.text);\n }\n if (element) {\n let elem = element;\n delete elem['ref'];\n setSelectedElement({ ...elem });\n setHelperSideBarVisible(true);\n } else {\n setSelectedElement(null);\n }\n };\n\n const changeSelectedElementProperty = (key, value) => {\n let selectedElementCopy = { ...selectedElement };\n selectedElementCopy[key] = value;\n delete selectedElementCopy['ref'];\n if (key === 'fontWeight') {\n selectedElementCopy['fontVariant'] = value;\n }\n const updatedElements = elements?.map(el =>\n el.id === selectedElementCopy?.id ? { ...selectedElementCopy } : el,\n );\n saveHistory(updatedElements);\n setSelectedElement(selectedElementCopy);\n };\n\n const onChangeShapeFill = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('fill', e);\n } else {\n setShapeFillColor(e);\n }\n };\n\n const onChangeShapeStrokeWidth = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setShapeStrokeWidth(e);\n }\n };\n\n const onChangeShapeStrokeColor = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setShapeStrokeColor(e);\n }\n };\n\n const onChangeShapeOpacity = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setShapeOpacity(e);\n }\n };\n const onDeleteSelectedElement = () => {\n let index = elements?.findIndex(e => e?.id === selectedElement?.id);\n if (index < 0) {\n return;\n }\n let copy = [...elements];\n copy.splice(index, 1);\n setSelectedElement(null);\n saveHistory([...copy]);\n };\n const onCopySelectedElement = () => {\n let copyElement = { ...selectedElement };\n copyElement['id'] = `element${Date.now()}`;\n copyElement['x'] = selectedElement?.x + 10;\n copyElement['y'] = selectedElement?.y + 10;\n copyElement['draggable'] = true;\n\n addElement(copyElement);\n };\n const onToggleLockElement = () => {\n changeSelectedElementProperty('draggable', !selectedElement?.draggable);\n // setSelectedElement(null);\n };\n const bringSelectedElementToFront = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.push(selectedElem);\n saveHistory([...copyElements]);\n };\n const createNewTemplate = (\n elems = [\n ...defaultElements,\n {\n type: elementTypes.qr,\n id: `element${Date.now() + 1}`,\n width: 110,\n height: 110,\n x: 194.5,\n y: 280,\n fill: theme.color.green_80D965,\n stroke: theme.color.black,\n strokeWidth: 2,\n draggable: true,\n qrLogo: null,\n qrText: qrLink,\n opacity: 1,\n logoVisible: false,\n },\n ],\n ) => {\n setElements([...elems]);\n setHistory([]);\n setRedoStack([]);\n };\n\n const sendSelectedElementToBack = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.unshift(selectedElem);\n saveHistory([...copyElements]);\n };\n const onChangeImageStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setImageStrokeWidth(e);\n }\n };\n\n const onChangeImageStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setImageStrokeColor(e);\n }\n };\n\n const onChangeImageOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setImageOpacity(e);\n }\n };\n\n const addCustomImageToList = img => {\n // console.error({img});\n setCustomImagesList([...customImagesList, img]);\n };\n\n const addImageToCanvas = img => {\n let imgProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n stroke: imageStrokeColor,\n strokeWidth: imageStrokeWidth,\n opacity: imageOpacity,\n type: elementTypes.image,\n draggable: true,\n // width: 100,\n // height: 100,\n src: img,\n };\n addElement(imgProps);\n };\n const addTextToCanvas = e => {\n let text = e ? e : defaultTextProps;\n let textProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 100,\n y: editorHeight / 2,\n opacity: text?.opacity || defaultTextProps?.opacity,\n type: elementTypes.text,\n draggable: true,\n text: text?.text || defaultTextProps?.text,\n fontSize: text?.fontSize || defaultTextProps?.fontSize,\n fontFamily: text?.fontFamily || defaultTextProps?.fontFamily,\n color: text?.color || defaultTextProps?.color,\n textDecoration: text?.textDecoration || defaultTextProps?.textDecoration,\n fontStyle: text?.fontStyle || defaultTextProps?.fontStyle,\n fontWeight: text?.fontWeight || defaultTextProps?.fontWeight,\n textAlign: text?.textAlign || defaultTextProps?.textAlign,\n };\n if (text?.width) {\n textProps['width'] = text?.width;\n }\n\n addElement(textProps);\n };\n\n const addQrCode = () => {\n let qrProps = {\n id: `element${Date.now()}`,\n type: elementTypes.qr,\n height: 110,\n width: 110,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: theme.color.green_80D965,\n stroke: qrStrokeColor,\n strokeWidth: qrStrokeWidth,\n draggable: true,\n qrLogo: null,\n qrText: qrLink,\n opacity: qrOpacity,\n logoVisible: false,\n };\n addElement(qrProps);\n };\n\n const removeQrCode = () => {\n let copy = elements?.filter(el => el.type !== elementTypes?.qr);\n if (selectedElement?.type === elementTypes?.qr) {\n setSelectedElement(null);\n }\n saveHistory([...copy]);\n };\n const onChangeQrStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setQrStrokeWidth(e);\n }\n };\n\n const onChangeQrStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setQrStrokeColor(e);\n }\n };\n\n const onChangeQrOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setQrOpacity(e);\n }\n };\n const toggleQr = () => {\n if (elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1) {\n removeQrCode();\n } else {\n addQrCode();\n }\n };\n const turnLogoVisibiltyOn = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr\n ? { ...el, logoVisible: true, qrLogo: el?.qrLogo || qrLogo }\n : el,\n );\n saveHistory(updatedElements);\n };\n const turnLogoVisibiltyOff = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, logoVisible: false } : el,\n );\n saveHistory(updatedElements);\n };\n const toggleQrLogo = () => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n if (index > -1) {\n setSelectedElement(null);\n if (elements?.[index]?.logoVisible) {\n turnLogoVisibiltyOff();\n } else {\n turnLogoVisibiltyOn();\n }\n }\n };\n\n const addQrLogo = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n addLogo(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n addLogo(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n const addLogo = url => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n setQrLogo(url);\n if (index > -1) {\n // if (elements[index]?.logoVisible) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, qrLogo: url } : el,\n );\n saveHistory(updatedElements);\n // }\n }\n };\n\n const onChangeTextProperty = (key, value) => {\n if (isElementOfSameType(selectedElement, elementTypes?.text)) {\n changeSelectedElementProperty(key, value);\n } else {\n let copyDefultProps = { ...defaultTextProps };\n copyDefultProps[key] = value;\n setDefaultTextProps({ ...copyDefultProps });\n }\n };\n const onSaveProgress = async () => {\n if (!onSave) {\n return;\n }\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n onSave({ elements: processedElements, image: dataURL });\n };\n\n return (\n <StyleSheetManager shouldForwardProp={isPropValid}>\n <StudioWrapper>\n <SideBar\n selectedSideBarItem={selectedTab}\n onClickPill={onSelectedTab}\n languageLocale={languageLocale}\n disableWhiteLabel={disableWhiteLabel}\n styleProps={styleProps}\n />\n <HelperSideBar\n selectedSideBarItem={selectedTab}\n onCollapse={onCollapseHelperSideBar}\n helperSideBarVisible={helperSideBarVisible}\n onAddShape={addShape}\n defaultImagesList={defaultImages}\n customImagesList={customImagesList}\n onAddCustomImageToList={addCustomImageToList}\n onAddImageToCanvas={addImageToCanvas}\n onAddTextToCanvas={addTextToCanvas}\n toggleQr={toggleQr}\n qrPresent={elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n qrLogo={\n elements?.[elements?.findIndex(elem => elem.type === elementTypes?.qr)]\n ?.qrLogo || qrLogo\n }\n elements={elements}\n oncreateNewTemplate={createNewTemplate}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n styleProps={styleProps}\n defaultText={defaultText}\n languageLocale={languageLocale}\n />\n {loadingFonts ? null : (\n <Editor\n // canvasSize={canvasSize}\n cuttingGuideStroke={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStroke || 0\n }\n cuttingGuideStrokeColor={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStrokeColor || theme?.color.black\n }\n onChangeCuttingGuideProp={(type, value) => {\n onChangeCuttingGuideProp(type, value);\n }}\n editorHeight={editorHeight}\n editorWidth={editorWidth}\n selectedTab={selectedTab}\n title={title}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n history={history}\n redoStack={redoStack}\n onSetBackgroundImage={onSetBackgroundImage}\n onUndo={undo}\n onRedo={redo}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n onSelectElement={onSelectElement}\n stageRef={stageRef}\n saveHistory={saveHistory}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={\n elements?.find(e => e?.type === elementTypes?.backgroundImage)\n ?.opacity || backgroundImageOpacity\n }\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n loadingImages={loadingImages}\n loadingFonts={loadingFonts}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n onSave={onSave && onSaveProgress}\n showSaveButton={showSaveButton}\n onSetSelectedTab={onSelectedTab}\n saveButtonText={saveButtonText}\n languageLocale={languageLocale}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n )}\n {overallLoading && (\n <Overlay>\n <LoadingSpinner size=\"60px\" color={theme.color.secondary} />\n </Overlay>\n )}\n </StudioWrapper>\n </StyleSheetManager>\n );\n },\n);\n\nStudio.propTypes = propTypes;\nStudio.displayName = 'Studio';\n"],"names":["propTypes","title","PropTypes","string","languageLocale","elementsList","array","customImages","defaultImages","disableWhiteLabel","bool","defaultTemplatesList","customTemplatesList","qrLink","styleProps","object","defaultText","onSave","func","saveButtonText","locale","oneOf","palette","primary","secondary","gray_700","white","white_F5F5F5","white_F7F7F7","gray_535354","gray_545454","gray_646464","gray_200","gray_788899","icon_gray","gray_B8B8B8","gray_25","gray_7A7979","gray_E8E8E8","gray_EAEAEA","gray_CCC","gray_F2F2F2","gray_FDFCFC","gray_EDEDED","gray_FBFBFB","gray_F5F6F6","gray_A1A1A1","gray_F0F2F7","gray_333","gray_EFEFEF","gray_9DA1A7","green_80D965","black","black_transparent","color","_objectSpread","fonts","fontWeights","StudioWrapper","styled","div","_templateObject","_taggedTemplateLiteral","theme","selectedSideBarItem","oneOfType","onClickPill","SideBarWrapper","isSelected","onClick","icon","node","text","pillActiveColor","SideBarItem","_ref","_ref2","SideBarIcon","img","_templateObject2","_ref3","_ref3$isSelected","SideBarText","p","_templateObject3","_ref4","_ref4$isSelected","SideBarPill","_ref$isSelected","_ref$onClick","id","React","createElement","key","src","topTabBarpadding","helperSideBarWidth","pageSizes","A4","A3","A5","Letter","Legal","Ledger","B5","C5","pageSizesDimensions","_defineProperty","width","height","sideBarpillsList","template","image","shape","qr","whiteLabel","ButtonVarients","defaultSideBarImagesList","IconTools","IconToolsPink","textList","fontFamily","fontSize","fontWeight","textDecoration","fontStyle","textAlign","elementTypes","pageSize","backgroundColor","backgroundImage","circle","square","triangle","arrowRight","horizontalLine","verticalLine","star","heart","shapesList","IconCircle","IconSquare","IconTriangle","IconArrowRight","IconHorizontalLine","IconVerticalLine","IconStar","IconHeart","defaultElements","type","concat","Date","now","size","cuttingGuideStroke","cuttingGuideStrokeColor","basicTextProps","opacity","lineHeight","normalFonts","funkyFonts","fontFamilies","SUPPPORTED_LOCALES","TEXT_DICTIONARY","en","enTranslations","ru","ruTranslations","pl","plTranslations","de","deTranslations","es","esTranslations","fr","frTranslations","it","itTranslations","SideBar","_TEXT_DICTIONARY$lang","_TEXT_DICTIONARY$lang2","_TEXT_DICTIONARY$lang3","_TEXT_DICTIONARY$lang4","_TEXT_DICTIONARY$lang5","_TEXT_DICTIONARY$lang6","_ref$onClickPill","sideBarItems","TEMPLATE","IconTemplate","TEXT","IconText","IMAGE","IconImage","SHAPE","IconShape","QR","IconQrCode","WHITE_LABEL","IconWhiteLabel","onClickSinglePill","useCallback","e","renderPills","useMemo","map","item","primaryColor","selectedTab","zoomPercentage","number","onChangeZoomPercentage","editorHeight","editorWidth","onSetBackgroundColor","elements","history","redoStack","onSetBackgroundImage","onUndo","onRedo","shapeStrokeColor","shapeStrokeWidth","shapeFillColor","onChangeShapeStrokeColor","onChangeShapeStrokeWidth","onChangeShapeFill","shapeOpacity","onChangeShapeOpacity","selectedElement","onSelectElement","stageRef","saveHistory","onChangeBackgroundImageOpacity","backgroundImageOpacity","onDeleteSelectedElement","onCopySelectedElement","onToggleLockElement","bringSelectedElementToFront","sendSelectedElementToBack","imageStrokeWidth","imageStrokeColor","imageOpacity","onChangeImageStrokeWidth","onChangeImageStrokeColor","onChangeImageOpacity","qrStrokeWidth","qrStrokeColor","qrOpacity","onChangeQrStrokeWidth","onChangeQrStrokeColor","onChangeQrOpacity","defaultTextProps","onChangeTextProperty","onSetPageSize","selectedPageSize","loadingImages","loadingFonts","uploadImageCallBack","setLoadingUploadImage","onChangeCuttingGuideProp","Container","EditorBg","InnerContainer","InnerContainerWrapper","_ref5","Title","_templateObject4","EditorBox","_templateObject5","_ref6","_ref7","_ref8","_ref9","canvasBackgroundColor","canvasBackgroundImage","translation","ToolBarWrapper","disabled","OverlayBlocker","paddingTop","paddingBottom","paddingLeft","paddingRight","children","marginLeft","marginRight","justifyContent","gap","tooltip","tooltipPosition","StyledContainer","_ref$height","_ref2$marginLeft","_ref3$marginRight","_ref4$justifyContent","_ref5$paddingTop","_ref6$paddingRight","_ref7$paddingBottom","_ref8$paddingLeft","_ref0","_ref0$gap","_ref1","_ref10","position","Wrapper","TooltipText","css","_templateObject6","Tooltip","_ref$position","_ref$disabled","ToolBarButtonWrapper","left","right","center","list","onSelect","fontPicker","any","DropDownItem","IconWrapper","DropDownList","DropDownOption","DropDown","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","dropdownRef","useRef","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","handleSelect","ref","style","IconDropDown","index","stopPropagation","padding","cursor","borderBottom","length","Label","RowContainer","RemoveButton","onChange","Box","input","attrs","ColorBox","setColor","handler","setTimeout","clearTimeout","onChangeColor","value","StyledImage","maxWidth","maxHeight","objectFit","_ref6$marginTop","marginTop","_ref7$marginRight","_ref8$marginBottom","marginBottom","_ref9$marginLeft","_ref0$paddingTop","_ref1$paddingRight","_ref10$paddingBottom","_ref11","_ref11$paddingLeft","_ref12","_ref12$borderRadius","borderRadius","StyledText","_ref13","_ref14","_ref14$fontSize","_ref15","_ref16","_ref16$fontWeight","_ref17","_ref18","_ref19","_ref19$marginTop","_ref20","_ref20$marginRight","_ref21","_ref21$marginBottom","_ref22","_ref22$marginLeft","_ref23","_ref23$paddingTop","_ref24","_ref24$paddingRight","_ref25","_ref25$paddingBottom","_ref26","_ref26$paddingLeft","calculatePercentageValue","percentage","pickImage","Promise","resolve","reject","accept","display","files","Error","click","isElementShape","elem","isElementOfSameType","debounce","delay","timeoutId","_this","_len","arguments","args","Array","_key","apply","sanitizeNumber","defaultValue","undefined","precision","num","parseFloat","isNaN","toFixed","loadAllGoogleFonts","weights","italics","fontParams","font","fontName","replace","variantStr","ital","w","join","fontURL","querySelector","link","href","rel","head","appendChild","loadPromises","forEach","weight","push","load","all","then","err","preloadRelevantImages","_asyncToGenerator","_regenerator","m","_callee","imagePromises","_args","_context","n","qrLogo","Image","onload","success","onerror","filter","Boolean","a","allSettled","results","successes","r","status","errors","reason","removeImageProperty","rest","_objectWithoutProperties","_excluded","exportStageAsImage","_callee3","pageSizeKey","scale","_args3","_context3","_callee2","stage","canvas","dataURL","_t","_context2","toCanvas","pixelRatio","v","toDataURL","_x3","_x4","_x","_x2","validateLocale","includes","onChangeOpacity","min","max","step","pickerWidth","leftChild","rightChild","showLeftChild","varient","OpacityPicker","_ref$value","_ref$min","_ref$max","_ref$step","_ref$pickerWidth","_ref$gap","_ref$showLeftChild","_ref$varient","_ref$fontFamily","_ref$languageLocale","_ref$tooltip","OPACITY","_ref$tooltipPosition","pickerRef","opacityPickerVisible","setOpacityPickerVisible","IconOpacity","Math","round","bottom","background","border","zIndex","Number","strokeColor","onChangeStrokeWidth","leftIcon","elementType","StrokePicker","STROKE_WIDTH_AND_COLOR","_ref$leftIcon","IconGrid","strokePickerVisible","setStrokePickerVisible","_useState3","_useState4","alignItems","transform","pointerEvents","TemplateToolBar","onRemoveBackgroundImage","selectBackgroundColor","handleBackgroundUpload","file","imageUrl","reader","FileReader","result","readAsDataURL","Object","keys","PAGE_SIZE","BACKGROUND_COLOR","IconBackgroundColor","BACKGROUND_IMAGE","IconCross","IconBackgroundImage","BACKGROUND_IMAGE_OPACITY","IconBackgroundImageOpacity","IconDropDownSmall","CUTTING_GUIDE","IconFrame","textOpacity","tabsData","arrayOf","tabPadding","TabBarContainer","_ref2$marginRight","TabItem","isLast","_ref9$selected","selected","isFirst","ToolsTabBar","_ref$tabsData","_ref$tabPadding","_ref$marginRight","element","TextToolBar","_TEXT_DICTIONARY$lang7","_TEXT_DICTIONARY$lang8","_TEXT_DICTIONARY$lang9","_TEXT_DICTIONARY$lang0","_TEXT_DICTIONARY$lang1","_TEXT_DICTIONARY$lang10","TextTabsData","IconBold","BOLD","IconTextItalic","ITALIC","IconLineThrough","LINE_THROUGH","IconTextUnderLine","UNDERLINE","AlignmentTabsData","IconAlignLeft","LEFT_ALIGN","IconAlignCenter","CENTER_ALIGN","IconAlignRight","RIGHT_ALIGN","FONT_FAMILY","TEXT_SIZE","TEXT_LINE_HEIGHT","TEXT_COLOR","IconTextSmall","TEXT_OPACITY","ImageToolBar","strokeWidth","stroke","IMAGE_OPACITY","ShapeToolBar","SHAPE_FILL","fill","SHAPE_OPACITY","QrToolBar","TopToolBar","draggable","disableUndo","disableRedo","zoomLevel","onZoomIn","onZoomOut","ZoomControlWrapper","ZoomButton","Divider","ZoomPercentage","values","StyledButton","Button","_ref$marginBottom","_ref$marginTop","ZoomControls","_ref$zoomLevel","showSaveButton","SAVE","top","ZOOM_IN_OUT","IconZoomOut","IconZoomIn","ToolBarContainer","BottomToolBarControls","BringFrontBackTabsData","IconBringFront","BRING_FORWARD","IconSentBack","SEND_BACKWARD","LOCK","UNLOCK","IconUnlock","IconLock","COPY","IconCopy","DELETE","IconDelete","BottomToolbarWrapper","UndoRedoControls","UndeRedoTabsData","IconUndo","UNDO","IconRedo","REDO","BottomToolBar","Fragment","onDragEnd","onTransformEnd","onDragMove","CanvasImage","loaded","setLoaded","setImage","window","crossOrigin","_extends","strokeScaleEnabled","LogoTitle","QrElement","innerRectWidth","innerRectHeight","innerRectX","innerRectY","logo","setLogo","_useState5","_useState6","scaleX","scaleY","addQR","QRCode","qrText","margin","url","console","error","Group","Rect","fillPatternImage","fillPatternRepeat","fillPatternScale","x","y","logoVisible","Text","onTransform","onChangeTextContent","TextEditor","textNodeRef","onBlur","textWidth","textareaRef","styles","setStyles","_textNodeRef$attrs","_stg$attrs","_stg$attrs2","_textNodeRef$fontStyl","_textNodeRef$fontVari","_textNodeRef$textDeco","stg","getStage","findOne","styleObj","getHeight","overflow","outline","resize","transformOrigin","align","rotation","minHeight","whiteSpace","userSelect","call","fontVariant","_textareaRef$current","_textareaRef$current2","focus","select","Html","EditableText","trRef","textRef","setTextWidth","textFontSize","setTextFontSize","isEditing","setIsEditing","_useState7","_useState8","setText","_useState9","_useState0","isFontLoaded","setIsFontLoaded","tranform","transformer","activeAnchor","getActiveAnchor","updatedWidth","updatedObject","handleTransformEnd","nodeAttrs","newFontSize","handleTextDblClick","handleTextChange","newText","_textRef$current","getWidth","visible","onDblClick","onDblTap","useKonvaSnapping","params","_params$snapRange","_params$guidelineColo","_params$guidelineDash","_params$showGuideline","_params$guidelineThic","_params$snapToStageCe","_params$snapToStageBo","_params$snapToShapes","defaultParams","snapRange","guidelineColor","guidelineDash","showGuidelines","guidelineThickness","snapToStageCenter","snapToStageBorders","snapToShapes","oppositeAnchors","getSnappingPoints","currentTarget","vertical","horizontal","_stage$children","layer","_layer$children","layerChild","_layerChild$children","obj","box","getClientRect","getName","Konva","Transformer","createLine","Layer","isHorizontal","lineX","lineY","points","line","Line","name","dash","add","absolutePosition","dotProduct","v1","v2","vectorProject","b","dotAB","dotBB","scalar","calculateSlope","point1","point2","deltaX","deltaY","handleDragging","parent","find","destroy","_getSnappingPoints","newPos","guideLinesX","guideLinesY","breakPoint","abs","handleResizing","_getSnappingPoints2","keepRatio","_movingAnchorName","anchorDragBoundFunc","oldAbsPos","newAbsPos","bounds","_iterator","_createForOfIteratorHelper","_step","s","done","f","_iterator2","_step2","currentAnchorName","oppositeAnchorName","movingAnchor","anchorStartPosition","getAbsolutePosition","oppositeElement","oppositePoint","slope","transformVector","delta","projectedDelta","nextPos","_iterator3","_step3","_iterator4","_step4","handleResizeEnd","handleDragEnd","Editor","_ref$title","TITLE","onSetSelectedTab","transformerRef","_stageRef$current","selectedNode","nodes","getLayer","batchDraw","_useKonvaSnapping","backgroundIndex","findIndex","_elements$backgroundI","backgroundImageIndex","handleTransform","newAttrs","newAttributes","updatedElements","el","debouncedTransform","debouncedChangeText","handleTextTransform","renderElements","Circle","Arrow","RegularPolygon","Path","Star","LOGO","Stage","onMouseDown","listening","enabledAnchors","borderStroke","borderStrokeWidth","anchorFill","anchorStroke","anchorStrokeWidth","anchorSize","rotateEnabled","boundBoxFunc","oldBox","newBox","helperSideBarVisible","onCollapse","onAddShape","defaultImagesList","customImagesList","onAddCustomImageToList","onAddImageToCanvas","toggleQr","qrPresent","toggleQrLogo","addQrLogo","onAddTextToCanvas","oncreateNewTemplate","SideBarHeader","_ref$onCollapse","sideBarpillsText","Template","Shape","QR_CODE","BRANDING","COLLAPSE","IconChevronLeft","_ref$visible","SideBarContainer","hideIcon","content","CollapsableContainer","CollapsableHeader","LeftIconWrapper","CollapsableContent","Collapsable","_ref$hideIcon","setVisible","toggleVisibility","IconCheveronDown","TemplatesContainer","TemplateItem","StyledDeleteButton","button","TemplateSideBar","onDeleteCustomTemplate","renderDefaultContent","textOverflow","renderCustomContent","NEW_TEMPLATE","IconAdd","DEFAULT","CUSTOM_TEMPLATES","ItemWrapper","TextSideBar","renderTextListContent","ADD_TEXT","IconAddText","HELP_TEXT","IconInfo","ImagesContainer","SingleItem","ImageSideBar","PLEASE_ADD_IMAGES","renderCustomImages","addImageToList","ADD_IMAGE","IconUpload","CUSTOM_IMAGES","ShapesContainer","ShapeSideBar","ADD_SHAPES","onToggle","isActive","ToggleContainer","ToggleCircle","InfoContainer","RadioSection","QrSideBar","_elements$index","SETTINGS","SHOW_QR_CODE","SHOW_LOGO_IN_QR","ADD_LOGO","WhiteLabelSideBar","PREMIUM_SETTINGS","SHOW_BRANDING","UNLOCK_PREMIUM_FEATURE_PARAGRAPH","UPGRADE_PLAN","IconGraph","HelperSideBar","Overlay","_ref$backgroundColor","borderWidth","spin","keyframes","SpinnerWrapper","Spinner","props","LoadingSpinner","_ref$size","_ref$color","_ref$borderWidth","Studio","forwardRef","_elements$elements$fi","_elements$find4","_elements$find5","_elements$find6","_ref$defaultQrLogo","defaultQrLogo","_ref$elementsList","_ref$defaultImages","_ref$defaultTemplates","_ref$customTemplatesL","_ref$qrLink","_ref$styleProps","_ref$locale","copiedElement","setCopiedElement","setSelectedTab","setLanguageLocale","setLoadingFonts","setLoadingImages","_useState1","_useState10","loading","setLoading","_useState11","_useState12","loadingUploadImage","_useState13","_useState14","setHelperSideBarVisible","_useState15","_useState16","setZoomPercentage","_useState17","_useState18","setElements","_useState19","_useState20","setBackgroundImageOpacity","_useState21","_useState22","setHistory","_useState23","_useState24","setRedoStack","_useState25","_useState26","setShapeFillColor","_useState27","_useState28","setShapeStrokeWidth","_useState29","_useState30","setShapeStrokeColor","_useState31","_useState32","setShapeOpacity","_useState33","_useState34","setImageStrokeWidth","_useState35","_useState36","setImageStrokeColor","_useState37","_useState38","setImageOpacity","_useState39","_useState40","setQrStrokeWidth","_useState41","_useState42","setQrStrokeColor","_useState43","_useState44","setQrOpacity","_useState45","_useState46","setSelectedElement","_useState47","_useState48","setCustomImagesList","_useState49","_useState50","setQrLogo","_useState51","_useState52","setDefaultTextProps","overallLoading","undo","previousState","_toConsumableArray","slice","redo","nextState","useImperativeHandle","_onSave","processedElements","handleKeyDown","isMac","navigator","platform","toUpperCase","ctrlOrCmd","metaKey","ctrlKey","shiftKey","activeElement","tagName","isContentEditable","preventDefault","toLowerCase","copied","newElement","addElement","log","LoadImages","elems","_pageSizesDimensions","_elements$find","_pageSizesDimensions2","_elements$find2","_elements$find3","onSelectedTab","tab","onCollapseHelperSideBar","newElements","elemClone","backgroundColorIndex","splice","JSON","parse","stringify","sizeIndex","sizeElement","addShape","shapeProps","centerY","centerX","val","changeSelectedElementProperty","selectedElementCopy","copy","copyElement","copyElements","_copyElements$splice","_copyElements$splice2","selectedElem","createNewTemplate","_copyElements$splice3","_copyElements$splice4","unshift","addCustomImageToList","addImageToCanvas","imgProps","addTextToCanvas","textProps","addQrCode","qrProps","removeQrCode","turnLogoVisibiltyOn","turnLogoVisibiltyOff","addLogo","copyDefultProps","onSaveProgress","StyleSheetManager","shouldForwardProp","isPropValid","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,WAAS,GAAG;EACrBC,KAAK,EAAEC,SAAS,CAACC,MAAM;EACvBC,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCE,YAAY,EAAEH,SAAS,CAACI,KAAK;EAC7BC,YAAY,EAAEL,SAAS,CAACI,KAAK;EAC7BE,aAAa,EAAEN,SAAS,CAACI,KAAK;EAC9BG,iBAAiB,EAAEP,SAAS,CAACQ,IAAI;EACjCC,oBAAoB,EAAET,SAAS,CAACI,KAAK;EACrCM,mBAAmB,EAAEV,SAAS,CAACI,KAAK;EACpCO,MAAM,EAAEX,SAAS,CAACC,MAAM;EACxBW,UAAU,EAAEZ,SAAS,CAACa,MAAM;EAC5BC,WAAW,EAAEd,SAAS,CAACC,MAAM;EAC7Bc,MAAM,EAAEf,SAAS,CAACgB,IAAI;EACtBC,cAAc,EAAEjB,SAAS,CAACC,MAAM;AAChCiB,EAAAA,MAAM,EAAElB,SAAS,CAACmB,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACtE,CAAC;;ACjBD;AACA;AACA;AACO,IAAMC,OAAO,GAAG;AACnBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,SAAS;AACpBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,YAAY,EAAE,SAAS;AACvBC,EAAAA,YAAY,EAAE,SAAS;AACvBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,SAAS,EAAE,SAAS;AACpBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,QAAQ,EAAE,MAAM;AAChBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,QAAQ,EAAE,SAAS;AACnBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,WAAW,EAAE,SAAS;AACtBC,EAAAA,YAAY,EAAE,SAAS;AACvBC,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,iBAAiB,EAAE;AACvB,CAAC;AAEM,IAAMC,KAAK,GAAAC,cAAA,CAAA,EAAA,EACXjC,OAAO,CACb;;ACvCM,IAAMkC,KAAK,GAAG;AACjBjC,EAAAA,OAAO,EAAE,+BAA+B;AACxCC,EAAAA,SAAS,EAAE,mBAEf,CAAC;AACM,IAAMiC,WAAW,GAAG;AACvB,EAEA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAAG;AACR,EAAA,GAAG,EAAE,GAGT,CAAC;;ACXD,YAAe;AAAEH,EAAAA,KAAK,EAALA,KAAK;AAAEE,EAAAA,KAAK,EAALA,KAAK;AAAEC,EAAAA,WAAW,EAAXA;AAAY,CAAC;;;ACDrC,IAAMC,aAAa,GAAGC,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,0BAAA,EAAA,sJAAA,CAAA,CAAA,CAAA,EACfC,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAQxC;;ACVM,IAAM1B,WAAS,GAAG;AACrBgE,EAAAA,mBAAmB,EAAE9D,SAAS,CAAC+D,SAAS,CAAC,CACrC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJmD,WAAW,EAAEhE,SAAS,CAACgB,IAAI;EAC3Bd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCM,iBAAiB,EAAEP,SAAS,CAACQ,IAAI;EACjCI,UAAU,EAAEZ,SAAS,CAACa;AAC1B,CAAC;;;ACRM,IAAMoD,gBAAc,GAAGR,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,0BAAA,EAAA,8FAAA,CAAA,CAAA,CAAA,EAChBC,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAKxC;;ACPM,IAAM1B,WAAS,GAAG;EACrBoE,UAAU,EAAElE,SAAS,CAACQ,IAAI;EAC1B2D,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBoD,IAAI,EAAEpE,SAAS,CAACqE,IAAI;EACpBC,IAAI,EAAEtE,SAAS,CAACC,MAAM;EACtBsE,eAAe,EAAEvE,SAAS,CAACC;AAC/B,CAAC;;;ACLM,IAAMuE,WAAW,GAAGf,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iMAAA,EAAA,mJAAA,EAAA,YAAA,CAAA,CAAA,CAAA,EAQb,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGP,UAAU,GAAAO,IAAA,CAAVP,UAAU;IAAEK,eAAe,GAAAE,IAAA,CAAfF,eAAe;EAAA,OAC9CL,UAAU,GAAGK,eAAe,GAAGV,KAAK,CAACT,KAAK,CAAC9B,SAAS;AAAA,CAAA,EAMhC,UAAAoD,KAAA,EAAA;AAAA,EAAA,IAAGH,eAAe,GAAAG,KAAA,CAAfH,eAAe;AAAA,EAAA,OAAOA,eAAe;AAAA,CAAA,CAEnE;AAEM,IAAMI,WAAW,GAAGlB,MAAM,CAACmB,GAAG,CAAAC,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,wGAAA,EAAA,WAAA,EAAA,+DAAA,CAAA,CAAA,CAAA,EAKvB,UAAAkB,KAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA,GAAAD,KAAA,CAAGZ,UAAU;AAAVA,IAAAA,UAAU,GAAAa,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;AAAA,EAAA,OAAQb,UAAU,GAAG,yBAAyB,GAAG,MAAM;AAAA,CAAC,EAErFM,WAAW,CAGhB;AAEM,IAAMQ,WAAW,GAAGvB,MAAM,CAACwB,CAAC,CAAAC,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,eAAA,EAAA,4CAAA,EAAA,sBAAA,EAAA,gEAAA,EAAA,6BAAA,EAAA,YAAA,CAAA,CAAA,CAAA,EACtB,UAAAuB,KAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA,GAAAD,KAAA,CAAGjB,UAAU;AAAVA,IAAAA,UAAU,GAAAkB,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;AAAA,EAAA,OAC1BlB,UAAU,GAAGL,KAAK,CAACT,KAAK,CAAC5B,KAAK,GAAGqC,KAAK,CAACT,KAAK,CAACzB,WAAW;AAAA,CAAA,EAE7CkC,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAInCiB,WAAW,EACAX,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAEjC;;ACzCM,IAAM6D,WAAW,GAAG,SAAdA,WAAWA,CAAAZ,IAAA,EAAA;AAAA,EAAA,IAAAa,eAAA,GAAAb,IAAA,CACpBP,UAAU;AAAVA,IAAAA,UAAU,GAAAoB,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;IAAAC,YAAA,GAAAd,IAAA,CAClBN,OAAO;AAAPA,IAAAA,QAAO,GAAAoB,YAAA,KAAA,MAAA,GAAG,YAAM,CAAC,CAAC,GAAAA,YAAA;IAClBnB,IAAI,GAAAK,IAAA,CAAJL,IAAI;IACJE,IAAI,GAAAG,IAAA,CAAJH,IAAI;IACJC,eAAe,GAAAE,IAAA,CAAfF,eAAe;IACfiB,EAAE,GAAAf,IAAA,CAAFe,EAAE;AAAA,EAAA,oBAEFC,KAAA,CAAAC,aAAA,CAAClB,WAAW,EAAA;AACRmB,IAAAA,GAAG,EAAEH,EAAG;AACRtB,IAAAA,UAAU,EAAEA,UAAW;IACvBC,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQA,QAAO,EAAE;IAAA,CAAC;AACzBI,IAAAA,eAAe,EAAEA,eAAe,IAAIV,KAAK,CAACT,KAAK,CAAC/B;AAAQ,GAAA,eAExDoE,KAAA,CAAAC,aAAA,CAACf,WAAW,EAAA;AAACiB,IAAAA,GAAG,EAAExB,IAAK;AAACF,IAAAA,UAAU,EAAEA;AAAW,GAAE,CAAC,eAClDuB,KAAA,CAAAC,aAAA,CAACV,WAAW,EAAA;AAACd,IAAAA,UAAU,EAAEA;GAAW,EAAEI,IAAkB,CAC/C,CAAC;AAAA,CACjB;AAEDe,WAAW,CAACvF,SAAS,GAAGA,WAAS;;ACxBjC,mBAAe;;ACAf,gBAAe;;ACAf,iBAAe;;ACAf,gBAAe;;ACAf,eAAe;;ACAf,qBAAe;;ACAf,mBAAe;;ACAf,0BAAe;;ACAf,0BAAe;;ACAf,iCAAe;;ACAf,wBAAe;;ACAf,gBAAe;;ACAf,iBAAe;;ACAf,kBAAe;;ACAf,qBAAe;;ACAf,mBAAe;;ACAf,eAAe;;ACAf,eAAe;;ACAf,iBAAe;;ACAf,eAAe;;ACAf,eAAe;;ACAf,oBAAe;;ACAf,eAAe;;ACAf,sBAAe;;ACAf,qBAAe;;ACAf,wBAAe;;ACAf,oBAAe;;ACAf,sBAAe;;ACAf,qBAAe;;ACAf,kBAAe;;ACAf,eAAe;;ACAf,sBAAe;;ACAf,cAAe;;ACAf,kBAAe;;ACAf,iBAAe;;ACAf,gBAAe;;ACAf,uBAAe;;ACAf,eAAe;;ACAf,gBAAe;;ACAf,oBAAe;;ACAf,iBAAe;;ACAf,iBAAe;;ACAf,mBAAe;;ACAf,qBAAe;;ACAf,yBAAe;;ACAf,uBAAe;;ACAf,eAAe;;ACAf,gBAAe;;ACAf,iBAAe;;ACAf,gBAAe;;ACAf,eAAe;;ACAR,IAAM+F,gBAAgB,GAAG,iBAAiB;AAC1C,IAAMC,kBAAkB,GAAG,GAAG;AAC9B,IAAMC,SAAS,GAAG;AACrBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE;AACR,CAAC;AAEM,IAAMC,mBAAmB,GAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAC3BV,SAAS,CAACC,EAAE,EAAG;AAAEU,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAAA,EAC1CZ,SAAS,CAACE,EAAE,EAAG;AAAES,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAAA,EAC1CZ,SAAS,CAACG,EAAE,EAAG;AAAEQ,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAAA,EAC1CZ,SAAS,CAACI,MAAM,EAAG;AAAEO,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAAA,EAC9CZ,SAAS,CAACK,KAAK,EAAG;AAAEM,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAAA,EAC7CZ,SAAS,CAACM,MAAM,EAAG;AAAEK,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAAA,EAC9CZ,SAAS,CAACO,EAAE,EAAG;AAAEI,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAAA,EAC1CZ,SAAS,CAACQ,EAAE,EAAG;AAAEG,EAAAA,KAAK,EAAE,GAAG;AAAEC,EAAAA,MAAM,EAAE;AAAI,CAAC,CAC9C;;ACHM,IAAMC,gBAAgB,GAAG;AAC5BC,EAAAA,QAAQ,EAAE,UAAU;AACpBvC,EAAAA,IAAI,EAAE,MAAM;AACZwC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,UAAU,EAAE;AAChB,CAAC;AAEM,IAAMC,cAAc,GAAG;AAC1B7F,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE;AACf,CAAC;AAWM,IAAM6F,wBAAwB,GAAG,CAACC,SAAS,EAAEC,aAAa,CAAC;AAC3D,IAAMC,QAAQ,GAAG,CACpB;AACIhD,EAAAA,IAAI,EAAE,aAAa;AACnBiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE,MAAM;AACjBlB,EAAAA,KAAK,EAAE;AACX,CAAC,EACD;AACIpC,EAAAA,IAAI,EAAE,aAAa;AACnBiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE;AACf,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACItD,EAAAA,IAAI,EAAE,wDAAwD;AAC9DiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE,MAAM;AACjBlB,EAAAA,KAAK,EAAE;AACX,CAAC,EACD;AACIpC,EAAAA,IAAI,EAAE,kCAAkC;AACxCiD,EAAAA,UAAU,EAAE,WAAW;AACvBC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE;AACf,CAAC,EACD;AACItD,EAAAA,IAAI,EAAE,gBAAgB;AACtBiD,EAAAA,UAAU,EAAE,mBAAmB;AAC/BC,EAAAA,QAAQ,EAAE,EAAE;AACZpE,EAAAA,KAAK,EAAE,SAAS;AAChBqE,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCmE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBC,EAAAA,SAAS,EAAE;AACf,CAAC,CACJ;AACM,IAAMC,YAAY,GAAG;AACxBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,OAAO;AACd1B,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,EAAE,EAAE,IAAI;AACR1C,EAAAA,IAAI,EAAE;AACV,CAAC;AACM,IAAMmE,UAAU,GAAG,CACtB;EACI1B,KAAK,EAAEc,YAAY,CAACI,MAAM;AAC1B7D,EAAAA,IAAI,EAAEsE;AACV,CAAC,EACD;EACI3B,KAAK,EAAEc,YAAY,CAACK,MAAM;AAC1B9D,EAAAA,IAAI,EAAEuE;AACV,CAAC,EACD;EACI5B,KAAK,EAAEc,YAAY,CAACM,QAAQ;AAC5B/D,EAAAA,IAAI,EAAEwE;AACV,CAAC,EACD;EACI7B,KAAK,EAAEc,YAAY,CAACO,UAAU;AAC9BhE,EAAAA,IAAI,EAAEyE;AACV,CAAC,EACD;EACI9B,KAAK,EAAEc,YAAY,CAACQ,cAAc;AAClCjE,EAAAA,IAAI,EAAE0E;AACV,CAAC,EACD;EACI/B,KAAK,EAAEc,YAAY,CAACS,YAAY;AAChClE,EAAAA,IAAI,EAAE2E;AACV,CAAC,EACD;EACIhC,KAAK,EAAEc,YAAY,CAACU,IAAI;AACxBnE,EAAAA,IAAI,EAAE4E;AACV,CAAC,EACD;EACIjC,KAAK,EAAEc,YAAY,CAACW,KAAK;AACzBpE,EAAAA,IAAI,EAAE6E;AACV,CAAC,CACJ;AAEM,IAAMC,eAAe,GAAG,CAC3B;AACIC,EAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ;EAC5BtC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BC,EAAAA,IAAI,EAAExD,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEC,EAAE;AACnBwD,EAAAA,kBAAkB,EAAE,CAAC;AACrBC,EAAAA,uBAAuB,EAAE5F,KAAK,CAACT,KAAK,CAACF;AACzC,CAAC,CACJ;AACM,IAAMwG,cAAc,GAAG;AAC1BC,EAAAA,OAAO,EAAE,CAAC;AACVrF,EAAAA,IAAI,EAAE,iBAAiB;AACvBkD,EAAAA,QAAQ,EAAE,EAAE;AACZD,EAAAA,UAAU,EAAE,WAAW;AACvBnE,EAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACF,KAAK;AACxBwE,EAAAA,cAAc,EAAE,QAAQ;AACxBC,EAAAA,SAAS,EAAE,QAAQ;AACnBF,EAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC;AAClCqE,EAAAA,SAAS,EAAE,MAAM;AACjBgC,EAAAA,UAAU,EAAE;AACZ;AACJ,CAAC;AAqTM,IAAMC,WAAW,GAAG,CACvB,WAAW,EACX,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAQ,CACX;AACM,IAAMC,UAAU,GAAG,CACtB,qBAAqB,EACrB,SAAS,EACT,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,cAAc,EACd,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,EACf,WAAW,CACd;AAEM,IAAMC,YAAY,GAAA,EAAA,CAAAX,MAAA,CAAOS,WAAW,EAAKC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5hB3D;;AASO,IAAME,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AACrE,IAAMC,eAAe,GAAG;AAC3BC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC,cAAc;AAClBC,EAAAA,EAAE,EAAEC;AACR,CAAC;;ACXM,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAAvG,IAAA,EAMd;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IALFxH,mBAAmB,GAAAW,IAAA,CAAnBX,mBAAmB;IAAAyH,gBAAA,GAAA9G,IAAA,CACnBT,WAAW;AAAXA,IAAAA,WAAW,GAAAuH,gBAAA,KAAA,MAAA,GAAG,YAAM,CAAC,CAAC,GAAAA,gBAAA;IACtBhL,iBAAiB,GAAAkE,IAAA,CAAjBlE,iBAAiB;IACjBK,UAAU,GAAA6D,IAAA,CAAV7D,UAAU;IACVV,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,IAAMsL,YAAY,GAAG,CACjB;IACIhG,EAAE,EAAEoB,gBAAgB,CAACC,QAAQ;AAC7BvC,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCQ,QAAQ;AACjDrH,IAAAA,IAAI,EAAEsH;AACV,GAAC,EACD;IACIlG,EAAE,EAAEoB,gBAAgB,CAACtC,IAAI;AACzBA,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCS,IAAI;AAC7CvH,IAAAA,IAAI,EAAEwH;AACV,GAAC,EACD;IACIpG,EAAE,EAAEoB,gBAAgB,CAACE,KAAK;AAC1BxC,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCU,KAAK;AAC9CzH,IAAAA,IAAI,EAAE0H;AACV,GAAC,EACD;IACItG,EAAE,EAAEoB,gBAAgB,CAACG,KAAK;AAC1BzC,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCW,KAAK;AAC9C3H,IAAAA,IAAI,EAAE4H;AACV,GAAC,EACD;IACIxG,EAAE,EAAEoB,gBAAgB,CAACI,EAAE;AACvB1C,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAmL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCY,EAAE;AAC3C7H,IAAAA,IAAI,EAAE8H;AACV,GAAC,EACD;IACI1G,EAAE,EAAEoB,gBAAgB,CAACK,UAAU;AAC/B3C,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAoL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCa,WAAW;AACpD/H,IAAAA,IAAI,EAAEgI;AACV,GAAC,CACJ;AACD,EAAA,IAAMC,iBAAiB,GAAGC,WAAW,CACjC,UAAAC,CAAC,EAAI;IACDvI,WAAW,CAACuI,CAAC,CAAC;AAClB,EAAA,CAAC,EACD,CAACvI,WAAW,CAChB,CAAC;EAED,IAAMwI,WAAW,GAAGC,OAAO,CACvB,YAAA;IAAA,OACIjB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEkB,GAAG,CAAC,UAAAC,IAAI,EAAI;AACtB,MAAA,IAAI,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnH,EAAE,OAAKoB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEK,UAAU,CAAA,IAAI1G,iBAAiB,EAAE;AAChE,QAAA,OAAO,IAAI;AACf,MAAA;AACA,MAAA,oBACIkF,KAAA,CAAAC,aAAA,CAACL,WAAW,EAAA;AACRM,QAAAA,GAAG,EAAEgH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnH,EAAG;AACdA,QAAAA,EAAE,EAAEmH,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnH,EAAG;QACbtB,UAAU,EAAEJ,mBAAmB,MAAK6I,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnH,EAAE,CAAC;QAC7CrB,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQkI,iBAAiB,CAACM,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnH,EAAE,CAAC;QAAA,CAAC;AAC3CpB,QAAAA,IAAI,EAAEuI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEvI,IAAK;AACjBE,QAAAA,IAAI,EAAEqI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErI,IAAK;AACjBpE,QAAAA,cAAc,EAAEA,cAAe;AAC/BqE,QAAAA,eAAe,EAAE3D,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAEgM;AAAa,OAC7C,CAAC;AAEV,IAAA,CAAC,CAAC;AAAA,EAAA,CAAA,EACN,CAAC9I,mBAAmB,EAAEuI,iBAAiB,EAAEnM,cAAc,CAC3D,CAAC;AAED,EAAA,oBAAOuF,KAAA,CAAAC,aAAA,CAACzB,gBAAc,EAAA,IAAA,EAAEuI,WAA4B,CAAC;AACzD,CAAC;AAEDxB,OAAO,CAAClL,SAAS,GAAGA,WAAS;;AC5EtB,IAAMA,WAAS,GAAG;EACrB+M,WAAW,EAAE7M,SAAS,CAACC,MAAM;EAC7BC,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCF,KAAK,EAAEC,SAAS,CAACC,MAAM;EACvB6M,cAAc,EAAE9M,SAAS,CAAC+M,MAAM;EAChCC,sBAAsB,EAAEhN,SAAS,CAACgB,IAAI;EACtCiM,YAAY,EAAEjN,SAAS,CAAC+M,MAAM;EAC9BG,WAAW,EAAElN,SAAS,CAAC+M,MAAM;EAC7BI,oBAAoB,EAAEnN,SAAS,CAACgB,IAAI;EACpCoM,QAAQ,EAAEpN,SAAS,CAACI,KAAK;EACzBiN,OAAO,EAAErN,SAAS,CAACI,KAAK;EACxBkN,SAAS,EAAEtN,SAAS,CAACI,KAAK;EAC1BmN,oBAAoB,EAAEvN,SAAS,CAACgB,IAAI;EACpCwM,MAAM,EAAExN,SAAS,CAACgB,IAAI;EACtByM,MAAM,EAAEzN,SAAS,CAACgB,IAAI;EACtB0M,gBAAgB,EAAE1N,SAAS,CAACC,MAAM;EAClC0N,gBAAgB,EAAE3N,SAAS,CAAC+M,MAAM;EAClCa,cAAc,EAAE5N,SAAS,CAACC,MAAM;EAChC4N,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxC8M,wBAAwB,EAAE9N,SAAS,CAACgB,IAAI;EACxC+M,iBAAiB,EAAE/N,SAAS,CAACgB,IAAI;EACjCgN,YAAY,EAAEhO,SAAS,CAAC+M,MAAM;EAC9BkB,oBAAoB,EAAEjO,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCsN,eAAe,EAAEnO,SAAS,CAACgB,IAAI;EAC/BoN,QAAQ,EAAEpO,SAAS,CAACa,MAAM;EAC1BwN,WAAW,EAAErO,SAAS,CAACgB,IAAI;EAC3BsN,8BAA8B,EAAEtO,SAAS,CAACgB,IAAI;EAC9CuN,sBAAsB,EAAEvO,SAAS,CAAC+M,MAAM;EACxCyB,uBAAuB,EAAExO,SAAS,CAACgB,IAAI;EACvCyN,qBAAqB,EAAEzO,SAAS,CAACgB,IAAI;EACrC0N,mBAAmB,EAAE1O,SAAS,CAACgB,IAAI;EACnC2N,2BAA2B,EAAE3O,SAAS,CAACgB,IAAI;EAC3C4N,yBAAyB,EAAE5O,SAAS,CAACgB,IAAI;EACzC6N,gBAAgB,EAAE7O,SAAS,CAAC+M,MAAM;EAClC+B,gBAAgB,EAAE9O,SAAS,CAACC,MAAM;EAClC8O,YAAY,EAAE/O,SAAS,CAAC+M,MAAM;EAC9BiC,wBAAwB,EAAEhP,SAAS,CAACgB,IAAI;EACxCiO,wBAAwB,EAAEjP,SAAS,CAACgB,IAAI;EACxCkO,oBAAoB,EAAElP,SAAS,CAACgB,IAAI;EACpCmO,aAAa,EAAEnP,SAAS,CAAC+M,MAAM;EAC/BqC,aAAa,EAAEpP,SAAS,CAACC,MAAM;EAC/BoP,SAAS,EAAErP,SAAS,CAAC+M,MAAM;EAC3BuC,qBAAqB,EAAEtP,SAAS,CAACgB,IAAI;EACrCuO,qBAAqB,EAAEvP,SAAS,CAACgB,IAAI;EACrCwO,iBAAiB,EAAExP,SAAS,CAACgB,IAAI;EACjCyO,gBAAgB,EAAEzP,SAAS,CAACa,MAAM;EAClC6O,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpC2O,aAAa,EAAE3P,SAAS,CAACgB,IAAI;AAC7B4O,EAAAA,gBAAgB,EAAE5P,SAAS,CAAC+D,SAAS,CAAC,CAClC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJgP,aAAa,EAAE7P,SAAS,CAACQ,IAAI;EAC7BsP,YAAY,EAAE9P,SAAS,CAACQ,IAAI;EAC5BuP,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCwI,kBAAkB,EAAExJ,SAAS,CAAC+M,MAAM;EACpCtD,uBAAuB,EAAEzJ,SAAS,CAACC,MAAM;EACzCgQ,wBAAwB,EAAEjQ,SAAS,CAACgB;AACxC,CAAC;;;AC1DM,IAAMkP,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,4DAAA,EAAA,2BAAA,EAAA,kFAAA,CAAA,CAAA,CAAA,EAGXC,KAAK,CAACT,KAAK,CAAC1B,YAAY,EACxB,UAAA+C,IAAA,EAAA;AAAA,EAAA,IAAGoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;AAAA,EAAA,OAAQA,WAAW,GAAG,MAAM,UAAAzD,MAAA,CAAU+G,QAAQ,EAAA,GAAA,CAAG;AAAA,CAAC,CAIvF;AAEM,IAAMC,cAAc,GAAG3M,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,6VAAA,CAAA,CAAA,CAAA,CAgBvC;AAEM,IAAMyM,qBAAqB,GAAG5M,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,sIAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EAM7B,UAAAc,KAAA,EAAA;AAAA,EAAA,IAAGuI,YAAY,GAAAvI,KAAA,CAAZuI,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EAC7C,UAAAnI,KAAA,EAAA;AAAA,EAAA,IAAGmI,YAAY,GAAAnI,KAAA,CAAZmI,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EACtC,UAAA9H,KAAA,EAAA;AAAA,EAAA,IAAG+H,WAAW,GAAA/H,KAAA,CAAX+H,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CAAA,EAC3C,UAAAoD,KAAA,EAAA;AAAA,EAAA,IAAGpD,WAAW,GAAAoD,KAAA,CAAXpD,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CAAA,CACnD;AAEM,IAAMqD,KAAK,GAAG9M,MAAM,CAACwB,CAAC,CAAAuL,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAAA,CAAA,0BAAA,EAAA,yEAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,uDAAA,CAAA,CAAA,CAAA,EACLC,KAAK,CAACT,KAAK,CAAChB,WAAW,EAG5ByB,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAC5BM,KAAK,CAACT,KAAK,CAACjB,WAAW,CAGnC;AAEM,IAAMsO,SAAS,GAAGhN,MAAM,CAACC,GAAG,CAAAgN,kBAAA,KAAAA,kBAAA,GAAA9M,sBAAA,CAAA,CAAA,gBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,wIAAA,CAAA,CAAA,CAAA,EACrB,UAAA+M,KAAA,EAAA;AAAA,EAAA,IAAG1D,YAAY,GAAA0D,KAAA,CAAZ1D,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EAC1C,UAAA2D,KAAA,EAAA;AAAA,EAAA,IAAG1D,WAAW,GAAA0D,KAAA,CAAX1D,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CAAA,EAClC,UAAA2D,KAAA,EAAA;AAAA,EAAA,IAAG5D,YAAY,GAAA4D,KAAA,CAAZ5D,YAAY;EAAA,OAAOA,YAAY,IAAI,GAAG;AAAA,CAAA,EAC1C,UAAA6D,KAAA,EAAA;AAAA,EAAA,IAAG5D,WAAW,GAAA4D,KAAA,CAAX5D,WAAW;EAAA,OAAOA,WAAW,IAAI,GAAG;AAAA,CAAA,EACtCrJ,KAAK,CAACT,KAAK,CAAClB,OAAO,CAIpC;;AC9DM,IAAMpC,WAAS,GAAG;EACrB+M,WAAW,EAAE7M,SAAS,CAACC,MAAM;EAC7BkN,oBAAoB,EAAEnN,SAAS,CAACgB,IAAI;EACpC+P,qBAAqB,EAAE/Q,SAAS,CAACC,MAAM;AACvC+Q,EAAAA,qBAAqB,EAAEhR,SAAS,CAAC+D,SAAS,CAAC,CACvC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJ0M,oBAAoB,EAAEvN,SAAS,CAACgB,IAAI;EACpC0M,gBAAgB,EAAE1N,SAAS,CAACC,MAAM;EAClC0N,gBAAgB,EAAE3N,SAAS,CAAC+M,MAAM;EAClCa,cAAc,EAAE5N,SAAS,CAACC,MAAM;EAChC+N,YAAY,EAAEhO,SAAS,CAAC+M,MAAM;EAC9Bc,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxC8M,wBAAwB,EAAE9N,SAAS,CAACgB,IAAI;EACxC+M,iBAAiB,EAAE/N,SAAS,CAACgB,IAAI;EACjCiN,oBAAoB,EAAEjO,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCyN,8BAA8B,EAAEtO,SAAS,CAACgB,IAAI;EAC9CuN,sBAAsB,EAAEvO,SAAS,CAAC+M,MAAM;EACxC8B,gBAAgB,EAAE7O,SAAS,CAAC+M,MAAM;EAClC+B,gBAAgB,EAAE9O,SAAS,CAACC,MAAM;EAClC8O,YAAY,EAAE/O,SAAS,CAAC+M,MAAM;EAC9BiC,wBAAwB,EAAEhP,SAAS,CAACgB,IAAI;EACxCiO,wBAAwB,EAAEjP,SAAS,CAACgB,IAAI;EACxCkO,oBAAoB,EAAElP,SAAS,CAACgB,IAAI;EACpCmO,aAAa,EAAEnP,SAAS,CAAC+M,MAAM;EAC/BqC,aAAa,EAAEpP,SAAS,CAACC,MAAM;EAC/BoP,SAAS,EAAErP,SAAS,CAAC+M,MAAM;EAC3BuC,qBAAqB,EAAEtP,SAAS,CAACgB,IAAI;EACrCuO,qBAAqB,EAAEvP,SAAS,CAACgB,IAAI;EACrCwO,iBAAiB,EAAExP,SAAS,CAACgB,IAAI;EACjCyO,gBAAgB,EAAEzP,SAAS,CAACa,MAAM;EAClC6O,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpC2O,aAAa,EAAE3P,SAAS,CAACgB,IAAI;AAC7B4O,EAAAA,gBAAgB,EAAE5P,SAAS,CAAC+D,SAAS,CAAC,CAClC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJoQ,WAAW,EAAEjR,SAAS,CAACa,MAAM;EAC7BkP,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCwI,kBAAkB,EAAExJ,SAAS,CAAC+M,MAAM;EACpCtD,uBAAuB,EAAEzJ,SAAS,CAACC,MAAM;EACzCgQ,wBAAwB,EAAEjQ,SAAS,CAACgB;AACxC,CAAC;;;AC5CM,IAAMkQ,cAAc,GAAGzN,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,wGAAA,EAAA,qBAAA,EAAA,4CAAA,EAAA,4BAAA,EAAA,sDAAA,CAAA,CAAA,CAAA,EAITC,KAAK,CAACT,KAAK,CAACf,WAAW,EACpCwB,KAAK,CAACT,KAAK,CAAC5B,KAAK,EAEpB,UAAAiD,IAAA,EAAA;AAAA,EAAA,IAAG0M,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EAC5B,UAAAzM,KAAA,EAAA;AAAA,EAAA,IAAGyM,QAAQ,GAAAzM,KAAA,CAARyM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAGrE;AACM,IAAMC,cAAc,GAAG3N,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,oNAAA,CAAA,CAAA,CAAA,CAWvC;;ACxBM,IAAM9D,WAAS,GAAG;EACrBqN,oBAAoB,EAAEnN,SAAS,CAACgB,IAAI;EACpC+P,qBAAqB,EAAE/Q,SAAS,CAACC,MAAM;EACvCsN,oBAAoB,EAAEvN,SAAS,CAACgB,IAAI;EACpCuN,sBAAsB,EAAEvO,SAAS,CAAC+M,MAAM;EACxCuB,8BAA8B,EAAEtO,SAAS,CAACgB,IAAI;EAC9C2O,aAAa,EAAE3P,SAAS,CAACgB,IAAI;AAC7B4O,EAAAA,gBAAgB,EAAE5P,SAAS,CAAC+D,SAAS,CAAC,CAClC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJX,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC8P,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCwI,kBAAkB,EAAExJ,SAAS,CAAC+M,MAAM;EACpCtD,uBAAuB,EAAEzJ,SAAS,CAACC,MAAM;EACzCgQ,wBAAwB,EAAEjQ,SAAS,CAACgB;AACxC,CAAC;;ACjBM,IAAMlB,WAAS,GAAG;AACrB6G,EAAAA,MAAM,EAAE3G,SAAS,CAAC+D,SAAS,CAAC,CACpB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACRsE,EAAAA,UAAU,EAAErR,SAAS,CAAC+D,SAAS,CAAC,CAC5B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJuE,EAAAA,aAAa,EAAEtR,SAAS,CAAC+D,SAAS,CAAC,CAC/B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJwE,EAAAA,WAAW,EAAEvR,SAAS,CAAC+D,SAAS,CAAC,CACzB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACRyE,EAAAA,YAAY,EAAExR,SAAS,CAAC+D,SAAS,CAAC,CAC1B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACR0E,QAAQ,EAAEzR,SAAS,CAACqE,IAAI;AACxBqN,EAAAA,UAAU,EAAE1R,SAAS,CAAC+D,SAAS,CAAC,CAC5B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJ4E,EAAAA,WAAW,EAAE3R,SAAS,CAAC+D,SAAS,CAAC,CAC7B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACJ6E,cAAc,EAAE5R,SAAS,CAACC,MAAM;AAChC4R,EAAAA,GAAG,EAAE7R,SAAS,CAAC+D,SAAS,CAAC,CACjB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACR5I,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBmQ,QAAQ,EAAEnR,SAAS,CAACQ,IAAI;EACxBsR,OAAO,EAAE9R,SAAS,CAACC,MAAM;EACzB8R,eAAe,EAAE/R,SAAS,CAACC;AAC/B,CAAC;;;ACtCM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,0BAAA,EAAA,oDAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,wEAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,8BAAA,CAAA,CAAA,CAAA,EACjBC,KAAK,CAACT,KAAK,CAACtB,QAAQ,EAEpB+B,KAAK,CAACT,KAAK,CAAC5B,KAAK,EAC3B,UAAAiD,IAAA,EAAA;AAAA,EAAA,IAAAwN,WAAA,GAAAxN,IAAA,CAAGkC,MAAM;AAANA,IAAAA,MAAM,GAAAsL,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;EAAA,OAAA,EAAA,CAAA7I,MAAA,CAAUzC,MAAM,EAAA,IAAA,CAAA;AAAA,CAAI,EAC7B,UAAAjC,KAAA,EAAA;AAAA,EAAA,IAAAwN,gBAAA,GAAAxN,KAAA,CAAGgN,UAAU;AAAVA,IAAAA,UAAU,GAAAQ,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;EAAA,OAAA,EAAA,CAAA9I,MAAA,CAAUsI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACxC,UAAA5M,KAAA,EAAA;AAAA,EAAA,IAAAqN,iBAAA,GAAArN,KAAA,CAAG6M,WAAW;AAAXA,IAAAA,WAAW,GAAAQ,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;EAAA,OAAA,EAAA,CAAA/I,MAAA,CAAUuI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAGzC,UAAAxM,KAAA,EAAA;AAAA,EAAA,IAAAiN,oBAAA,GAAAjN,KAAA,CAAGyM,cAAc;AAAdA,IAAAA,cAAc,GAAAQ,oBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,oBAAA;AAAA,EAAA,OAAOR,cAAc;AAAA,CAAA,EACrD,UAAAtB,KAAA,EAAA;AAAA,EAAA,IAAA+B,gBAAA,GAAA/B,KAAA,CAAGe,UAAU;AAAVA,IAAAA,UAAU,GAAAgB,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;EAAA,OAAA,EAAA,CAAAjJ,MAAA,CAAUiI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACvC,UAAAV,KAAA,EAAA;AAAA,EAAA,IAAA2B,kBAAA,GAAA3B,KAAA,CAAGa,YAAY;AAAZA,IAAAA,YAAY,GAAAc,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;EAAA,OAAA,EAAA,CAAAlJ,MAAA,CAAUoI,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC7C,UAAAZ,KAAA,EAAA;AAAA,EAAA,IAAA2B,mBAAA,GAAA3B,KAAA,CAAGU,aAAa;AAAbA,IAAAA,aAAa,GAAAiB,mBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,mBAAA;EAAA,OAAA,EAAA,CAAAnJ,MAAA,CAAUkI,aAAa,EAAA,IAAA,CAAA;AAAA,CAAI,EACjD,UAAAT,KAAA,EAAA;AAAA,EAAA,IAAA2B,iBAAA,GAAA3B,KAAA,CAAGU,WAAW;AAAXA,IAAAA,WAAW,GAAAiB,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;EAAA,OAAA,EAAA,CAAApJ,MAAA,CAAUmI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAClD,UAAAT,KAAA,EAAA;AAAA,EAAA,IAAGK,QAAQ,GAAAL,KAAA,CAARK,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,aAAa,GAAG,SAAS;AAAA,CAAC,EAC3D,UAAAsB,KAAA,EAAA;AAAA,EAAA,IAAAC,SAAA,GAAAD,KAAA,CAAGZ,GAAG;AAAHA,IAAAA,GAAG,GAAAa,SAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,SAAA;EAAA,OAAA,EAAA,CAAAtJ,MAAA,CAAUyI,GAAG,EAAA,IAAA,CAAA;AAAA,CAAI,EACvB,UAAAc,KAAA,EAAA;AAAA,EAAA,IAAGxB,QAAQ,GAAAwB,KAAA,CAARxB,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EAC/B,UAAAyB,MAAA,EAAA;AAAA,EAAA,IAAGzB,QAAQ,GAAAyB,MAAA,CAARzB,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAElE;;ACpBM,IAAMrR,WAAS,GAAG;EACrB2R,QAAQ,EAAEzR,SAAS,CAACqE,IAAI;EACxBC,IAAI,EAAEtE,SAAS,CAACC,MAAM;AACtB4S,EAAAA,QAAQ,EAAE7S,SAAS,CAACmB,KAAK,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;EAC7DgQ,QAAQ,EAAEnR,SAAS,CAACQ;AACxB,CAAC;;;ACJM,IAAMsS,OAAO,GAAGrP,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,qEAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAGnB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAG0M,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,aAAa,GAAG,SAAS;AAAA,CAAC,CACrE;AAEM,IAAM4B,WAAW,GAAGtP,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,+TAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,wEAAA,CAAA,CAAA,CAAA,EAalBC,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAEnC,UAAAmB,KAAA,EAAA;AAAA,EAAA,IAAGmO,QAAQ,GAAAnO,KAAA,CAARmO,QAAQ;EAAA,OACTA,QAAQ,KAAK,KAAK,IAClBG,GAAG,CAAA9N,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,yGAAA,CAAA,CAAA,CAAA,CAIF;AAAA,CAAA,EACH,UAAAkB,KAAA,EAAA;AAAA,EAAA,IAAG+N,QAAQ,GAAA/N,KAAA,CAAR+N,QAAQ;EAAA,OACTA,QAAQ,KAAK,OAAO,IACpBG,GAAG,CAAAxC,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAAA,CAAA,sGAAA,CAAA,CAAA,CAAA,CAIF;AAAA,CAAA,EACL,UAAAuB,KAAA,EAAA;AAAA,EAAA,IAAG0N,QAAQ,GAAA1N,KAAA,CAAR0N,QAAQ;EAAA,OACPA,QAAQ,KAAK,QAAQ,IACrBG,GAAG,CAAAtC,kBAAA,KAAAA,kBAAA,GAAA9M,sBAAA,CAAA,CAAA,sGAAA,CAAA,CAAA,CAAA,CAIF;AAAA,CAAA,EACL,UAAA0M,KAAA,EAAA;AAAA,EAAA,IAAGuC,QAAQ,GAAAvC,KAAA,CAARuC,QAAQ;EAAA,OACPA,QAAQ,KAAK,MAAM,IACnBG,GAAG,CAAAC,gBAAA,KAAAA,gBAAA,GAAArP,sBAAA,CAAA,CAAA,uGAAA,CAAA,CAAA,CAAA,CAIF;AAAA,CAAA,EAELkP,OAAO,CAIV;;ACtDM,IAAMI,OAAO,GAAG,SAAVA,OAAOA,CAAAzO,IAAA,EAAA;AAAA,EAAA,IAAMgN,QAAQ,GAAAhN,IAAA,CAARgN,QAAQ;IAAEnN,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAA6O,aAAA,GAAA1O,IAAA,CAAEoO,QAAQ;AAARA,IAAAA,QAAQ,GAAAM,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAAC,aAAA,GAAA3O,IAAA,CAAE0M,QAAQ;AAARA,IAAAA,QAAQ,GAAAiC,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;AAAA,EAAA,oBACxE3N,KAAA,CAAAC,aAAA,CAACoN,OAAO,EAAA;AAAC3B,IAAAA,QAAQ,EAAEA;GAAS,EACvBM,QAAQ,EACR,CAACN,QAAQ,iBAAI1L,KAAA,CAAAC,aAAA,CAACqN,WAAW,EAAA;AAACF,IAAAA,QAAQ,EAAEA;GAAS,EAAEvO,IAAkB,CAC7D,CAAC;AAAA,CACb;AAED4O,OAAO,CAACpT,SAAS,GAAGA,WAAS;;ACNtB,IAAMuT,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA5O,IAAA,EAAA;AAAA,EAAA,IAC7BkC,MAAM,GAAAlC,IAAA,CAANkC,MAAM;IACN0K,UAAU,GAAA5M,IAAA,CAAV4M,UAAU;IACVC,aAAa,GAAA7M,IAAA,CAAb6M,aAAa;IACbC,WAAW,GAAA9M,IAAA,CAAX8M,WAAW;IACXC,YAAY,GAAA/M,IAAA,CAAZ+M,YAAY;IACZC,QAAQ,GAAAhN,IAAA,CAARgN,QAAQ;IACRC,UAAU,GAAAjN,IAAA,CAAViN,UAAU;IACVC,WAAW,GAAAlN,IAAA,CAAXkN,WAAW;IACXC,cAAc,GAAAnN,IAAA,CAAdmN,cAAc;IACdC,GAAG,GAAApN,IAAA,CAAHoN,GAAG;IACH1N,QAAO,GAAAM,IAAA,CAAPN,OAAO;IAAAiP,aAAA,GAAA3O,IAAA,CACP0M,QAAQ;AAARA,IAAAA,QAAQ,GAAAiC,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAChBtB,OAAO,GAAArN,IAAA,CAAPqN,OAAO;IACPC,eAAe,GAAAtN,IAAA,CAAfsN,eAAe;AAAA,EAAA,oBAEftM,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AAAC5O,IAAAA,IAAI,EAAEwN,OAAQ;AAACe,IAAAA,QAAQ,EAAEd,eAAgB;AAACZ,IAAAA,QAAQ,EAAEA;AAAS,GAAA,eAClE1L,KAAA,CAAAC,aAAA,CAACsM,iBAAe,EAAA;AACZrL,IAAAA,MAAM,EAAEA,MAAO;AACf0K,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BE,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,GAAG,EAAEA,GAAI;AACT1N,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACX,MAAA,IAAIgN,QAAQ,EAAE;AACV,QAAA;AACJ,MAAA;MACAhN,QAAO,IAAIA,QAAO,EAAE;IACxB,CAAE;AACFgN,IAAAA,QAAQ,EAAEA;GAAS,EAElBM,QACY,CACZ,CAAC;AAAA,CACb;AAED4B,oBAAoB,CAACvT,SAAS,GAAGA,WAAS;;AC3CnC,IAAMA,WAAS,GAAG;AACrBwT,EAAAA,IAAI,EAAEtT,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJ0S,KAAK,EAAEvT,SAAS,CAACQ,IAAI;EACrBgT,MAAM,EAAExT,SAAS,CAACQ,IAAI;AACtBqR,EAAAA,GAAG,EAAE7R,SAAS,CAAC+D,SAAS,CAAC,CACrB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJwE,EAAAA,WAAW,EAAEvR,SAAS,CAAC+D,SAAS,CAAC,CAC7B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACJyE,EAAAA,YAAY,EAAExR,SAAS,CAAC+D,SAAS,CAAC,CAC9B/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACJ0G,IAAI,EAAEzT,SAAS,CAACI,KAAK;EACrBsT,QAAQ,EAAE1T,SAAS,CAACgB,IAAI;EACxB2S,UAAU,EAAE3T,SAAS,CAAC4T,GAAG;EACzB9B,OAAO,EAAE9R,SAAS,CAACC;AACvB,CAAC;;;ACvBM,IAAM4T,YAAY,GAAGpQ,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,gFAAA,CAAA,CAAA,CAAA,CAIrC;AAEM,IAAMkQ,aAAW,GAAGrQ,MAAM,CAACmB,GAAG,CAAAC,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,CAEpC;AAEM,IAAMmQ,YAAY,GAAGtQ,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,6RAAA,CAAA,CAAA,CAAA,CAarC;;AAED;AACO,IAAMoQ,cAAc,GAAGvQ,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAAA,CAAA,kNAAA,CAAA,CAAA,CAAA,CAWvC;;AChCM,IAAMqQ,QAAQ,GAAG,SAAXA,QAAQA,CAAAxP,IAAA,EAWf;AAAA,EAAA,IAVF6O,IAAI,GAAA7O,IAAA,CAAJ6O,IAAI;IACJC,KAAK,GAAA9O,IAAA,CAAL8O,KAAK;IACLC,MAAM,GAAA/O,IAAA,CAAN+O,MAAM;IACN3B,GAAG,GAAApN,IAAA,CAAHoN,GAAG;IACHN,WAAW,GAAA9M,IAAA,CAAX8M,WAAW;IACXC,YAAY,GAAA/M,IAAA,CAAZ+M,YAAY;IACZiC,IAAI,GAAAhP,IAAA,CAAJgP,IAAI;IACJC,QAAQ,GAAAjP,IAAA,CAARiP,QAAQ;IACRC,UAAU,GAAAlP,IAAA,CAAVkP,UAAU;IACV7B,OAAO,GAAArN,IAAA,CAAPqN,OAAO;AAEP,EAAA,IAAAoC,SAAA,GAA4BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,MAAM,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,SAAS,GAAAH,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAMI,WAAW,GAAGC,MAAM,CAAC,IAAI,CAAC;AAEhCC,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;AAChC,MAAA,IAAIJ,WAAW,CAACK,OAAO,IAAI,CAACL,WAAW,CAACK,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QACpER,SAAS,CAAC,KAAK,CAAC;AACpB,MAAA;IACJ,CAAC;AACDS,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAC1D,OAAO,YAAA;AAAA,MAAA,OAAMK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,kBAAkB,CAAC;AAAA,IAAA,CAAA;EAC9E,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,IAAMQ,YAAY,GAAG,SAAfA,YAAYA,CAAGxI,IAAI,EAAI;IACzB+G,QAAQ,CAAC/G,IAAI,CAAC;IACd4H,SAAS,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,oBACI9O,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI0P,IAAAA,GAAG,EAAEZ,WAAY;AACjBa,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE;KACZ;AACF1O,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXoQ,SAAS,CAAC,IAAI,CAAC;AACnB,IAAA;AAAE,GAAA,eAEF9O,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBzB,IAAAA,cAAc,EAAE4B,MAAM,GAAG,eAAe,GAAG,QAAS;AACpD3B,IAAAA,GAAG,EAAEA,GAAI;AACTN,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BM,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,eAAe,EAAE;AAAS,GAAA,eAE1BtM,KAAA,CAAAC,aAAA,CAACmO,YAAY,EAAA,IAAA,EAAEP,IAAmB,CAAC,eACnC7N,KAAA,CAAAC,aAAA,CAACmO,YAAY,EAAA,IAAA,EAAEL,MAAqB,CAAC,eACrC/N,KAAA,CAAAC,aAAA,CAACmO,YAAY,EAAA,IAAA,EAAEN,KAAK,GAAGA,KAAK,gBAAG9N,KAAA,CAAAC,aAAA,CAACoO,aAAW,EAAA;AAAClO,IAAAA,GAAG,EAAE0P;GAAe,CAAgB,CAC9D,CAAC,EACtBhB,MAAM,iBACH7O,KAAA,CAAAC,aAAA,CAACqO,YAAY,QACRN,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/G,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBACnB9P,KAAA,CAAAC,aAAA,CAACsO,cAAc,EAAA;AACXrO,MAAAA,GAAG,EAAE4P,KAAM;AACXpR,MAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;QACV4I,YAAY,CAACxI,IAAI,CAAC;AAClBJ,QAAAA,CAAC,aAADA,CAAC,KAAA,MAAA,IAADA,CAAC,CAAEiJ,eAAe,EAAE;MACxB,CAAE;AACFH,MAAAA,KAAK,EAAE;AACHI,QAAAA,OAAO,EAAE,UAAU;AACnBC,QAAAA,MAAM,EAAE,SAAS;QACjBC,YAAY,EAAEJ,KAAK,KAAK9B,IAAI,CAACmC,MAAM,GAAG,CAAC,GAAG,gBAAgB,GAAG,MAAM;QACnErO,UAAU,EAAEoM,UAAU,GAAGhH,IAAI,GAAG9I,KAAK,CAACP,KAAK,CAACjC;AAChD;AAAE,KAAA,EAEDsL,IACW,CAAC;EAAA,CACpB,CACS,CAEjB,CAAC;AAEd,CAAC;AAEDsH,QAAQ,CAACnU,SAAS,GAAGA,WAAS;;;ACjFvB,IAAM+V,OAAK,GAAGpS,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO,CACrC;AAEM,IAAMyU,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMrC;AAEM,IAAMmS,YAAY,GAAGtS,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,oOAAA,CAAA,CAAA,CAAA,CAWrC;;AC3BM,IAAM9D,WAAS,GAAG;EACrBiI,eAAe,EAAE/H,SAAS,CAACC,MAAM;EACjC+V,QAAQ,EAAEhW,SAAS,CAACgB;AACxB,CAAC;;;ACFM,IAAMiV,GAAG,GAAGxS,MAAM,CAACyS,KAAK,CAACC,KAAK,CAAC;AAAEhN,EAAAA,IAAI,EAAE;AAAQ,CAAC,CAAC,CAAAxF,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,6LAAA,EAAA,oSAAA,CAAA,CAAA,CAAA,EAQhCC,KAAK,CAACT,KAAK,CAACd,QAAQ,CAgB3C;;ACvBM,IAAM8T,QAAQ,GAAG,SAAXA,QAAQA,CAAA3R,IAAA,EAAsC;AAAA,EAAA,IAAhCsD,eAAe,GAAAtD,IAAA,CAAfsD,eAAe;IAAEiO,QAAQ,GAAAvR,IAAA,CAARuR,QAAQ;AAChD,EAAA,IAAA9B,SAAA,GAA0BC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/B9Q,IAAAA,KAAK,GAAAgR,UAAA,CAAA,CAAA,CAAA;AAAEiC,IAAAA,QAAQ,GAAAjC,UAAA,CAAA,CAAA,CAAA;AAEtBM,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAM4B,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC7B,IAAI,CAACnT,KAAK,EAAE;AACR,QAAA;AACJ,MAAA;MACA4S,QAAQ,CAAC5S,KAAK,CAAC;IACnB,CAAC,EAAE,GAAG,CAAC;IAEP,OAAO,YAAA;MAAA,OAAMoT,YAAY,CAACF,OAAO,CAAC;AAAA,IAAA,CAAA;AACtC,EAAA,CAAC,EAAE,CAAClT,KAAK,CAAC,CAAC;AAEX,EAAA,IAAMqT,aAAa,GAAG,SAAhBA,aAAaA,CAAGlK,CAAC,EAAI;AACvB8J,IAAAA,QAAQ,CAAC9J,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC;EAC5B,CAAC;AAED,EAAA,oBAAOjR,KAAA,CAAAC,aAAA,CAACuQ,GAAG,EAAA;AAACS,IAAAA,KAAK,EAAE3O,eAAgB;AAACiO,IAAAA,QAAQ,EAAES;AAAc,GAAE,CAAC;AACnE,CAAC;AAEDL,QAAQ,CAACtW,SAAS,GAAGA,WAAS;;;ACtBvB,IAAM6W,WAAW,GAAGlT,MAAM,CAACmB,GAAG,CAAAjB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EACxB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGiC,KAAK,GAAAjC,IAAA,CAALiC,KAAK;AAAA,EAAA,OAAOA,KAAK,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EACpC,UAAAhC,KAAA,EAAA;AAAA,EAAA,IAAGiC,MAAM,GAAAjC,KAAA,CAANiC,MAAM;AAAA,EAAA,OAAOA,MAAM,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EACpC,UAAA7B,KAAA,EAAA;AAAA,EAAA,IAAG8R,QAAQ,GAAA9R,KAAA,CAAR8R,QAAQ;AAAA,EAAA,OAAOA,QAAQ,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EAC1C,UAAAzR,KAAA,EAAA;AAAA,EAAA,IAAG0R,SAAS,GAAA1R,KAAA,CAAT0R,SAAS;AAAA,EAAA,OAAOA,SAAS,GAAG,IAAI,IAAI,MAAM;AAAA,CAAA,EAC7C,UAAAvG,KAAA,EAAA;AAAA,EAAA,IAAGwG,SAAS,GAAAxG,KAAA,CAATwG,SAAS;EAAA,OAAOA,SAAS,IAAI,SAAS;AAAA,CAAA,EACzC,UAAAnG,KAAA,EAAA;AAAA,EAAA,IAAAoG,eAAA,GAAApG,KAAA,CAAGqG,SAAS;AAATA,IAAAA,SAAS,GAAAD,eAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,eAAA;EAAA,OAAA,EAAA,CAAA3N,MAAA,CAAU4N,SAAS,EAAA,IAAA,CAAA;AAAA,CAAI,EACrC,UAAApG,KAAA,EAAA;AAAA,EAAA,IAAAqG,iBAAA,GAAArG,KAAA,CAAGe,WAAW;AAAXA,IAAAA,WAAW,GAAAsF,iBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,iBAAA;EAAA,OAAA,EAAA,CAAA7N,MAAA,CAAUuI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAAd,KAAA,EAAA;AAAA,EAAA,IAAAqG,kBAAA,GAAArG,KAAA,CAAGsG,YAAY;AAAZA,IAAAA,YAAY,GAAAD,kBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,kBAAA;EAAA,OAAA,EAAA,CAAA9N,MAAA,CAAU+N,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC/C,UAAArG,KAAA,EAAA;AAAA,EAAA,IAAAsG,gBAAA,GAAAtG,KAAA,CAAGY,UAAU;AAAVA,IAAAA,UAAU,GAAA0F,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;EAAA,OAAA,EAAA,CAAAhO,MAAA,CAAUsI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACzC,UAAAe,KAAA,EAAA;AAAA,EAAA,IAAA4E,gBAAA,GAAA5E,KAAA,CAAGpB,UAAU;AAAVA,IAAAA,UAAU,GAAAgG,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;EAAA,OAAA,EAAA,CAAAjO,MAAA,CAAUiI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACvC,UAAAsB,KAAA,EAAA;AAAA,EAAA,IAAA2E,kBAAA,GAAA3E,KAAA,CAAGnB,YAAY;AAAZA,IAAAA,YAAY,GAAA8F,kBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,kBAAA;EAAA,OAAA,EAAA,CAAAlO,MAAA,CAAUoI,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC5C,UAAAoB,MAAA,EAAA;AAAA,EAAA,IAAA2E,oBAAA,GAAA3E,MAAA,CAAGtB,aAAa;AAAbA,IAAAA,aAAa,GAAAiG,oBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,oBAAA;EAAA,OAAA,EAAA,CAAAnO,MAAA,CAAUkI,aAAa,EAAA,IAAA,CAAA;AAAA,CAAI,EACjD,UAAAkG,MAAA,EAAA;AAAA,EAAA,IAAAC,kBAAA,GAAAD,MAAA,CAAGjG,WAAW;AAAXA,IAAAA,WAAW,GAAAkG,kBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,kBAAA;EAAA,OAAA,EAAA,CAAArO,MAAA,CAAUmI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAAmG,MAAA,EAAA;AAAA,EAAA,IAAAC,mBAAA,GAAAD,MAAA,CAAGE,YAAY;AAAZA,IAAAA,YAAY,GAAAD,mBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,mBAAA;EAAA,OAAA,EAAA,CAAAvO,MAAA,CAAUwO,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,CACjE;AACM,IAAMC,UAAU,GAAGpU,MAAM,CAACwB,CAAC,CAAAJ,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,qBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EACf,UAAAkU,MAAA,EAAA;AAAA,EAAA,IAAGvQ,UAAU,GAAAuQ,MAAA,CAAVvQ,UAAU;AAAA,EAAA,OAAOA,UAAU,IAAI1D,KAAK,CAACP,KAAK,CAACjC,OAAO;AAAA,CAAA,EACvD,UAAA0W,MAAA,EAAA;AAAA,EAAA,IAAAC,eAAA,GAAAD,MAAA,CAAGvQ,QAAQ;AAARA,IAAAA,QAAQ,GAAAwQ,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;EAAA,OAAA,EAAA,CAAA5O,MAAA,CAAU5B,QAAQ,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAAyQ,MAAA,EAAA;AAAA,EAAA,IAAG7U,KAAK,GAAA6U,MAAA,CAAL7U,KAAK;AAAA,EAAA,OAAOA,KAAK,IAAIS,KAAK,CAACT,KAAK,CAAC7B,QAAQ;AAAA,CAAA,EACtC,UAAA2W,MAAA,EAAA;AAAA,EAAA,IAAAC,iBAAA,GAAAD,MAAA,CAAGzQ,UAAU;AAAVA,IAAAA,UAAU,GAAA0Q,iBAAA,KAAA,MAAA,GAAG,GAAG,GAAAA,iBAAA;AAAA,EAAA,OAAO1Q,UAAU;AAAA,CAAA,EACpC,UAAA2Q,MAAA,EAAA;AAAA,EAAA,IAAGxO,UAAU,GAAAwO,MAAA,CAAVxO,UAAU;EAAA,OAAOA,UAAU,IAAI,QAAQ;AAAA,CAAA,EAC3C,UAAAyO,MAAA,EAAA;AAAA,EAAA,IAAGzQ,SAAS,GAAAyQ,MAAA,CAATzQ,SAAS;EAAA,OAAOA,SAAS,IAAI,MAAM;AAAA,CAAA,EACtC,UAAA0Q,MAAA,EAAA;AAAA,EAAA,IAAAC,gBAAA,GAAAD,MAAA,CAAGtB,SAAS;AAATA,IAAAA,SAAS,GAAAuB,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;EAAA,OAAA,EAAA,CAAAnP,MAAA,CAAU4N,SAAS,EAAA,IAAA,CAAA;AAAA,CAAI,EACrC,UAAAwB,MAAA,EAAA;AAAA,EAAA,IAAAC,kBAAA,GAAAD,MAAA,CAAG7G,WAAW;AAAXA,IAAAA,WAAW,GAAA8G,kBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,kBAAA;EAAA,OAAA,EAAA,CAAArP,MAAA,CAAUuI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,EAC1C,UAAA+G,MAAA,EAAA;AAAA,EAAA,IAAAC,mBAAA,GAAAD,MAAA,CAAGvB,YAAY;AAAZA,IAAAA,YAAY,GAAAwB,mBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,mBAAA;EAAA,OAAA,EAAA,CAAAvP,MAAA,CAAU+N,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC/C,UAAAyB,MAAA,EAAA;AAAA,EAAA,IAAAC,iBAAA,GAAAD,MAAA,CAAGlH,UAAU;AAAVA,IAAAA,UAAU,GAAAmH,iBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,iBAAA;EAAA,OAAA,EAAA,CAAAzP,MAAA,CAAUsI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACzC,UAAAoH,MAAA,EAAA;AAAA,EAAA,IAAAC,iBAAA,GAAAD,MAAA,CAAGzH,UAAU;AAAVA,IAAAA,UAAU,GAAA0H,iBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,iBAAA;EAAA,OAAA,EAAA,CAAA3P,MAAA,CAAUiI,UAAU,EAAA,IAAA,CAAA;AAAA,CAAI,EACvC,UAAA2H,MAAA,EAAA;AAAA,EAAA,IAAAC,mBAAA,GAAAD,MAAA,CAAGxH,YAAY;AAAZA,IAAAA,YAAY,GAAAyH,mBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,mBAAA;EAAA,OAAA,EAAA,CAAA7P,MAAA,CAAUoI,YAAY,EAAA,IAAA,CAAA;AAAA,CAAI,EAC5C,UAAA0H,MAAA,EAAA;AAAA,EAAA,IAAAC,oBAAA,GAAAD,MAAA,CAAG5H,aAAa;AAAbA,IAAAA,aAAa,GAAA6H,oBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,oBAAA;EAAA,OAAA,EAAA,CAAA/P,MAAA,CAAUkI,aAAa,EAAA,IAAA,CAAA;AAAA,CAAI,EACjD,UAAA8H,MAAA,EAAA;AAAA,EAAA,IAAAC,kBAAA,GAAAD,MAAA,CAAG7H,WAAW;AAAXA,IAAAA,WAAW,GAAA8H,kBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,kBAAA;EAAA,OAAA,EAAA,CAAAjQ,MAAA,CAAUmI,WAAW,EAAA,IAAA,CAAA;AAAA,CAAI,CAC9D;;;AC/BM,IAAM+H,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAI5C,KAAK,EAAE6C,UAAU,EAAK;AAC3D,EAAA,OAAQ7C,KAAK,GAAG6C,UAAU,GAAI,GAAG;AACrC,CAAC;AAKM,IAAMC,SAAS,GAAG,SAAZA,SAASA,GAAS;AAC3B,EAAA,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;AACpC,IAAA,IAAMzD,KAAK,GAAGlB,QAAQ,CAACtP,aAAa,CAAC,OAAO,CAAC;IAC7CwQ,KAAK,CAAC/M,IAAI,GAAG,MAAM;IACnB+M,KAAK,CAAC0D,MAAM,GAAG,SAAS;AACxB1D,IAAAA,KAAK,CAACb,KAAK,CAACwE,OAAO,GAAG,MAAM;AAE5B3D,IAAAA,KAAK,CAACjB,gBAAgB,CAAC,QAAQ,EAAE,UAAAL,KAAK,EAAI;MACtC,IAAIA,KAAK,CAACG,MAAM,CAAC+E,KAAK,CAAClE,MAAM,GAAG,CAAC,EAAE;QAC/B8D,OAAO,CAAC9E,KAAK,CAACG,MAAM,CAAC+E,KAAK,CAAC,CAAC,CAAC,CAAC;AAClC,MAAA,CAAC,MAAM;AACHH,QAAAA,MAAM,CAAC,IAAII,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACzC,MAAA;AACJ,IAAA,CAAC,CAAC;IAEF7D,KAAK,CAAC8D,KAAK,EAAE;AACjB,EAAA,CAAC,CAAC;AACN,CAAC;AAEM,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,IAAI,EAAI;AAClC,EAAA,IACI,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAEI,MAAM,CAAA,IACnC,CAAAiS,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAEO,UAAU,CAAA,IACvC,CAAA8R,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAEW,KAAK,CAAA,IAClC,CAAA0R,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEQ,cAAc,CAAA,IAC3C,CAAA6R,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEK,MAAM,CAAA,IACnC,CAAAgS,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEU,IAAI,CAAA,IACjC,CAAA2R,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEM,QAAQ,CAAA,IACrC,CAAA+R,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAES,YAAY,CAAA,EAC3C;AACE,IAAA,OAAO,IAAI;AACf,EAAA,CAAC,MAAM;AACH,IAAA,OAAO,KAAK;AAChB,EAAA;AACJ,CAAC;AACM,IAAM6R,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAID,IAAI,EAAE/Q,IAAI,EAAK;AAC/C,EAAA,IAAI+Q,IAAI,IAAI,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,MAAKA,IAAI,EAAE;AAC7B,IAAA,OAAO,IAAI;AACf,EAAA,CAAC,MAAM;AACH,IAAA,OAAO,KAAK;AAChB,EAAA;AACJ,CAAC;AAEM,IAAMiR,QAAQ,GAAG,SAAXA,QAAQA,CAAIpZ,IAAI,EAAEqZ,KAAK,EAAK;AACrC,EAAA,IAAIC,SAAS;AAEb,EAAA,OAAO,YAAmB;AAAA,IAAA,IAAAC,KAAA,GAAA,IAAA;AAAA,IAAA,KAAA,IAAAC,IAAA,GAAAC,SAAA,CAAA7E,MAAA,EAAN8E,IAAI,GAAA,IAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,EAAA,EAAA;AAAJF,MAAAA,IAAI,CAAAE,IAAA,CAAA,GAAAH,SAAA,CAAAG,IAAA,CAAA;AAAA,IAAA;IACpBpE,YAAY,CAAC8D,SAAS,CAAC;IACvBA,SAAS,GAAG/D,UAAU,CAAC,YAAM;AACzBvV,MAAAA,IAAI,CAAC6Z,KAAK,CAACN,KAAI,EAAEG,IAAI,CAAC;IAC1B,CAAC,EAAEL,KAAK,CAAC;EACb,CAAC;AACL,CAAC;AAEM,IAAMS,cAAc,GAAG,SAAjBA,cAAcA,CAAIpE,KAAK,EAAsC;AAAA,EAAA,IAApCqE,YAAY,GAAAN,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AAAA,EAAA,IAAEQ,SAAS,GAAAR,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AACjE,EAAA,IAAMS,GAAG,GAAGC,UAAU,CAACzE,KAAK,CAAC;AAC7B,EAAA,IAAI0E,KAAK,CAACF,GAAG,CAAC,EAAE,OAAOH,YAAY;EACnC,OAAOI,UAAU,CAACD,GAAG,CAACG,OAAO,CAACJ,SAAS,CAAC,CAAC;AAC7C,CAAC;AAEM,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AACpC,EAAA,IAAMC,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1B,EAAA,IAAMC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;EAEtB,IAAMC,UAAU,GAAG1R,YAAY,CAAC2C,GAAG,CAAC,UAAAgP,IAAI,EAAI;IACxC,IAAMC,QAAQ,GAAGD,IAAI,CAACE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;AACxC,IAAA,IAAMC,UAAU,GAAGL,OAAO,CACrB9O,GAAG,CAAC,UAAAoP,IAAI,EAAA;AAAA,MAAA,OAAIP,OAAO,CAAC7O,GAAG,CAAC,UAAAqP,CAAC,EAAA;AAAA,QAAA,OAAA,EAAA,CAAA3S,MAAA,CAAO0S,IAAI,EAAA,GAAA,CAAA,CAAA1S,MAAA,CAAI2S,CAAC,CAAA;AAAA,MAAA,CAAE,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAAA,IAAA,CAAA,CAAC,CACvDA,IAAI,CAAC,GAAG,CAAC;AACd,IAAA,OAAA,SAAA,CAAA5S,MAAA,CAAiBuS,QAAQ,EAAA,aAAA,CAAA,CAAAvS,MAAA,CAAcyS,UAAU,CAAA;AACrD,EAAA,CAAC,CAAC;EAEF,IAAMI,OAAO,GAAA,oCAAA,CAAA7S,MAAA,CAAwCqS,UAAU,CAACO,IAAI,CAAC,GAAG,CAAC,EAAA,eAAA,CAAe;AAExF,EAAA,OAAO,IAAIvC,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;IACpC,IAAI;MACA,IAAI,CAAC3E,QAAQ,CAACkH,aAAa,CAAA,cAAA,CAAA9S,MAAA,CAAe6S,OAAO,EAAA,KAAA,CAAI,CAAC,EAAE;AACpD,QAAA,IAAME,IAAI,GAAGnH,QAAQ,CAACtP,aAAa,CAAC,MAAM,CAAC;QAC3CyW,IAAI,CAACC,IAAI,GAAGH,OAAO;QACnBE,IAAI,CAACE,GAAG,GAAG,YAAY;AACvBrH,QAAAA,QAAQ,CAACsH,IAAI,CAACC,WAAW,CAACJ,IAAI,CAAC;AACnC,MAAA;MAEA,IAAMK,YAAY,GAAG,EAAE;AACvBzS,MAAAA,YAAY,CAAC0S,OAAO,CAAC,UAAAf,IAAI,EAAI;AACzBH,QAAAA,OAAO,CAACkB,OAAO,CAAC,UAAAC,MAAM,EAAI;AACtBlB,UAAAA,OAAO,CAACiB,OAAO,CAAC,UAAAX,IAAI,EAAI;YACpBU,YAAY,CAACG,IAAI,CACb3H,QAAQ,CAAC1R,KAAK,CAACsZ,IAAI,CAAA,EAAA,CAAAxT,MAAA,CACZ0S,IAAI,GAAG,QAAQ,GAAG,QAAQ,EAAA,GAAA,CAAA,CAAA1S,MAAA,CAAIsT,MAAM,EAAA,UAAA,CAAA,CAAAtT,MAAA,CAAUsS,IAAI,EAAA,IAAA,CACzD,CACJ,CAAC;AACL,UAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AACN,MAAA,CAAC,CAAC;AAEFjC,MAAAA,OAAO,CAACoD,GAAG,CAACL,YAAY,CAAC,CACpBM,IAAI,CAAC,YAAA;AAAA,QAAA,OAAMpD,OAAO,CAAA,aAAA,CAAAtQ,MAAA,CAAUW,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAE6L,MAAM,EAAA,eAAA,CAAe,CAAC;MAAA,CAAA,CAAC,CAAA,OAAA,CAC5D,CAAC,UAAAmH,GAAG,EAAA;QAAA,OAAIpD,MAAM,CAACoD,GAAG,CAAC;MAAA,CAAA,CAAC;IAClC,CAAC,CAAC,OAAOA,GAAG,EAAE;MACVpD,MAAM,CAACoD,GAAG,CAAC;AACf,IAAA;AACJ,EAAA,CAAC,CAAC;AACN,CAAC;AACM,IAAMC,qBAAqB,gBAAA,YAAA;EAAA,IAAAvY,IAAA,GAAAwY,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,IAAA,IAAAhQ,QAAA;MAAAiQ,aAAA;AAAAC,MAAAA,KAAA,GAAA7C,SAAA;AAAA,IAAA,OAAAyC,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAwB,QAAA,EAAA;MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,QAAA,KAAA,CAAA;UAAOpQ,QAAQ,GAAAkQ,KAAA,CAAA1H,MAAA,GAAA,CAAA,IAAA0H,KAAA,CAAA,CAAA,CAAA,KAAAtC,SAAA,GAAAsC,KAAA,CAAA,CAAA,CAAA,GAAG,EAAE;UAC/CD,aAAa,GAAGjQ,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CACxBV,GAAG,CAAC,UAAAwN,IAAI,EAAI;YACV,IAAItU,GAAG,GAAG,IAAI;YAEd,IAAI,CAAAsU,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAE/Q,IAAI,MAAK,OAAO,IAAI,CAAA+Q,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,MAAK,iBAAiB,EAAE;AAC5DvD,cAAAA,GAAG,GAAGsU,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEtU,GAAG;AACnB,YAAA,CAAC,MAAM,IAAI,CAAAsU,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE/Q,IAAI,MAAK,IAAI,EAAE;AAC5BvD,cAAAA,GAAG,GAAGsU,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEuD,MAAM;AACtB,YAAA;AAEA,YAAA,IAAI,CAAC7X,GAAG,EAAE,OAAO,IAAI;AAErB,YAAA,OAAO,IAAI6T,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAK;AACpC,cAAA,IAAM/U,GAAG,GAAG,IAAI8Y,KAAK,EAAE;cACvB9Y,GAAG,CAAC+Y,MAAM,GAAG,YAAA;AAAA,gBAAA,OAAMjE,OAAO,CAAC;AAAE9T,kBAAAA,GAAG,EAAHA,GAAG;AAAEgY,kBAAAA,OAAO,EAAE;AAAK,iBAAC,CAAC;AAAA,cAAA,CAAA;cAClDhZ,GAAG,CAACiZ,OAAO,GAAG,YAAA;AAAA,gBAAA,OAAMlE,MAAM,CAAC;AAAE/T,kBAAAA,GAAG,EAAHA,GAAG;AAAEgY,kBAAAA,OAAO,EAAE;AAAM,iBAAC,CAAC;AAAA,cAAA,CAAA;cACnDhZ,GAAG,CAACgB,GAAG,GAAGA,GAAG;AACjB,YAAA,CAAC,CAAC;AACN,UAAA,CAAC,CAAC,CACDkY,MAAM,CAACC,OAAO,CAAC;AAAA,UAAA,OAAAR,QAAA,CAAAS,CAAA,IAEbvE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEwE,UAAU,CAACZ,aAAa,CAAC,CAACP,IAAI,CAAC,UAAAoB,OAAO,EAAI;YACtD,IAAMC,SAAS,GAAGD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEJ,MAAM,CAAC,UAAAM,CAAC,EAAA;cAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEC,MAAM,MAAK,WAAW;AAAA,YAAA,CAAA,CAAC,CAAC3R,GAAG,CAAC,UAAA0R,CAAC,EAAA;AAAA,cAAA,OAAIA,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,MAAA,GAAA,MAAA,GAADA,CAAC,CAAE1H,KAAK;YAAA,CAAA,CAAC;YAEpF,IAAM4H,MAAM,GAAGJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEJ,MAAM,CAAC,UAAAM,CAAC,EAAA;cAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEC,MAAM,MAAK,UAAU;AAAA,YAAA,CAAA,CAAC,CAAC3R,GAAG,CAAC,UAAA0R,CAAC,EAAA;AAAA,cAAA,OAAIA,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,MAAA,GAAA,MAAA,GAADA,CAAC,CAAEG,MAAM;YAAA,CAAA,CAAC;YAEjF,OAAO;AAAEJ,cAAAA,SAAS,EAATA,SAAS;AAAEG,cAAAA,MAAM,EAANA;aAAQ;AAChC,UAAA,CAAC,CAAC,CAAA;AAAA;AAAA,IAAA,CAAA,EAAAlB,OAAA,CAAA;EAAA,CACL,CAAA,CAAA;AAAA,EAAA,OAAA,SA7BYJ,qBAAqBA,GAAA;AAAA,IAAA,OAAAvY,IAAA,CAAAoW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,EAAA,CAAA;AAAA,CAAA,EA6BjC;AACM,IAAM+D,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAsB;AAAA,EAAA,IAAlBpR,QAAQ,GAAAqN,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAC7C,EAAA,OAAOrN,QAAQ,CAACV,GAAG,CAAC,UAAAwN,IAAI,EAAI;IACxB,IAAI,OAAO,IAAIA,IAAI,EAAE;AACjB;AACA,MAA2BA,IAAI,CAAvBpT,KAAK;AAAK2X,YAAAA,IAAI,GAAAC,wBAAA,CAAKxE,IAAI,EAAAyE,SAAA;AAC/B,MAAA,OAAOF,IAAI;AACf,IAAA;AACA,IAAA,OAAOvE,IAAI;AACf,EAAA,CAAC,CAAC;AACN,CAAC;AAEM,IAAM0E,kBAAkB,gBAAA,YAAA;AAAA,EAAA,IAAAla,KAAA,GAAAuY,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAA0B,QAAAA,CAAOzQ,QAAQ,EAAE0Q,WAAW,EAAA;AAAA,IAAA,IAAAC,KAAA;AAAAC,MAAAA,MAAA,GAAAvE,SAAA;AAAA,IAAA,OAAAyC,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAkD,SAAA,EAAA;MAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,CAAA;AAAA,QAAA,KAAA,CAAA;UAAEuB,KAAK,GAAAC,MAAA,CAAApJ,MAAA,GAAA,CAAA,IAAAoJ,MAAA,CAAA,CAAA,CAAA,KAAAhE,SAAA,GAAAgE,MAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AAAA,UAAA,OAAAC,SAAA,CAAAjB,CAAA,CAAA,CAAA,EAE9D,IAAIvE,OAAO,cAAA,YAAA;AAAA,YAAA,IAAA3U,KAAA,GAAAmY,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAC,SAAA+B,QAAAA,CAAOxF,OAAO,EAAEC,MAAM,EAAA;AAAA,cAAA,IAAAwF,KAAA,EAAAC,MAAA,EAAAC,OAAA,EAAAC,EAAA;AAAA,cAAA,OAAApC,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAwD,SAAA,EAAA;gBAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA/B,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAA+B,oBAAAA,SAAA,CAAAta,CAAA,GAAA,CAAA;AAE3Bka,oBAAAA,KAAK,GAAG/Q,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEyG,OAAO;AAAA,oBAAA,IAC1BsK,KAAK,EAAA;AAAAI,sBAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAAA,OAAA+B,SAAA,CAAAvB,CAAA,IACCrE,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAAA,kBAAA,KAAA,CAAA;AAAA4F,oBAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;oBAAA,OAItB2B,KAAK,CAACK,QAAQ,CAAC;AAAEC,sBAAAA,UAAU,EAAEV;AAAM,qBAAC,CAAC;AAAA,kBAAA,KAAA,CAAA;oBAApDK,MAAM,GAAAG,SAAA,CAAAG,CAAA;AAAAH,oBAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;AAAA,oBAAA,OAGU4B,MAAM,CAACO,SAAS,CAAC,WAAW,CAAC;AAAA,kBAAA,KAAA,CAAA;oBAA7CN,OAAO,GAAAE,SAAA,CAAAG,CAAA;AAEb;oBACAhG,OAAO,CAAC2F,OAAO,CAAC;AAACE,oBAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;AAAA,oBAAA;AAAA,kBAAA,KAAA,CAAA;AAAA+B,oBAAAA,SAAA,CAAAta,CAAA,GAAA,CAAA;oBAAAqa,EAAA,GAAAC,SAAA,CAAAG,CAAA;oBAEjB/F,MAAM,CAAA2F,EAAM,CAAC;AAAC,kBAAA,KAAA,CAAA;oBAAA,OAAAC,SAAA,CAAAvB,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,cAAA,CAAA,EAAAkB,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;YAAA,CAErB,CAAA,CAAA;YAAA,OAAA,UAAAU,GAAA,EAAAC,GAAA,EAAA;AAAA,cAAA,OAAA/a,KAAA,CAAA+V,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,YAAA,CAAA;UAAA,CAAA,EAAA,CAAC,CAAA;AAAA;AAAA,IAAA,CAAA,EAAAoE,QAAA,CAAA;EAAA,CACL,CAAA,CAAA;AAAA,EAAA,OAAA,SArBYD,kBAAkBA,CAAAkB,EAAA,EAAAC,GAAA,EAAA;AAAA,IAAA,OAAArb,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,EAAA,CAAA;AAAA,CAAA,EAqB9B;AAEM,IAAMuF,cAAc,GAAG,SAAjBA,cAAcA,CAAG9e,MAAM,EAAI;AACpC,EAAA,IAAI8I,kBAAkB,CAACiW,QAAQ,CAAC/e,MAAM,CAAC,EAAE;AACrC,IAAA,OAAOA,MAAM;AACjB,EAAA,CAAC,MAAM;AACH,IAAA,OAAO,IAAI;AACf,EAAA;AACJ,CAAC;;ACtLM,IAAMpB,WAAS,GAAG;EACrB4W,KAAK,EAAE1W,SAAS,CAAC+M,MAAM;EACvBmT,eAAe,EAAElgB,SAAS,CAACgB,IAAI;EAC/Bmf,GAAG,EAAEngB,SAAS,CAAC+M,MAAM;EACrBqT,GAAG,EAAEpgB,SAAS,CAAC+M,MAAM;EACrBsT,IAAI,EAAErgB,SAAS,CAAC+M,MAAM;EACtBuT,WAAW,EAAEtgB,SAAS,CAAC+M,MAAM;EAC7BwT,SAAS,EAAEvgB,SAAS,CAACqE,IAAI;EACzBmc,UAAU,EAAExgB,SAAS,CAACqE,IAAI;AAC1BwN,EAAAA,GAAG,EAAE7R,SAAS,CAAC+D,SAAS,CAAC,CACjB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACR0T,aAAa,EAAEzgB,SAAS,CAACQ,IAAI;EAC7BkgB,OAAO,EAAE1gB,SAAS,CAACC,MAAM;EACzBsH,UAAU,EAAEvH,SAAS,CAACC,MAAM;EAC5B6R,OAAO,EAAE9R,SAAS,CAACC,MAAM;EACzB8R,eAAe,EAAE/R,SAAS,CAACC;AAC/B,CAAC;;ACZM,IAAM0gB,aAAa,GAAG,SAAhBA,aAAaA,CAAAlc,IAAA,EAgBpB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IAAA2V,UAAA,GAAAnc,IAAA,CAfFiS,KAAK;AAALA,IAAAA,KAAK,GAAAkK,UAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,UAAA;IACTV,eAAe,GAAAzb,IAAA,CAAfyb,eAAe;IAAAW,QAAA,GAAApc,IAAA,CACf0b,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,QAAA;IAAAC,QAAA,GAAArc,IAAA,CACP2b,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,QAAA;IAAAC,SAAA,GAAAtc,IAAA,CACP4b,IAAI;AAAJA,IAAAA,IAAI,GAAAU,SAAA,KAAA,MAAA,GAAG,GAAG,GAAAA,SAAA;IAAAC,gBAAA,GAAAvc,IAAA,CACV6b,WAAW;AAAXA,IAAAA,WAAW,GAAAU,gBAAA,KAAA,MAAA,GAAG,GAAG,GAAAA,gBAAA;IACjBT,SAAS,GAAA9b,IAAA,CAAT8b,SAAS;IACTC,UAAU,GAAA/b,IAAA,CAAV+b,UAAU;IAAAS,QAAA,GAAAxc,IAAA,CACVoN,GAAG;AAAHA,IAAAA,GAAG,GAAAoP,QAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,QAAA;IAAAC,kBAAA,GAAAzc,IAAA,CACRgc,aAAa;AAAbA,IAAAA,aAAa,GAAAS,kBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,kBAAA;IAAAC,YAAA,GAAA1c,IAAA,CACpBic,OAAO;AAAPA,IAAAA,OAAO,GAAAS,YAAA,KAAA,MAAA,GAAG,SAAS,GAAAA,YAAA;IAAAC,eAAA,GAAA3c,IAAA,CACnB8C,UAAU;IAAVA,UAAU,GAAA6Z,eAAA,KAAA,MAAA,GAAGvd,KAAK,CAACP,KAAK,CAAChC,SAAS,GAAA8f,eAAA;IAAAC,mBAAA,GAAA5c,IAAA,CAClCvE,cAAc;AAAdA,IAAAA,cAAc,GAAAmhB,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IAAAC,YAAA,GAAA7c,IAAA,CACrBqN,OAAO;IAAPA,OAAO,GAAAwP,YAAA,KAAA,MAAA,GAAGrX,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,cAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCsW,OAAO,GAAAD,YAAA;IAAAE,oBAAA,GAAA/c,IAAA,CACpDsN,eAAe;AAAfA,IAAAA,eAAe,GAAAyP,oBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,oBAAA;AAE1B,EAAA,IAAMC,SAAS,GAAGhN,MAAM,CAAC,IAAI,CAAC;AAE9B,EAAA,IAAAP,SAAA,GAAwDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhEwN,IAAAA,oBAAoB,GAAAtN,UAAA,CAAA,CAAA,CAAA;AAAEuN,IAAAA,uBAAuB,GAAAvN,UAAA,CAAA,CAAA,CAAA;AACpDM,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;AAChC,MAAA,IAAI6M,SAAS,CAAC5M,OAAO,IAAI,CAAC4M,SAAS,CAAC5M,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QAChE4M,uBAAuB,CAAC,KAAK,CAAC;AAClC,MAAA;IACJ,CAAC;AACD3M,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAC1D,OAAO,YAAA;AAAA,MAAA,OAAMK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,kBAAkB,CAAC;AAAA,IAAA,CAAA;EAC9E,CAAC,EAAE,EAAE,CAAC;EAEN,oBACIlP,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI0P,IAAAA,GAAG,EAAEqM,SAAU;AACfpM,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE;KACZ;AACF1O,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXwd,uBAAuB,CAAC,IAAI,CAAC;AACjC,IAAA;AAAE,GAAA,eAEFlc,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AAACxB,IAAAA,GAAG,EAAEA,GAAI;AAACC,IAAAA,OAAO,EAAEA,OAAQ;AAACC,IAAAA,eAAe,EAAEA;GAAgB,EAC9E0O,aAAa,KAAKF,SAAS,GAAGA,SAAS,gBAAG9a,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEgc;AAAY,GAAE,CAAC,CAAC,eAC7Enc,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AAACtQ,IAAAA,UAAU,EAAEA;GAAW,EAC9BmZ,OAAO,KAAK,SAAS,GAAA,EAAA,CAAAtX,MAAA,CAAMsN,KAAK,GAAG,GAAG,EAAA,GAAA,CAAA,GAAMmL,IAAI,CAACC,KAAK,CAACpL,KAAK,CACrD,CAAC,EACZ8J,UAAU,IAAIA,UACG,CAAC,EACtBkB,oBAAoB,iBACjBjc,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE,UAAU;MACpBkP,MAAM,EAAE,GAAG;AACXC,MAAAA,UAAU,EAAE,OAAO;AACnBvM,MAAAA,OAAO,EAAE,EAAE;AACXmC,MAAAA,YAAY,EAAE,CAAC;AACfqK,MAAAA,MAAM,EAAE,2BAA2B;AACnCC,MAAAA,MAAM,EAAE;AACZ;GAAE,eAEFzc,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACIyD,IAAAA,IAAI,EAAC,OAAO;AACZgX,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,IAAI,EAAEA,IAAK;AACX3J,IAAAA,KAAK,EAAEA,KAAM;AACbV,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAI;MACX2T,eAAe,CAACiC,MAAM,CAAC5V,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC,CAAC;IAC3C,CAAE;AACFrB,IAAAA,KAAK,EAAE;AAAE3O,MAAAA,KAAK,EAAE4Z;AAAY;GAC/B,CACA,CAER,CAAC;AAEd,CAAC;AAEDK,aAAa,CAAC7gB,SAAS,GAAGA,WAAS;;AClF5B,IAAMA,WAAS,GAAG;EACrB4W,KAAK,EAAE1W,SAAS,CAAC+M,MAAM;EACvBqV,WAAW,EAAEpiB,SAAS,CAACC,MAAM;EAC7BkgB,GAAG,EAAEngB,SAAS,CAAC+M,MAAM;EACrBqT,GAAG,EAAEpgB,SAAS,CAAC+M,MAAM;EACrBsT,IAAI,EAAErgB,SAAS,CAAC+M,MAAM;EACtBsV,mBAAmB,EAAEriB,SAAS,CAACgB,IAAI;EACnC6M,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxCsf,WAAW,EAAEtgB,SAAS,CAAC+M,MAAM;EAC7B7M,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC6R,OAAO,EAAE9R,SAAS,CAACC,MAAM;EACzBqiB,QAAQ,EAAEtiB,SAAS,CAACuiB;AACxB,CAAC;;ACNM,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA/d,IAAA,EAYnB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IAXFyL,KAAK,GAAAjS,IAAA,CAALiS,KAAK;IACL0L,WAAW,GAAA3d,IAAA,CAAX2d,WAAW;IAAAvB,QAAA,GAAApc,IAAA,CACX0b,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,QAAA;IAAAC,QAAA,GAAArc,IAAA,CACP2b,GAAG;AAAHA,IAAAA,GAAG,GAAAU,QAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,QAAA;IAAAC,SAAA,GAAAtc,IAAA,CACR4b,IAAI;AAAJA,IAAAA,IAAI,GAAAU,SAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,SAAA;IACRsB,mBAAmB,GAAA5d,IAAA,CAAnB4d,mBAAmB;IACnBxU,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IAAAmT,gBAAA,GAAAvc,IAAA,CACxB6b,WAAW;AAAXA,IAAAA,WAAW,GAAAU,gBAAA,KAAA,MAAA,GAAG,GAAG,GAAAA,gBAAA;IAAAK,mBAAA,GAAA5c,IAAA,CACjBvE,cAAc;AAAdA,IAAAA,cAAc,GAAAmhB,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IAAAC,YAAA,GAAA7c,IAAA,CACrBqN,OAAO;IAAPA,OAAO,GAAAwP,YAAA,KAAA,MAAA,GAAGrX,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,cAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCwX,sBAAsB,GAAAnB,YAAA;IAAAoB,aAAA,GAAAje,IAAA,CACnE6d,QAAQ;AAARA,IAAAA,QAAQ,GAAAI,aAAA,KAAA,MAAA,GAAGC,QAAQ,GAAAD,aAAA;AAEnB,EAAA,IAAMjB,SAAS,GAAGhN,MAAM,CAAC,IAAI,CAAC;AAC9B,EAAA,IAAAP,SAAA,GAAsDC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9D0O,IAAAA,mBAAmB,GAAAxO,UAAA,CAAA,CAAA,CAAA;AAAEyO,IAAAA,sBAAsB,GAAAzO,UAAA,CAAA,CAAA,CAAA;AAClD,EAAA,IAAA0O,UAAA,GAA0B3O,QAAQ,CAAC,EAAE,CAAC;IAAA4O,UAAA,GAAA1O,cAAA,CAAAyO,UAAA,EAAA,CAAA,CAAA;AAA/B1f,IAAAA,KAAK,GAAA2f,UAAA,CAAA,CAAA,CAAA;AAAE1M,IAAAA,QAAQ,GAAA0M,UAAA,CAAA,CAAA,CAAA;AAEtBrO,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAM4B,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC7B,IAAI,CAACnT,KAAK,EAAE;AACR,QAAA;AACJ,MAAA;MACAyK,wBAAwB,CAACzK,KAAK,CAAC;IACnC,CAAC,EAAE,GAAG,CAAC;IAEP,OAAO,YAAA;MAAA,OAAMoT,YAAY,CAACF,OAAO,CAAC;AAAA,IAAA,CAAA;AACtC,EAAA,CAAC,EAAE,CAAClT,KAAK,CAAC,CAAC;AAEX,EAAA,IAAMqT,aAAa,GAAG,SAAhBA,aAAaA,CAAGlK,CAAC,EAAI;AACvB8J,IAAAA,QAAQ,CAAC9J,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC;EAC5B,CAAC;AACDhC,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,KAAK,EAAI;AAChC,MAAA,IAAI6M,SAAS,CAAC5M,OAAO,IAAI,CAAC4M,SAAS,CAAC5M,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QAChE8N,sBAAsB,CAAC,KAAK,CAAC;AACjC,MAAA;IACJ,CAAC;AACD7N,IAAAA,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,kBAAkB,CAAC;IAC1D,OAAO,YAAA;AAAA,MAAA,OAAMK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,kBAAkB,CAAC;AAAA,IAAA,CAAA;EAC9E,CAAC,EAAE,EAAE,CAAC;EAEN,oBACIlP,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE;KACZ;AACFuC,IAAAA,GAAG,EAAEqM;AAAU,GAAA,eAEfhc,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AAACxB,IAAAA,GAAG,EAAE,EAAG;AAACC,IAAAA,OAAO,EAAEA,OAAQ;AAACC,IAAAA,eAAe,EAAE;AAAS,GAAA,eACvEtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE0c;AAAS,GAAE,CAAC,eAC9B7c,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPtQ,IAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAAChC;AACxB;AAAA;AACAkQ,IAAAA,YAAY,EAAE,EAAG;AACjBrN,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX0e,sBAAsB,CAAC,IAAI,CAAC;AAChC,IAAA;AAAE,GAAA,EAEDnM,KACO,CAAC,eACbjR,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACH1O,MAAAA,MAAM,EAAE,EAAE;AACVD,MAAAA,KAAK,EAAE,EAAE;AACTkR,MAAAA,YAAY,EAAE,CAAC;AACfoK,MAAAA,UAAU,EAAEne,KAAK,CAACT,KAAK,CAACL,WAAW;AACnC8W,MAAAA,OAAO,EAAE,MAAM;AACfmJ,MAAAA,UAAU,EAAE,QAAQ;AACpBpR,MAAAA,cAAc,EAAE,QAAQ;AACxBiB,MAAAA,QAAQ,EAAE;AACd;GAAE,eAEFpN,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACIyD,IAAAA,IAAI,EAAC,OAAO;AACZuN,IAAAA,KAAK,EAAE0L,WAAY;AACnBpM,IAAAA,QAAQ,EAAES,aAAc;AACxBpB,IAAAA,KAAK,EAAE;AACH3O,MAAAA,KAAK,EAAE,MAAM;AACbC,MAAAA,MAAM,EAAE,MAAM;AACdsb,MAAAA,MAAM,EAAE,MAAM;AACdvM,MAAAA,MAAM,EAAE,SAAS;AACjB/L,MAAAA,OAAO,EAAE;AACb;AAAE,GACL,CAAC,eACFlE,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACH1O,MAAAA,MAAM,EAAE,EAAE;AACVD,MAAAA,KAAK,EAAE,CAAC;AACRqB,MAAAA,eAAe,EAAEqa,WAAW;AAC5Ba,MAAAA,SAAS,EAAE,eAAe;AAC1BpQ,MAAAA,QAAQ,EAAE,UAAU;AACpBqQ,MAAAA,aAAa,EAAE;AACnB;GACH,CACA,CACa,CAAC,EACtBN,mBAAmB,iBAChBnd,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACHxC,MAAAA,QAAQ,EAAE,UAAU;MACpBkP,MAAM,EAAE,GAAG;AACXC,MAAAA,UAAU,EAAE,OAAO;AACnBvM,MAAAA,OAAO,EAAE,EAAE;AACXmC,MAAAA,YAAY,EAAE,CAAC;AACfqK,MAAAA,MAAM,EAAE,2BAA2B;AACnCC,MAAAA,MAAM,EAAE;AACZ;GAAE,eAEFzc,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AACIyD,IAAAA,IAAI,EAAC,OAAO;AACZgX,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,GAAG,EAAEA,GAAI;AACTC,IAAAA,IAAI,EAAEA,IAAK;AACX3J,IAAAA,KAAK,EAAEA,KAAM;AACbV,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAI;MACX8V,mBAAmB,CAACF,MAAM,CAAC5V,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC,CAAC;IAC/C,CAAE;AACFrB,IAAAA,KAAK,EAAE;AAAE3O,MAAAA,KAAK,EAAE4Z;AAAY;GAC/B,CACA,CAER,CAAC;AAEd,CAAC;AAEDkC,YAAY,CAAC1iB,SAAS,GAAGA,WAAS;;AC/G3B,IAAMqjB,eAAe,GAAG,SAAlBA,eAAeA,CAAA1e,IAAA,EAgBtB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAfF8B,oBAAoB,GAAA1I,IAAA,CAApB0I,oBAAoB;IACpB4D,qBAAqB,GAAAtM,IAAA,CAArBsM,qBAAqB;IACrBxD,oBAAoB,GAAA9I,IAAA,CAApB8I,oBAAoB;IACpBgB,sBAAsB,GAAA9J,IAAA,CAAtB8J,sBAAsB;IACtBD,8BAA8B,GAAA7J,IAAA,CAA9B6J,8BAA8B;IAC9BqB,aAAa,GAAAlL,IAAA,CAAbkL,aAAa;IACbC,gBAAgB,GAAAnL,IAAA,CAAhBmL,gBAAgB;IAChB1P,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACd6P,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBxG,kBAAkB,GAAA/E,IAAA,CAAlB+E,kBAAkB;IAClBC,uBAAuB,GAAAhF,IAAA,CAAvBgF,uBAAuB;IACvBwG,wBAAwB,GAAAxL,IAAA,CAAxBwL,wBAAwB;IACxBe,qBAAqB,GAAAvM,IAAA,CAArBuM,qBAAqB;IACrBoS,uBAAuB,GAAA3e,IAAA,CAAvB2e,uBAAuB;AAEvB,EAAA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAG9W,CAAC,EAAI;IAC/BY,oBAAoB,CAACZ,CAAC,CAAC;EAC3B,CAAC;AACD,EAAA,IAAM+W,sBAAsB,gBAAA,YAAA;IAAA,IAAA5e,KAAA,GAAAuY,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,MAAA,IAAAmG,IAAA,EAAAC,QAAA,EAAAC,MAAA;AAAA,MAAA,OAAAvG,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAwB,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAA,OACRhE,SAAS,EAAE;AAAA,UAAA,KAAA,CAAA;YAAxB+J,IAAI,GAAAhG,QAAA,CAAAmC,CAAA;AAAA,YAAA,IACL6D,IAAI,EAAA;AAAAhG,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAD,QAAA,CAAAS,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CACLjO,mBAAmB,EAAA;AAAAwN,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YACnBxN,qBAAqB,CAAC,IAAI,CAAC;AAACuN,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAA,OACLzN,mBAAmB,CAACwT,IAAI,CAAC;AAAA,UAAA,KAAA,CAAA;YAA1CC,QAAQ,GAAAjG,QAAA,CAAAmC,CAAA;YACdnS,oBAAoB,CAACiW,QAAQ,CAAC;YAC9BxT,qBAAqB,CAAC,KAAK,CAAC;AAACuN,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAEvBiG,YAAAA,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAAC9F,MAAM,GAAG,YAAM;AAClBpQ,cAAAA,oBAAoB,CAACkW,MAAM,CAACE,MAAM,CAAC;YACvC,CAAC;AACDF,YAAAA,MAAM,CAACG,aAAa,CAACL,IAAI,CAAC;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAhG,QAAA,CAAAS,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAZ,OAAA,CAAA;IAAA,CAElC,CAAA,CAAA;AAAA,IAAA,OAAA,SAfKkG,sBAAsBA,GAAA;AAAA,MAAA,OAAA5e,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAe3B;EAED,oBACIhV,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAACuO,QAAQ,EAAA;AACLpC,IAAAA,GAAG,EAAE,EAAG;IACRyB,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACmQ,OAAK,EAAA,IAAA,EAAEjG,gBAAwB,CAAE;AACxC6D,IAAAA,IAAI,EAAEoQ,MAAM,CAACC,IAAI,CAAC/d,SAAS,CAAE;AAC7B2N,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEnH,CAAC,EAAI;AACXoD,MAAAA,aAAa,IAAIA,aAAa,CAACpD,CAAC,CAAC;IACrC,CAAE;AACFuF,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC8Y;AAAU,GACzD,CAAC,eACFte,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBxB,IAAAA,GAAG,EAAE,EAAG;AACRC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC8Y,gBAAiB;AAC7DjS,IAAAA,eAAe,EAAE;AAAS,GAAA,eAE1BtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEqe;AAAoB,GAAE,CAAC,eACzCxe,KAAA,CAAAC,aAAA,CAAC0Q,QAAQ,EAAA;AACLrO,IAAAA,eAAe,EAAEgJ,qBAAqB,IAAIlN,KAAK,CAACT,KAAK,CAAC5B,KAAM;AAC5DwU,IAAAA,QAAQ,EAAEqN;AAAsB,GACnC,CACiB,CAAC,eACvB5d,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjB7B,IAAAA,YAAY,EAAE,EAAG;AACjBD,IAAAA,WAAW,EAAE,EAAG;AAChBpN,IAAAA,OAAO,EAAEmf,sBAAuB;AAChCxR,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC+Y,gBAAiB;AAC7DnS,IAAAA,eAAe,EAAE;AAAS,GAAA,EAEzBf,qBAAqB,iBAClBvL,KAAA,CAAAC,aAAA,CAACqQ,YAAY,EAAA;AACT5R,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;MACV6W,uBAAuB,IAAIA,uBAAuB,EAAE;MACpD7W,CAAC,CAACiJ,eAAe,EAAE;AACvB,IAAA;AAAE,GAAA,eAEF/P,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEue,SAAU;AAACxd,IAAAA,MAAM,EAAE,EAAG;AAACD,IAAAA,KAAK,EAAE;AAAG,GAAE,CAC3C,CACjB,eACDjB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;IACR/Q,GAAG,EAAE,CAAAoL,qBAAqB,KAAA,IAAA,IAArBA,qBAAqB,uBAArBA,qBAAqB,CAAEpL,GAAG,KAAIwe,mBAAoB;AACvDzd,IAAAA,MAAM,EAAE,EAAG;AACXD,IAAAA,KAAK,EAAE;AAAG,GACb,CACiB,CAAC,eACvBjB,KAAA,CAAAC,aAAA,CAACib,aAAa,EAAA;AACV7O,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCiZ,wBAAyB;AACrExS,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAEnI,sBAAuB;AAC9B2R,IAAAA,eAAe,EAAE5R,8BAA+B;AAChDiS,IAAAA,SAAS,eAAE9a,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE0e;AAA2B,KAAE,CAAE;AAC5D9D,IAAAA,UAAU,eAAE/a,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE2e;KAAoB;AAAE,GACvD,CAAC,eACF9e,KAAA,CAAAC,aAAA,CAAC8c,YAAY,EAAA;AACT3Q,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAElN,kBAAmB;AAC1B6Y,IAAAA,mBAAmB,EAAE,SAArBA,mBAAmBA,CAAE9V,CAAC,EAAI;AACtB0D,MAAAA,wBAAwB,CAAC,oBAAoB,EAAE1D,CAAC,CAAC;IACrD,CAAE;AACF6V,IAAAA,WAAW,EAAE3Y,uBAAwB;AACrCoE,IAAAA,wBAAwB,EAAE,SAA1BA,wBAAwBA,CAAEtB,CAAC,EAAI;AAC3B0D,MAAAA,wBAAwB,CAAC,yBAAyB,EAAE1D,CAAC,CAAC;IAC1D,CAAE;AACFuF,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAmL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCmZ,aAAc;AAC1DtkB,IAAAA,cAAc,EAAEA,cAAe;AAC/BoiB,IAAAA,QAAQ,EAAEmC,SAAU;AACpBrE,IAAAA,GAAG,EAAE;AAAI,GACZ,CACS,CAAC;AAEvB,CAAC;AAED+C,eAAe,CAACrjB,SAAS,GAAGA,WAAS;;ACjI9B,IAAMA,WAAS,GAAG;EACrByH,UAAU,EAAEvH,SAAS,CAACC,MAAM;AAC5BuH,EAAAA,QAAQ,EAAExH,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACR3J,KAAK,EAAEpD,SAAS,CAACC,MAAM;EACvByH,cAAc,EAAE1H,SAAS,CAACC,MAAM;EAChC0H,SAAS,EAAE3H,SAAS,CAACC,MAAM;AAC3BwH,EAAAA,UAAU,EAAEzH,SAAS,CAAC+D,SAAS,CAAC,CACxB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACRnF,SAAS,EAAE5H,SAAS,CAACC,MAAM;EAC3BykB,WAAW,EAAE1kB,SAAS,CAAC+M,MAAM;EAC7B2C,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;AChBM,IAAM4V,KAAK,GAAGpS,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,eAAA,EAAA,4CAAA,EAAA,sBAAA,EAAA,uGAAA,CAAA,CAAA,CAAA,EAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtB,UAAAkB,IAAA,EAAA;AAAA,EAAA,IAAA2c,eAAA,GAAA3c,IAAA,CAAG8C,UAAU;IAAVA,UAAU,GAAA6Z,eAAA,KAAA,MAAA,GAAGvd,KAAK,CAACP,KAAK,CAACjC,OAAO,GAAA+f,eAAA;AAAA,EAAA,OAAO7Z,UAAU;AAAA,CAAA,CAKtE;AAEM,IAAMuO,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMrC;;AClBM,IAAM9D,WAAS,GAAG;EACrB6kB,QAAQ,EAAE3kB,SAAS,CAAC4kB,OAAO,CAAC5kB,SAAS,CAACa,MAAM,CAAC;AAC7C8F,EAAAA,MAAM,EAAE3G,SAAS,CAAC+D,SAAS,CAAC,CACpB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACR8X,EAAAA,UAAU,EAAE7kB,SAAS,CAAC+D,SAAS,CAAC,CACpB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;AACZ4E,EAAAA,WAAW,EAAE3R,SAAS,CAAC+D,SAAS,CAAC,CACrB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAAC+M,MAAM,CACjB,CAAC;EACZoE,QAAQ,EAAEnR,SAAS,CAACQ,IAAI;EACxBuR,eAAe,EAAE/R,SAAS,CAACC;AAC/B,CAAC;;;ACfM,IAAM6kB,eAAe,GAAGrhB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,0BAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,sJAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EACjBC,KAAK,CAACT,KAAK,CAACtB,QAAQ,EAC9B,UAAA2C,IAAA,EAAA;AAAA,EAAA,IAAGkC,MAAM,GAAAlC,IAAA,CAANkC,MAAM;AAAA,EAAA,OAAOA,MAAM;AAAA,CAAA,EAChB,UAAAjC,KAAA,EAAA;AAAA,EAAA,IAAAqgB,iBAAA,GAAArgB,KAAA,CAAGiN,WAAW;AAAXA,IAAAA,WAAW,GAAAoT,iBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,iBAAA;AAAA,EAAA,OAAOpT,WAAW;AAAA,CAAA,EAMtC9N,KAAK,CAACT,KAAK,CAAC5B,KAAK,EACpB,UAAAsD,KAAA,EAAA;AAAA,EAAA,IAAGqM,QAAQ,GAAArM,KAAA,CAARqM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EAC/B,UAAAhM,KAAA,EAAA;AAAA,EAAA,IAAGgM,QAAQ,GAAAhM,KAAA,CAARgM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAClE;AAEM,IAAM6T,OAAO,GAAGvhB,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,iHAAA,EAAA,qBAAA,EAAA,iCAAA,EAAA,sCAAA,EAAA,oCAAA,EAAA,uCAAA,EAAA,2BAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAClB,UAAA0M,KAAA,EAAA;AAAA,EAAA,IAAGuU,UAAU,GAAAvU,KAAA,CAAVuU,UAAU;AAAA,EAAA,OAAOA,UAAU;AAAA,CAAA,EAC/B,UAAAlU,KAAA,EAAA;AAAA,EAAA,IAAGQ,QAAQ,GAAAR,KAAA,CAARQ,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,aAAa,GAAG,SAAS;AAAA,CAAC,EAClD,UAAAP,KAAA,EAAA;AAAA,EAAA,IAAGqU,MAAM,GAAArU,KAAA,CAANqU,MAAM;EAAA,OAAQA,MAAM,GAAG,MAAM,GAAA,YAAA,CAAA7b,MAAA,CAAgBvF,KAAK,CAACT,KAAK,CAACtB,QAAQ,CAAE;AAAA,CAAC,EAK5E,UAAA+O,KAAA,EAAA;AAAA,EAAA,IAAGM,QAAQ,GAAAN,KAAA,CAARM,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,GAAG,GAAG,CAAC;AAAA,CAAC,EACnC,UAAAL,KAAA,EAAA;AAAA,EAAA,IAAAoU,cAAA,GAAApU,KAAA,CAAGqU,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,cAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,cAAA;AAAA,EAAA,OAAQC,QAAQ,GAAGthB,KAAK,CAACT,KAAK,CAACtB,QAAQ,GAAG+B,KAAK,CAACT,KAAK,CAAC5B,KAAK;AAAA,CAAC,EACnE,UAAAiR,KAAA,EAAA;AAAA,EAAA,IAAG2S,OAAO,GAAA3S,KAAA,CAAP2S,OAAO;AAAA,EAAA,OAAQA,OAAO,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EACnC,UAAAzS,KAAA,EAAA;AAAA,EAAA,IAAGyS,OAAO,GAAAzS,KAAA,CAAPyS,OAAO;AAAA,EAAA,OAAQA,OAAO,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EACxC,UAAAxS,MAAA,EAAA;AAAA,EAAA,IAAGqS,MAAM,GAAArS,MAAA,CAANqS,MAAM;AAAA,EAAA,OAAQA,MAAM,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EACjC,UAAAzN,MAAA,EAAA;AAAA,EAAA,IAAGyN,MAAM,GAAAzN,MAAA,CAANyN,MAAM;AAAA,EAAA,OAAQA,MAAM,GAAG,GAAG,GAAG,GAAG;AAAA,CAAC,EAChD,UAAAvN,MAAA,EAAA;AAAA,EAAA,IAAGvG,QAAQ,GAAAuG,MAAA,CAARvG,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,MAAM,GAAG,KAAK;AAAA,CAAC,CAClE;;AC3BM,IAAMkU,WAAW,GAAG,SAAdA,WAAWA,CAAA5gB,IAAA,EAAA;AAAA,EAAA,IAAA6gB,aAAA,GAAA7gB,IAAA,CACpBkgB,QAAQ;AAARA,IAAAA,QAAQ,GAAAW,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAArT,WAAA,GAAAxN,IAAA,CACbkC,MAAM;AAANA,IAAAA,MAAM,GAAAsL,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IAAAsT,eAAA,GAAA9gB,IAAA,CACXogB,UAAU;AAAVA,IAAAA,UAAU,GAAAU,eAAA,KAAA,MAAA,GAAG,UAAU,GAAAA,eAAA;IAAAC,gBAAA,GAAA/gB,IAAA,CACvBkN,WAAW;AAAXA,IAAAA,WAAW,GAAA6T,gBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,gBAAA;IAAApS,aAAA,GAAA3O,IAAA,CACf0M,QAAQ;AAARA,IAAAA,QAAQ,GAAAiC,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAAoO,oBAAA,GAAA/c,IAAA,CAChBsN,eAAe;AAAfA,IAAAA,eAAe,GAAAyP,oBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,oBAAA;AAAA,EAAA,oBAE1B/b,KAAA,CAAAC,aAAA,CAACof,eAAe,EAAA;AAAC3T,IAAAA,QAAQ,EAAEA,QAAS;AAACxK,IAAAA,MAAM,EAAEA,MAAO;AAACgL,IAAAA,WAAW,EAAEA;AAAY,GAAA,EACzEgT,QAAQ,CAACjY,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBACtB9P,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AACJvN,MAAAA,GAAG,EAAE4P,KAAM;AACX1C,MAAAA,QAAQ,EAAEd,eAAgB;AAC1BzN,MAAAA,IAAI,EAAEqI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEmF,OAAQ;AACpBX,MAAAA,QAAQ,EAAExE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEwE;AAAS,KAAA,eAEzB1L,KAAA,CAAAC,aAAA,CAACsf,OAAO,EAAA;AACJrf,MAAAA,GAAG,EAAE4P,KAAM;AACXsP,MAAAA,UAAU,EAAEA,UAAW;AACvBI,MAAAA,MAAM,EAAE1P,KAAK,KAAKoP,QAAQ,CAAC/O,MAAM,GAAG,CAAE;MACtCwP,OAAO,EAAE7P,KAAK,KAAK,CAAE;AACrBpR,MAAAA,OAAO,EAAEwI,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAExI,OAAQ;AACvBgN,MAAAA,QAAQ,EAAExE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEwE,QAAS;AACzBgU,MAAAA,QAAQ,EAAExY,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEwY;KAAS,EAExBxY,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE8Y,OACF,CACJ,CAAC;AAAA,EAAA,CACb,CACY,CAAC;AAAA,CACrB;AAEDJ,WAAW,CAACvlB,SAAS,GAAGA,WAAS;;ACZ1B,IAAM4lB,WAAW,GAAG,SAAdA,WAAWA,CAAAjhB,IAAA,EAYlB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAqa,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,uBAAA;AAAA,EAAA,IAXFze,UAAU,GAAA9C,IAAA,CAAV8C,UAAU;IACVC,QAAQ,GAAA/C,IAAA,CAAR+C,QAAQ;IACRoC,UAAU,GAAAnF,IAAA,CAAVmF,UAAU;IACVxG,KAAK,GAAAqB,IAAA,CAALrB,KAAK;IACLsE,cAAc,GAAAjD,IAAA,CAAdiD,cAAc;IACdC,SAAS,GAAAlD,IAAA,CAATkD,SAAS;IACTF,UAAU,GAAAhD,IAAA,CAAVgD,UAAU;IACVG,SAAS,GAAAnD,IAAA,CAATmD,SAAS;IACT8c,WAAW,GAAAjgB,IAAA,CAAXigB,WAAW;IACXhV,oBAAoB,GAAAjL,IAAA,CAApBiL,oBAAoB;IACpBxP,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,IAAI+lB,YAAY,GAAG,CACf;AACIR,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEsgB;AAAS,KAAE,CAAC;AACvCf,IAAAA,QAAQ,EAAE1d,UAAU,IAAG5D,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAA,IAAIkE,UAAU,KAAK,MAAM;AACvEtD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACX,MAAA,IAAIsD,UAAU,IAAG5D,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAA,IAAIkE,UAAU,KAAK,MAAM,EAAE;AAC/DiI,QAAAA,oBAAoB,CAAC,YAAY,EAAE7L,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/D,MAAA,CAAC,MAAM;AACHmM,QAAAA,oBAAoB,CAAC,YAAY,EAAE7L,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEN,WAAW,CAAC,GAAG,CAAC,CAAC;AAC/D,MAAA;IACJ,CAAC;AACDuO,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCkb,IAAI;IAChDhV,QAAQ,EAAErH,UAAU,CAACmW,QAAQ,CAAC1Y,UAAU,CAAC,GAAG,IAAI,GAAG;AACvD,GAAC,EACD;AACIke,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEwgB;AAAe,KAAE,CAAC;IAC7CjB,QAAQ,EAAExd,SAAS,KAAK,QAAQ;AAChCxD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIwD,SAAS,KAAK,QAAQ,EAAE;AACxB+H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC/C,MAAA,CAAC,MAAM;AACHA,QAAAA,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC/C,MAAA;IACJ,CAAC;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCmb,MAAM;IAClDlV,QAAQ,EAAErH,UAAU,CAACmW,QAAQ,CAAC1Y,UAAU,CAAC,GAAG,IAAI,GAAG;AACvD,GAAC,EACD;AACIke,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE0gB;AAAgB,KAAE,CAAC;IAC9CnB,QAAQ,EAAEzd,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAEuY,QAAQ,CAAC,cAAc,CAAC;AAClD9b,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIuD,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAEuY,QAAQ,CAAC,cAAc,CAAC,EAAE;AAC1CvQ,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAEuY,QAAQ,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,QAC1D,CAAC;AACL,MAAA,CAAC,MAAM;AACHvQ,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAEuY,QAAQ,CAAC,WAAW,CAAC,GAC/B,wBAAwB,GACxB,cACV,CAAC;AACL,MAAA;IACJ,CAAC;AACDnO,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCob;AAChD,GAAC,EACD;AACId,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE4gB;AAAkB,KAAE,CAAC;IAChDrB,QAAQ,EAAEzd,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAEuY,QAAQ,CAAC,WAAW,CAAC;AAC/C9b,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIuD,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAEuY,QAAQ,CAAC,WAAW,CAAC,EAAE;AACvCvQ,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAEuY,QAAQ,CAAC,cAAc,CAAC,GAAG,cAAc,GAAG,QAChE,CAAC;AACL,MAAA,CAAC,MAAM;AACHvQ,QAAAA,oBAAoB,CAChB,gBAAgB,EAChBhI,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAEuY,QAAQ,CAAC,cAAc,CAAC,GAClC,wBAAwB,GACxB,WACV,CAAC;AACL,MAAA;IACJ,CAAC;AACDnO,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCqb;AAChD,GAAC,CACJ;EAED,IAAIC,iBAAiB,GAAG,CACpB;AACIjB,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+gB;AAAc,KAAE,CAAC;IAC5CxB,QAAQ,EAAEvd,SAAS,KAAK,MAAM;AAC9BzD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIyD,SAAS,KAAK,MAAM,EAAE;AACtB8H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC;AAC7C,MAAA;IACJ,CAAC;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAmL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCub;AAChD,GAAC,EACD;AACInB,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEihB;AAAgB,KAAE,CAAC;IAC9C1B,QAAQ,EAAEvd,SAAS,KAAK,QAAQ;AAChCzD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIyD,SAAS,KAAK,QAAQ,EAAE;AACxB8H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAC/C,MAAA;IACJ,CAAC;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAoL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCwb;AAChD,GAAC,EACD;AACIrB,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEmhB;AAAe,KAAE,CAAC;IAC7C5B,QAAQ,EAAEvd,SAAS,KAAK,OAAO;AAC/BzD,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACX,IAAIyD,SAAS,KAAK,OAAO,EAAE;AACvB8H,QAAAA,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC;AAC9C,MAAA;IACJ,CAAC;AACDoC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAA0b,sBAAA,GAAf1b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAylB,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCqB;AAChD,GAAC,CACJ;EAED,oBACIvhB,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAACuO,QAAQ,EAAA;AACLpC,IAAAA,GAAG,EAAE,EAAG;AACRyB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACmQ,KAAK,EAAA;AAACtO,MAAAA,UAAU,EAAEA;AAAW,KAAA,EAAEA,UAAkB,CAAE;AAC1DoM,IAAAA,UAAU,EAAE,IAAK;AACjBF,IAAAA,IAAI,EAAE1J,YAAa;AACnB2J,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEnH,CAAC,EAAI;AACXmD,MAAAA,oBAAoB,CAAC,YAAY,EAAEnD,CAAC,CAAC;IACzC,CAAE;AACFuF,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA2b,sBAAA,GAAf3b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA0lB,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCqB,WAAY;AACxDlV,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAACib,aAAa,EAAA;AACV9O,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAElP,QAAS;AAChBkZ,IAAAA,OAAO,EAAE,MAAO;AAChBnZ,IAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAACjC,OAAQ;AAChC8e,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,GAAG,EAAE,GAAI;AACTC,IAAAA,IAAI,EAAE,CAAE;AACRH,IAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAE3T,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,UAAU,EAAEnD,CAAC,CAAC;IAAA,CAAC;AAC1DkU,IAAAA,aAAa,EAAE,KAAM;AACrBD,IAAAA,UAAU,eAAE/a,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE0P,YAAa;AAAC5D,MAAAA,UAAU,EAAE;AAAG,KAAE,CAAE;AAC/DI,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA4b,sBAAA,GAAf5b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA2lB,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCqB,SAAU;AACtDnV,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAACib,aAAa,EAAA;AACV9O,IAAAA,GAAG,EAAE,EAAG;AACR6E,IAAAA,KAAK,EAAE9M,UAAW;AAClB8W,IAAAA,OAAO,EAAE,MAAO;AAChBnZ,IAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAACjC,OAAQ;AAChC8e,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,IAAI,EAAE,GAAI;AACVH,IAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAE3T,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,YAAY,EAAEnD,CAAC,CAAC;IAAA,CAAC;AAC5DkU,IAAAA,aAAa,EAAE,KAAM;AACrBD,IAAAA,UAAU,eAAE/a,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE0P,YAAa;AAAC5D,MAAAA,UAAU,EAAE;AAAG,KAAE,CAAE;AAC/DI,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA6b,sBAAA,GAAf7b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA4lB,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCqB,gBAAiB;AAC7DpV,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBxB,IAAAA,GAAG,EAAE,EAAG;AACRC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA8b,sBAAA,GAAf9b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA6lB,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCqB,UAAW;AACvDrV,IAAAA,eAAe,EAAE;AAAS,GAAA,eAE1BtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEyhB;AAAc,GAAE,CAAC,eACnC5hB,KAAA,CAAAC,aAAA,CAAC0Q,QAAQ,EAAA;AACLrO,IAAAA,eAAe,EAAE3E,KAAM;AACvB4S,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,OAAO,EAAEnD,CAAC,CAAC;AAAA,IAAA;AAAC,GACnD,CACiB,CAAC,eACvB9G,KAAA,CAAAC,aAAA,CAAC2f,WAAW,EAAA;AACRV,IAAAA,QAAQ,EAAEsB,YAAa;AACvBtU,IAAAA,WAAW,EAAE,EAAG;AAChBhL,IAAAA,MAAM,EAAE,EAAG;AACXke,IAAAA,UAAU,EAAEhf,gBAAiB;AAC7BkM,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eACFtM,KAAA,CAAAC,aAAA,CAAC2f,WAAW,EAAA;AACRV,IAAAA,QAAQ,EAAE+B,iBAAkB;AAC5B/U,IAAAA,WAAW,EAAE,EAAG;AAChBhL,IAAAA,MAAM,EAAE,EAAG;AACXke,IAAAA,UAAU,EAAEhf,gBAAiB;AAC7BkM,IAAAA,eAAe,EAAE;AAAS,GAC7B,CAAC,eAEFtM,KAAA,CAAAC,aAAA,CAACib,aAAa,EAAA;AACVjK,IAAAA,KAAK,EAAEgO,WAAY;AACnBxE,IAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAE3T,CAAC,EAAA;AAAA,MAAA,OAAImD,oBAAoB,CAAC,SAAS,EAAEnD,CAAC,CAAC;IAAA,CAAC;AACzDuF,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA+b,uBAAA,GAAf/b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA8lB,uBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,uBAAA,CAAmCsB,YAAa;AACzDvV,IAAAA,eAAe,EAAE;AAAS,GAC7B,CACS,CAAC;AAEvB,CAAC;AAED2T,WAAW,CAAC5lB,SAAS,GAAGA,WAAS;;ACvN1B,IAAMA,WAAS,GAAG;EACrB+O,gBAAgB,EAAE7O,SAAS,CAAC+M,MAAM;EAClC+B,gBAAgB,EAAE9O,SAAS,CAACC,MAAM;EAClC8O,YAAY,EAAE/O,SAAS,CAAC+M,MAAM;EAC9BiC,wBAAwB,EAAEhP,SAAS,CAACgB,IAAI;EACxCiO,wBAAwB,EAAEjP,SAAS,CAACgB,IAAI;EACxCkO,oBAAoB,EAAElP,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACRoBwD,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO;AAG/B,IAAMyU,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMrC;;ACPM,IAAM2jB,YAAY,GAAG,SAAfA,YAAYA,CAAA9iB,IAAA,EASnB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IARF4D,gBAAgB,GAAApK,IAAA,CAAhBoK,gBAAgB;IAChBC,gBAAgB,GAAArK,IAAA,CAAhBqK,gBAAgB;IAChBC,YAAY,GAAAtK,IAAA,CAAZsK,YAAY;IACZC,wBAAwB,GAAAvK,IAAA,CAAxBuK,wBAAwB;IACxBC,wBAAwB,GAAAxK,IAAA,CAAxBwK,wBAAwB;IACxBC,oBAAoB,GAAAzK,IAAA,CAApByK,oBAAoB;IACpBhB,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfhO,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,oBACIuF,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAAC8c,YAAY,EAAA;AACT9L,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACf,KAAK,CAAC,GAClDoH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEsZ,WAAW,GAC5B3Y,gBACT;AACDwT,IAAAA,mBAAmB,EAAErT,wBAAyB;AAC9CoT,IAAAA,WAAW,EACPjI,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACf,KAAK,CAAC,GAClDoH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEuZ,MAAM,GACvB3Y,gBACT;AACDjB,IAAAA,wBAAwB,EAAEoB,wBAAyB;AACnD/O,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAACib,aAAa,EAAA;AACV7O,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCyc,aAAc;AAC1DhR,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACf,KAAK,CAAC,GAClDoH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvE,OAAO,GACxBoF,YACT;AACDmR,IAAAA,eAAe,EAAEhR,oBAAqB;AACtChP,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACS,CAAC;AAEvB,CAAC;AAEDqnB,YAAY,CAACznB,SAAS,GAAGA,WAAS;;AChD3B,IAAMA,WAAS,GAAG;EACrB4N,gBAAgB,EAAE1N,SAAS,CAACC,MAAM;EAClC0N,gBAAgB,EAAE3N,SAAS,CAAC+M,MAAM;EAClCa,cAAc,EAAE5N,SAAS,CAACC,MAAM;EAChC+N,YAAY,EAAEhO,SAAS,CAAC+M,MAAM;EAC9Bc,wBAAwB,EAAE7N,SAAS,CAACgB,IAAI;EACxC8M,wBAAwB,EAAE9N,SAAS,CAACgB,IAAI;EACxC+M,iBAAiB,EAAE/N,SAAS,CAACgB,IAAI;EACjCiN,oBAAoB,EAAEjO,SAAS,CAACgB,IAAI;EACpCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACVoBwD,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO;AAG/B,IAAMyU,cAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMrC;;ACJM,IAAM+jB,YAAY,GAAG,SAAfA,YAAYA,CAAAljB,IAAA,EAWnB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAVFwC,gBAAgB,GAAAjJ,IAAA,CAAhBiJ,gBAAgB;IAChBC,gBAAgB,GAAAlJ,IAAA,CAAhBkJ,gBAAgB;IAChBC,cAAc,GAAAnJ,IAAA,CAAdmJ,cAAc;IACdI,YAAY,GAAAvJ,IAAA,CAAZuJ,YAAY;IACZH,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IACxBC,wBAAwB,GAAArJ,IAAA,CAAxBqJ,wBAAwB;IACxBC,iBAAiB,GAAAtJ,IAAA,CAAjBsJ,iBAAiB;IACjBE,oBAAoB,GAAAxJ,IAAA,CAApBwJ,oBAAoB;IACpBC,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfhO,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,oBACIuF,KAAA,CAAAC,aAAA,CAACoQ,cAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBxB,IAAAA,GAAG,EAAE,EAAG;AACRC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC2c,UAAW;AACvD7V,IAAAA,eAAe,EAAC;AAAQ,GAAA,eAExBtM,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEqe;AAAoB,GAAE,CAAC,eACzCxe,KAAA,CAAAC,aAAA,CAAC0Q,QAAQ,EAAA;AACLrO,IAAAA,eAAe,EACVkS,cAAc,CAAC/L,eAAe,CAAC,KAAIA,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE2Z,IAAI,KAAKja,cACjE;AACDoI,IAAAA,QAAQ,EAAEjI;AAAkB,GAC/B,CACiB,CAAC,eACvBtI,KAAA,CAAAC,aAAA,CAAC8c,YAAY,EAAA;AACT9L,IAAAA,KAAK,EACDuD,cAAc,CAAC/L,eAAe,CAAC,GACzBA,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEsZ,WAAW,GAC5B7Z,gBACT;AACD0U,IAAAA,mBAAmB,EAAEvU,wBAAyB;AAC9CsU,IAAAA,WAAW,EACPnI,cAAc,CAAC/L,eAAe,CAAC,GAAGA,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEuZ,MAAM,GAAG/Z,gBAC/D;AACDG,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnD3N,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAACib,aAAa,EAAA;AACV7O,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC4c,aAAc;AAC1DpR,IAAAA,KAAK,EAAEuD,cAAc,CAAC/L,eAAe,CAAC,GAAGA,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvE,OAAO,GAAGqE,YAAa;AACjFkS,IAAAA,eAAe,EAAEjS,oBAAqB;AACtC/N,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACS,CAAC;AAEvB,CAAC;AAEDynB,YAAY,CAAC7nB,SAAS,GAAGA,WAAS;;AC5D3B,IAAMA,WAAS,GAAG;EACrBqP,aAAa,EAAEnP,SAAS,CAAC+M,MAAM;EAC/BqC,aAAa,EAAEpP,SAAS,CAACC,MAAM;EAC/BoP,SAAS,EAAErP,SAAS,CAAC+M,MAAM;EAC3BuC,qBAAqB,EAAEtP,SAAS,CAACgB,IAAI;EACrCuO,qBAAqB,EAAEvP,SAAS,CAACgB,IAAI;EACrCwO,iBAAiB,EAAExP,SAAS,CAACgB,IAAI;EACjCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjCX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACRoBwD,MAAM,CAACwB,CAAC,CAAAtB,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,mGAChBC,KAAK,CAACT,KAAK,CAAC7B,QAAQ,EAEdsC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EACtBM,KAAK,CAACP,KAAK,CAACjC,OAAO;AAG/B,IAAMyU,YAAY,GAAGrS,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMrC;;ACPM,IAAMmkB,SAAS,GAAG,SAAZA,SAASA,CAAAtjB,IAAA,EAShB;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IARFkE,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IACbC,aAAa,GAAA3K,IAAA,CAAb2K,aAAa;IACbC,SAAS,GAAA5K,IAAA,CAAT4K,SAAS;IACTC,qBAAqB,GAAA7K,IAAA,CAArB6K,qBAAqB;IACrBC,qBAAqB,GAAA9K,IAAA,CAArB8K,qBAAqB;IACrBC,iBAAiB,GAAA/K,IAAA,CAAjB+K,iBAAiB;IACjBtB,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfhO,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,oBACIuF,KAAA,CAAAC,aAAA,CAACoQ,YAAY,qBACTrQ,KAAA,CAAAC,aAAA,CAAC8c,YAAY,EAAA;AACT9L,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACb,EAAE,CAAC,GAC/CkH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEsZ,WAAW,GAC5BrY,aACT;AACDkT,IAAAA,mBAAmB,EAAE/S,qBAAsB;AAC3C8S,IAAAA,WAAW,EACPjI,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACb,EAAE,CAAC,GAC/CkH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEuZ,MAAM,GACvBrY,aACT;AACDvB,IAAAA,wBAAwB,EAAE0B,qBAAsB;AAChDrP,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAACib,aAAa,EAAA;AACVjK,IAAAA,KAAK,EACDyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACb,EAAE,CAAC,GAC/CkH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvE,OAAO,GACxB0F,SACT;AACD6Q,IAAAA,eAAe,EAAE1Q,iBAAkB;AACnCsC,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCsW,OAAQ;AACpDrhB,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACS,CAAC;AAEvB,CAAC;AAED6nB,SAAS,CAACjoB,SAAS,GAAGA,WAAS;;ACvCxB,IAAMkoB,UAAU,GAAG,SAAbA,UAAUA,CAAAvjB,IAAA,EAwCjB;AAAA,EAAA,IAvCFoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;IACXM,oBAAoB,GAAA1I,IAAA,CAApB0I,oBAAoB;IACpB4D,qBAAqB,GAAAtM,IAAA,CAArBsM,qBAAqB;IACrBC,qBAAqB,GAAAvM,IAAA,CAArBuM,qBAAqB;IACrBzD,oBAAoB,GAAA9I,IAAA,CAApB8I,oBAAoB;IACpBG,gBAAgB,GAAAjJ,IAAA,CAAhBiJ,gBAAgB;IAChBC,gBAAgB,GAAAlJ,IAAA,CAAhBkJ,gBAAgB;IAChBC,cAAc,GAAAnJ,IAAA,CAAdmJ,cAAc;IACdI,YAAY,GAAAvJ,IAAA,CAAZuJ,YAAY;IACZH,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IACxBC,wBAAwB,GAAArJ,IAAA,CAAxBqJ,wBAAwB;IACxBC,iBAAiB,GAAAtJ,IAAA,CAAjBsJ,iBAAiB;IACjBE,oBAAoB,GAAAxJ,IAAA,CAApBwJ,oBAAoB;IACpBC,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfI,8BAA8B,GAAA7J,IAAA,CAA9B6J,8BAA8B;IAC9BC,sBAAsB,GAAA9J,IAAA,CAAtB8J,sBAAsB;IACtBM,gBAAgB,GAAApK,IAAA,CAAhBoK,gBAAgB;IAChBC,gBAAgB,GAAArK,IAAA,CAAhBqK,gBAAgB;IAChBC,YAAY,GAAAtK,IAAA,CAAZsK,YAAY;IACZC,wBAAwB,GAAAvK,IAAA,CAAxBuK,wBAAwB;IACxBC,wBAAwB,GAAAxK,IAAA,CAAxBwK,wBAAwB;IACxBC,oBAAoB,GAAAzK,IAAA,CAApByK,oBAAoB;IACpBC,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IACbC,aAAa,GAAA3K,IAAA,CAAb2K,aAAa;IACbC,SAAS,GAAA5K,IAAA,CAAT4K,SAAS;IACTC,qBAAqB,GAAA7K,IAAA,CAArB6K,qBAAqB;IACrBC,qBAAqB,GAAA9K,IAAA,CAArB8K,qBAAqB;IACrBC,iBAAiB,GAAA/K,IAAA,CAAjB+K,iBAAiB;IACjBC,gBAAgB,GAAAhL,IAAA,CAAhBgL,gBAAgB;IAChBC,oBAAoB,GAAAjL,IAAA,CAApBiL,oBAAoB;IACpBC,aAAa,GAAAlL,IAAA,CAAbkL,aAAa;IACbC,gBAAgB,GAAAnL,IAAA,CAAhBmL,gBAAgB;IAChB1P,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACd6P,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBxG,kBAAkB,GAAA/E,IAAA,CAAlB+E,kBAAkB;IAClBC,uBAAuB,GAAAhF,IAAA,CAAvBgF,uBAAuB;IACvBwG,wBAAwB,GAAAxL,IAAA,CAAxBwL,wBAAwB;IACxBmT,uBAAuB,GAAA3e,IAAA,CAAvB2e,uBAAuB;AAEvB,EAAA,oBACI3d,KAAA,CAAAC,aAAA,CAACwL,cAAc,EAAA;IAACC,QAAQ,EAAEjD,eAAe,IAAI,EAACA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS;AAAC,GAAA,EACpE/Z,eAAe,IAAI,EAACA,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,CAAA,iBAC3CxiB,KAAA,CAAAC,aAAA,CAAC0L,cAAc,EAAA;AACXjN,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;AACVA,MAAAA,CAAC,aAADA,CAAC,KAAA,MAAA,IAADA,CAAC,CAAEiJ,eAAe,EAAE;AACxB,IAAA;AAAE,GACL,CACJ,EACA3I,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEC,QAAQ,CAAA,gBACvCpB,KAAA,CAAAC,aAAA,CAACyd,eAAe,EAAA;AACZhW,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3C4D,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CzD,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3Ce,IAAAA,8BAA8B,EAAEA,8BAA+B;AAC/DC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CoB,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnC1P,IAAAA,cAAc,EAAEA,cAAe;AAC/B6P,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CxG,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDwG,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDmT,IAAAA,uBAAuB,EAAEA;AAAwB,GACpD,CAAC,GACFvW,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEtC,IAAI,CAAA,gBACtCmB,KAAA,CAAAC,aAAA,CAACggB,WAAW,EAAA;IACRne,UAAU,EACN4S,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE3G,UAAU,GAC3BkI,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAElI,UAC3B;IACDC,QAAQ,EACJ2S,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1G,QAAQ,GACzBiI,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEjI,QAC3B;IACDoC,UAAU,EACNuQ,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEtE,UAAU,GAC3B6F,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE7F,UAC3B;IACDxG,KAAK,EACD+W,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE9K,KAAK,GACtBqM,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAErM,KAC3B;IACDsE,cAAc,EACVyS,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAExG,cAAc,GAC/B+H,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE/H,cAC3B;IACDC,SAAS,EACLwS,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvG,SAAS,GAC1B8H,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9H,SAC3B;IACDF,UAAU,EACN0S,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEzG,UAAU,GAC3BgI,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEhI,UAC3B;IACDG,SAAS,EACLuS,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEtG,SAAS,GAC1B6H,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE7H,SAC3B;AACDsG,IAAAA,eAAe,EAAEA,eAAgB;IACjCwW,WAAW,EACPvK,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,CAACvD,IAAI,CAAC,GACjD4J,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvE,OAAO,GACxB8F,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9F,OAC3B;AACD+F,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CxP,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,GACF2M,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEE,KAAK,CAAA,gBACvCrB,KAAA,CAAAC,aAAA,CAAC6hB,YAAY,EAAA;AACT1Y,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3ChB,IAAAA,eAAe,EAAEA,eAAgB;AACjChO,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,GACF2M,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEG,KAAK,CAAA,gBACvCtB,KAAA,CAAAC,aAAA,CAACiiB,YAAY,EAAA;AACTja,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,eAAe,EAAEA,eAAgB;AACjChO,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,GACF2M,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEI,EAAE,CAAA,gBACpCvB,KAAA,CAAAC,aAAA,CAACqiB,SAAS,EAAA;AACN5Y,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCtB,IAAAA,eAAe,EAAEA,eAAgB;AACjChO,IAAAA,cAAc,EAAEA;GACnB,CAAC,GACF,IACQ,CAAC;AAEzB,CAAC;AAED8nB,UAAU,CAACloB,SAAS,GAAGA,WAAS;;ACxKzB,IAAMA,WAAS,GAAG;EACrB+M,WAAW,EAAE7M,SAAS,CAACC,MAAM;EAC7B6M,cAAc,EAAE9M,SAAS,CAAC+M,MAAM;EAChCC,sBAAsB,EAAEhN,SAAS,CAACgB,IAAI;EACtCwM,MAAM,EAAExN,SAAS,CAACgB,IAAI;EACtByM,MAAM,EAAEzN,SAAS,CAACgB,IAAI;EACtBknB,WAAW,EAAEloB,SAAS,CAACQ,IAAI;EAC3B2nB,WAAW,EAAEnoB,SAAS,CAACQ,IAAI;EAC3B0N,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjC2N,uBAAuB,EAAExO,SAAS,CAACgB,IAAI;EACvCyN,qBAAqB,EAAEzO,SAAS,CAACgB,IAAI;EACrC0N,mBAAmB,EAAE1O,SAAS,CAACgB,IAAI;EACnC2N,2BAA2B,EAAE3O,SAAS,CAACgB,IAAI;EAC3C4N,yBAAyB,EAAE5O,SAAS,CAACgB,IAAI;EACzCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;ACfM,IAAMH,WAAS,GAAG;EACrBsoB,SAAS,EAAEpoB,SAAS,CAAC+M,MAAM;EAC3Bsb,QAAQ,EAAEroB,SAAS,CAACgB,IAAI;EACxBsnB,SAAS,EAAEtoB,SAAS,CAACgB,IAAI;EACzBiQ,WAAW,EAAEjR,SAAS,CAACa;AAC3B,CAAC;;;ACJM,IAAMqP,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,wGAAA,CAAA,CAAA,CAAA,CAKlC;AAEM,IAAM2kB,kBAAkB,GAAG9kB,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,0BAAA,EAAA,4KAAA,CAAA,CAAA,CAAA,EACpBC,KAAK,CAACT,KAAK,CAACtB,QAAQ,CAQ3C;AAEM,IAAM0mB,UAAU,GAAG/kB,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,+IAAA,CAAA,CAAA,CAAA,CAOnC;AAEM,IAAM6kB,OAAO,GAAGhlB,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAAA,CAAA,gFAAA,CAAA,CAAA,CAAA,CAIhC;AAEM,IAAM8kB,cAAc,GAAGjlB,MAAM,CAACwB,CAAC,CAAAyL,kBAAA,KAAAA,kBAAA,GAAA9M,sBAAA,mGAEnBC,KAAK,CAACP,KAAK,CAACjC,OAAO,EACnBwC,KAAK,CAACN,WAAW,CAAC,GAAG,CAAC,EAC5BM,KAAK,CAACT,KAAK,CAACpB,SAAS,CACjC;;ACtCM,IAAMlC,WAAS,GAAG;EACrB4gB,OAAO,EAAE1gB,SAAS,CAACmB,KAAK,CAAC0iB,MAAM,CAAC8E,MAAM,CAACzhB,cAAc,CAAC,CAAC;AACvDoM,EAAAA,IAAI,EAAEtT,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJyD,IAAI,EAAEtE,SAAS,CAACC,MAAM;EACtBkX,YAAY,EAAEnX,SAAS,CAAC+M,MAAM;EAC9BiK,SAAS,EAAEhX,SAAS,CAAC+M,MAAM;EAC3B5I,OAAO,EAAEnE,SAAS,CAACgB;AACvB,CAAC;;;ACTM,IAAM4nB,YAAY,GAAGnlB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,6KAAA,EAAA,2CAAA,EAAA,0BAAA,EAAA,uBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAOdC,KAAK,CAACT,KAAK,CAAC/B,OAAO,EAEzB,UAAAoD,IAAA,EAAA;AAAA,EAAA,IAAGuS,SAAS,GAAAvS,IAAA,CAATuS,SAAS;AAAA,EAAA,OAAOA,SAAS;AAAA,CAAA,EACzB,UAAAtS,KAAA,EAAA;AAAA,EAAA,IAAGyS,YAAY,GAAAzS,KAAA,CAAZyS,YAAY;AAAA,EAAA,OAAOA,YAAY;AAAA,CAAA,EACrC,UAAArS,KAAA,EAAA;AAAA,EAAA,IAAG4b,OAAO,GAAA5b,KAAA,CAAP4b,OAAO;AAAA,EAAA,OACpBA,OAAO,KAAKxZ,cAAc,CAAC7F,OAAO,GAAGwC,KAAK,CAACT,KAAK,CAAC/B,OAAO,GAAGwC,KAAK,CAACT,KAAK,CAAC5B,KAAK;AAAA,CAAA,CACnF;AAEM,IAAMsS,aAAW,GAAGrQ,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,yGAAA,CAAA,CAAA,CAAA,CAKpC;;ACjBM,IAAMilB,MAAM,GAAG,SAATA,MAAMA,CAAApkB,IAAA,EAAA;AAAA,EAAA,IAAA0c,YAAA,GAAA1c,IAAA,CACfic,OAAO;AAAPA,IAAAA,OAAO,GAAAS,YAAA,KAAA,MAAA,GAAGja,cAAc,CAAC5F,SAAS,GAAA6f,YAAA;IAClC7N,IAAI,GAAA7O,IAAA,CAAJ6O,IAAI;IACJhP,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAAwkB,iBAAA,GAAArkB,IAAA,CACJ0S,YAAY;AAAZA,IAAAA,YAAY,GAAA2R,iBAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,iBAAA;IAAAC,cAAA,GAAAtkB,IAAA,CAChBuS,SAAS;AAATA,IAAAA,SAAS,GAAA+R,cAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,cAAA;IACb5kB,OAAO,GAAAM,IAAA,CAAPN,OAAO;IACPkR,KAAK,GAAA5Q,IAAA,CAAL4Q,KAAK;AAAA,EAAA,oBAEL5P,KAAA,CAAAC,aAAA,CAACkjB,YAAY,EAAA;AACTlI,IAAAA,OAAO,EAAEA,OAAQ;AACjB1J,IAAAA,SAAS,EAAEA,SAAU;AACrBG,IAAAA,YAAY,EAAEA,YAAa;AAC3BhT,IAAAA,OAAO,EAAEA,OAAQ;AACjBkR,IAAAA,KAAK,EAAEA;AAAM,GAAA,EAEZ/B,IAAI,iBAAI7N,KAAA,CAAAC,aAAA,CAACoO,aAAW,EAAA,IAAA,EAAER,IAAkB,CAAC,eAC1C7N,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPrQ,IAAAA,QAAQ,EAAE,EAAG;AACbC,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCH,IAAAA,KAAK,EAAEsd,OAAO,KAAKxZ,cAAc,CAAC7F,OAAO,GAAGwC,KAAK,CAACT,KAAK,CAAC5B,KAAK,GAAGqC,KAAK,CAACT,KAAK,CAAC/B;GAAQ,EAEnFiD,IACO,CACF,CAAC;AAAA,CAClB;AAEDukB,MAAM,CAAC/oB,SAAS,GAAGA,WAAS;;ACxBrB,IAAMkpB,YAAY,GAAG,SAAfA,YAAYA,CAAAvkB,IAAA,EAAA;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAAA+d,cAAA,GAAAxkB,IAAA,CACrB2jB,SAAS;AAATA,IAAAA,SAAS,GAAAa,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IACdZ,QAAQ,GAAA5jB,IAAA,CAAR4jB,QAAQ;IACRC,SAAS,GAAA7jB,IAAA,CAAT6jB,SAAS;IACTpoB,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACda,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNmoB,cAAc,GAAAzkB,IAAA,CAAdykB,cAAc;IACdjoB,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;AAAA,EAAA,oBAEdwE,KAAA,CAAAC,aAAA,CAACwK,WAAS,EAAA,IAAA,EACLgZ,cAAc,iBACXzjB,KAAA,CAAAC,aAAA,CAACmjB,MAAM,EAAA;AACHvkB,IAAAA,IAAI,EAAErD,cAAc,KAAIgJ,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,uBAAjCA,qBAAA,CAAmCke,IAAI,CAAC;AAChEzI,IAAAA,OAAO,EAAExZ,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAA,MAAA,GAAdA,cAAc,CAAE7F,OAAQ;AACjC8V,IAAAA,YAAY,EAAE,EAAG;AACjB9B,IAAAA,KAAK,EAAE;AAAExC,MAAAA,QAAQ,EAAE,UAAU;MAAEuW,GAAG,EAAE,GAAG;AAAElH,MAAAA,MAAM,EAAE,GAAG;AAAE3O,MAAAA,KAAK,EAAE;KAAI;AACjEpP,IAAAA,OAAO,EAAEpD;AAAO,GACnB,CACJ,eACD0E,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AAAC5O,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCme,WAAY;AAACxW,IAAAA,QAAQ,EAAC;GAAK,eACzEpN,KAAA,CAAAC,aAAA,CAAC6iB,kBAAkB,qBACf9iB,KAAA,CAAAC,aAAA,CAAC8iB,UAAU,EAAA;AAACrkB,IAAAA,OAAO,EAAEmkB;AAAU,GAAA,eAC3B7iB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE0jB;AAAY,GAAE,CACxB,CAAC,eACb7jB,KAAA,CAAAC,aAAA,CAAC+iB,OAAO,EAAA,IAAE,CAAC,eACXhjB,KAAA,CAAAC,aAAA,CAACgjB,cAAc,EAAA,IAAA,EAAEN,SAAS,EAAC,GAAiB,CAAC,eAC7C3iB,KAAA,CAAAC,aAAA,CAAC+iB,OAAO,EAAA,IAAE,CAAC,eACXhjB,KAAA,CAAAC,aAAA,CAAC8iB,UAAU,EAAA;AAACrkB,IAAAA,OAAO,EAAEkkB;AAAS,GAAA,eAC1B5iB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE2jB;AAAW,GAAE,CACvB,CACI,CACf,CACF,CAAC;AAAA,CACf;AAEDP,YAAY,CAAClpB,SAAS,GAAGA,WAAS;;AC3C3B,IAAMA,WAAS,GAAG;EACrB0O,uBAAuB,EAAExO,SAAS,CAACgB,IAAI;EACvCyN,qBAAqB,EAAEzO,SAAS,CAACgB,IAAI;EACrC0N,mBAAmB,EAAE1O,SAAS,CAACgB,IAAI;EACnCkN,eAAe,EAAElO,SAAS,CAACa,MAAM;EACjC8N,2BAA2B,EAAE3O,SAAS,CAACgB,IAAI;EAC3C4N,yBAAyB,EAAE5O,SAAS,CAACgB,IAAI;EACzCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACPM,IAAMupB,gBAAgB,GAAG/lB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,uNAGxBC,KAAK,CAACT,KAAK,CAACZ,WAAW,EAGjBqB,KAAK,CAACT,KAAK,CAACX,WAAW,CAG9C;;ACOM,IAAMgnB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAhlB,IAAA,EAQ5B;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAPFkD,uBAAuB,GAAA/J,IAAA,CAAvB+J,uBAAuB;IACvBC,qBAAqB,GAAAhK,IAAA,CAArBgK,qBAAqB;IACrBC,mBAAmB,GAAAjK,IAAA,CAAnBiK,mBAAmB;IACnBR,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfS,2BAA2B,GAAAlK,IAAA,CAA3BkK,2BAA2B;IAC3BC,yBAAyB,GAAAnK,IAAA,CAAzBmK,yBAAyB;IACzB1O,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAEd,IAAIwpB,sBAAsB,GAAG,CACzB;AACIjE,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+jB;AAAe,KAAE,CAAC;AAC7CxlB,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXwK,2BAA2B,IAAIA,2BAA2B,EAAE;IAChE,CAAC;AACDmD,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC2e;AAChD,GAAC,EACD;AACInE,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEikB;AAAa,KAAE,CAAC;AAC3C1lB,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXyK,yBAAyB,IAAIA,yBAAyB,EAAE;IAC5D,CAAC;AACDkD,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC4e;AAChD,GAAC,CACJ;EAED,oBACIrkB,KAAA,CAAAC,aAAA,CAAC8jB,gBAAgB,qBACb/jB,KAAA,CAAAC,aAAA,CAAC2f,WAAW,EAAA;IACRlU,QAAQ,EAAE,EAACjD,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,CAAC;AACtCtD,IAAAA,QAAQ,EAAE+E,sBAAuB;AACjC3X,IAAAA,eAAe,EAAC;AAAK,GACxB,CAAC,eAiBFtM,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBvB,IAAAA,OAAO,EACH5D,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,GACpBhe,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC4e,IAAI,GACvC9f,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC4e,MAC5C;AACDjY,IAAAA,eAAe,EAAC,KAAK;AACrBP,IAAAA,YAAY,EAAE,IAAK;AACnBD,IAAAA,WAAW,EAAE,IAAK;AAClB5K,IAAAA,MAAM,EAAE,EAAG;AACXgL,IAAAA,WAAW,EAAE,CAAE;AACfxN,IAAAA,OAAO,EAAEuK;AAAoB,GAAA,eAE7BjJ,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;IACR/Q,GAAG,EAAEsI,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,GAAGgC,UAAU,GAAGC,QAAS;AACxDvjB,IAAAA,MAAM,EAAE,EAAG;AACXD,IAAAA,KAAK,EAAE;GACV,CACiB,CAAC,EACtB,CAAAwH,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE/E,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,kBACvCvB,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBvB,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAmL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC8e,IAAK;AACjDpY,IAAAA,eAAe,EAAC,KAAK;AACrBP,IAAAA,YAAY,EAAE,IAAK;AACnBD,IAAAA,WAAW,EAAE,IAAK;AAClB5K,IAAAA,MAAM,EAAE,EAAG;AACXgL,IAAAA,WAAW,EAAE,CAAE;AACfxN,IAAAA,OAAO,EAAEsK,qBAAsB;IAC/B0C,QAAQ,EAAE,EAACjD,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS;AAAC,GAAA,eAEtCxiB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEwkB;AAAS,GAAE,CACX,CACzB,eACD3kB,KAAA,CAAAC,aAAA,CAAC2N,oBAAoB,EAAA;AACjBvB,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAoL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC+e,MAAO;AACnDtY,IAAAA,eAAe,EAAC,KAAK;AACrBP,IAAAA,YAAY,EAAE,IAAK;AACnBD,IAAAA,WAAW,EAAE,IAAK;AAClB5K,IAAAA,MAAM,EAAE,EAAG;AACXgL,IAAAA,WAAW,EAAE,CAAE;AACfxN,IAAAA,OAAO,EAAEqK,uBAAwB;IACjC2C,QAAQ,EAAE,EAACjD,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS;AAAC,GAAA,eAEtCxiB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE0kB;GAAa,CACb,CACR,CAAC;AAE3B,CAAC;AAEDb,qBAAqB,CAAC3pB,SAAS,GAAGA,WAAS;;;ACnHpC,IAAMyqB,oBAAoB,GAAG9mB,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,uEAAA,EAAA,wEAAA,EAAA,4CAAA,CAAA,CAAA,CAAA,EAGvB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;AAAA,EAAA,OAAQA,WAAW,GAAG,eAAe,GAAG,UAAU;AAAA,CAAC,EAGlE,UAAAnI,KAAA,EAAA;AAAA,EAAA,IAAGmI,WAAW,GAAAnI,KAAA,CAAXmI,WAAW;AAAA,EAAA,OAAQA,WAAW,GAAG,GAAG,GAAG,IAAI;AAAA,CAAC,CAGpE;;ACTM,IAAM/M,WAAS,GAAG;EACrB0N,MAAM,EAAExN,SAAS,CAACgB,IAAI;EACtByM,MAAM,EAAEzN,SAAS,CAACgB,IAAI;EACtBknB,WAAW,EAAEloB,SAAS,CAACQ,IAAI;EAC3B2nB,WAAW,EAAEnoB,SAAS,CAACQ,IAAI;EAC3ByQ,WAAW,EAAEjR,SAAS,CAACa;AAC3B,CAAC;;ACDM,IAAM2pB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA/lB,IAAA,EAAqE;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAA/DsC,MAAM,GAAA/I,IAAA,CAAN+I,MAAM;IAAEC,MAAM,GAAAhJ,IAAA,CAANgJ,MAAM;IAAEya,WAAW,GAAAzjB,IAAA,CAAXyjB,WAAW;IAAEC,WAAW,GAAA1jB,IAAA,CAAX0jB,WAAW;IAAEjoB,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EACvF,IAAIuqB,gBAAgB,GAAG,CACnB;AACIhF,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE8kB;AAAS,KAAE,CAAC;IACvCvmB,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQqJ,MAAM,EAAE;AAAA,IAAA,CAAA;AACvB2D,IAAAA,QAAQ,EAAE+W,WAAW;AACrBpW,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC0f;AAChD,GAAC,EACD;AACIlF,IAAAA,OAAO,eAAEhgB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEglB;AAAS,KAAE,CAAC;IACvCzmB,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQsJ,MAAM,EAAE;AAAA,IAAA,CAAA;AACvB0D,IAAAA,QAAQ,EAAEgX,WAAW;AACrBrW,IAAAA,OAAO,EAAE7H,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC2f;AAChD,GAAC,CACJ;AAED,EAAA,oBACIplB,KAAA,CAAAC,aAAA,CAAC2f,WAAW,EAAA;AACR1e,IAAAA,MAAM,EAAE,EAAG;AACXke,IAAAA,UAAU,EAAC,WAAW;AACtBF,IAAAA,QAAQ,EAAE8F,gBAAiB;AAC3B1Y,IAAAA,eAAe,EAAC;AAAK,GACxB,CAAC;AAEV,CAAC;AAEDyY,gBAAgB,CAAC1qB,SAAS,GAAGA,WAAS;;AC1B/B,IAAMgrB,aAAa,GAAG,SAAhBA,aAAaA,CAAArmB,IAAA,EAkBpB;AAAA,EAAA,IAjBFoI,WAAW,GAAApI,IAAA,CAAXoI,WAAW;IACXC,cAAc,GAAArI,IAAA,CAAdqI,cAAc;IACdE,sBAAsB,GAAAvI,IAAA,CAAtBuI,sBAAsB;IACtBQ,MAAM,GAAA/I,IAAA,CAAN+I,MAAM;IACNC,MAAM,GAAAhJ,IAAA,CAANgJ,MAAM;IACNya,WAAW,GAAAzjB,IAAA,CAAXyjB,WAAW;IACXC,WAAW,GAAA1jB,IAAA,CAAX0jB,WAAW;IACXja,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfM,uBAAuB,GAAA/J,IAAA,CAAvB+J,uBAAuB;IACvBC,qBAAqB,GAAAhK,IAAA,CAArBgK,qBAAqB;IACrBC,mBAAmB,GAAAjK,IAAA,CAAnBiK,mBAAmB;IACnBC,2BAA2B,GAAAlK,IAAA,CAA3BkK,2BAA2B;IAC3BC,yBAAyB,GAAAnK,IAAA,CAAzBmK,yBAAyB;IACzB1O,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACda,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNmoB,cAAc,GAAAzkB,IAAA,CAAdykB,cAAc;IACdjoB,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;AAEd,EAAA,IAAMonB,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACnB,IAAIvb,cAAc,GAAG,GAAG,EAAE;AACtBE,MAAAA,sBAAsB,CAACF,cAAc,GAAG,EAAE,CAAC;AAC/C,IAAA;EACJ,CAAC;AACD,EAAA,IAAMwb,SAAS,GAAG,SAAZA,SAASA,GAAS;IACpB,IAAIxb,cAAc,GAAG,EAAE,EAAE;AACrBE,MAAAA,sBAAsB,CAACF,cAAc,GAAG,EAAE,CAAC;AAC/C,IAAA;EACJ,CAAC;AACD,EAAA,oBACIrH,KAAA,CAAAC,aAAA,CAAC6kB,oBAAoB,EAAA;AAAC1d,IAAAA,WAAW,EAAEA;AAAY,GAAA,EAC1CA,WAAW,iBACRpH,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAslB,QAAA,EAAA,IAAA,eACItlB,KAAA,CAAAC,aAAA,CAAC8kB,gBAAgB,EAAA;AACbhd,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,MAAM,EAAEA,MAAO;AACfya,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,WAAW,EAAEA,WAAY;AACzBjoB,IAAAA,cAAc,EAAEA;GACnB,CAAC,EACDgO,eAAe,gBACZzI,KAAA,CAAAC,aAAA,CAAC+jB,qBAAqB,EAAA;AAClBjb,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCR,IAAAA,eAAe,EAAEA,eAAgB;AACjCS,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,yBAAyB,EAAEA,yBAA0B;AACrD1O,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,gBAEFuF,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAK2P,IAAAA,KAAK,EAAE;AAAE1O,MAAAA,MAAM,EAAE;AAAG;AAAE,GAAE,CAEnC,CACL,eACDlB,KAAA,CAAAC,aAAA,CAACsjB,YAAY,EAAA;AACTZ,IAAAA,SAAS,EAAEtb,cAAe;AAC1Bub,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBpoB,IAAAA,cAAc,EAAEA,cAAe;AAC/Ba,IAAAA,MAAM,EAAEA,MAAO;AACfmoB,IAAAA,cAAc,EAAEA,cAAe;AAC/BjoB,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACiB,CAAC;AAE/B,CAAC;AAED6pB,aAAa,CAAChrB,SAAS,GAAGA,WAAS;;ACzE5B,IAAMA,WAAS,GAAG;EACrB0F,EAAE,EAAExF,SAAS,CAACC,MAAM;EACpBwlB,OAAO,EAAEzlB,SAAS,CAACa,MAAM;EACzBsD,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBgqB,SAAS,EAAEhrB,SAAS,CAACgB,IAAI;EACzBiqB,cAAc,EAAEjrB,SAAS,CAACgB,IAAI;EAC9BkqB,UAAU,EAAElrB,SAAS,CAACgB;AAC1B,CAAC;;ACLM,IAAMmqB,WAAW,GAAG,SAAdA,WAAWA,CAAA1mB,IAAA,EAAwE;AAAA,EAAA,IAAlEe,EAAE,GAAAf,IAAA,CAAFe,EAAE;IAAEigB,OAAO,GAAAhhB,IAAA,CAAPghB,OAAO;IAAEthB,QAAO,GAAAM,IAAA,CAAPN,OAAO;IAAE6mB,UAAS,GAAAvmB,IAAA,CAATumB,SAAS;IAAEC,eAAc,GAAAxmB,IAAA,CAAdwmB,cAAc;IAAEC,UAAU,GAAAzmB,IAAA,CAAVymB,UAAU;AACrF,EAAA,IAAAhX,SAAA,GAA4BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCkX,IAAAA,MAAM,GAAAhX,UAAA,CAAA,CAAA,CAAA;AAAEiX,IAAAA,SAAS,GAAAjX,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAA0O,UAAA,GAA0B3O,QAAQ,CAAC,IAAI,CAAC;IAAA4O,UAAA,GAAA1O,cAAA,CAAAyO,UAAA,EAAA,CAAA,CAAA;AAAjChc,IAAAA,KAAK,GAAAic,UAAA,CAAA,CAAA,CAAA;AAAEuI,IAAAA,QAAQ,GAAAvI,UAAA,CAAA,CAAA,CAAA;AAEtBrO,EAAAA,SAAS,CAAC,YAAM;AACZ;AACA;AACA,IAAA,IAAM9P,GAAG,GAAG,IAAI2mB,MAAM,CAAC7N,KAAK,EAAE;IAC9B9Y,GAAG,CAAC4mB,WAAW,GAAG,WAAW;IAC7B5mB,GAAG,CAACgB,GAAG,GAAG6f,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE7f,GAAG;IACtBhB,GAAG,CAAC+Y,MAAM,GAAG,YAAM;MACf2N,QAAQ,CAAC1mB,GAAG,CAAC;MACbymB,SAAS,CAAC,IAAI,CAAC;IACnB,CAAC;AACD;AACA;AACJ,EAAA,CAAC,EAAE,CAAC5F,OAAO,CAAC,CAAC;AACb,EAAA,IAAI2F,MAAM,EAAE;AACR,IAAA,oBACI3lB,KAAA,CAAAC,aAAA,CAACgY,OAAK,EAAA+N,QAAA,CAAA;AACFjmB,MAAAA,EAAE,EAAEA,EAAG;AACPsB,MAAAA,KAAK,EAAEA;AAAM,KAAA,EACT2e,OAAO,EAAA;AACX/e,MAAAA,KAAK,EAAE+e,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE/e,KAAM;AACtBC,MAAAA,MAAM,EAAE8e,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE9e,MAAO;MACxBxC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQA,QAAO,IAAIA,QAAO,EAAE;MAAA,CAAC;AACpC6mB,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAA;AAAA,QAAA,OAAIye,UAAS,IAAIA,UAAS,CAACze,CAAC,CAAC;MAAA,CAAC;AAC1C2e,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;AACjB0e,QAAAA,eAAc,IAAIA,eAAc,CAAC1e,CAAC,CAAC;MACvC,CAAE;AACFmf,MAAAA,kBAAkB,EAAE;AAAM,KAAA,CAC7B,CAAC;AAEV,EAAA,CAAC,MAAM;AACH,IAAA,OAAO,IAAI;AACf,EAAA;AACJ,CAAC;AAEDP,WAAW,CAACrrB,SAAS,GAAGA,WAAS;;ACzC1B,IAAMA,WAAS,GAAG;EACrB2lB,OAAO,EAAEzlB,SAAS,CAACa,MAAM;EACzBsD,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBgqB,SAAS,EAAEhrB,SAAS,CAACgB,IAAI;EACzBiqB,cAAc,EAAEjrB,SAAS,CAACgB,IAAI;EAC9BkqB,UAAU,EAAElrB,SAAS,CAACgB,IAAI;EAC1B2qB,SAAS,EAAE3rB,SAAS,CAACC;AACzB,CAAC;;ACFM,IAAM2rB,SAAS,GAAG,SAAZA,SAASA,CAAAnnB,IAAA,EAOhB;AAAA,EAAA,IANFghB,OAAO,GAAAhhB,IAAA,CAAPghB,OAAO;IACPthB,QAAO,GAAAM,IAAA,CAAPN,OAAO;IACP6mB,UAAS,GAAAvmB,IAAA,CAATumB,SAAS;IACTC,eAAc,GAAAxmB,IAAA,CAAdwmB,cAAc;IACdC,UAAU,GAAAzmB,IAAA,CAAVymB,UAAU;IACVS,SAAS,GAAAlnB,IAAA,CAATknB,SAAS;AAET,EAAA,IAAIE,cAAc,GAAGvS,wBAAwB,CAACmM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE/e,KAAK,EAAE,EAAE,CAAC;AACjE,EAAA,IAAIolB,eAAe,GAAGxS,wBAAwB,CAACmM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE9e,MAAM,EAAE,EAAE,CAAC;AACnE,EAAA,IAAIolB,UAAU,GAAGzS,wBAAwB,CAACmM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE/e,KAAK,EAAE,EAAE,CAAC;AAC7D,EAAA,IAAIslB,UAAU,GAAG1S,wBAAwB,CAACmM,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE9e,MAAM,EAAE,EAAE,CAAC;AAE9D,EAAA,IAAAuN,SAAA,GAA4BC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCkX,IAAAA,MAAM,GAAAhX,UAAA,CAAA,CAAA,CAAA;AAAEiX,IAAAA,SAAS,GAAAjX,UAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAA0O,UAAA,GAAwB3O,QAAQ,CAAC,IAAI,CAAC;IAAA4O,UAAA,GAAA1O,cAAA,CAAAyO,UAAA,EAAA,CAAA,CAAA;AAA/BmJ,IAAAA,IAAI,GAAAlJ,UAAA,CAAA,CAAA,CAAA;AAAEmJ,IAAAA,OAAO,GAAAnJ,UAAA,CAAA,CAAA,CAAA;AACpB,EAAA,IAAAoJ,UAAA,GAA0BhY,QAAQ,CAAC,IAAI,CAAC;IAAAiY,UAAA,GAAA/X,cAAA,CAAA8X,UAAA,EAAA,CAAA,CAAA;AAAjCrlB,IAAAA,KAAK,GAAAslB,UAAA,CAAA,CAAA,CAAA;AAAEd,IAAAA,QAAQ,GAAAc,UAAA,CAAA,CAAA,CAAA;AAEtB1X,EAAAA,SAAS,CAAC,YAAM;IACZ,IAAI,EAAC+Q,OAAO,KAAA,IAAA,IAAPA,OAAO,eAAPA,OAAO,CAAEhI,MAAM,CAAA,EAAE;AAClB,MAAA;AACJ,IAAA;AACA,IAAA,IAAM7Y,GAAG,GAAG,IAAI2mB,MAAM,CAAC7N,KAAK,EAAE;IAC9B9Y,GAAG,CAAC4mB,WAAW,GAAG,WAAW;IAC7B5mB,GAAG,CAACgB,GAAG,GAAG6f,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEhI,MAAM;IACzB7Y,GAAG,CAAC+Y,MAAM,GAAG,YAAM;AACf,MAAA,IAAM0O,MAAM,GAAGR,cAAc,GAAGjnB,GAAG,CAAC8B,KAAK;AACzC,MAAA,IAAM4lB,MAAM,GAAGR,eAAe,GAAGlnB,GAAG,CAAC+B,MAAM;MAC3C,IAAMoY,KAAK,GAAG8C,IAAI,CAAC1B,GAAG,CAACkM,MAAM,EAAEC,MAAM,CAAC;AACtCJ,MAAAA,OAAO,CAAC;AAAEtnB,QAAAA,GAAG,EAAHA,GAAG;AAAEma,QAAAA,KAAK,EAALA;AAAM,OAAC,CAAC;IAC3B,CAAC;AACL,EAAA,CAAC,EAAE,CAAC0G,OAAO,CAAC,CAAC;AACb,EAAA,IAAM8G,KAAK,gBAAA,YAAA;IAAA,IAAA7nB,KAAA,GAAAuY,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,MAAA,OAAAF,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAwB,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YACV,IAAI;cACAgP,MAAM,CAAC7M,SAAS,CAAC8F,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEgH,MAAM,EAAE;AAAEC,gBAAAA,MAAM,EAAE,CAAC;AAAEhmB,gBAAAA,KAAK,EAAE;AAAI,eAAC,EAAE,UAAUqW,GAAG,EAAE4P,GAAG,EAAE;AAC7E,gBAAA,IAAM/nB,GAAG,GAAG,IAAI2mB,MAAM,CAAC7N,KAAK,EAAE;gBAC9B9Y,GAAG,CAAC4mB,WAAW,GAAG,WAAW;gBAC7B5mB,GAAG,CAACgB,GAAG,GAAG+mB,GAAG;gBACb/nB,GAAG,CAAC+Y,MAAM,GAAG,YAAM;AACf,kBAAA,IAAM0O,MAAM,GAAG,CAAA5G,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAE/e,KAAK,IAAG9B,GAAG,CAAC8B,KAAK;kBACzC,IAAM4lB,MAAM,GAAG7G,OAAO,CAAC9e,MAAM,GAAG/B,GAAG,CAAC+B,MAAM;kBAC1C,IAAMoY,KAAK,GAAG8C,IAAI,CAAC1B,GAAG,CAACkM,MAAM,EAAEC,MAAM,CAAC;AACtChB,kBAAAA,QAAQ,CAAC;AAAE1mB,oBAAAA,GAAG,EAAHA,GAAG;AAAEma,oBAAAA,KAAK,EAALA;AAAM,mBAAC,CAAC;kBACxBsM,SAAS,CAAC,IAAI,CAAC;gBACnB,CAAC;AACL,cAAA,CAAC,CAAC;YACN,CAAC,CAAC,OAAOtO,GAAG,EAAE;AACV;AACA6P,cAAAA,OAAO,CAACC,KAAK,CAAC,4BAA4B,EAAE9P,GAAG,CAAC;AACpD,YAAA;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAQ,QAAA,CAAAS,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAZ,OAAA,CAAA;IAAA,CACJ,CAAA,CAAA;AAAA,IAAA,OAAA,SAlBKmP,KAAKA,GAAA;AAAA,MAAA,OAAA7nB,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAkBV;AACD/F,EAAAA,SAAS,CAAC,YAAM;AACZ6X,IAAAA,KAAK,EAAE;AACX,EAAA,CAAC,EAAE,CAAC9G,OAAO,CAAC,CAAC;AAEb,EAAA,IAAI2F,MAAM,EAAE;AACR,IAAA,oBACI3lB,KAAA,CAAAC,aAAA,CAAConB,KAAK,EAAArB,QAAA,CAAA;MACF9lB,GAAG,EAAE8f,OAAO,CAACjgB;AAAG,KAAA,EACZigB,OAAO,EAAA;MACXjgB,EAAE,EAAEigB,OAAO,CAACjgB,EAAG;MACfrB,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQA,QAAO,IAAIA,QAAO,EAAE;MAAA,CAAC;AACpC6mB,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAA;AAAA,QAAA,OAAIye,UAAS,IAAIA,UAAS,CAACze,CAAC,CAAC;MAAA,CAAC;AAC1C2e,MAAAA,UAAU,EAAEA,UAAW;AACvBD,MAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;AACjB0e,QAAAA,eAAc,IAAIA,eAAc,CAAC1e,CAAC,CAAC;AACvC,MAAA;AAAE,KAAA,CAAA,eAEF9G,KAAA,CAAAC,aAAA,CAACqnB,IAAI,EAAA;AACDrmB,MAAAA,KAAK,EAAE+e,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE/e,KAAM;AACtBC,MAAAA,MAAM,EAAE8e,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE9e,MAAO;AACxBqmB,MAAAA,gBAAgB,EAAElmB,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAElC,GAAI;AAC7BqoB,MAAAA,iBAAiB,EAAC,WAAW;AAC7BC,MAAAA,gBAAgB,EAAE;AACdC,QAAAA,CAAC,EAAE,CAAA1H,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE/e,KAAK,KAAGI,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAElC,GAAG,CAAC8B,KAAK,CAAA;AACpC0mB,QAAAA,CAAC,EAAE,CAAA3H,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE9e,MAAM,KAAGG,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAElC,GAAG,CAAC+B,MAAM;OACxC;AACF8gB,MAAAA,MAAM,EAAEhC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEgC,MAAO;AACxBD,MAAAA,WAAW,EAAE/B,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE+B,WAAY;AAClC7d,MAAAA,OAAO,EAAE8b,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE9b,OAAQ;AAC1B+hB,MAAAA,kBAAkB,EAAE;AAAM,KAC7B,CAAC,EACD,CAAAjG,OAAO,aAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE4H,WAAW,kBACjB5nB,KAAA,CAAAC,aAAA,CAAConB,KAAK,EAAA;AAACK,MAAAA,CAAC,EAAEpB,UAAW;AAACqB,MAAAA,CAAC,EAAEpB;AAAW,KAAA,eAChCvmB,KAAA,CAAAC,aAAA,CAACqnB,IAAI,EAAA;AACDrmB,MAAAA,KAAK,EAAEmlB,cAAe;AACtBllB,MAAAA,MAAM,EAAEmlB,eAAgB;AACxBjE,MAAAA,IAAI,EAAEhkB,KAAK,CAACT,KAAK,CAAC5B;KACrB,CAAC,EAEDyqB,IAAI,gBACDxmB,KAAA,CAAAC,aAAA,CAACqnB,IAAI,EAAA;AACDrmB,MAAAA,KAAK,EAAEmlB,cAAe;AACtBllB,MAAAA,MAAM,EAAEmlB,eAAgB;AACxBkB,MAAAA,gBAAgB,EAAEf,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErnB,GAAI;AAC5BqoB,MAAAA,iBAAiB,EAAC,WAAW;AAC7BC,MAAAA,gBAAgB,EAAE;QACdC,CAAC,EAAErB,eAAe,IAAGG,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErnB,GAAG,CAAC8B,KAAK,CAAA;QACpC0mB,CAAC,EAAEtB,eAAe,IAAGG,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErnB,GAAG,CAAC+B,MAAM;AACzC;AAAE,KACL,CAAC,gBAEFlB,KAAA,CAAAC,aAAA,CAAC4nB,IAAI,EAAA;AACDhpB,MAAAA,IAAI,EAAEqnB,SAAU;AAChBnkB,MAAAA,QAAQ,EAAE,CAAE;AACZqgB,MAAAA,IAAI,EAAEhkB,KAAK,CAACT,KAAK,CAACJ,WAAY;AAC9BmqB,MAAAA,CAAC,EAAE,CAAE;AACLC,MAAAA,CAAC,EAAEtB,eAAe,GAAG,CAAC,GAAG,CAAE;AAC3BvkB,MAAAA,UAAU,EAAE1D,KAAK,CAACP,KAAK,CAACjC,OAAQ;AAChCsG,MAAAA,SAAS,EAAE9D,KAAK,CAACN,WAAW,CAAC,GAAG;KACnC,CAEF,CAER,CAAC;AAEhB,EAAA,CAAC,MAAM;AACH,IAAA,OAAO,IAAI;AACf,EAAA;AACJ,CAAC;AAEDqoB,SAAS,CAAC9rB,SAAS,GAAGA,WAAS;;AC7HxB,IAAMA,WAAS,GAAG;EACrB2lB,OAAO,EAAEzlB,SAAS,CAACa,MAAM;EACzBsD,OAAO,EAAEnE,SAAS,CAACgB,IAAI;EACvBgqB,SAAS,EAAEhrB,SAAS,CAACgB,IAAI;EACzBiqB,cAAc,EAAEjrB,SAAS,CAACgB,IAAI;EAC9BusB,WAAW,EAAEvtB,SAAS,CAACgB,IAAI;EAC3BwsB,mBAAmB,EAAExtB,SAAS,CAACgB,IAAI;EACnC0O,oBAAoB,EAAE1P,SAAS,CAACgB,IAAI;EACpCkqB,UAAU,EAAElrB,SAAS,CAACgB;AAC1B,CAAC;;ACNM,IAAMysB,UAAU,GAAG,SAAbA,UAAUA,CAAAhpB,IAAA,EAA4D;AAAA,EAAA,IAAtDipB,WAAW,GAAAjpB,IAAA,CAAXipB,WAAW;IAAEhX,KAAK,GAAAjS,IAAA,CAALiS,KAAK;IAAEiX,MAAM,GAAAlpB,IAAA,CAANkpB,MAAM;IAAE3X,SAAQ,GAAAvR,IAAA,CAARuR,QAAQ;IAAE4X,SAAS,GAAAnpB,IAAA,CAATmpB,SAAS;AACxE,EAAA,IAAMC,WAAW,GAAGpZ,MAAM,CAAC,IAAI,CAAC;AAChC,EAAA,IAAAP,SAAA,GAA4BC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjC4Z,IAAAA,MAAM,GAAA1Z,UAAA,CAAA,CAAA,CAAA;AAAE2Z,IAAAA,SAAS,GAAA3Z,UAAA,CAAA,CAAA,CAAA;AAExBM,EAAAA,SAAS,CAAC,YAAM;IAAA,IAAAsZ,kBAAA,EAAAC,UAAA,EAAAC,WAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IACZ,IAAI,CAACX,WAAW,EAAE;AAClB;AACA;AACA,IAAA,IAAMY,GAAG,GAAGZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEa,QAAQ,EAAE,CAACC,OAAO,KAAAplB,MAAA,CAAKskB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAM,kBAAA,GAAXN,WAAW,CAAEvX,KAAK,MAAA,IAAA,IAAA6X,kBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,kBAAA,CAAoBxoB,EAAE,CAAE,CAAC;AAEzE,IAAA,IAAMipB,QAAQ,GAAG;AACb5b,MAAAA,QAAQ,EAAE,UAAU;AACpBuW,MAAAA,GAAG,KAAAhgB,MAAA,CAAKklB,GAAG,KAAA,IAAA,IAAHA,GAAG,gBAAAL,UAAA,GAAHK,GAAG,CAAEnY,KAAK,MAAA,IAAA,IAAA8X,UAAA,uBAAVA,UAAA,CAAYb,CAAC,EAAA,IAAA,CAAI;AACzB9Z,MAAAA,IAAI,KAAAlK,MAAA,CAAKklB,GAAG,KAAA,IAAA,IAAHA,GAAG,gBAAAJ,WAAA,GAAHI,GAAG,CAAEnY,KAAK,MAAA,IAAA,IAAA+X,WAAA,uBAAVA,WAAA,CAAYf,CAAC,EAAA,IAAA,CAAI;AAC1BzmB,MAAAA,KAAK,EAAA,EAAA,CAAA0C,MAAA,CAAKwkB,SAAS,EAAA,IAAA,CAAI;AACvBjnB,MAAAA,MAAM,EAAA,EAAA,CAAAyC,MAAA,CAAKskB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEgB,SAAS,EAAE,EAAA,IAAA,CAAI;MACvClnB,QAAQ,EAAA,EAAA,CAAA4B,MAAA,CAAKskB,WAAW,CAAClmB,QAAQ,EAAE,EAAA,IAAA,CAAI;AACvCD,MAAAA,UAAU,EAAEmmB,WAAW,CAACnmB,UAAU,EAAE;AACpCqC,MAAAA,UAAU,EAAE8jB,WAAW,CAAC9jB,UAAU,EAAE;AACpCxG,MAAAA,KAAK,EAAEsqB,WAAW,CAAC7F,IAAI,EAAE;AACzB7F,MAAAA,UAAU,EAAE,aAAa;AACzBC,MAAAA,MAAM,EAAE,MAAM;AACdxM,MAAAA,OAAO,EAAE,KAAK;AACdiX,MAAAA,MAAM,EAAE,KAAK;AACbiC,MAAAA,QAAQ,EAAE,QAAQ;AAClBC,MAAAA,OAAO,EAAE,MAAM;AACfC,MAAAA,MAAM,EAAE,MAAM;AACdC,MAAAA,eAAe,EAAE,UAAU;AAC3BlnB,MAAAA,SAAS,EAAE8lB,WAAW,CAACqB,KAAK,EAAE;MAC9B9L,SAAS,EAAA,UAAA,CAAA7Z,MAAA,CAAaskB,WAAW,CAACsB,QAAQ,EAAE,EAAA,MAAA,CAAM;AAClDC,MAAAA,SAAS,EAAE,KAAK;AAChBC,MAAAA,UAAU,EAAE,QAAQ;AACpBC,MAAAA,UAAU,EAAE,MAAM;MAClBxnB,SAAS,EAAE,CAAA+lB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAS,qBAAA,GAAXT,WAAW,CAAE/lB,SAAS,MAAA,IAAA,IAAAwmB,qBAAA,uBAAtBA,qBAAA,CAAAiB,IAAA,CAAA1B,WAAyB,CAAC,KAAI,QAAQ;MACjDjmB,UAAU,EAAE,CAAAimB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAU,qBAAA,GAAXV,WAAW,CAAE2B,WAAW,MAAA,IAAA,IAAAjB,qBAAA,uBAAxBA,qBAAA,CAAAgB,IAAA,CAAA1B,WAA2B,CAAC,KAAI,GAAG;MAC/ChmB,cAAc,EAAE,CAAAgmB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAW,qBAAA,GAAXX,WAAW,CAAEhmB,cAAc,MAAA,IAAA,IAAA2mB,qBAAA,uBAA3BA,qBAAA,CAAAe,IAAA,CAAA1B,WAA8B,CAAC,KAAI;KACtD;IAEDK,SAAS,CAACU,QAAQ,CAAC;AACvB,EAAA,CAAC,EAAE,CAACf,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAE7Y,OAAO,EAAE6B,KAAK,EAAE+O,OAAO,CAAC,CAAC;AAC1C/Q,EAAAA,SAAS,CAAC,YAAM;AACZ6B,IAAAA,UAAU,CAAC,YAAM;AACb,MAAA,IAAIsX,WAAW,KAAA,IAAA,IAAXA,WAAW,eAAXA,WAAW,CAAEhZ,OAAO,EAAE;QAAA,IAAAya,oBAAA,EAAAC,qBAAA;AACtB1B,QAAAA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAAyB,oBAAA,GAAXzB,WAAW,CAAEhZ,OAAO,MAAA,IAAA,IAAAya,oBAAA,KAAA,MAAA,IAApBA,oBAAA,CAAsBE,KAAK,EAAE;AAC7B3B,QAAAA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAA,CAAA0B,qBAAA,GAAX1B,WAAW,CAAEhZ,OAAO,MAAA,IAAA,IAAA0a,qBAAA,KAAA,MAAA,IAApBA,qBAAA,CAAsBE,MAAM,EAAE;AAClC,MAAA;IACJ,CAAC,EAAE,GAAG,CAAC;EACX,CAAC,EAAE,EAAE,CAAC;EACN,oBACIhqB,KAAA,CAAAC,aAAA,CAACgqB,IAAI,EAAA,IAAA,eACDjqB,KAAA,CAAAC,aAAA,CAAA,UAAA,EAAA;AACI0P,IAAAA,GAAG,EAAEyY,WAAY;AACjBxY,IAAAA,KAAK,EAAEyY,MAAO;AACdpX,IAAAA,KAAK,EAAEA,KAAM;AACbV,IAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEzJ,CAAC,EAAI;AACXyJ,MAAAA,SAAQ,CAACzJ,CAAC,CAACwI,MAAM,CAAC2B,KAAK,CAAC;IAC5B,CAAE;AACFiX,IAAAA,MAAM,EAAEA;AAAO,GAClB,CACC,CAAC;AAEf,CAAC;AAEDF,UAAU,CAAC3tB,SAAS,GAAGA,WAAS;;AC9DzB,IAAM6vB,YAAY,GAAG,SAAfA,YAAYA,CAAAlrB,IAAA,EAUnB;AAAA,EAAA,IATFghB,OAAO,GAAAhhB,IAAA,CAAPghB,OAAO;IACPmK,KAAK,GAAAnrB,IAAA,CAALmrB,KAAK;IACLzrB,OAAO,GAAAM,IAAA,CAAPN,OAAO;IACP6mB,UAAS,GAAAvmB,IAAA,CAATumB,SAAS;IACTC,cAAc,GAAAxmB,IAAA,CAAdwmB,cAAc;IACdzlB,EAAE,GAAAf,IAAA,CAAFe,EAAE;IACF+nB,WAAW,GAAA9oB,IAAA,CAAX8oB,WAAW;IACXC,mBAAmB,GAAA/oB,IAAA,CAAnB+oB,mBAAmB;IACnBtC,UAAU,GAAAzmB,IAAA,CAAVymB,UAAU;AAEV,EAAA,IAAM2E,OAAO,GAAGpb,MAAM,EAAE;EACxB,IAAAP,SAAA,GAAkCC,QAAQ,CAACsR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE/e,KAAK,CAAC;IAAA0N,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAnD0Z,IAAAA,SAAS,GAAAxZ,UAAA,CAAA,CAAA,CAAA;AAAE0b,IAAAA,YAAY,GAAA1b,UAAA,CAAA,CAAA,CAAA;EAC9B,IAAA0O,UAAA,GAAwC3O,QAAQ,CAACsR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEje,QAAQ,CAAC;IAAAub,UAAA,GAAA1O,cAAA,CAAAyO,UAAA,EAAA,CAAA,CAAA;AAA5DiN,IAAAA,YAAY,GAAAhN,UAAA,CAAA,CAAA,CAAA;AAAEiN,IAAAA,eAAe,GAAAjN,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAoJ,UAAA,GAAkChY,QAAQ,CAAC,KAAK,CAAC;IAAAiY,UAAA,GAAA/X,cAAA,CAAA8X,UAAA,EAAA,CAAA,CAAA;AAA1C8D,IAAAA,SAAS,GAAA7D,UAAA,CAAA,CAAA,CAAA;AAAE8D,IAAAA,YAAY,GAAA9D,UAAA,CAAA,CAAA,CAAA;EAC9B,IAAA+D,UAAA,GAAwBhc,QAAQ,CAACsR,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEnhB,IAAI,CAAC;IAAA8rB,UAAA,GAAA/b,cAAA,CAAA8b,UAAA,EAAA,CAAA,CAAA;AAAxC7rB,IAAAA,IAAI,GAAA8rB,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,OAAO,GAAAD,UAAA,CAAA,CAAA,CAAA;AACpB,EAAA,IAAAE,UAAA,GAAwCnc,QAAQ,CAAC,KAAK,CAAC;IAAAoc,UAAA,GAAAlc,cAAA,CAAAic,UAAA,EAAA,CAAA,CAAA;AAAhDE,IAAAA,YAAY,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,eAAe,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEpC7b,EAAAA,SAAS,CAAC,YAAM;IACZ+b,eAAe,CAAC,KAAK,CAAC;AACtBla,IAAAA,UAAU,CAAC,YAAM;MACbka,eAAe,CAAC,IAAI,CAAC;IACzB,CAAC,EAAE,GAAG,CAAC;EACX,CAAC,EAAE,CAAChL,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEle,UAAU,EAAEke,OAAO,KAAA,IAAA,IAAPA,OAAO,uBAAPA,OAAO,CAAEhe,UAAU,EAAEge,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE9d,SAAS,CAAC,CAAC;AAElE+M,EAAAA,SAAS,CAAC,YAAM;IACZob,YAAY,CAACrK,OAAO,KAAA,IAAA,IAAPA,OAAO,uBAAPA,OAAO,CAAE/e,KAAK,CAAC;IAC5B2pB,OAAO,CAAC5K,OAAO,KAAA,IAAA,IAAPA,OAAO,uBAAPA,OAAO,CAAEnhB,IAAI,CAAC;IACtB0rB,eAAe,CAACvK,OAAO,KAAA,IAAA,IAAPA,OAAO,uBAAPA,OAAO,CAAEje,QAAQ,CAAC;AACtC,EAAA,CAAC,EAAE,CAACie,OAAO,CAAC,CAAC;AAEb,EAAA,IAAMiL,QAAQ,GAAG,SAAXA,QAAQA,CAAGnkB,CAAC,EAAI;AAClB,IAAA,IAAMokB,WAAW,GAAGf,KAAK,CAAC/a,OAAO;AACjC,IAAA,IAAM+b,YAAY,GAAGD,WAAW,CAACE,eAAe,EAAE;AAClD,IAAA,IAAID,YAAY,KAAK,cAAc,IAAIA,YAAY,KAAK,aAAa,EAAE;AACnE,MAAA,IAAMvsB,IAAI,GAAGkI,CAAC,CAACwI,MAAM;MACrB,IAAMsX,MAAM,GAAGvR,cAAc,CAACzW,IAAI,CAACgoB,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/C,MAAA,IAAMyE,YAAY,GAAGhW,cAAc,CAACzW,IAAI,CAACqC,KAAK,EAAE,GAAG2lB,MAAM,EAAE5G,OAAO,CAAC/e,KAAK,CAAC;MAEzE,IAAMqqB,aAAa,GAAA1tB,cAAA,CAAAA,cAAA,CAAA,EAAA,EACZgB,IAAI,CAAC8R,KAAK,CAAA,EAAA,EAAA,EAAA;AACbzP,QAAAA,KAAK,EAAEoqB,YAAY;AACnBzE,QAAAA,MAAM,EAAE,CAAC;AACTC,QAAAA,MAAM,EAAE;OAAC,CACZ;MACD,OAAOyE,aAAa,CAAC,KAAK,CAAC;MAC3BjB,YAAY,CAACgB,YAAY,CAAC;AAC1BvD,MAAAA,WAAW,IAAIA,WAAW,CAACwD,aAAa,CAAC;AACzC1sB,MAAAA,IAAI,CAACgoB,MAAM,CAAC,CAAC,CAAC;AACdhoB,MAAAA,IAAI,CAACioB,MAAM,CAAC,CAAC,CAAC;AAClB,IAAA;EACJ,CAAC;AAED,EAAA,IAAM0E,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGzkB,CAAC,EAAI;AAC5B,IAAA,IAAMokB,WAAW,GAAGf,KAAK,CAAC/a,OAAO;AACjC,IAAA,IAAM+b,YAAY,GAAGD,WAAW,CAACE,eAAe,EAAE;AAClD,IAAA,IAAID,YAAY,KAAK,cAAc,IAAIA,YAAY,KAAK,aAAa,EAAE;AACnE3F,MAAAA,cAAc,IAAIA,cAAc,CAAC1e,CAAC,CAAC;AACnC,MAAA;AACJ,IAAA;AACA,IAAA,IAAMlI,IAAI,GAAGwrB,OAAO,CAAChb,OAAO;AAC5B,IAAA,IAAMoc,SAAS,GAAG5sB,IAAI,CAAC8R,KAAK;IAC5B,IAAMkW,MAAM,GAAGvR,cAAc,CAACzW,IAAI,CAACgoB,MAAM,EAAE,EAAE,CAAC,CAAC;AAC/C,IAAA,IAAM6E,WAAW,GAAGD,SAAS,CAACzpB,QAAQ,GAAG6kB,MAAM;AAC/C,IAAA,IAAMyE,YAAY,GAAGhW,cAAc,CAACzW,IAAI,CAACqC,KAAK,EAAE,GAAG2lB,MAAM,EAAE4E,SAAS,CAACvqB,KAAK,CAAC;AAC3ErC,IAAAA,IAAI,CAACgoB,MAAM,CAAC,CAAC,CAAC;AACdhoB,IAAAA,IAAI,CAACioB,MAAM,CAAC,CAAC,CAAC;AAEd,IAAA,IAAMyE,aAAa,GAAA1tB,cAAA,CAAAA,cAAA,KACZ4tB,SAAS,CAAA,EAAA,EAAA,EAAA;AACZvqB,MAAAA,KAAK,EAAEoqB,YAAY;AACnBtpB,MAAAA,QAAQ,EAAE0pB;KAAW,CACxB;IACDlB,eAAe,CAACkB,WAAW,CAAC;IAC5BpB,YAAY,CAACgB,YAAY,CAAC;IAC1B,OAAOC,aAAa,CAAC,KAAK,CAAC;AAC3BxD,IAAAA,WAAW,IAAIA,WAAW,CAACwD,aAAa,CAAC;AACzC9F,IAAAA,cAAc,IAAIA,cAAc,CAAC1e,CAAC,CAAC;EACvC,CAAC;AAED,EAAA,IAAM4kB,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;IAC7BjB,YAAY,CAAC,IAAI,CAAC;EACtB,CAAC;AAED,EAAA,IAAMkB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,OAAO,EAAI;IAChChB,OAAO,CAACgB,OAAO,CAAC;IAChB7D,mBAAmB,CAAC6D,OAAO,CAAC;EAChC,CAAC;AACD,EAAA,IAAM3d,QAAQ,GAAG,SAAXA,QAAQA,GAAS;AAAA,IAAA,IAAA4d,gBAAA;AACnB;AACA,IAAA,IAAI5qB,KAAK,GAAGmpB,OAAO,aAAPA,OAAO,KAAA,MAAA,IAAA,CAAAyB,gBAAA,GAAPzB,OAAO,CAAEhb,OAAO,cAAAyc,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAA,CAAkBC,QAAQ,EAAE;AACxC,IAAA,IAAI7qB,KAAK,EAAE;MACPopB,YAAY,CAACppB,KAAK,CAAC;AACnB;AACJ,IAAA;AACA;AACA;AACA;;IAEAvC,OAAO,IAAIA,OAAO,EAAE;EACxB,CAAC;EACD,IAAI,CAACqsB,YAAY,EAAE;AACf,IAAA,oBACI/qB,KAAA,CAAAC,aAAA,CAAC4nB,IAAI,EAAA7B,QAAA,CAAA;AACDrW,MAAAA,GAAG,EAAEya,OAAQ;AACblqB,MAAAA,GAAG,EAAEH;AAAG,KAAA,EACJigB,OAAO,EAAA;MACXjgB,EAAE,EAAEigB,OAAO,CAACjgB,EAAG;AACf6pB,MAAAA,WAAW,EAAE5J,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEhe,UAAW;AACjCsnB,MAAAA,KAAK,EAAEtJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE7d,SAAU;AAC1BlB,MAAAA,KAAK,EAAEknB,SAAU;AACjBpmB,MAAAA,QAAQ,EAAEuoB,YAAa;AACvBzrB,MAAAA,IAAI,EAAEA,IAAK;AACXujB,MAAAA,IAAI,EAAEpC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEriB,KAAM;AACrBuG,MAAAA,OAAO,EAAE,CAAE;AACX6nB,MAAAA,OAAO,EAAE;AAAM,KAAA,CAClB,CAAC;AAEV,EAAA;AACA,EAAA,oBACI/rB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAslB,QAAA,EAAA,IAAA,eACItlB,KAAA,CAAAC,aAAA,CAAC4nB,IAAI,EAAA7B,QAAA,CAAA;AACDrW,IAAAA,GAAG,EAAEya,OAAQ;AACblqB,IAAAA,GAAG,EAAEH;AAAG,GAAA,EACJigB,OAAO,EAAA;IACXjgB,EAAE,EAAEigB,OAAO,CAACjgB,EAAG;AACf6pB,IAAAA,WAAW,EAAE5J,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEhe,UAAW;AACjCsnB,IAAAA,KAAK,EAAEtJ,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAE7d,SAAU;AAC1BlB,IAAAA,KAAK,EAAEknB,SAAU;AACjBpmB,IAAAA,QAAQ,EAAEuoB,YAAa;AACvBzrB,IAAAA,IAAI,EAAEA,IAAK;AACXujB,IAAAA,IAAI,EAAEpC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEriB,KAAM;IACrBe,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQuP,QAAQ,EAAE;IAAA,CAAC;AAC1B6Z,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAEhhB,CAAC,EAAA;MAAA,OAAImkB,QAAQ,CAACnkB,CAAC,CAAC;IAAA,CAAC;AAC9Bye,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAA;AAAA,MAAA,OAAIye,UAAS,IAAIA,UAAS,CAACze,CAAC,CAAC;IAAA,CAAC;AAC1C0e,IAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;MACjBykB,kBAAkB,CAACzkB,CAAC,CAAC;IACzB,CAAE;AACF2e,IAAAA,UAAU,EAAEA,UAAW;AACvBuG,IAAAA,UAAU,EAAEN,kBAAmB;AAC/BO,IAAAA,QAAQ,EAAEP,kBAAmB;AAC7BK,IAAAA,OAAO,EAAE,CAACvB;GAAU,CACvB,CAAC,EACDA,SAAS,iBACNxqB,KAAA,CAAAC,aAAA,CAAC+nB,UAAU,EAAA;AACP/W,IAAAA,KAAK,EAAEpS,IAAK;AACZspB,IAAAA,SAAS,EAAEA,SAAU;AACrBF,IAAAA,WAAW,EAAEmC,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAA,MAAA,GAAPA,OAAO,CAAEhb,OAAQ;AAC9BmB,IAAAA,QAAQ,EAAEob,gBAAiB;AAC3BzD,IAAAA,MAAM,EAAE,SAARA,MAAMA,GAAQ;MACVuC,YAAY,CAAC,KAAK,CAAC;AACnB;AACJ,IAAA;AAAE,GACL,CAEP,CAAC;AAEX,CAAC;AAEDP,YAAY,CAAC7vB,SAAS,GAAGA,WAAS;;AC/J3B,IAAM6xB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,MAAM,EAAI;AAAA,EAAA,IAAAC,iBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA;AAEtC,EAAA,IAAMC,aAAa,GAAG;IAClBC,SAAS,EAAA,CAAAT,iBAAA,GAACD,MAAM,CAACU,SAAS,MAAA,IAAA,IAAAT,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAI,CAAC;IAC/BU,cAAc,EAAA,CAAAT,qBAAA,GAAEF,MAAM,CAACW,cAAc,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,kBAAkB;IAC3DU,aAAa,EAAA,CAAAT,qBAAA,GAAEH,MAAM,CAACY,aAAa,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IAC3CU,cAAc,EAAA,CAAAT,qBAAA,GAACJ,MAAM,CAACa,cAAc,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IAC5CU,kBAAkB,EAAA,CAAAT,qBAAA,GAACL,MAAM,CAACc,kBAAkB,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,CAAC;IACjDU,iBAAiB,EAAA,CAAAT,qBAAA,GAACN,MAAM,CAACe,iBAAiB,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IAClDU,kBAAkB,EAAA,CAAAT,qBAAA,GAACP,MAAM,CAACgB,kBAAkB,MAAA,IAAA,IAAAT,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,IAAI;IACpDU,YAAY,EAAA,CAAAT,oBAAA,GAACR,MAAM,CAACiB,YAAY,MAAA,IAAA,IAAAT,oBAAA,KAAA,MAAA,GAAAA,oBAAA,GAAI;GACvC;AACD,EAAA,IAAMU,eAAe,GAAG;AACpB,IAAA,UAAU,EAAE,cAAc;AAC1B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,aAAa,EAAE;GAChB;AAEH,EAAA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGxmB,CAAC,EAAI;AAC3B,IAAA,IAAQomB,iBAAiB,GAAuCN,aAAa,CAArEM,iBAAiB;MAAEC,kBAAkB,GAAmBP,aAAa,CAAlDO,kBAAkB;MAAEC,YAAY,GAAKR,aAAa,CAA9BQ,YAAY;IAC3D,IAAM1T,KAAK,GAAG5S,CAAC,CAACymB,aAAa,CAACzE,QAAQ,EAAE;IACxC,IAAM0E,QAAQ,GAAG,EAAE;IACnB,IAAMC,UAAU,GAAG,EAAE;AACrB,IAAA,IAAIP,iBAAiB,EAAC;MAClBM,QAAQ,CAACtW,IAAI,CAACwC,KAAK,CAAChJ,KAAK,CAACzP,KAAK,GAAG,CAAC,CAAC;MACpCwsB,UAAU,CAACvW,IAAI,CAACwC,KAAK,CAAChJ,KAAK,CAACxP,MAAM,GAAG,CAAC,CAAC;AAC3C,IAAA;AACA,IAAA,IAAIisB,kBAAkB,EAAC;MACnBM,UAAU,CAACvW,IAAI,CAAC,CAAC,EAAEwC,KAAK,CAAChJ,KAAK,CAACxP,MAAM,CAAC;MACtCssB,QAAQ,CAACtW,IAAI,CAAC,CAAC,EAAEwC,KAAK,CAAChJ,KAAK,CAACzP,KAAK,CAAC;AACvC,IAAA;AACA,IAAA,IAAImsB,YAAY,EAAC;AAAA,MAAA,IAAAM,eAAA;AACbhU,MAAAA,KAAK,aAALA,KAAK,KAAA,MAAA,IAAA,CAAAgU,eAAA,GAALhU,KAAK,CAAE1N,QAAQ,MAAA,IAAA,IAAA0hB,eAAA,eAAfA,eAAA,CAAiB1W,OAAO,CAAC,UAAA2W,KAAK,EAAI;AAAA,QAAA,IAAAC,eAAA;AAE9BD,QAAAA,KAAK,aAALA,KAAK,KAAA,MAAA,IAAA,CAAAC,eAAA,GAALD,KAAK,CAAE3hB,QAAQ,MAAA,IAAA,IAAA4hB,eAAA,eAAfA,eAAA,CAAiB5W,OAAO,CAAC,UAAA6W,UAAU,EAAI;AAAA,UAAA,IAAAC,oBAAA;AAEnCD,UAAAA,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAA,CAAAC,oBAAA,GAAVD,UAAU,CAAE7hB,QAAQ,MAAA,IAAA,IAAA8hB,oBAAA,eAApBA,oBAAA,CAAsB9W,OAAO,CAAC,UAAA+W,GAAG,EAAE;AAE/B,YAAA,IAAMC,GAAG,GAAGD,GAAG,CAACE,aAAa,EAAE;YAC/B,IAAInnB,CAAC,CAACwI,MAAM,KAAKye,GAAG,IAAIA,GAAG,CAACG,OAAO,EAAE,KAAK,WAAW,IAAI,EAAEH,GAAG,YAAYI,KAAK,CAACC,WAAW,CAAC,EAAE;cAC1FZ,QAAQ,CAACtW,IAAI,CAAC8W,GAAG,CAACtG,CAAC,EAAEsG,GAAG,CAACtG,CAAC,GAAGsG,GAAG,CAAC/sB,KAAK,EAAE+sB,GAAG,CAACtG,CAAC,GAAGsG,GAAG,CAAC/sB,KAAK,GAAG,CAAC,CAAC;cAC9DwsB,UAAU,CAACvW,IAAI,CAAC8W,GAAG,CAACrG,CAAC,EAAEqG,GAAG,CAACrG,CAAC,GAAGqG,GAAG,CAAC9sB,MAAM,EAAE8sB,GAAG,CAACrG,CAAC,GAAGqG,GAAG,CAAC9sB,MAAM,GAAG,CAAC,CAAC;AACtE,YAAA;AACJ,UAAA,CAAC,CAAC;AAEN,QAAA,CAAC,CAAC;AACN,MAAA,CAAC,CAAC;AACN,IAAA;IAEA,OAAO;AAAEssB,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,UAAU,EAAVA;KAAY;EACnC,CAAC;AAED,EAAA,IAAMY,UAAU,GAAG,SAAbA,UAAUA,CAAIC,KAAK,EAAEC,YAAY,EAAEC,KAAK,EAAEC,KAAK,EAAK;AACtD,IAAA,IAAQ3B,cAAc,GAIdF,aAAa,CAJbE,cAAc;MAClBE,cAAc,GAGVJ,aAAa,CAHjBI,cAAc;MACdC,kBAAkB,GAEdL,aAAa,CAFjBK,kBAAkB;MAClBF,aAAa,GACTH,aAAa,CADjBG,aAAa;IAEjB,IAAI,CAACC,cAAc,EAAE;IACrB,IAAM0B,MAAM,GAAGH,YAAY,GAAG,CAAC,IAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAK,EAAE,CAAC,EAAE,IAAI,CAAC;AACvE,IAAA,IAAMI,IAAI,GAAG,IAAIR,KAAK,CAACS,IAAI,CAAC;AACxBF,MAAAA,MAAM,EAANA,MAAM;AACN1M,MAAAA,MAAM,EAAE8K,cAAc;AACtB/K,MAAAA,WAAW,EAAEkL,kBAAkB;AAC/B4B,MAAAA,IAAI,EAAE,WAAW;AACjBC,MAAAA,IAAI,EAAE/B,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACxC,KAAC,CAAC;AACFuB,IAAAA,KAAK,CAACS,GAAG,CAACJ,IAAI,CAAC;IACfA,IAAI,CAACK,gBAAgB,CAAC;AAAEtH,MAAAA,CAAC,EAAE8G,KAAK;AAAE7G,MAAAA,CAAC,EAAE8G;AAAM,KAAC,CAAC;EACjD,CAAC;AACD,EAAA,SAASQ,UAAUA,CAACC,EAAE,EAAEC,EAAE,EAAE;AACxB,IAAA,OAAOD,EAAE,CAACxH,CAAC,GAAGyH,EAAE,CAACzH,CAAC,GAAGwH,EAAE,CAACvH,CAAC,GAAGwH,EAAE,CAACxH,CAAC;AAClC,EAAA;AAEA,EAAA,SAASyH,aAAaA,CAAC7W,CAAC,EAAE8W,CAAC,EAAE;AAC3B,IAAA,IAAMC,KAAK,GAAGL,UAAU,CAAC1W,CAAC,EAAE8W,CAAC,CAAC;AAC9B,IAAA,IAAME,KAAK,GAAGN,UAAU,CAACI,CAAC,EAAEA,CAAC,CAAC;AAC9B,IAAA,IAAMG,MAAM,GAAGF,KAAK,GAAGC,KAAK;IAC5B,OAAO;AACL7H,MAAAA,CAAC,EAAE8H,MAAM,GAAGH,CAAC,CAAC3H,CAAC;AACfC,MAAAA,CAAC,EAAE6H,MAAM,GAAGH,CAAC,CAAC1H;KACf;AACH,EAAA;AAEA,EAAA,SAAS8H,cAAcA,CAACC,MAAM,EAAEC,MAAM,EAAE;IACtC,IAAMC,MAAM,GAAGD,MAAM,CAACjI,CAAC,GAAGgI,MAAM,CAAChI,CAAC;IAElC,IAAIkI,MAAM,KAAK,CAAC,EAAE;AAEhB,MAAA,MAAM,IAAItb,KAAK,CAAA,0DAAA,CAAA3Q,MAAA,CAA4DgsB,MAAM,CAACjI,CAAC,EAAA,IAAA,CAAA,CAAA/jB,MAAA,CAAK+rB,MAAM,CAAChI,CAAC,CAAE,CAAC;AACrG,IAAA;IAEA,IAAMmI,MAAM,GAAGF,MAAM,CAAChI,CAAC,GAAG+H,MAAM,CAAC/H,CAAC;IAClC,OAAOkI,MAAM,GAAGD,MAAM;AACxB,EAAA;AAEF,EAAA,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAGhpB,CAAC,EAAI;AACxB,IAAA,IAAMwnB,KAAK,GAAGxnB,CAAC,CAACwI,MAAM,CAACygB,MAAM;;AAE7B;IACAzB,KAAK,CAAC0B,IAAI,CAAC,YAAY,CAAC,CAAChZ,OAAO,CAAC,UAAA2X,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACsB,OAAO,EAAE;IAAA,CAAA,CAAC;AACxD,IAAA,IAAAC,kBAAA,GAAiC5C,iBAAiB,CAACxmB,CAAC,CAAC;MAA7C2mB,UAAU,GAAAyC,kBAAA,CAAVzC,UAAU;MAAED,QAAQ,GAAA0C,kBAAA,CAAR1C,QAAQ;AAC5B,IAAA,IAAI2C,MAAM,GAAG;MAAEzI,CAAC,EAAE5gB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACtH,CAAC;MAAEC,CAAC,EAAE7gB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACrH;KAAG;IACnF,IAAIyI,WAAW,GAAG,EAAE;IACpB,IAAIC,WAAW,GAAG,EAAE;AACpB,IAAA,IAAQxD,SAAS,GAAKD,aAAa,CAA3BC,SAAS;AACjB;AACAW,IAAAA,QAAQ,CAACxW,OAAO,CAAC,UAAAsZ,UAAU,EAAI;AAC3B,MAAA,IAAIlU,IAAI,CAACmU,GAAG,CAACzpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAG4I,UAAU,CAAC,IAAIzD,SAAS,EAAE;QAChEsD,MAAM,CAACzI,CAAC,GAAG4I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACtH,CAAC,GAAG5gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC;AAClF0I,QAAAA,WAAW,CAAClZ,IAAI,CAACoZ,UAAU,CAAC;AAChC,MAAA;AACA,MAAA,IAAIlU,IAAI,CAACmU,GAAG,CAACzpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAG4I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAChtB,KAAK,GAAG,CAAC,CAAC,IAAI4rB,SAAS,EAAE;AACrGsD,QAAAA,MAAM,CAACzI,CAAC,GAAG4I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACtH,CAAC,GAAG5gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAG5gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAChtB,KAAK,GAAG,CAAC;AACvHmvB,QAAAA,WAAW,CAAClZ,IAAI,CAACoZ,UAAU,CAAC;AAEhC,MAAA;AACA,MAAA,IAAIlU,IAAI,CAACmU,GAAG,CAACzpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAG4I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAChtB,KAAK,CAAC,IAAI4rB,SAAS,EAAE;AACjGsD,QAAAA,MAAM,CAACzI,CAAC,GAAG4I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACtH,CAAC,GAAG5gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAG5gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAChtB,KAAK;AACnHmvB,QAAAA,WAAW,CAAClZ,IAAI,CAACoZ,UAAU,CAAC;AAChC,MAAA;AACJ,IAAA,CAAC,CAAC;AACFxpB,IAAAA,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,CAACmB,MAAM,CAAC;AACjCC,IAAAA,WAAW,CAACpZ,OAAO,CAAC,UAAA2X,IAAI,EAAE;AACtB,MAAA,IAAIvS,IAAI,CAACC,KAAK,CAACvV,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAGiH,IAAI,CAAC,KAAK,CAAC,IACvDvS,IAAI,CAACC,KAAK,CAACvV,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAGiH,IAAI,GAAG7nB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAChtB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IACxFmb,IAAI,CAACC,KAAK,CAACvV,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACvG,CAAC,GAAGiH,IAAI,GAAG7nB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAChtB,KAAK,CAAC,KAAK,CAAC,EAAE;QACpFotB,UAAU,CAACC,KAAK,EAAE,KAAK,EAAEK,IAAI,EAAE,CAAC,CAAC;AACnC,MAAA;AACJ,IAAA,CAAC,CAAC;AACF;AACAlB,IAAAA,UAAU,CAACzW,OAAO,CAAC,UAAAsZ,UAAU,EAAI;AAC7B,MAAA,IAAIlU,IAAI,CAACmU,GAAG,CAACzpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAG2I,UAAU,CAAC,IAAIzD,SAAS,EAAE;QAChEsD,MAAM,CAACxI,CAAC,GAAG2I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACrH,CAAC,GAAG7gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC;AAClF0I,QAAAA,WAAW,CAACnZ,IAAI,CAACoZ,UAAU,CAAC;AAChC,MAAA;AACA,MAAA,IAAIlU,IAAI,CAACmU,GAAG,CAACzpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAG2I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAC/sB,MAAM,CAAC,IAAI2rB,SAAS,EAAE;AAClGsD,QAAAA,MAAM,CAACxI,CAAC,GAAG2I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACrH,CAAC,GAAG7gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAG7gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAC/sB,MAAM;AACpHmvB,QAAAA,WAAW,CAACnZ,IAAI,CAACoZ,UAAU,CAAC;AAChC,MAAA;AACA,MAAA,IAAIlU,IAAI,CAACmU,GAAG,CAACzpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAG2I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAC/sB,MAAM,GAAG,CAAC,CAAC,IAAI2rB,SAAS,EAAE;AACtGsD,QAAAA,MAAM,CAACxI,CAAC,GAAG2I,UAAU,GAAGxpB,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,EAAE,CAACrH,CAAC,GAAG7gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAG7gB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAC/sB,MAAM,GAAG,CAAC;AACxHmvB,QAAAA,WAAW,CAACnZ,IAAI,CAACoZ,UAAU,CAAC;AAChC,MAAA;AACJ,IAAA,CAAC,CAAC;AACFxpB,IAAAA,CAAC,CAACwI,MAAM,CAAC0f,gBAAgB,CAACmB,MAAM,CAAC;AACjCE,IAAAA,WAAW,CAACrZ,OAAO,CAAC,UAAA2X,IAAI,EAAE;AACtB,MAAA,IAAIvS,IAAI,CAACC,KAAK,CAACvV,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAGgH,IAAI,CAAC,KAAK,CAAC,IACvDvS,IAAI,CAACC,KAAK,CAACvV,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAGgH,IAAI,GAAG7nB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAC/sB,MAAM,CAAC,KAAK,CAAC,IACrFkb,IAAI,CAACC,KAAK,CAACvV,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAACtG,CAAC,GAAGgH,IAAI,GAAG7nB,CAAC,CAACwI,MAAM,CAAC2e,aAAa,EAAE,CAAC/sB,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;QACvFmtB,UAAU,CAACC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAEK,IAAI,CAAC;AACpC,MAAA;AACJ,IAAA,CAAC,CAAC;EACN,CAAC;AAED,EAAA,IAAM6B,cAAc,GAAG,SAAjBA,cAAcA,CAAG1pB,CAAC,EAAI;AACxB,IAAA,IAAMwnB,KAAK,GAAGxnB,CAAC,CAACwI,MAAM,CAACygB,MAAM;AAC7B,IAAA,IAAQlD,SAAS,GAAKD,aAAa,CAA3BC,SAAS;AAEjB,IAAA,IAAA4D,mBAAA,GAA+BnD,iBAAiB,CAACxmB,CAAC,CAAC;MAA7C2mB,UAAU,GAAAgD,mBAAA,CAAVhD,UAAU;MAAED,QAAQ,GAAAiD,mBAAA,CAARjD,QAAQ;AAC1B,IAAA,IAAI,CAAC1mB,CAAC,CAACymB,aAAa,CAACmD,SAAS,EAAE,IAAK5pB,CAAC,CAACymB,aAAa,CAACmD,SAAS,EAAE,IAAI,CAAC,CAAC,CAACrD,eAAe,CAACvmB,CAAC,CAACymB,aAAa,CAACoD,iBAAiB,CAAE,EAAC;MACvH7pB,CAAC,CAACymB,aAAa,CAACqD,mBAAmB,CAAC,UAACC,SAAS,EAAEC,SAAS,EAAK;QAE1DxC,KAAK,CAAC0B,IAAI,CAAC,YAAY,CAAC,CAAChZ,OAAO,CAAC,UAAA2X,IAAI,EAAA;AAAA,UAAA,OAAIA,IAAI,CAACsB,OAAO,EAAE;QAAA,CAAA,CAAC;AAChD,QAAA,IAAIc,MAAM,GAAG;UAAErJ,CAAC,EAAEoJ,SAAS,CAACpJ,CAAC;UAAEC,CAAC,EAAEmJ,SAAS,CAACnJ;SAAG;AAC/C;QACA,IAAI7gB,CAAC,CAACymB,aAAa,CAACnC,eAAe,EAAE,KAAK,SAAS,EAAE,OAAO2F,MAAM;AAAC,QAAA,IAAAC,SAAA,GAAAC,0BAAA,CAC5CzD,QAAQ,CAAA;UAAA0D,KAAA;AAAA,QAAA,IAAA;UAA/B,KAAAF,SAAA,CAAAG,CAAA,EAAA,EAAA,CAAA,CAAAD,KAAA,GAAAF,SAAA,CAAAjZ,CAAA,EAAA,EAAAqZ,IAAA,GAAiC;AAAA,YAAA,IAAxBd,UAAU,GAAAY,KAAA,CAAAjgB,KAAA;YACf,IAAImL,IAAI,CAACmU,GAAG,CAACO,SAAS,CAACpJ,CAAC,GAAG4I,UAAU,CAAC,IAAIzD,SAAS,IACnDzQ,IAAI,CAACmU,GAAG,CAACM,SAAS,CAACnJ,CAAC,GAAG4I,UAAU,CAAC,IAAIzD,SAAS,GAAG,CAAC,EACjD;cACEkE,MAAM,CAACrJ,CAAC,GAAG4I,UAAU;cACrBjC,UAAU,CAACC,KAAK,EAAE,KAAK,EAAEgC,UAAU,EAAE,CAAC,CAAC;AACvC,cAAA;AACJ,YAAA;AACJ,UAAA;AAAC,QAAA,CAAA,CAAA,OAAAhZ,GAAA,EAAA;UAAA0Z,SAAA,CAAAlqB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,QAAA,CAAA,SAAA;AAAA0Z,UAAAA,SAAA,CAAAK,CAAA,EAAA;AAAA,QAAA;AAAA,QAAA,IAAAC,UAAA,GAAAL,0BAAA,CACsBxD,UAAU,CAAA;UAAA8D,MAAA;AAAA,QAAA,IAAA;UAAjC,KAAAD,UAAA,CAAAH,CAAA,EAAA,EAAA,CAAA,CAAAI,MAAA,GAAAD,UAAA,CAAAvZ,CAAA,EAAA,EAAAqZ,IAAA,GAAmC;AAAA,YAAA,IAA1Bd,WAAU,GAAAiB,MAAA,CAAAtgB,KAAA;YACf,IAAImL,IAAI,CAACmU,GAAG,CAACO,SAAS,CAACnJ,CAAC,GAAG2I,WAAU,CAAC,IAAIzD,SAAS,IACnDzQ,IAAI,CAACmU,GAAG,CAACM,SAAS,CAAClJ,CAAC,GAAG2I,WAAU,CAAC,IAAIzD,SAAS,GAAG,CAAC,EACjD;cACEkE,MAAM,CAACpJ,CAAC,GAAG2I,WAAU;cACrBjC,UAAU,CAACC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAEgC,WAAU,CAAC;AACtC,cAAA;AACJ,YAAA;AACJ,UAAA;AAAC,QAAA,CAAA,CAAA,OAAAhZ,GAAA,EAAA;UAAAga,UAAA,CAAAxqB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,QAAA,CAAA,SAAA;AAAAga,UAAAA,UAAA,CAAAD,CAAA,EAAA;AAAA,QAAA;AAED,QAAA,OAAON,MAAM;AACzB,MAAA,CAAC,CAAC;AACN,IAAA,CAAC,MAAM;MACHjqB,CAAC,CAACymB,aAAa,CAACqD,mBAAmB,CAAC,UAACC,SAAS,EAAEV,MAAM,EAAK;QACxD7B,KAAK,CAAC0B,IAAI,CAAC,YAAY,CAAC,CAAChZ,OAAO,CAAC,UAAA2X,IAAI,EAAA;AAAA,UAAA,OAAIA,IAAI,CAACsB,OAAO,EAAE;QAAA,CAAA,CAAC;AACvD,QAAA,IAAMuB,iBAAiB,GAAG1qB,CAAC,CAACymB,aAAa,CAACoD,iBAAiB;AAC3D,QAAA,IAAMc,kBAAkB,GAAGpE,eAAe,CAACmE,iBAAiB,CAAC;AAE7D,QAAA,IAAME,YAAY,GAAG5qB,CAAC,CAACymB,aAAa,CAACxE,OAAO,CAAA,GAAA,CAAAplB,MAAA,CAAK6tB,iBAAiB,CAAE,CAAC;AACrE;AACA,QAAA,IAAMG,mBAAmB,GAAGD,YAAY,CAACE,mBAAmB,EAAE;;AAE9D;QACA,IAAIJ,iBAAiB,KAAK,SAAS,EAAE;AACnC,UAAA,OAAOrB,MAAM;AACf,QAAA;AAEA,QAAA,IAAM0B,eAAe,GAAG/qB,CAAC,CAACymB,aAAa,CAACxE,OAAO,CAAA,GAAA,CAAAplB,MAAA,CAAK8tB,kBAAkB,CAAE,CAAC;AACzE,QAAA,IAAI,CAACI,eAAe,EAAE,OAAO1B,MAAM;AACnC,QAAA,IAAM2B,aAAa,GAAGD,eAAe,CAACD,mBAAmB,EAAE;AAE3D,QAAA,IAAMG,KAAK,GAAGtC,cAAc,CAACkC,mBAAmB,EAAEG,aAAa,CAAC;;AAGhE;AACA,QAAA,IAAME,eAAe,GAAG;AACtBtK,UAAAA,CAAC,EAAEiK,mBAAmB,CAACjK,CAAC,GAAGoK,aAAa,CAACpK,CAAC;AAC1CC,UAAAA,CAAC,EAAEgK,mBAAmB,CAAChK,CAAC,GAAGmK,aAAa,CAACnK;SAC1C;;AAED;AACA,QAAA,IAAMsK,KAAK,GAAG;AACZvK,UAAAA,CAAC,EAAEyI,MAAM,CAACzI,CAAC,GAAGiK,mBAAmB,CAACjK,CAAC;AACnCC,UAAAA,CAAC,EAAEwI,MAAM,CAACxI,CAAC,GAAGgK,mBAAmB,CAAChK;SACnC;;AAED;AACA,QAAA,IAAMuK,cAAc,GAAG9C,aAAa,CAAC6C,KAAK,EAAED,eAAe,CAAC;;AAE5D;AACA,QAAA,IAAMG,OAAO,GAAG;AACdzK,UAAAA,CAAC,EAAEiK,mBAAmB,CAACjK,CAAC,GAAGwK,cAAc,CAACxK,CAAC;AAC3CC,UAAAA,CAAC,EAAEgK,mBAAmB,CAAChK,CAAC,GAAGuK,cAAc,CAACvK;SAC3C;AAAC,QAAA,IAAAyK,UAAA,GAAAnB,0BAAA,CAEqBxD,UAAU,CAAA;UAAA4E,MAAA;AAAA,QAAA,IAAA;UAAjC,KAAAD,UAAA,CAAAjB,CAAA,EAAA,EAAA,CAAA,CAAAkB,MAAA,GAAAD,UAAA,CAAAra,CAAA,EAAA,EAAAqZ,IAAA,GAAmC;AAAA,YAAA,IAA1Bd,UAAU,GAAA+B,MAAA,CAAAphB,KAAA;AACjB,YAAA,IAAImL,IAAI,CAACmU,GAAG,CAAC4B,OAAO,CAACxK,CAAC,GAAG2I,UAAU,CAAC,IAAIzD,SAAS,EAAE;cACjDsF,OAAO,CAACxK,CAAC,GAAG2I,UAAU;AACtB6B,cAAAA,OAAO,CAACzK,CAAC,GAAGiK,mBAAmB,CAACjK,CAAC,GAAG,CAAC4I,UAAU,GAAGqB,mBAAmB,CAAChK,CAAC,IAAIoK,KAAK;cAChF1D,UAAU,CAACC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAEgC,UAAU,CAAC;AACtC,cAAA;AACF,YAAA;AACJ,UAAA;AAAC,QAAA,CAAA,CAAA,OAAAhZ,GAAA,EAAA;UAAA8a,UAAA,CAAAtrB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,QAAA,CAAA,SAAA;AAAA8a,UAAAA,UAAA,CAAAf,CAAA,EAAA;AAAA,QAAA;AAAA,QAAA,IAAAiB,UAAA,GAAArB,0BAAA,CACsBzD,QAAQ,CAAA;UAAA+E,MAAA;AAAA,QAAA,IAAA;UAA/B,KAAAD,UAAA,CAAAnB,CAAA,EAAA,EAAA,CAAA,CAAAoB,MAAA,GAAAD,UAAA,CAAAva,CAAA,EAAA,EAAAqZ,IAAA,GAAiC;AAAA,YAAA,IAAxBd,YAAU,GAAAiC,MAAA,CAAAthB,KAAA;AACf,YAAA,IAAImL,IAAI,CAACmU,GAAG,CAAC4B,OAAO,CAACzK,CAAC,GAAG4I,YAAU,CAAC,IAAIzD,SAAS,EAAE;cACjDsF,OAAO,CAACzK,CAAC,GAAG4I,YAAU;AACtB6B,cAAAA,OAAO,CAACxK,CAAC,GAAGgK,mBAAmB,CAAChK,CAAC,GAAGoK,KAAK,IAAIzB,YAAU,GAAGqB,mBAAmB,CAACjK,CAAC,CAAC;cAC9E2G,UAAU,CAACC,KAAK,EAAE,KAAK,EAAEgC,YAAU,EAAE,CAAC,CAAC;AACvC,cAAA;AACJ,YAAA;AACJ,UAAA;AAAC,QAAA,CAAA,CAAA,OAAAhZ,GAAA,EAAA;UAAAgb,UAAA,CAAAxrB,CAAA,CAAAwQ,GAAA,CAAA;AAAA,QAAA,CAAA,SAAA;AAAAgb,UAAAA,UAAA,CAAAjB,CAAA,EAAA;AAAA,QAAA;AAED,QAAA,OAAOc,OAAO;AACd,MAAA,CAAC,CAAC;AACR,IAAA;EAEJ,CAAC;AAED,EAAA,IAAMK,eAAe,GAAG,SAAlBA,eAAeA,CAAG1rB,CAAC,EAAG;AACxB,IAAA,IAAMwnB,KAAK,GAAGxnB,CAAC,CAACwI,MAAM,CAACygB,MAAM;IAC7BjpB,CAAC,CAACymB,aAAa,CAACqD,mBAAmB,CAAC,UAACC,SAAS,EAAEV,MAAM,EAAK;AACvD,MAAA,OAAOA,MAAM;AACjB,IAAA,CAAC,CAAC;IACF7B,KAAK,CAAC0B,IAAI,CAAC,YAAY,CAAC,CAAChZ,OAAO,CAAC,UAAA2X,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACsB,OAAO,EAAE;IAAA,CAAA,CAAC;EAC5D,CAAC;AACD,EAAA,IAAMwC,aAAa,GAAG,SAAhBA,aAAaA,CAAG3rB,CAAC,EAAG;AACtB,IAAA,IAAMwnB,KAAK,GAAGxnB,CAAC,CAACwI,MAAM,CAACygB,MAAM;IAC7BzB,KAAK,CAAC0B,IAAI,CAAC,YAAY,CAAC,CAAChZ,OAAO,CAAC,UAAA2X,IAAI,EAAA;AAAA,MAAA,OAAIA,IAAI,CAACsB,OAAO,EAAE;IAAA,CAAA,CAAC;EAC5D,CAAC;EAED,OAAO;AAAEH,IAAAA,cAAc,EAAdA,cAAc;AAAEU,IAAAA,cAAc,EAAdA,cAAc;AAAEgC,IAAAA,eAAe,EAAfA,eAAe;AAAEC,IAAAA,aAAa,EAAbA;GAAe;AAC7E,CAAC;;ACvPM,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAA1zB,IAAA,EA8Db;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IA7DF4B,WAAW,GAAApI,IAAA,CAAXoI,WAAW;IACX3M,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IAAAk4B,UAAA,GAAA3zB,IAAA,CACd1E,KAAK;IAALA,KAAK,GAAAq4B,UAAA,KAAA,MAAA,GAAGnuB,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,cAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCotB,KAAK,GAAAD,UAAA;IAChDtrB,cAAc,GAAArI,IAAA,CAAdqI,cAAc;IACdE,sBAAsB,GAAAvI,IAAA,CAAtBuI,sBAAsB;IACtBC,YAAY,GAAAxI,IAAA,CAAZwI,YAAY;IACZC,WAAW,GAAAzI,IAAA,CAAXyI,WAAW;IACXC,oBAAoB,GAAA1I,IAAA,CAApB0I,oBAAoB;IACpBC,QAAQ,GAAA3I,IAAA,CAAR2I,QAAQ;IACRC,OAAO,GAAA5I,IAAA,CAAP4I,OAAO;IACPC,SAAS,GAAA7I,IAAA,CAAT6I,SAAS;IACTC,oBAAoB,GAAA9I,IAAA,CAApB8I,oBAAoB;IACpBC,MAAM,GAAA/I,IAAA,CAAN+I,MAAM;IACNC,MAAM,GAAAhJ,IAAA,CAANgJ,MAAM;IACNC,gBAAgB,GAAAjJ,IAAA,CAAhBiJ,gBAAgB;IAChBC,gBAAgB,GAAAlJ,IAAA,CAAhBkJ,gBAAgB;IAChBC,cAAc,GAAAnJ,IAAA,CAAdmJ,cAAc;IACdC,wBAAwB,GAAApJ,IAAA,CAAxBoJ,wBAAwB;IACxBC,wBAAwB,GAAArJ,IAAA,CAAxBqJ,wBAAwB;IACxBC,iBAAiB,GAAAtJ,IAAA,CAAjBsJ,iBAAiB;IACjBC,YAAY,GAAAvJ,IAAA,CAAZuJ,YAAY;IACZC,oBAAoB,GAAAxJ,IAAA,CAApBwJ,oBAAoB;IACpBC,eAAe,GAAAzJ,IAAA,CAAfyJ,eAAe;IACfC,eAAe,GAAA1J,IAAA,CAAf0J,eAAe;IACfC,QAAQ,GAAA3J,IAAA,CAAR2J,QAAQ;IACRC,WAAW,GAAA5J,IAAA,CAAX4J,WAAW;IACXC,8BAA8B,GAAA7J,IAAA,CAA9B6J,8BAA8B;IAC9BC,sBAAsB,GAAA9J,IAAA,CAAtB8J,sBAAsB;IACtBC,uBAAuB,GAAA/J,IAAA,CAAvB+J,uBAAuB;IACvBC,qBAAqB,GAAAhK,IAAA,CAArBgK,qBAAqB;IACrBC,mBAAmB,GAAAjK,IAAA,CAAnBiK,mBAAmB;IACnBC,2BAA2B,GAAAlK,IAAA,CAA3BkK,2BAA2B;IAC3BC,yBAAyB,GAAAnK,IAAA,CAAzBmK,yBAAyB;IACzBC,gBAAgB,GAAApK,IAAA,CAAhBoK,gBAAgB;IAChBC,gBAAgB,GAAArK,IAAA,CAAhBqK,gBAAgB;IAChBC,YAAY,GAAAtK,IAAA,CAAZsK,YAAY;IACZC,wBAAwB,GAAAvK,IAAA,CAAxBuK,wBAAwB;IACxBC,wBAAwB,GAAAxK,IAAA,CAAxBwK,wBAAwB;IACxBC,oBAAoB,GAAAzK,IAAA,CAApByK,oBAAoB;IACpBC,aAAa,GAAA1K,IAAA,CAAb0K,aAAa;IACbC,aAAa,GAAA3K,IAAA,CAAb2K,aAAa;IACbC,SAAS,GAAA5K,IAAA,CAAT4K,SAAS;IACTC,qBAAqB,GAAA7K,IAAA,CAArB6K,qBAAqB;IACrBC,qBAAqB,GAAA9K,IAAA,CAArB8K,qBAAqB;IACrBC,iBAAiB,GAAA/K,IAAA,CAAjB+K,iBAAiB;IACjBC,gBAAgB,GAAAhL,IAAA,CAAhBgL,gBAAgB;IAChBC,oBAAoB,GAAAjL,IAAA,CAApBiL,oBAAoB;IACpBC,aAAa,GAAAlL,IAAA,CAAbkL,aAAa;IACbC,gBAAgB,GAAAnL,IAAA,CAAhBmL,gBAAgB;IAChBC,aAAa,GAAApL,IAAA,CAAboL,aAAa;IACbC,YAAY,GAAArL,IAAA,CAAZqL,YAAY;IACZC,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBxG,kBAAkB,GAAA/E,IAAA,CAAlB+E,kBAAkB;IAClBC,uBAAuB,GAAAhF,IAAA,CAAvBgF,uBAAuB;IACvBwG,wBAAwB,GAAAxL,IAAA,CAAxBwL,wBAAwB;IACxBlP,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNmoB,cAAc,GAAAzkB,IAAA,CAAdykB,cAAc;IACdoP,gBAAgB,GAAA7zB,IAAA,CAAhB6zB,gBAAgB;IAChBr3B,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;IACdmiB,uBAAuB,GAAA3e,IAAA,CAAvB2e,uBAAuB;AAEvB,EAAA,IAAMmV,cAAc,GAAG9jB,MAAM,CAAC,IAAI,CAAC;AACnCC,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAI6jB,cAAc,KAAA,IAAA,IAAdA,cAAc,eAAdA,cAAc,CAAE1jB,OAAO,EAAE;AAAA,MAAA,IAAA2jB,iBAAA;AACzB,MAAA,IAAMC,YAAY,GAAGrqB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAoqB,iBAAA,GAARpqB,QAAQ,CAAEyG,OAAO,MAAA,IAAA,IAAA2jB,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAA,CAAmBhK,OAAO,CAAA,GAAA,CAAAplB,MAAA,CAAK8E,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1I,EAAE,CAAE,CAAC;AAC1E,MAAA,IAAIizB,YAAY,EAAE;AACdF,QAAAA,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAE1jB,OAAO,CAAC6jB,KAAK,CAAC,CAACD,YAAY,CAAC,CAAC;AAC7CF,QAAAA,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAE1jB,OAAO,CAAC8jB,QAAQ,EAAE,CAACC,SAAS,EAAE;AAClD,MAAA,CAAC,MAAM;QACHL,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,IAAdA,cAAc,CAAE1jB,OAAO,CAAC6jB,KAAK,CAAC,EAAE,CAAC;AACrC,MAAA;AACJ,IAAA;AACJ,EAAA,CAAC,EAAE,CAACxqB,eAAe,CAAC,CAAC;EACrB,IAAA2qB,iBAAA,GAA2ElH,gBAAgB,CAAC;AACxFY,MAAAA,cAAc,EAAE,MAAM;AACtBC,MAAAA,aAAa,EAAE,IAAI;AACnBG,MAAAA,iBAAiB,EAAE,IAAI;AACvBL,MAAAA,SAAS,EAAE,CAAC;AACZI,MAAAA,kBAAkB,EAAE,CAAC;AACrBD,MAAAA,cAAc,EAAE,IAAI;AACpBI,MAAAA,YAAY,EAAE,IAAI;AAClBD,MAAAA,kBAAkB,EAAE;AACxB,KAAC,CAAC;IATM2C,cAAc,GAAAsD,iBAAA,CAAdtD,cAAc;IAAE2C,aAAa,GAAAW,iBAAA,CAAbX,aAAa;IAAEjC,cAAc,GAAA4C,iBAAA,CAAd5C,cAAc;IAAEgC,eAAe,GAAAY,iBAAA,CAAfZ,eAAe;AAUtE;AACA,EAAA,IAAIlnB,qBAAqB,GAAGtE,OAAO,CAAC,YAAM;AACtC,IAAA,IAAI1E,eAAe;IACnB,IAAI+wB,eAAe,GAAG1rB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEE,eAAe,CAAA;IAAA,CAAA,CAAC;AAEzF,IAAA,IAAI+wB,eAAe,GAAG,EAAE,EAAE;AAAA,MAAA,IAAAE,qBAAA;AACtBjxB,MAAAA,eAAe,GAAGqF,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAA4rB,qBAAA,GAAR5rB,QAAQ,CAAG0rB,eAAe,CAAC,MAAA,IAAA,IAAAE,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,qBAAA,CAA6B51B,KAAK;AACxD,IAAA;AACA,IAAA,OAAO2E,eAAe;AAC1B,EAAA,CAAC,EAAE,CAACqF,QAAQ,CAAC,CAAC;AAEd,EAAA,IAAI4D,qBAAqB,GAAGvE,OAAO,CAAC,YAAM;AACtC,IAAA,IAAIzE,eAAe;IAEnB,IAAIixB,oBAAoB,GAAG7rB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAC1C,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe,CAAA;AAAA,IAAA,CAClD,CAAC;AACD,IAAA,IAAIixB,oBAAoB,GAAG,EAAE,EAAE;MAC3BjxB,eAAe,GAAGoF,QAAQ,KAAA,IAAA,IAARA,QAAQ,uBAARA,QAAQ,CAAG6rB,oBAAoB,CAAC;AACtD,IAAA;AACA,IAAA,OAAOjxB,eAAe;AAC1B,EAAA,CAAC,EAAE,CAACoF,QAAQ,CAAC,CAAC;EAEd,IAAM8rB,eAAe,GAAG,SAAlBA,eAAeA,CAAI1zB,EAAE,EAAE2zB,QAAQ,EAAK;AACtC,IAAA,IAAIC,aAAa,GAAA/1B,cAAA,CAAA,EAAA,EAAQ81B,QAAQ,CAAE;IACnC,OAAOC,aAAa,CAAC,KAAK,CAAC;IAC3B,IAAMC,eAAe,GAAGjsB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAC9zB,EAAE,KAAKA,EAAE,GAAAnC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAQi2B,EAAE,CAAA,EAAKF,aAAa,IAAKE,EAAE;AAAA,IAAA,CACnD,CAAC;IACDjrB,WAAW,CAACgrB,eAAe,CAAC;AAC5BlrB,IAAAA,eAAe,CAAA9K,cAAA,CAAA,EAAA,EAAM+1B,aAAa,CAAE,CAAC;EACzC,CAAC;AACD,EAAA,IAAMjkB,YAAY,GAAG,SAAfA,YAAYA,CAAG+E,IAAI,EAAI;IACzB/L,eAAe,CAAC+L,IAAI,CAAC;EACzB,CAAC;EAED,IAAMqf,kBAAkB,GAAGnf,QAAQ,CAAC,UAAC5U,EAAE,EAAE2Q,KAAK,EAAK;IAC/C,IAAMkjB,eAAe,GAAGjsB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAC9zB,EAAE,KAAKA,EAAE,GAAAnC,cAAA,CAAAA,cAAA,CAAA,EAAA,EAECi2B,EAAE,CAAA,EACFnjB,KAAK,IAEZmjB,EAAE;AAAA,IAAA,CACZ,CAAC;IACDjrB,WAAW,CAACgrB,eAAe,CAAC;AAC5BlrB,IAAAA,eAAe,CAAA9K,cAAA,CAAA,EAAA,EACR8S,KAAK,CACX,CAAC;EACN,CAAC,EAAE,GAAG,CAAC;AAEP,EAAA,IAAMqjB,mBAAmB,GAAGpf,QAAQ,CAAC,UAAA7N,CAAC,EAAI;AACtCmD,IAAAA,oBAAoB,CAAC,MAAM,EAAEnD,CAAC,CAAC;EACnC,CAAC,EAAE,GAAG,CAAC;EAEP,IAAMktB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIj0B,EAAE,EAAE2Q,KAAK,EAAK;AACvCojB,IAAAA,kBAAkB,CAAC/zB,EAAE,EAAE2Q,KAAK,CAAC;EACjC,CAAC;AAED,EAAA,IAAMqX,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGjhB,CAAC,EAAI;IAC7BitB,mBAAmB,CAACjtB,CAAC,CAAC;EAC1B,CAAC;AACD,EAAA,IAAMmtB,cAAc,GAAGptB,WAAW,CAC9B,UAAAgtB,EAAE,EAAI;AAAA,IAAA,IAAApuB,sBAAA;IACF,QAAQouB,EAAE,CAACnwB,IAAI;MACX,KAAKtB,YAAY,CAACI,MAAM;AACpB,QAAA,oBACIxC,KAAA,CAAAC,aAAA,CAACi0B,MAAM,EAAAlO,QAAA,CAAA;UACH9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACK,MAAM;AACpB,QAAA,oBACIzC,KAAA,CAAAC,aAAA,CAACqnB,IAAI,EAAAtB,QAAA,CAAA;UACD9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACO,UAAU;AACxB,QAAA,oBACI3C,KAAA,CAAAC,aAAA,CAACk0B,KAAK,EAAAnO,QAAA,CAAA;UACF9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACM,QAAQ;AACtB,QAAA,oBACI1C,KAAA,CAAAC,aAAA,CAACm0B,cAAc,EAAApO,QAAA,CAAA;UACX9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACW,KAAK;AACnB,QAAA,oBACI/C,KAAA,CAAAC,aAAA,CAACo0B,IAAI,EAAArO,QAAA,CAAA;UACD9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACU,IAAI;AAClB,QAAA,oBACI9C,KAAA,CAAAC,aAAA,CAACq0B,IAAI,EAAAtO,QAAA,CAAA;UACD9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACQ,cAAc;AAC5B,QAAA,oBACI5C,KAAA,CAAAC,aAAA,CAAC2uB,IAAI,EAAA5I,QAAA,CAAA;UACD9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACS,YAAY;AAC1B,QAAA,oBACI7C,KAAA,CAAAC,aAAA,CAAC2uB,IAAI,EAAA5I,QAAA,CAAA;UACD9lB,GAAG,EAAE2zB,EAAE,CAAC9zB;AAAG,SAAA,EACP8zB,EAAE,EAAA;UACN9zB,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;UACVrB,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACFuV,UAAAA,kBAAkB,EAAE;AAAM,SAAA,CAC7B,CAAC;MAEV,KAAK7jB,YAAY,CAACf,KAAK;AACnB,QAAA,oBACIrB,KAAA,CAAAC,aAAA,CAACylB,WAAW,EAAA;UACRxlB,GAAG,EAAE2zB,EAAE,CAAC9zB,EAAG;UACXA,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;AACVigB,UAAAA,OAAO,EAAApiB,cAAA,CAAA,EAAA,EACAi2B,EAAE,CACP;UACFn1B,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3BtK,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;AAC1C,UAAA;AAAE,SACL,CAAC;MAEV,KAAKtO,YAAY,CAACb,EAAE;AAChB,QAAA,oBACIvB,KAAA,CAAAC,aAAA,CAACkmB,SAAS,EAAA;UACNjmB,GAAG,EAAE2zB,EAAE,CAAC9zB,EAAG;AACXigB,UAAAA,OAAO,EAAE6T,EAAG;UACZn1B,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChCtO,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF0e,UAAAA,cAAc,EAAE,SAAhBA,cAAcA,CAAE1e,CAAC,EAAI;YACjB2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;UAC1C,CAAE;AACF+U,UAAAA,UAAU,EAAEqK,cAAe;AAC3Br1B,UAAAA,cAAc,EAAEA,cAAe;AAC/ByrB,UAAAA,SAAS,EAAE1hB,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC8uB;AAAK,SACtD,CAAC;MAEV,KAAKnyB,YAAY,CAACvD,IAAI;AAClB,QAAA,oBACImB,KAAA,CAAAC,aAAA,CAACiqB,YAAY,EAAA;AACTC,UAAAA,KAAK,EAAE2I,cAAe;UACtB5yB,GAAG,EAAE2zB,EAAE,CAAC9zB,EAAG;UACXA,EAAE,EAAE8zB,EAAE,CAAC9zB,EAAG;AACVigB,UAAAA,OAAO,EAAE6T,EAAG;UACZn1B,OAAO,EAAE,SAATA,OAAOA,GAAA;YAAA,OAAQgR,YAAY,CAACmkB,EAAE,CAAC;UAAA,CAAC;AAChC/L,UAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAEhhB,CAAC,EAAA;AAAA,YAAA,OAAIktB,mBAAmB,CAACH,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAAC;UAAA,CAAC;AAChDye,UAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEze,CAAC,EAAI;YACZ2sB,eAAe,CAACI,EAAE,CAAC9zB,EAAE,EAAE+G,CAAC,CAACwI,MAAM,CAACoB,KAAK,CAAC;YACtC+hB,aAAa,CAAC3rB,CAAC,CAAC;UACpB,CAAE;AACF2e,UAAAA,UAAU,EAAEqK,cAAe;AAC3B/H,UAAAA,mBAAmB,EAAEA;AAAoB,SAC5C,CAAC;AAEV,MAAA;AACI,QAAA,OAAO,IAAI;AACnB;EACJ,CAAC,EACD,CAACpgB,QAAQ,EAAEc,eAAe,EAAEhO,cAAc,CAC9C,CAAC;AAED,EAAA,oBACIuF,KAAA,CAAAC,aAAA,CAACwK,WAAS,EAAA;AAACrD,IAAAA,WAAW,EAAEA;AAAY,GAAA,EAC/BA,WAAW,IAAIA,WAAW,MAAKjG,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEK,UAAU,CAAA,iBACxDxB,KAAA,CAAAC,aAAA,CAACsiB,UAAU,EAAA;AACPnb,IAAAA,WAAW,EAAEA,WAAY;AACzBM,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,QAAQ,EAAEA,QAAS;AACnB2D,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CxD,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CyD,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CtD,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,eAAe,EAAEA,eAAgB;AACjCI,IAAAA,8BAA8B,EAAEA,8BAA+B;AAC/DC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CM,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnC1P,IAAAA,cAAc,EAAEA,cAAe;AAC/B6P,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CxG,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDwG,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDmT,IAAAA,uBAAuB,EAAEA;AAAwB,GACpD,CACJ,eACD3d,KAAA,CAAAC,aAAA,CAAC0K,cAAc,EAAA,IAAA,eACX3K,KAAA,CAAAC,aAAA,CAAC2K,qBAAqB,EAAA;IAACpD,YAAY,EAAEA,YAAY,GAAG,EAAG;AAACC,IAAAA,WAAW,EAAEA;AAAY,GAAA,EAC5EnN,KAAK,iBAAI0F,KAAA,CAAAC,aAAA,CAAC6K,KAAK,EAAA,IAAA,EAAExQ,KAAa,CAAC,eAChC0F,KAAA,CAAAC,aAAA,CAAC+K,SAAS,EAAA;AAACxD,IAAAA,YAAY,EAAEA,YAAa;AAACC,IAAAA,WAAW,EAAEA;GAAY,EAC3D,CAAC2C,aAAa,IAAI,CAACC,YAAY,iBAC5BrK,KAAA,CAAAC,aAAA,CAACu0B,KAAK,EAAA;AACFvzB,IAAAA,KAAK,EAAEwG,WAAY;AACnBvG,IAAAA,MAAM,EAAEsG,YAAa;AACrBmI,IAAAA,GAAG,EAAEhH,QAAS;AACd8rB,IAAAA,WAAW,EAAE,SAAbA,WAAWA,CAAE3tB,CAAC,EAAI;MACd,IAAIA,CAAC,CAACwI,MAAM,KAAKxI,CAAC,CAACwI,MAAM,CAACwZ,QAAQ,EAAE,EAAE;QAClCpgB,eAAe,CAAC,IAAI,CAAC;QACrBmqB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,IAAhBA,gBAAgB,CAAG1xB,gBAAgB,CAACC,QAAQ,CAAC;AACjD,MAAA;AACJ,IAAA;AAAE,GAAA,eAEFpB,KAAA,CAAAC,aAAA,CAACquB,KAAK,EAAA;AACF5vB,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;MACXgK,eAAe,CAAC,IAAI,CAAC;MACrBmqB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,IAAhBA,gBAAgB,CAAG1xB,gBAAgB,CAACC,QAAQ,CAAC;IACjD,CAAE;AACFszB,IAAAA,SAAS,EAAE;AAAM,GAAA,eAEjB10B,KAAA,CAAAC,aAAA,CAACqnB,IAAI,EAAA;AACDrmB,IAAAA,KAAK,EAAEwG,WAAY;AACnBvG,IAAAA,MAAM,EAAEsG,YAAa;AACrB4a,IAAAA,IAAI,EAAE9W,qBAAqB,IAAIlN,KAAK,CAACT,KAAK,CAAC5B;GAC9C,CAAC,EACDwP,qBAAqB,iBAClBvL,KAAA,CAAAC,aAAA,CAACylB,WAAW,EAAA;AACR1F,IAAAA,OAAO,EAAApiB,cAAA,CAAAA,cAAA,KACA2N,qBAAqB,CAAA,EAAA,EAAA,EAAA;AACxBtK,MAAAA,KAAK,EAAEwG,WAAW;AAClBvG,MAAAA,MAAM,EAAEsG;AAAY,KAAA;AACtB,GACL,CAEF,CAAC,eACRxH,KAAA,CAAAC,aAAA,CAACquB,KAAK,EAAA,IAAA,eACFtuB,KAAA,CAAAC,aAAA,CAAConB,KAAK,EAAA;IACFT,MAAM,EAAEvf,cAAc,GAAG,GAAI;IAC7Bwf,MAAM,EAAExf,cAAc,GAAG;GAAI,EAE5BM,QAAQ,aAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;IAAA,OAAII,cAAc,CAACJ,EAAE,CAAC;AAAA,EAAA,CAAA,CAAC,EACvCprB,eAAe,iBACZzI,KAAA,CAAAC,aAAA,CAACmuB,WAAW,EAAA;AACRze,IAAAA,GAAG,EAAEmjB,cAAe;AACpBhL,IAAAA,WAAW,EAAE0I,cAAe;AAC5BhL,IAAAA,cAAc,EAAEgN,eAAgB;IAChCmC,cAAc,EACVlsB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,GACpB,CAAA/Z,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE/E,IAAI,OACrBtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEvD,IAAI,CAAA,GACd,CACI,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,CACjB,GACD,CACI,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,CAClB,GACL,EACT;AACD+1B,IAAAA,YAAY,EAAEx2B,KAAK,CAACT,KAAK,CAAC/B,OAAQ;AAClCi5B,IAAAA,iBAAiB,EAAE;AACnB;AAAA;AACAC,IAAAA,UAAU,EAAE12B,KAAK,CAACT,KAAK,CAAC5B,KAAM;AAC9Bg5B,IAAAA,YAAY,EAAE32B,KAAK,CAACT,KAAK,CAAC/B,OAAQ;AAClCo5B,IAAAA,iBAAiB,EAAE,CAAE;AACrBC,IAAAA,UAAU,EAAE,CAAE;IACdC,aAAa,EACTzsB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,GAAG,IAAI,GAAG;AAExC;AACA;AAAA;AACA2S,IAAAA,YAAY,EAAE,SAAdA,YAAYA,CAAGC,MAAM,EAAEC,MAAM,EAAK;AAC9B;AACA,MAAA,IACI,EAAC5sB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,CAAA;AAC3B;MACA6S,MAAM,CAACp0B,KAAK,GAAG,CAAC,IAChBo0B,MAAM,CAACn0B,MAAM,GAAG,CAAC,EACnB;AACE,QAAA,OAAOk0B,MAAM;AACjB,MAAA;AACA,MAAA,OAAOC,MAAM;AACjB,IAAA;GACH,CAEF,CACJ,CAAC,eACRr1B,KAAA,CAAAC,aAAA,CAACquB,KAAK,EAAA;AAACoG,IAAAA,SAAS,EAAE;AAAM,GAAA,eACpB10B,KAAA,CAAAC,aAAA,CAACqnB,IAAI,EAAA;AACDoN,IAAAA,SAAS,EAAE,KAAM;AACjBhN,IAAAA,CAAC,EAAE,CAAE;AACLC,IAAAA,CAAC,EAAE,CAAE;AACL1mB,IAAAA,KAAK,EAAEwG,WAAY;AACnBvG,IAAAA,MAAM,EAAEsG,YAAa;AACrBwa,IAAAA,MAAM,EAAEhe,uBAAwB;AAChC+d,IAAAA,WAAW,EAAEhe,kBAAmB;AAChCkiB,IAAAA,kBAAkB,EAAE,KAAM;AAC1B7D,IAAAA,IAAI,EAAE;GACT,CACE,CACJ,CAEJ,CACQ,CACX,CAAC,eACjBpiB,KAAA,CAAAC,aAAA,CAAColB,aAAa,EAAA;AACV5C,IAAAA,WAAW,EAAE7a,OAAO,CAACuI,MAAM,KAAK,CAAE;AAClCuS,IAAAA,WAAW,EAAE7a,SAAS,CAACsI,MAAM,KAAK,CAAE;AACpC/I,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BE,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CQ,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,MAAM,EAAEA,MAAO;AACfS,IAAAA,eAAe,EAAEA,eAAgB;AACjCM,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,yBAAyB,EAAEA,yBAA0B;AACrD1O,IAAAA,cAAc,EAAEA,cAAe;AAC/Ba,IAAAA,MAAM,EAAEA,MAAO;AACfmoB,IAAAA,cAAc,EAAEA,cAAe;AAC/BjoB,IAAAA,cAAc,EAAEA;AAAe,GAClC,CACM,CAAC;AAEpB,CAAC;AAEDk3B,MAAM,CAACr4B,SAAS,GAAGA,WAAS;;ACxjBrB,IAAMA,WAAS,GAAG;AACrBgE,EAAAA,mBAAmB,EAAE9D,SAAS,CAAC+D,SAAS,CAAC,CACrC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJk6B,oBAAoB,EAAE/6B,SAAS,CAACQ,IAAI;EACpCw6B,UAAU,EAAEh7B,SAAS,CAACgB,IAAI;EAC1Bi6B,UAAU,EAAEj7B,SAAS,CAACgB,IAAI;EAC1Bk6B,iBAAiB,EAAEl7B,SAAS,CAACI,KAAK;EAClC+6B,gBAAgB,EAAEn7B,SAAS,CAACI,KAAK;EACjCg7B,sBAAsB,EAAEp7B,SAAS,CAACgB,IAAI;EACtCq6B,kBAAkB,EAAEr7B,SAAS,CAACgB,IAAI;EAClCs6B,QAAQ,EAAEt7B,SAAS,CAACgB,IAAI;EACxBu6B,SAAS,EAAEv7B,SAAS,CAACQ,IAAI;EACzBg7B,YAAY,EAAEx7B,SAAS,CAACgB,IAAI;EAC5By6B,SAAS,EAAEz7B,SAAS,CAACgB,IAAI;EACzBoM,QAAQ,EAAEpN,SAAS,CAACI,KAAK;AACzBqd,EAAAA,MAAM,EAAEzd,SAAS,CAAC+D,SAAS,CAAC,CAChB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACZ66B,iBAAiB,EAAE17B,SAAS,CAACgB,IAAI;EACjC26B,mBAAmB,EAAE37B,SAAS,CAACgB,IAAI;EACnCd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC8P,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB,IAAI;EACrCP,oBAAoB,EAAET,SAAS,CAACI,KAAK;EACrCM,mBAAmB,EAAEV,SAAS,CAACI,KAAK;EACpCQ,UAAU,EAAEZ,SAAS,CAACa;AAC1B,CAAC;;AC7BM,IAAMf,WAAS,GAAG;EACrBk7B,UAAU,EAAEh7B,SAAS,CAACgB,IAAI;AAC1B8C,EAAAA,mBAAmB,EAAE9D,SAAS,CAAC+D,SAAS,CAAC,CACrC/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACNM,IAAMiQ,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,qMAMjBC,KAAK,CAACT,KAAK,CAACV,WAAW,EACVmB,KAAK,CAACT,KAAK,CAACX,WAAW,CACrD;AAEM,IAAMqR,aAAW,GAAGrQ,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,mHAAA,CAAA,CAAA,CAAA,CAMpC;;ACVM,IAAMg4B,aAAa,GAAG,SAAhBA,aAAaA,CAAAn3B,IAAA,EAAuE;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAqa,sBAAA;AAAA,EAAA,IAAAkW,eAAA,GAAAp3B,IAAA,CAAjEu2B,UAAU;AAAVA,IAAAA,UAAU,GAAAa,eAAA,KAAA,MAAA,GAAG,YAAM,CAAC,CAAC,GAAAA,eAAA;IAAE/3B,mBAAmB,GAAAW,IAAA,CAAnBX,mBAAmB;IAAE5D,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;AACtF,EAAA,IAAM47B,gBAAgB,GAAG;AACrBC,IAAAA,QAAQ,EAAE9xB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCQ,QAAQ;AACrD6hB,IAAAA,IAAI,EAAErjB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCS,IAAI;AAC7C+R,IAAAA,KAAK,EAAEzT,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCU,KAAK;AAC/CmwB,IAAAA,KAAK,EAAE/xB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCW,KAAK;AAC/CE,IAAAA,EAAE,EAAEhC,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAmL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC4wB,OAAO;AAC9C,IAAA,aAAa,EAAEhyB,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAqB,sBAAA,GAAfrB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAoL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC4wB;GACrD;EACD,oBACIz2B,KAAA,CAAAC,aAAA,CAACwK,WAAS,qBACNzK,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPpQ,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCH,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACxB,WAAY;AAC/B4F,IAAAA,QAAQ,EAAE;AAAG,GAAA,EAEZs0B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAGh4B,mBAAmB,CAC/B,CAAC,eACb2B,KAAA,CAAAC,aAAA,CAACwN,OAAO,EAAA;AAAC5O,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAA0b,sBAAA,GAAf1b,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAylB,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCwW,QAAS;AAACtpB,IAAAA,QAAQ,EAAC;AAAM,GAAA,eACvEpN,KAAA,CAAAC,aAAA,CAACoO,aAAW,EAAA;AAAC3P,IAAAA,OAAO,EAAE62B;AAAW,GAAA,eAC7Bv1B,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEw2B;GAAkB,CAC3B,CACR,CACF,CAAC;AAEpB,CAAC;AAEDR,aAAa,CAAC97B,SAAS,GAAGA,WAAS;;;AChC5B,IAAMmE,cAAc,GAAGR,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,eAAA,EAAA,wEAAA,EAAA,gCAAA,EAAA,qEAAA,CAAA,CAAA,CAAA,EAC3B,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAA43B,YAAA,GAAA53B,IAAA,CAAG+sB,OAAO;AAAPA,IAAAA,OAAO,GAAA6K,YAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,YAAA;AAAA,EAAA,OAAQ7K,OAAO,GAAG1rB,kBAAkB,GAAG,CAAC;AAAA,CAAC,EAGrDjC,KAAK,CAACT,KAAK,CAACV,WAAW,EACZmB,KAAK,CAACT,KAAK,CAACT,WAAW,CAGnD;AAEM,IAAM25B,gBAAgB,GAAG74B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,mGAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EAK7BkC,kBAAkB,CAC9B;;AClBM,IAAMhG,WAAS,GAAG;EACrB67B,mBAAmB,EAAE37B,SAAS,CAACgB,IAAI;EACnCd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChCQ,oBAAoB,EAAET,SAAS,CAACI,KAAK;EACrCM,mBAAmB,EAAEV,SAAS,CAACI;AACnC,CAAC;;ACLM,IAAMN,WAAS,GAAG;EACrBC,KAAK,EAAEC,SAAS,CAACC,MAAM;AACvBqT,EAAAA,IAAI,EAAEtT,SAAS,CAAC+D,SAAS,CAAC,CACtB/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EACJ07B,QAAQ,EAAEv8B,SAAS,CAACQ,IAAI;EACxBwW,SAAS,EAAEhX,SAAS,CAAC+M,MAAM;EAC3BoK,YAAY,EAAEnX,SAAS,CAAC+M,MAAM;EAC9ByvB,OAAO,EAAEx8B,SAAS,CAACqE;AACvB,CAAC;;;ACVM,IAAMo4B,oBAAoB,GAAGh5B,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,qEAAA,EAAA,0BAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EAG5B,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAGuS,SAAS,GAAAvS,IAAA,CAATuS,SAAS;AAAA,EAAA,OAAOA,SAAS;AAAA,CAAA,EACzB,UAAAtS,KAAA,EAAA;AAAA,EAAA,IAAGyS,YAAY,GAAAzS,KAAA,CAAZyS,YAAY;AAAA,EAAA,OAAOA,YAAY;AAAA,CAAA,CACtD;AAEM,IAAMulB,iBAAiB,GAAGj5B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,2LAAA,CAAA,CAAA,CAAA,CAQ1C;AAEM,IAAM+4B,eAAe,GAAGl5B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,0EAAA,CAAA,CAAA,CAAA,CAIxC;AAEM,IAAMkQ,WAAW,GAAGrQ,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAAA,CAAA,kGAAA,CAAA,CAAA,CAAA,CAKpC;AAEM,IAAMg5B,kBAAkB,GAAGn5B,MAAM,CAACC,GAAG,CAAAgN,gBAAA,KAAAA,gBAAA,GAAA9M,sBAAA,CAAA,CAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAC7B,UAAAkB,KAAA,EAAA;AAAA,EAAA,IAAG0sB,OAAO,GAAA1sB,KAAA,CAAP0sB,OAAO;AAAA,EAAA,OAAQA,OAAO,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC,CAC1D;;ACrBM,IAAMqL,WAAW,GAAG,SAAdA,WAAWA,CAAAp4B,IAAA,EAOlB;AAAA,EAAA,IANF1E,KAAK,GAAA0E,IAAA,CAAL1E,KAAK;IACLuT,IAAI,GAAA7O,IAAA,CAAJ6O,IAAI;IAAAwpB,aAAA,GAAAr4B,IAAA,CACJ83B,QAAQ;AAARA,IAAAA,QAAQ,GAAAO,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAA/T,cAAA,GAAAtkB,IAAA,CAChBuS,SAAS;AAATA,IAAAA,SAAS,GAAA+R,cAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,cAAA;IAAAD,iBAAA,GAAArkB,IAAA,CACb0S,YAAY;AAAZA,IAAAA,YAAY,GAAA2R,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IACjB0T,OAAO,GAAA/3B,IAAA,CAAP+3B,OAAO;AAEP,EAAA,IAAAtoB,SAAA,GAA8BC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAArCsd,IAAAA,OAAO,GAAApd,UAAA,CAAA,CAAA,CAAA;AAAE2oB,IAAAA,UAAU,GAAA3oB,UAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAM4oB,gBAAgB,GAAG1wB,WAAW,CAAC,YAAM;AACvC,IAAA,IAAIiwB,QAAQ,EAAE;IACdQ,UAAU,CAAC,CAACvL,OAAO,CAAC;AACxB,EAAA,CAAC,EAAE,CAACA,OAAO,EAAEuL,UAAU,CAAC,CAAC;AAEzB,EAAA,oBACIt3B,KAAA,CAAAC,aAAA,CAAC+2B,oBAAoB,EAAA;AAACzlB,IAAAA,SAAS,EAAEA,SAAU;AAACG,IAAAA,YAAY,EAAEA;AAAa,GAAA,eACnE1R,KAAA,CAAAC,aAAA,CAACg3B,iBAAiB,EAAA;AAACv4B,IAAAA,OAAO,EAAE64B;AAAiB,GAAA,EACxC1pB,IAAI,iBAAI7N,KAAA,CAAAC,aAAA,CAACi3B,eAAe,EAAA,IAAA,EAAErpB,IAAsB,CAAC,eAClD7N,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE;AAAE,GAAA,EAEd5R,KACO,CAAC,EACZ,CAACw8B,QAAQ,iBACN92B,KAAA,CAAAC,aAAA,CAACoO,WAAW,EAAA,IAAA,eACRrO,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEq3B;GAAmB,CAC5B,CAEF,CAAC,eACpBx3B,KAAA,CAAAC,aAAA,CAACk3B,kBAAkB,EAAA;AAACpL,IAAAA,OAAO,EAAEA;GAAQ,EAAEgL,OAA4B,CACjD,CAAC;AAE/B,CAAC;AAEDK,WAAW,CAAC/8B,SAAS,GAAGA,WAAS;;;AC/C1B,IAAMo9B,kBAAkB,GAAGz5B,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iIAAA,CAAA,CAAA,CAAA,CAM3C;AAEM,IAAMu5B,YAAY,GAAG15B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,ohBAAA,CAAA,CAAA,CAAA,CA2BrC;AAEM,IAAMw5B,kBAAkB,GAAG35B,MAAM,CAAC45B,MAAM,CAAAn4B,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,gZAAA,CAAA,CAAA,CAAA,CAoB9C;AAEM,IAAMoO,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAA8M,kBAAA,KAAAA,kBAAA,GAAA5M,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMxC;;ACxDM,IAAM05B,eAAe,GAAG,SAAlBA,eAAeA,CAAA74B,IAAA,EAMtB;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IALFwwB,mBAAmB,GAAAl3B,IAAA,CAAnBk3B,mBAAmB;IACnBz7B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACdq9B,sBAAsB,GAAA94B,IAAA,CAAtB84B,sBAAsB;IACtB98B,oBAAoB,GAAAgE,IAAA,CAApBhE,oBAAoB;IACpBC,mBAAmB,GAAA+D,IAAA,CAAnB/D,mBAAmB;AAEnB,EAAA,IAAM88B,oBAAoB,GAAG/wB,OAAO,CAAC,YAAM;AACvC,IAAA,oBACIhH,KAAA,CAAAC,aAAA,CAACw3B,kBAAkB,QACdz8B,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAAA,MAAA,GAAA,MAAA,GAApBA,oBAAoB,CAAEiM,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,MAAA,oBACnC9P,KAAA,CAAAC,aAAA,CAACy3B,YAAY,EAAA;AACTx3B,QAAAA,GAAG,EAAE4P,KAAM;AACXpR,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACXw3B,mBAAmB,CAAChvB,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAES,QAAQ,CAAC;AACvC,QAAA;AAAE,OAAA,eAEF3H,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AACR/Q,QAAAA,GAAG,EAAE+G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE7F,KAAM;AACjB+P,QAAAA,SAAS,EAAE,GAAI;AACfD,QAAAA,QAAQ,EAAE,GAAI;AACdgB,QAAAA,YAAY,EAAE;AAAE,OACnB,CAAC,eACFnS,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,QAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACR,WAAY;AAC/B4E,QAAAA,QAAQ,EAAE,EAAG;AACb6N,QAAAA,KAAK,EAAE;AACH6Z,UAAAA,UAAU,EAAE,QAAQ;AACpBP,UAAAA,QAAQ,EAAE,QAAQ;AAClB8O,UAAAA,YAAY,EAAE,UAAU;AACxB7mB,UAAAA,QAAQ,EAAE;AACd;OAAE,EAEDjK,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE5M,KACC,CACF,CAAC;AAAA,IAAA,CAClB,CACe,CAAC;EAE7B,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,IAAM29B,mBAAmB,GAAGjxB,OAAO,CAAC,YAAM;AACtC,IAAA,oBACIhH,KAAA,CAAAC,aAAA,CAACw3B,kBAAkB,QACdx8B,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEgM,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,MAAA,oBAClC9P,KAAA,CAAAC,aAAA,CAACy3B,YAAY,EAAA;AACTx3B,QAAAA,GAAG,EAAE4P,KAAM;AACXpR,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;UACXw3B,mBAAmB,CAAChvB,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAES,QAAQ,CAAC;AACvC,QAAA;AAAE,OAAA,eAEF3H,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AACR/Q,QAAAA,GAAG,EAAE+G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE7F,KAAM;AACjB+P,QAAAA,SAAS,EAAE,GAAI;AACfD,QAAAA,QAAQ,EAAE,GAAI;AACdgB,QAAAA,YAAY,EAAE;AAAE,OACnB,CAAC,eACFnS,KAAA,CAAAC,aAAA,CAAC03B,kBAAkB,EAAA;AACfj5B,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEoI,CAAC,EAAI;AACVA,UAAAA,CAAC,CAACiJ,eAAe,EAAE,CAAC;AACpB+nB,UAAAA,sBAAsB,aAAtBA,sBAAsB,KAAA,MAAA,IAAtBA,sBAAsB,CAAG5wB,IAAI,CAAC;AAClC,QAAA;AAAE,OAAA,eAEFlH,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,QAAAA,GAAG,EAAE0kB,UAAW;AAAC3jB,QAAAA,MAAM,EAAE;AAAG,OAAE,CAC3B,CAAC,eACrBlB,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,QAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACR,WAAY;AAC/B4E,QAAAA,QAAQ,EAAE,EAAG;AACb6N,QAAAA,KAAK,EAAE;AACH6Z,UAAAA,UAAU,EAAE,QAAQ;AACpBP,UAAAA,QAAQ,EAAE,QAAQ;AAClB8O,UAAAA,YAAY,EAAE,UAAU;AACxB7mB,UAAAA,QAAQ,EAAE;AACd;OAAE,EAEDjK,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE5M,KACC,CACF,CAAC;AAAA,IAAA,CAClB,CACe,CAAC;EAE7B,CAAC,EAAE,EAAE,CAAC;EAEN,oBACI0F,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmjB,MAAM,EAAA;AACHvkB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC0yB,YAAa;AACtDrqB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEg4B;AAAQ,KAAE,CAAE;AACpCzmB,IAAAA,YAAY,EAAE,EAAG;IACjBhT,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQw3B,mBAAmB,EAAE;AAAA,IAAA;AAAC,GACxC,CAAC,eACFl2B,KAAA,CAAAC,aAAA,CAACm3B,WAAW,EAAA;AACR98B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC2yB,OAAQ;AAClDrB,IAAAA,OAAO,EAAEgB;AAAqB,GACjC,CAAC,EACD98B,mBAAmB,CAACkV,MAAM,GAAG,CAAC,iBAC3BnQ,KAAA,CAAAC,aAAA,CAACm3B,WAAW,EAAA;AACR98B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC2yB,gBAAiB;AAC3DtB,IAAAA,OAAO,EAAEkB;AAAoB,GAChC,CAEQ,CAAC;AAE1B,CAAC;AAEDJ,eAAe,CAACx9B,SAAS,GAAGA,WAAS;;AClH9B,IAAMA,WAAS,GAAG;EACrB47B,iBAAiB,EAAE17B,SAAS,CAACgB,IAAI;EACjCd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACFM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMxC;AACM,IAAMsM,WAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,qDAAA,CAAA,CAAA,CAAA,CAGlC;AAEM,IAAMm6B,WAAW,GAAGt6B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,6JAAA,EAAA,YAAA,CAAA,CAAA,CAAA,EAMTC,KAAK,CAACT,KAAK,CAACP,WAAW,CAElD;;ACbM,IAAMm7B,WAAW,GAAG,SAAdA,WAAWA,CAAAv5B,IAAA,EAA2D;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA;AAAA,EAAA,IAArDwwB,iBAAiB,GAAAj3B,IAAA,CAAjBi3B,iBAAiB;IAAEx7B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IAAEY,WAAW,GAAA2D,IAAA,CAAX3D,WAAW;AACxE,EAAA,IAAMm9B,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AAChC,IAAA,oBACIx4B,KAAA,CAAAC,aAAA,CAACwK,WAAS,EAAA,IAAA,EACL5I,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEoF,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAK;AAC5B,MAAA,oBACI9P,KAAA,CAAAC,aAAA,CAACq4B,WAAW,EAAA;AACRp4B,QAAAA,GAAG,EAAE4P,KAAM;AACXpR,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACXu3B,UAAAA,iBAAiB,CAAAr4B,cAAA,CAAAA,cAAA,KAAMsJ,IAAI,CAAA,EAAA,EAAA,EAAA;YAAErI,IAAI,EAAExD,WAAW,KAAI6L,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErI,IAAI;AAAA,WAAA,CAAE,CAAC;AACnE,QAAA;AAAE,OAAA,eAEFmB,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,QAAAA,KAAK,EAAEuJ,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEvJ,KAAM;AACnBmE,QAAAA,UAAU,EAAEoF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEpF,UAAW;AAC7BE,QAAAA,UAAU,EAAEkF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAElF,UAAW;AAC7BD,QAAAA,QAAQ,EAAEmF,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEnF;OAAS,EAExB1G,WAAW,KAAI6L,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErI,IAAI,CAClB,CACH,CAAC;AAEtB,IAAA,CAAC,CACM,CAAC;EAEpB,CAAC;EACD,oBACImB,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmjB,MAAM,EAAA;AACHvkB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCizB,QAAS;AAClD5qB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEu4B;AAAY,KAAE,CAAE;AACxChnB,IAAAA,YAAY,EAAE,EAAG;IACjBhT,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQu3B,iBAAiB,CAAC,IAAI,CAAC;AAAA,IAAA;AAAC,GAC1C,CAAC,eACFj2B,KAAA,CAAAC,aAAA,CAACm3B,WAAW,EAAA;AACR98B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCkzB,SAAU;IACpD5B,OAAO,EAAEyB,qBAAqB,EAAG;AACjC3qB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEy4B;KAAW;AAAE,GACxC,CACY,CAAC;AAE1B,CAAC;AAEDL,WAAW,CAACl+B,SAAS,GAAGA,WAAS;;ACnD1B,IAAMA,WAAS,GAAG;EACrBo7B,iBAAiB,EAAEl7B,SAAS,CAACI,KAAK;EAClC+6B,gBAAgB,EAAEn7B,SAAS,CAACI,KAAK;EACjCg7B,sBAAsB,EAAEp7B,SAAS,CAACgB,IAAI;EACtCq6B,kBAAkB,EAAEr7B,SAAS,CAACgB,IAAI;EAClCd,cAAc,EAAEF,SAAS,CAACC,MAAM;EAChC8P,mBAAmB,EAAE/P,SAAS,CAACgB,IAAI;EACnCgP,qBAAqB,EAAEhQ,SAAS,CAACgB;AACrC,CAAC;;;ACRM,IAAMgR,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMxC;AAEM,IAAM06B,eAAe,GAAG76B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,iIAAA,CAAA,CAAA,CAAA,CAMxC;AAEM,IAAM26B,YAAU,GAAG96B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,gHAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAKvB,YAAA;AAAA,EAAA,IAAC8C,KAAK,GAAA+T,SAAA,CAAA7E,MAAA,GAAA,CAAA,IAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAG,kBAAkB;AAAA,EAAA,OAAK/T,KAAK;AAAA,CAAA,CACjD;;ACbM,IAAM83B,YAAY,GAAG,SAAfA,YAAYA,CAAA/5B,IAAA,EAQnB;EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAPF6vB,iBAAiB,GAAAz2B,IAAA,CAAjBy2B,iBAAiB;IACjBC,gBAAgB,GAAA12B,IAAA,CAAhB02B,gBAAgB;IAChBC,sBAAsB,GAAA32B,IAAA,CAAtB22B,sBAAsB;IACtBC,kBAAkB,GAAA52B,IAAA,CAAlB42B,kBAAkB;IAClBn7B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;IACd6P,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;EAErB,IAAMwtB,oBAAoB,gBACtB/3B,KAAA,CAAAC,aAAA,CAAC44B,eAAe,EAAA,IAAA,EACX,CAAApD,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAiB,CAAEtlB,MAAM,MAAK,CAAC,iBAC5BnQ,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AAACrQ,IAAAA,QAAQ,EAAE,EAAG;AAACpE,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACzB;AAAY,GAAA,EACpDsI,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCwzB,iBAC5B,CACf,EACAvD,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjBA,iBAAiB,CAAExuB,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBAChC9P,KAAA,CAAAC,aAAA,CAAC64B,YAAU,EAAA;AACP54B,MAAAA,GAAG,EAAE4P,KAAM;AACX7O,MAAAA,KAAK,EAAE,MAAO;AACdvC,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACXk3B,kBAAkB,CAAC1uB,IAAI,CAAC;AAC5B,MAAA;AAAE,KAAA,eAEFlH,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+G,IAAK;AAACkK,MAAAA,SAAS,EAAE,GAAI;AAACD,MAAAA,QAAQ,EAAE;AAAI,KAAE,CAChD,CAAC;AAAA,EAAA,CAChB,CACY,CACpB;EAED,IAAM8nB,kBAAkB,gBACpBj5B,KAAA,CAAAC,aAAA,CAAC44B,eAAe,EAAA,IAAA,EACX,CAAAnD,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEvlB,MAAM,MAAK,CAAC,iBAC3BnQ,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AAACrQ,IAAAA,QAAQ,EAAE,EAAG;AAACpE,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACzB;AAAY,GAAA,EACpDsI,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCuzB,iBAC5B,CACf,EACAtD,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEzuB,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAA;AAAA,IAAA,oBAC/B9P,KAAA,CAAAC,aAAA,CAAC64B,YAAU,EAAA;AACP54B,MAAAA,GAAG,EAAE4P,KAAM;AACXpR,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACXk3B,kBAAkB,CAAC1uB,IAAI,CAAC;AAC5B,MAAA;AAAE,KAAA,eAEFlH,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+G,IAAK;AAACkK,MAAAA,SAAS,EAAE,GAAI;AAACD,MAAAA,QAAQ,EAAE;AAAI,KAAE,CAChD,CAAC;AAAA,EAAA,CAChB,CACY,CACpB;AAED,EAAA,IAAM+nB,cAAc,gBAAA,YAAA;IAAA,IAAAj6B,KAAA,GAAAuY,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,MAAA,IAAAmG,IAAA,EAAAC,QAAA,EAAAC,MAAA;AAAA,MAAA,OAAAvG,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAwB,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAA,OACAhE,SAAS,EAAE;AAAA,UAAA,KAAA,CAAA;YAAxB+J,IAAI,GAAAhG,QAAA,CAAAmC,CAAA;AAAA,YAAA,IACL6D,IAAI,EAAA;AAAAhG,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAD,QAAA,CAAAS,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CACLjO,mBAAmB,EAAA;AAAAwN,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YACnBxN,qBAAqB,CAAC,IAAI,CAAC;AAACuN,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAA,OACLzN,mBAAmB,CAACwT,IAAI,CAAC;AAAA,UAAA,KAAA,CAAA;YAA1CC,QAAQ,GAAAjG,QAAA,CAAAmC,CAAA;YACd0b,sBAAsB,CAAC5X,QAAQ,CAAC;YAChCxT,qBAAqB,CAAC,KAAK,CAAC;AAACuN,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAEvBiG,YAAAA,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAAC9F,MAAM,GAAG,YAAM;AAClByd,cAAAA,sBAAsB,CAAC3X,MAAM,CAACE,MAAM,CAAC;YACzC,CAAC;AACDF,YAAAA,MAAM,CAACG,aAAa,CAACL,IAAI,CAAC;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAhG,QAAA,CAAAS,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAZ,OAAA,CAAA;IAAA,CAElC,CAAA,CAAA;AAAA,IAAA,OAAA,SAfKuhB,cAAcA,GAAA;AAAA,MAAA,OAAAj6B,KAAA,CAAAmW,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAenB;EAED,oBACIhV,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmjB,MAAM,EAAA;AACHvkB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCyzB,SAAU;AACnDtrB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEi5B;AAAW,KAAE,CAAE;AACvC1nB,IAAAA,YAAY,EAAE,EAAG;AACjBhT,IAAAA,OAAO,EAAEw6B;AAAe,GAC3B,CAAC,eACFl5B,KAAA,CAAAC,aAAA,CAACm3B,WAAW,EAAA;AACR98B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCyyB,OAAQ;AAClDrB,IAAAA,OAAO,EAAEgB;AAAqB,GACjC,CAAC,eACF/3B,KAAA,CAAAC,aAAA,CAACm3B,WAAW,EAAA;AACR98B,IAAAA,KAAK,EAAEkK,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAoB,sBAAA,GAAfpB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAmL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCyzB,aAAc;AACxDtC,IAAAA,OAAO,EAAEkC;AAAmB,GAC/B,CACY,CAAC;AAE1B,CAAC;AAEDF,YAAY,CAAC1+B,SAAS,GAAGA,WAAS;;AChG3B,IAAMA,WAAS,GAAG;EACrBm7B,UAAU,EAAEj7B,SAAS,CAACgB,IAAI;EAC1Bd,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACFM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMxC;AAEM,IAAMm7B,eAAe,GAAGt7B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,4FAAA,CAAA,CAAA,CAAA,CAKxC;AAEM,IAAM26B,UAAU,GAAG96B,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,8PAAA,EAAA,YAAA,CAAA,CAAA,CAAA,EAURC,KAAK,CAACT,KAAK,CAACP,WAAW,CAElD;;ACtBM,IAAMm8B,YAAY,GAAG,SAAfA,YAAYA,CAAAv6B,IAAA,EAAuC;AAAA,EAAA,IAAAwG,qBAAA;AAAA,EAAA,IAAjCgwB,UAAU,GAAAx2B,IAAA,CAAVw2B,UAAU;IAAE/6B,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EACrD,oBACIuF,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE,CAAE;AACfwF,IAAAA,YAAY,EAAE;AAAG,GAAA,EAEhBlN,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCg0B,UAC5B,CAAC,eACbx5B,KAAA,CAAAC,aAAA,CAACq5B,eAAe,EAAA,IAAA,EACXt2B,UAAU,CAACiE,GAAG,CAAC,UAACC,IAAI,EAAE4I,KAAK,EAAK;AAC7B,IAAA,oBACI9P,KAAA,CAAAC,aAAA,CAAC64B,UAAU,EAAA;AAAC54B,MAAAA,GAAG,EAAE4P,KAAM;MAACpR,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ82B,UAAU,CAACtuB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAE5F,KAAK,CAAC;AAAA,MAAA;AAAC,KAAA,eAC3DtB,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAE+G,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEvI;AAAK,KAAE,CACvB,CAAC;EAErB,CAAC,CACY,CACJ,CAAC;AAE1B,CAAC;AAED46B,YAAY,CAACl/B,SAAS,GAAGA,WAAS;;AC9B3B,IAAMA,WAAS,GAAG;EACrBw7B,QAAQ,EAAEt7B,SAAS,CAACgB,IAAI;EACxBu6B,SAAS,EAAEv7B,SAAS,CAACQ,IAAI;EACzBg7B,YAAY,EAAEx7B,SAAS,CAACgB,IAAI;EAC5By6B,SAAS,EAAEz7B,SAAS,CAACgB,IAAI;EACzBoM,QAAQ,EAAEpN,SAAS,CAACI,KAAK;AACzBqd,EAAAA,MAAM,EAAEzd,SAAS,CAAC+D,SAAS,CAAC,CACZ/D,SAAS,CAACC,MAAM,EAChBD,SAAS,CAACa,MAAM,CACjB,CAAC;EAChBX,cAAc,EAAEF,SAAS,CAACC;AAC9B,CAAC;;;ACXM,IAAM+R,iBAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMxC;;ACNM,IAAM9D,WAAS,GAAG;EACrBwE,IAAI,EAAEtE,SAAS,CAACC,MAAM;EACtBi/B,QAAQ,EAAEl/B,SAAS,CAACgB,IAAI;EACxBm+B,QAAQ,EAAEn/B,SAAS,CAACQ,IAAI;EACxB2Q,QAAQ,EAAEnR,SAAS,CAACQ;AACxB,CAAC;;;ACJM,IAAM4+B,eAAe,GAAG37B,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,+DAAA,EAAA,4LAAA,CAAA,CAAA,CAAA,EAGjB,UAAAa,IAAA,EAAA;AAAA,EAAA,IAAG06B,QAAQ,GAAA16B,IAAA,CAAR06B,QAAQ;AAAA,EAAA,OAC3BA,QAAQ,GAAGt7B,KAAK,CAACT,KAAK,CAACH,YAAY,GAAGY,KAAK,CAACT,KAAK,CAAChB,WAAW;AAAA,CAAA,CAQpE;AAEM,IAAMi9B,YAAY,GAAG57B,MAAM,CAACC,GAAG,CAAAmB,kBAAA,KAAAA,kBAAA,GAAAjB,sBAAA,CAAA,CAAA,mIAAA,EAAA,8FAAA,EAAA,KAAA,CAAA,CAAA,CAAA,EAM1B,UAAAc,KAAA,EAAA;AAAA,EAAA,IAAGy6B,QAAQ,GAAAz6B,KAAA,CAARy6B,QAAQ;AAAA,EAAA,OAAQA,QAAQ,GAAG,mBAAmB,GAAG,KAAK;AAAA,CAAC,EAIpD,UAAAr6B,KAAA,EAAA;AAAA,EAAA,IAAGq6B,QAAQ,GAAAr6B,KAAA,CAARq6B,QAAQ;AAAA,EAAA,OACrBA,QAAQ,GAAG,gCAAgC,GAAG,iCAAiC;AAAA,CAAA,CACtF;AAEM,IAAMjvB,SAAS,GAAGzM,MAAM,CAACC,GAAG,CAAAwB,kBAAA,KAAAA,kBAAA,GAAAtB,sBAAA,CAAA,CAAA,uIAAA,CAAA,CAAA,CAAA,CAMlC;AAEM,IAAM07B,aAAa,GAAG77B,MAAM,CAACC,GAAG,CAAA8M,gBAAA,KAAAA,gBAAA,GAAA5M,sBAAA,CAAA,CAAA,kDAAA,CAAA,CAAA,CAAA,CAGtC;;ACnCM,IAAM27B,YAAY,GAAG,SAAfA,YAAYA,CAAA96B,IAAA,EAA+C;AAAA,EAAA,IAAzCH,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAE46B,QAAQ,GAAAz6B,IAAA,CAARy6B,QAAQ;IAAEC,QAAQ,GAAA16B,IAAA,CAAR06B,QAAQ;IAAEhuB,QAAQ,GAAA1M,IAAA,CAAR0M,QAAQ;AAC7D,EAAA,oBACI1L,KAAA,CAAAC,aAAA,CAACwK,SAAS,qBACNzK,KAAA,CAAAC,aAAA,CAAC45B,aAAa,EAAA,IAAA,eACV75B,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAEy4B;AAAS,GAAE,CAAC,eAC9B54B,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPnG,IAAAA,UAAU,EAAE,CAAE;AACdtO,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACF,KAAM;AACzBsE,IAAAA,QAAQ,EAAE,EAAG;AACbC,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG;GAAE,EAElCe,IACO,CACD,CAAC,eAChBmB,KAAA,CAAAC,aAAA,CAAC05B,eAAe,EAAA;AACZD,IAAAA,QAAQ,EAAEA,QAAS;AACnBh7B,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACX,MAAA,IAAIgN,QAAQ,EAAE;AACV,QAAA;AACJ,MAAA;MACA+tB,QAAQ,IAAIA,QAAQ,EAAE;AAC1B,IAAA;AAAE,GAAA,eAEFz5B,KAAA,CAAAC,aAAA,CAAC25B,YAAY,EAAA;AAACF,IAAAA,QAAQ,EAAEA;GAAW,CACtB,CACV,CAAC;AAEpB,CAAC;AAEDI,YAAY,CAACz/B,SAAS,GAAGA,WAAS;;ACzB3B,IAAM0/B,SAAS,GAAG,SAAZA,SAASA,CAAA/6B,IAAA,EAQhB;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAPFkwB,QAAQ,GAAA72B,IAAA,CAAR62B,QAAQ;IACRC,SAAS,GAAA92B,IAAA,CAAT82B,SAAS;IACTC,YAAY,GAAA/2B,IAAA,CAAZ+2B,YAAY;IACZC,SAAS,GAAAh3B,IAAA,CAATg3B,SAAS;IACTruB,QAAQ,GAAA3I,IAAA,CAAR2I,QAAQ;IACRqQ,MAAM,GAAAhZ,IAAA,CAANgZ,MAAM;IACNvd,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;AAEd,EAAA,IAAImtB,WAAW,GAAG5gB,OAAO,CAAC,YAAM;AAAA,IAAA,IAAAgzB,eAAA;IAC5B,IAAIlqB,KAAK,GAAGnI,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;IAAA,CAAA,CAAC;IAClE,IAAIuO,KAAK,GAAG,CAAC,EAAE;AACX,MAAA,OAAO,KAAK;AAChB,IAAA;AACA,IAAA,OAAOnI,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAqyB,eAAA,GAARryB,QAAQ,CAAGmI,KAAK,CAAC,MAAA,IAAA,IAAAkqB,eAAA,KAAA,MAAA,GAAA,MAAA,GAAjBA,eAAA,CAAmBpS,WAAW;AACzC,EAAA,CAAC,EAAE,CAACjgB,QAAQ,CAAC,CAAC;EACd,oBACI3H,KAAA,CAAAC,aAAA,CAACsM,iBAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE,CAAE;AACfwF,IAAAA,YAAY,EAAE;GAAG,EAEhBlN,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmCy0B,QAC5B,CAAC,eACbj6B,KAAA,CAAAC,aAAA,CAAC65B,YAAY,EAAA;AACTj7B,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCy0B,YAAa;AACtDR,IAAAA,QAAQ,EAAE5D,SAAU;AACpB2D,IAAAA,QAAQ,EAAE5D;AAAS,GACtB,CAAC,eACF71B,KAAA,CAAAC,aAAA,CAAC65B,YAAY,EAAA;AACTj7B,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCy0B,eAAgB;IACzDT,QAAQ,EAAE5D,SAAS,IAAIlO,WAAY;AACnC6R,IAAAA,QAAQ,EAAE1D,YAAa;AACvBrqB,IAAAA,QAAQ,EAAE,CAACoqB;AAAU,GACxB,CAAC,eAEF91B,KAAA,CAAAC,aAAA,CAACmjB,MAAM,EAAA;AACHvkB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmCy0B,QAAS;AAClDvsB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEi5B;AAAW,KAAE,CAAE;AACvC1nB,IAAAA,YAAY,EAAE,EAAG;AACjBH,IAAAA,SAAS,EAAE,EAAG;AACd7S,IAAAA,OAAO,EAAEs3B;GACZ,CAAC,EACDhe,MAAM,iBAAIhY,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,IAAAA,GAAG,EAAE6X,MAAO;AAAC9W,IAAAA,MAAM,EAAE,EAAG;AAACD,IAAAA,KAAK,EAAE;AAAG,GAAE,CAChD,CAAC;AAE1B,CAAC;AAED84B,SAAS,CAAC1/B,SAAS,GAAGA,WAAS;;AC3DxB,IAAMA,WAAS,GAAG;EACrBmR,WAAW,EAAEjR,SAAS,CAACa;AAC3B,CAAC;;;ACFM,IAAMmR,eAAe,GAAGvO,MAAM,CAACC,GAAG,CAAAC,iBAAA,KAAAA,iBAAA,GAAAC,sBAAA,CAAA,CAAA,iHAAA,CAAA,CAAA,CAAA,CAMxC;;ACGM,IAAMk8B,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAr7B,IAAA,EAAA;AAAA,EAAA,IAAAwG,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;AAAA,EAAA,IAAMlL,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;EAAA,oBAC9CuF,KAAA,CAAAC,aAAA,CAACsM,eAAe,qBACZvM,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPzU,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACvB,WAAY;AAC/B4F,IAAAA,UAAU,EAAE5D,KAAK,CAACN,WAAW,CAAC,GAAG,CAAE;AACnCoO,IAAAA,WAAW,EAAE,CAAE;AACfwF,IAAAA,YAAY,EAAE;GAAG,EAEhBlN,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAgB,qBAAA,GAAfhB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAA+K,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,qBAAA,CAAmC80B,gBAC5B,CAAC,eACbt6B,KAAA,CAAAC,aAAA,CAAC65B,YAAY,EAAA;AAACj7B,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,gBAAAiB,sBAAA,GAAfjB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAgL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC80B;AAAc,GAAE,CAAC,eAExEv6B,KAAA,CAAAC,aAAA,CAACmS,UAAU,EAAA;AACPrQ,IAAAA,QAAQ,EAAE,EAAG;AACbpE,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAACN,QAAS;AAC5BkU,IAAAA,SAAS,EAAE,EAAG;AACdG,IAAAA,YAAY,EAAE,EAAG;AACjBvN,IAAAA,UAAU,EAAE;GAAO,EAElBK,eAAe,aAAfA,eAAe,KAAA,MAAA,IAAA,CAAAkB,sBAAA,GAAflB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAiL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC80B,gCAC5B,CAAC,eACbx6B,KAAA,CAAAC,aAAA,CAACmjB,MAAM,EAAA;AACHvkB,IAAAA,IAAI,EAAE2F,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAA,CAAAmB,sBAAA,GAAfnB,eAAe,CAAG/J,cAAc,CAAC,MAAA,IAAA,IAAAkL,sBAAA,KAAA,MAAA,GAAA,MAAA,GAAjCA,sBAAA,CAAmC80B,YAAa;AACtD5sB,IAAAA,IAAI,eAAE7N,KAAA,CAAAC,aAAA,CAACiR,WAAW,EAAA;AAAC/Q,MAAAA,GAAG,EAAEu6B;AAAU,KAAE,CAAE;IACtCzf,OAAO,EAAExZ,cAAc,CAAC7F;AAAQ,GACnC,CACY,CAAC;AAAA,CACrB;AAEDy+B,iBAAiB,CAAChgC,SAAS,GAAGA,WAAS;;AC7BhC,IAAMsgC,aAAa,GAAG,SAAhBA,aAAaA,CAAA37B,IAAA,EAAA;AAAA,EAAA,IACtBX,mBAAmB,GAAAW,IAAA,CAAnBX,mBAAmB;IACnBi3B,oBAAoB,GAAAt2B,IAAA,CAApBs2B,oBAAoB;IAAAc,eAAA,GAAAp3B,IAAA,CACpBu2B,UAAU;AAAVA,IAAAA,UAAU,GAAAa,eAAA,KAAA,MAAA,GAAG,YAAM,CAAC,CAAC,GAAAA,eAAA;IACrBZ,UAAU,GAAAx2B,IAAA,CAAVw2B,UAAU;IACVC,iBAAiB,GAAAz2B,IAAA,CAAjBy2B,iBAAiB;IACjBC,gBAAgB,GAAA12B,IAAA,CAAhB02B,gBAAgB;IAChBC,sBAAsB,GAAA32B,IAAA,CAAtB22B,sBAAsB;IACtBC,kBAAkB,GAAA52B,IAAA,CAAlB42B,kBAAkB;IAClBC,QAAQ,GAAA72B,IAAA,CAAR62B,QAAQ;IACRC,SAAS,GAAA92B,IAAA,CAAT82B,SAAS;IACTC,YAAY,GAAA/2B,IAAA,CAAZ+2B,YAAY;IACZC,SAAS,GAAAh3B,IAAA,CAATg3B,SAAS;IACTruB,QAAQ,GAAA3I,IAAA,CAAR2I,QAAQ;IACRqQ,MAAM,GAAAhZ,IAAA,CAANgZ,MAAM;IACNie,iBAAiB,GAAAj3B,IAAA,CAAjBi3B,iBAAiB;IACjBC,mBAAmB,GAAAl3B,IAAA,CAAnBk3B,mBAAmB;IACnB5rB,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnBC,qBAAqB,GAAAvL,IAAA,CAArBuL,qBAAqB;IACrBvP,oBAAoB,GAAAgE,IAAA,CAApBhE,oBAAoB;IACpBC,mBAAmB,GAAA+D,IAAA,CAAnB/D,mBAAmB;IACnB68B,sBAAsB,GAAA94B,IAAA,CAAtB84B,sBAAsB;IACtB38B,UAAU,GAAA6D,IAAA,CAAV7D,UAAU;IACVE,WAAW,GAAA2D,IAAA,CAAX3D,WAAW;IACXZ,cAAc,GAAAuE,IAAA,CAAdvE,cAAc;AAAA,EAAA,oBAEduF,KAAA,CAAAC,aAAA,CAACzB,cAAc,EAAA;IAACutB,OAAO,EAAE1tB,mBAAmB,IAAIi3B;AAAqB,GAAA,eACjEt1B,KAAA,CAAAC,aAAA,CAACk2B,aAAa,EAAA;AACVZ,IAAAA,UAAU,EAAEA,UAAW;AACvBl3B,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzC5D,IAAAA,cAAc,EAAEA;AAAe,GAClC,CAAC,eACFuF,KAAA,CAAAC,aAAA,CAAC42B,gBAAgB,EAAA;IAAC9K,OAAO,EAAE1tB,mBAAmB,IAAIi3B;AAAqB,GAAA,EAClEj3B,mBAAmB,MAAK8C,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEC,QAAQ,CAAA,gBAC/CpB,KAAA,CAAAC,aAAA,CAAC43B,eAAe,EAAA;AACZ3B,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCz7B,IAAAA,cAAc,EAAEA,cAAe;AAC/Bq9B,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/C98B,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCE,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,GACFkD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEtC,IAAI,CAAA,gBAC9CmB,KAAA,CAAAC,aAAA,CAACs4B,WAAW,EAAA;AACRtC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCx7B,IAAAA,cAAc,EAAEA,cAAe;AAC/BU,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,WAAW,EAAEA;AAAY,GAC5B,CAAC,GACFgD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEE,KAAK,CAAA,gBAC/CrB,KAAA,CAAAC,aAAA,CAAC84B,YAAY,EAAA;AACTtD,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCn7B,IAAAA,cAAc,EAAEA,cAAe;AAC/B6P,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CpP,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,GACFkD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEG,KAAK,CAAA,gBAC/CtB,KAAA,CAAAC,aAAA,CAACs5B,YAAY,EAAA;AAAC/D,IAAAA,UAAU,EAAEA,UAAW;AAAC/6B,IAAAA,cAAc,EAAEA;AAAe,GAAE,CAAC,GACxE4D,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEI,EAAE,CAAA,gBAC5CvB,KAAA,CAAAC,aAAA,CAAC85B,SAAS,EAAA;AACNlE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,SAAS,EAAEA,SAAU;AACrBruB,IAAAA,QAAQ,EAAEA,QAAS;AACnBqQ,IAAAA,MAAM,EAAEA,MAAO;AACfvd,IAAAA,cAAc,EAAEA,cAAe;AAC/BU,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,GACFkD,mBAAmB,MAAK8C,gBAAgB,aAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEK,UAAU,CAAA,gBACpDxB,KAAA,CAAAC,aAAA,CAACo6B,iBAAiB,EAAA;AAAC5/B,IAAAA,cAAc,EAAEA,cAAe;AAACU,IAAAA,UAAU,EAAEA;AAAW,GAAE,CAAC,GAC7E,IACU,CACN,CAAC;AAAA,CACpB;AAEDw/B,aAAa,CAACtgC,SAAS,GAAGA,WAAS;;ACzF5B,IAAMA,WAAS,GAAG;EACrB2R,QAAQ,EAAEzR,SAAS,CAACqE,IAAI;EACxB0D,eAAe,EAAE/H,SAAS,CAACC;AAC/B,CAAC;;ACDM,IAAMogC,OAAO,GAAG,SAAVA,OAAOA,CAAA57B,IAAA,EAAA;AAAA,EAAA,IAAMgN,QAAQ,GAAAhN,IAAA,CAARgN,QAAQ;IAAA6uB,oBAAA,GAAA77B,IAAA,CAAEsD,eAAe;IAAfA,eAAe,GAAAu4B,oBAAA,KAAA,MAAA,GAAGz8B,KAAK,CAACT,KAAK,CAACD,iBAAiB,GAAAm9B,oBAAA;EAAA,oBAC/E76B,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACI2P,IAAAA,KAAK,EAAE;AACH1O,MAAAA,MAAM,EAAE,MAAM;AACdD,MAAAA,KAAK,EAAE,MAAM;AACbmM,MAAAA,QAAQ,EAAE,UAAU;AACpBuW,MAAAA,GAAG,EAAE,CAAC;AACNrH,MAAAA,MAAM,EAAE,CAAC;AACTzO,MAAAA,IAAI,EAAE,CAAC;AACPC,MAAAA,KAAK,EAAE,CAAC;AACRyO,MAAAA,UAAU,EAAEja,eAAe;AAC3B8R,MAAAA,OAAO,EAAE,MAAM;AACfmJ,MAAAA,UAAU,EAAE,QAAQ;AACpBpR,MAAAA,cAAc,EAAE,QAAQ;AACxBsQ,MAAAA,MAAM,EAAE;AACZ;AAAE,GAAA,EAEDzQ,QACA,CAAC;AAAA,CACT;AAED4uB,OAAO,CAACvgC,SAAS,GAAGA,WAAS;;ACvBtB,IAAMA,SAAS,GAAG;EACrByJ,IAAI,EAAEvJ,SAAS,CAACC,MAAM;EACtBmD,KAAK,EAAEpD,SAAS,CAACC,MAAM;EACvBsgC,WAAW,EAAEvgC,SAAS,CAACC;AAC3B,CAAC;;;ACJD,IAAMugC,IAAI,GAAGC,SAAS,CAAA98B,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,iDAAA,CAAA,CAAA,CAAA,CAIrB;AAEM,IAAM88B,cAAc,GAAGj9B,MAAM,CAACC,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAjB,sBAAA,CAAA,CAAA,gFAAA,CAAA,CAAA,CAAA,CAIvC;AAEM,IAAM+8B,OAAO,GAAGl9B,MAAM,CAACC,GAAG,CAAAwB,gBAAA,KAAAA,gBAAA,GAAAtB,sBAAA,CAAA,CAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,6CAAA,EAAA,wBAAA,CAAA,CAAA,CAAA,EACpB,UAAAg9B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACr3B,IAAI,IAAI,MAAM;AAAA,CAAA,EAC5B,UAAAq3B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACr3B,IAAI,IAAI,MAAM;AAAA,CAAA,EAC7B,UAAAq3B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACL,WAAW,IAAI,KAAK;AAAA,CAAA,EACvC,UAAAK,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACx9B,KAAK,GAAG,IAAI,IAAI,wBAAwB;AAAA,CAAA,EACzC,UAAAw9B,KAAK,EAAA;AAAA,EAAA,OAAIA,KAAK,CAACx9B,KAAK,IAAI,SAAS;AAAA,CAAA,EAExCo9B,IAAI,CACpB;;AClBM,IAAMK,cAAc,GAAG,SAAjBA,cAAcA,CAAAp8B,IAAA,EAAA;AAAA,EAAA,IAAAq8B,SAAA,GAAAr8B,IAAA,CAAM8E,IAAI;AAAJA,IAAAA,IAAI,GAAAu3B,SAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,SAAA;IAAAC,UAAA,GAAAt8B,IAAA,CAAErB,KAAK;AAALA,IAAAA,KAAK,GAAA29B,UAAA,KAAA,MAAA,GAAG,SAAS,GAAAA,UAAA;IAAAC,gBAAA,GAAAv8B,IAAA,CAAE87B,WAAW;AAAXA,IAAAA,WAAW,GAAAS,gBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,gBAAA;EAAA,oBAClFv7B,KAAA,CAAAC,aAAA,CAACg7B,cAAc,qBACXj7B,KAAA,CAAAC,aAAA,CAACi7B,OAAO,EAAA;AAACp3B,IAAAA,IAAI,EAAEA,IAAK;AAACnG,IAAAA,KAAK,EAAEA,KAAM;AAACm9B,IAAAA,WAAW,EAAEA;AAAY,GAAE,CAClD,CAAC;AAAA,CACpB;AAEDM,cAAc,CAAC/gC,SAAS,GAAGA,SAAS;;ACVpC,SAAS,OAAO,CAAC,EAAE,EAAE;AACrB,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AACjC,EAAE,OAAO,UAAU,GAAG,EAAE;AACxB,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;AACtD,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC;AACrB,EAAE,CAAC;AACH;;ACJA;AACA,IAAI,eAAe,GAAG,qgIAAqgI,CAAC;;AAE5hI,IAAI,WAAW,kBAAkB,OAAO,CAAC,UAAU,IAAI,EAAE;AACzD,EAAE,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AAC9D;AACA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;AAC5B;AACA,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE;AAC5B;AACA;AACA,CAAC;;ACqBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACO,IAAMmhC,MAAM,gBAAGC,UAAU,CAC5B,UAAAz8B,IAAA,EAoBI2Q,GAAG,EACF;AAAA,EAAA,IAAA+rB,qBAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,eAAA;AAAA,EAAA,IAAAlJ,UAAA,GAAA3zB,IAAA,CAnBG1E,KAAK;AAALA,IAAAA,KAAK,GAAAq4B,UAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,UAAA;IAAAmJ,kBAAA,GAAA98B,IAAA,CACV+8B,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,kBAAA;IAAAE,iBAAA,GAAAh9B,IAAA,CACpBtE,YAAY;AAAZA,IAAAA,YAAY,GAAAshC,iBAAA,KAAA,MAAA,GAAGv4B,eAAe,GAAAu4B,iBAAA;IAC9B1xB,mBAAmB,GAAAtL,IAAA,CAAnBsL,mBAAmB;IACnB1P,YAAY,GAAAoE,IAAA,CAAZpE,YAAY;IAAAqhC,kBAAA,GAAAj9B,IAAA,CACZnE,aAAa;AAAbA,IAAAA,aAAa,GAAAohC,kBAAA,KAAA,MAAA,GAAGv6B,wBAAwB,GAAAu6B,kBAAA;IACxCnhC,iBAAiB,GAAAkE,IAAA,CAAjBlE,iBAAiB;IAAAohC,qBAAA,GAAAl9B,IAAA,CACjBhE,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAkhC,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAn9B,IAAA,CACzB/D,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAkhC,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IACxBrE,sBAAsB,GAAA94B,IAAA,CAAtB84B,sBAAsB;IAAAsE,WAAA,GAAAp9B,IAAA,CACtB9D,MAAM;AAANA,IAAAA,MAAM,GAAAkhC,WAAA,KAAA,MAAA,GAAG,gBAAgB,GAAAA,WAAA;IAAAC,eAAA,GAAAr9B,IAAA,CACzB7D,UAAU;AAAVA,IAAAA,UAAU,GAAAkhC,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IACfhhC,WAAW,GAAA2D,IAAA,CAAX3D,WAAW;IACXC,MAAM,GAAA0D,IAAA,CAAN1D,MAAM;IACNmoB,cAAc,GAAAzkB,IAAA,CAAdykB,cAAc;IACdjoB,cAAc,GAAAwD,IAAA,CAAdxD,cAAc;IAAA8gC,WAAA,GAAAt9B,IAAA,CACdvD,MAAM;AAANA,IAAAA,MAAM,GAAA6gC,WAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,WAAA;AAIjB,EAAA,IAAM3zB,QAAQ,GAAGqG,MAAM,CAAC,IAAI,CAAC;AAC7B,EAAA,IAAAP,SAAA,GAA0CC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjD8tB,IAAAA,aAAa,GAAA5tB,UAAA,CAAA,CAAA,CAAA;AAAE6tB,IAAAA,gBAAgB,GAAA7tB,UAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAA0O,UAAA,GAAsC3O,QAAQ,CAACvN,gBAAgB,CAACC,QAAQ,CAAC;IAAAkc,UAAA,GAAA1O,cAAA,CAAAyO,UAAA,EAAA,CAAA,CAAA;AAAlEjW,IAAAA,WAAW,GAAAkW,UAAA,CAAA,CAAA,CAAA;AAAEmf,IAAAA,cAAc,GAAAnf,UAAA,CAAA,CAAA,CAAA;EAClC,IAAAoJ,UAAA,GAA4ChY,QAAQ,CAAC6L,cAAc,CAAC9e,MAAM,CAAC,CAAC;IAAAkrB,UAAA,GAAA/X,cAAA,CAAA8X,UAAA,EAAA,CAAA,CAAA;AAArEjsB,IAAAA,cAAc,GAAAksB,UAAA,CAAA,CAAA,CAAA;AAAE+V,IAAAA,iBAAiB,GAAA/V,UAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAA+D,UAAA,GAAwChc,QAAQ,CAAC,IAAI,CAAC;IAAAic,UAAA,GAAA/b,cAAA,CAAA8b,UAAA,EAAA,CAAA,CAAA;AAA/CrgB,IAAAA,YAAY,GAAAsgB,UAAA,CAAA,CAAA,CAAA;AAAEgS,IAAAA,eAAe,GAAAhS,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,UAAA,GAA0Cnc,QAAQ,CAAC,IAAI,CAAC;IAAAoc,UAAA,GAAAlc,cAAA,CAAAic,UAAA,EAAA,CAAA,CAAA;AAAjDzgB,IAAAA,aAAa,GAAA0gB,UAAA,CAAA,CAAA,CAAA;AAAE8R,IAAAA,gBAAgB,GAAA9R,UAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAA+R,UAAA,GAA8BnuB,QAAQ,CAAC,KAAK,CAAC;IAAAouB,WAAA,GAAAluB,cAAA,CAAAiuB,UAAA,EAAA,CAAA,CAAA;AAAtCE,IAAAA,OAAO,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,UAAU,GAAAF,WAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAG,WAAA,GAAoDvuB,QAAQ,CAAC,KAAK,CAAC;IAAAwuB,WAAA,GAAAtuB,cAAA,CAAAquB,WAAA,EAAA,CAAA,CAAA;AAA5DE,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAE3yB,IAAAA,qBAAqB,GAAA2yB,WAAA,CAAA,CAAA,CAAA;AAChD,EAAA,IAAAE,WAAA,GAAwD1uB,QAAQ,CAAC,IAAI,CAAC;IAAA2uB,WAAA,GAAAzuB,cAAA,CAAAwuB,WAAA,EAAA,CAAA,CAAA;AAA/D9H,IAAAA,oBAAoB,GAAA+H,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,uBAAuB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACpD,EAAA,IAAAE,WAAA,GAA4C7uB,QAAQ,CAAC,GAAG,CAAC;IAAA8uB,WAAA,GAAA5uB,cAAA,CAAA2uB,WAAA,EAAA,CAAA,CAAA;AAAlDl2B,IAAAA,cAAc,GAAAm2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,WAAA,GAAgChvB,QAAQ,CAAChU,YAAY,CAAC;IAAAijC,WAAA,GAAA/uB,cAAA,CAAA8uB,WAAA,EAAA,CAAA,CAAA;AAA/C/1B,IAAAA,QAAQ,GAAAg2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,WAAW,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAE,WAAA,GAA4DnvB,QAAQ,CAAC,CAAC,CAAC;IAAAovB,WAAA,GAAAlvB,cAAA,CAAAivB,WAAA,EAAA,CAAA,CAAA;AAAhE/0B,IAAAA,sBAAsB,GAAAg1B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,yBAAyB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAAE,WAAA,GAA8BtvB,QAAQ,CAAC,EAAE,CAAC;IAAAuvB,WAAA,GAAArvB,cAAA,CAAAovB,WAAA,EAAA,CAAA,CAAA;AAAnCp2B,IAAAA,OAAO,GAAAq2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAAE,WAAA,GAAkCzvB,QAAQ,CAAC,EAAE,CAAC;IAAA0vB,WAAA,GAAAxvB,cAAA,CAAAuvB,WAAA,EAAA,CAAA,CAAA;AAAvCt2B,IAAAA,SAAS,GAAAu2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;EAC9B,IAAAE,WAAA,GAA4C5vB,QAAQ,CAACtQ,KAAK,CAACT,KAAK,CAAC5B,KAAK,CAAC;IAAAwiC,WAAA,GAAA3vB,cAAA,CAAA0vB,WAAA,EAAA,CAAA,CAAA;AAAhEn2B,IAAAA,cAAc,GAAAo2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,iBAAiB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAE,WAAA,GAAgD/vB,QAAQ,CAAC,CAAC,CAAC;IAAAgwB,WAAA,GAAA9vB,cAAA,CAAA6vB,WAAA,EAAA,CAAA,CAAA;AAApDv2B,IAAAA,gBAAgB,GAAAw2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;EAC5C,IAAAE,WAAA,GAAgDlwB,QAAQ,CAACtQ,KAAK,CAACT,KAAK,CAACF,KAAK,CAAC;IAAAohC,WAAA,GAAAjwB,cAAA,CAAAgwB,WAAA,EAAA,CAAA,CAAA;AAApE32B,IAAAA,gBAAgB,GAAA42B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,WAAA,GAAwCrwB,QAAQ,CAAC,CAAC,CAAC;IAAAswB,WAAA,GAAApwB,cAAA,CAAAmwB,WAAA,EAAA,CAAA,CAAA;AAA5Cx2B,IAAAA,YAAY,GAAAy2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,WAAA,GAAgDxwB,QAAQ,CAAC,CAAC,CAAC;IAAAywB,WAAA,GAAAvwB,cAAA,CAAAswB,WAAA,EAAA,CAAA,CAAA;AAApD91B,IAAAA,gBAAgB,GAAA+1B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;EAC5C,IAAAE,WAAA,GAAgD3wB,QAAQ,CAACtQ,KAAK,CAACT,KAAK,CAACF,KAAK,CAAC;IAAA6hC,WAAA,GAAA1wB,cAAA,CAAAywB,WAAA,EAAA,CAAA,CAAA;AAApEh2B,IAAAA,gBAAgB,GAAAi2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,WAAA,GAAwC9wB,QAAQ,CAAC,CAAC,CAAC;IAAA+wB,WAAA,GAAA7wB,cAAA,CAAA4wB,WAAA,EAAA,CAAA,CAAA;AAA5Cl2B,IAAAA,YAAY,GAAAm2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,WAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,WAAA,GAA0CjxB,QAAQ,CAAC,CAAC,CAAC;IAAAkxB,WAAA,GAAAhxB,cAAA,CAAA+wB,WAAA,EAAA,CAAA,CAAA;AAA9Cj2B,IAAAA,aAAa,GAAAk2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;EACtC,IAAAE,WAAA,GAA0CpxB,QAAQ,CAACtQ,KAAK,CAACT,KAAK,CAACF,KAAK,CAAC;IAAAsiC,WAAA,GAAAnxB,cAAA,CAAAkxB,WAAA,EAAA,CAAA,CAAA;AAA9Dn2B,IAAAA,aAAa,GAAAo2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,gBAAgB,GAAAD,WAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAE,WAAA,GAAkCvxB,QAAQ,CAAC,CAAC,CAAC;IAAAwxB,WAAA,GAAAtxB,cAAA,CAAAqxB,WAAA,EAAA,CAAA,CAAA;AAAtCr2B,IAAAA,SAAS,GAAAs2B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,YAAY,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAE,WAAA,GAA8C1xB,QAAQ,CAAC,IAAI,CAAC;IAAA2xB,WAAA,GAAAzxB,cAAA,CAAAwxB,WAAA,EAAA,CAAA,CAAA;AAArD33B,IAAAA,eAAe,GAAA43B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,kBAAkB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAAE,WAAA,GAAgD7xB,QAAQ,CAAC9T,YAAY,IAAI,EAAE,CAAC;IAAA4lC,WAAA,GAAA5xB,cAAA,CAAA2xB,WAAA,EAAA,CAAA,CAAA;AAArE7K,IAAAA,gBAAgB,GAAA8K,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAAE,WAAA,GAA4BhyB,QAAQ,CAACqtB,aAAa,CAAC;IAAA4E,WAAA,GAAA/xB,cAAA,CAAA8xB,WAAA,EAAA,CAAA,CAAA;AAA5C1oB,IAAAA,MAAM,GAAA2oB,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAAE,WAAA,GAAgDnyB,QAAQ,CAACzK,cAAc,CAAC;IAAA68B,WAAA,GAAAlyB,cAAA,CAAAiyB,WAAA,EAAA,CAAA,CAAA;AAAjE72B,IAAAA,gBAAgB,GAAA82B,WAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,mBAAmB,GAAAD,WAAA,CAAA,CAAA,CAAA;EAE5C,IAAME,cAAc,GAAG32B,YAAY,IAAID,aAAa,IAAI+yB,kBAAkB,IAAIJ,OAAO;AAErF,EAAA,IAAMkE,IAAI,GAAGp6B,WAAW,CAAC,YAAM;AAC3B,IAAA,IAAIe,OAAO,CAACuI,MAAM,GAAG,CAAC,EAAE;MACpBmwB,kBAAkB,CAAC,IAAI,CAAC;MAExB,IAAMY,aAAa,GAAGt5B,OAAO,CAACA,OAAO,CAACuI,MAAM,GAAG,CAAC,CAAC;MACjDkuB,YAAY,CAAA,CAAE12B,QAAQ,CAAA,CAAAhE,MAAA,CAAAw9B,kBAAA,CAAKt5B,SAAS,CAAA,CAAC,CAAC;MACtCq2B,UAAU,CAACt2B,OAAO,CAACw5B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MAChCxD,WAAW,CAACsD,aAAa,CAAC;AAC9B,IAAA;AACJ,EAAA,CAAC,EAAE,CAACt5B,OAAO,EAAED,QAAQ,EAAEE,SAAS,EAAEw2B,YAAY,EAAEH,UAAU,EAAEN,WAAW,CAAC,CAAC;AAEzE,EAAA,IAAMyD,IAAI,GAAGx6B,WAAW,CAAC,YAAM;AAC3B,IAAA,IAAIgB,SAAS,CAACsI,MAAM,GAAG,CAAC,EAAE;MACtBmwB,kBAAkB,CAAC,IAAI,CAAC;AAExB,MAAA,IAAMgB,SAAS,GAAGz5B,SAAS,CAAC,CAAC,CAAC;MAC9Bq2B,UAAU,CAAA,EAAA,CAAAv6B,MAAA,CAAAw9B,kBAAA,CAAKv5B,OAAO,CAAA,EAAA,CAAED,QAAQ,CAAA,CAAC,CAAC;AAClC02B,MAAAA,YAAY,CAACx2B,SAAS,CAACu5B,KAAK,CAAC,CAAC,CAAC,CAAC;MAChCxD,WAAW,CAAC0D,SAAS,CAAC;AAC1B,IAAA;AACJ,EAAA,CAAC,EAAE,CAAC15B,OAAO,EAAED,QAAQ,EAAEE,SAAS,EAAEq2B,UAAU,EAAEG,YAAY,EAAET,WAAW,CAAC,CAAC;EAEzE2D,mBAAmB,CAAC5xB,GAAG,EAAE,YAAA;IAAA,OAAO;MAC5BrU,MAAM,EAAA,YAAA;QAAA,IAAAkmC,OAAA,GAAAhqB,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAE,SAAAC,OAAAA,GAAA;UAAA,IAAA8pB,iBAAA,EAAA7nB,OAAA;AAAA,UAAA,OAAAnC,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAwB,QAAA,EAAA;YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBACJilB,UAAU,CAAC,IAAI,CAAC;gBAChBsD,kBAAkB,CAAC,IAAI,CAAC;gBACxB7C,iBAAiB,CAAC,GAAG,CAAC;AAAC3lB,gBAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,gBAAA,OACjB,IAAI/D,OAAO,CAAC,UAAAC,OAAO,EAAA;AAAA,kBAAA,OAAInD,UAAU,CAACmD,OAAO,EAAE,GAAG,CAAC;gBAAA,CAAA,CAAC;AAAA,cAAA,KAAA,CAAA;AAClDwtB,gBAAAA,iBAAiB,GAAG1oB,mBAAmB,CAACpR,QAAQ,CAAC;AAAAmQ,gBAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;gBAAA,OAC/BoB,kBAAkB,CAACxQ,QAAQ,CAAC;AAAA,cAAA,KAAA,CAAA;gBAA5CiR,OAAO,GAAA9B,QAAA,CAAAmC,CAAA;gBACb+iB,UAAU,CAAC,KAAK,CAAC;gBAAC,OAAAllB,QAAA,CAAAS,CAAA,CAAA,CAAA,EACX;AAAE5Q,kBAAAA,QAAQ,EAAE85B,iBAAiB;AAAEpgC,kBAAAA,KAAK,EAAEuY;iBAAS,CAAA;AAAA;AAAA,UAAA,CAAA,EAAAjC,OAAA,CAAA;QAAA,CACzD,CAAA,CAAA;AAAA,QAAA,SATDrc,MAAMA,GAAA;AAAA,UAAA,OAAAkmC,OAAA,CAAApsB,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,QAAA;AAAA,QAAA,OAAN1Z,MAAM;MAAA,CAAA,EASL;AACDyhC,MAAAA,OAAO,EAAEiE,cAAc;AACvBhE,MAAAA,UAAU,EAAVA;KACH;AAAA,EAAA,CAAC,CAAC;AACH/tB,EAAAA,SAAS,CAAC,YAAM;AACZ,IAAA,IAAMyyB,aAAa,GAAG,SAAhBA,aAAaA,CAAG56B,CAAC,EAAI;AACvB,MAAA,IAAM66B,KAAK,GAAGC,SAAS,CAACC,QAAQ,CAACC,WAAW,EAAE,CAACtnB,QAAQ,CAAC,KAAK,CAAC;MAC9D,IAAMunB,SAAS,GAAGJ,KAAK,GAAG76B,CAAC,CAACk7B,OAAO,GAAGl7B,CAAC,CAACm7B,OAAO;AAC/C,MAAA,IAAMC,QAAQ,GAAGp7B,CAAC,CAACo7B,QAAQ;;AAE3B;MACA,IACI,CAACp7B,CAAC,CAAC5G,GAAG,KAAK,QAAQ,IAAI4G,CAAC,CAAC5G,GAAG,KAAK,WAAW,KAC5CuI,eAAe,IACf,CAAAA,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE+Z,SAAS,MAAK,KAAK,IACpC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAChI,QAAQ,CAACjL,QAAQ,CAAC4yB,aAAa,CAACC,OAAO,CAAC,IAC/D,CAAC7yB,QAAQ,CAAC4yB,aAAa,CAACE,iBAAiB,EAC3C;QACEv7B,CAAC,CAACw7B,cAAc,EAAE;AAClBv5B,QAAAA,uBAAuB,EAAE;AAC7B,MAAA;;AAEA;MACA,IAAIg5B,SAAS,IAAIj7B,CAAC,CAAC5G,GAAG,CAACqiC,WAAW,EAAE,KAAK,GAAG,EAAE;AAC1C,QAAA,IAAI95B,eAAe,EAAE;UACjB3B,CAAC,CAACw7B,cAAc,EAAE;AAClB,UAAA,IAAME,MAAM,GAAA5kC,cAAA,CAAA,EAAA,EAAQ6K,eAAe,CAAE;UACrC,OAAO+5B,MAAM,CAAC7yB,GAAG;UACjB6sB,gBAAgB,CAACgG,MAAM,CAAC;AAC5B,QAAA;AACJ,MAAA;;AAEA;MACA,IAAIT,SAAS,IAAIj7B,CAAC,CAAC5G,GAAG,CAACqiC,WAAW,EAAE,KAAK,GAAG,EAAE;AAC1C,QAAA,IAAIhG,aAAa,EAAE;UACfz1B,CAAC,CAACw7B,cAAc,EAAE;AAClB,UAAA,IAAMG,UAAU,GAAA7kC,cAAA,CAAAA,cAAA,KACT2+B,aAAa,CAAA,EAAA,EAAA,EAAA;YAChBx8B,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1B6jB,YAAAA,CAAC,EAAE6U,aAAa,CAAC7U,CAAC,GAAG,EAAE;AACvBC,YAAAA,CAAC,EAAE4U,aAAa,CAAC5U,CAAC,GAAG,EAAE;AACvBnF,YAAAA,SAAS,EAAE;WAAI,CAClB;UACDkgB,UAAU,CAACD,UAAU,CAAC;UACtBnC,kBAAkB,CAACmC,UAAU,CAAC;AAClC,QAAA;AACJ,MAAA;;AAEA;AACA,MAAA,IAAIV,SAAS,IAAI,CAACG,QAAQ,IAAIp7B,CAAC,CAAC5G,GAAG,CAACqiC,WAAW,EAAE,KAAK,GAAG,EAAE;QACvDz7B,CAAC,CAACw7B,cAAc,EAAE;AAClBrB,QAAAA,IAAI,EAAE;AACV,MAAA;;AAEA;MACA,IACKc,SAAS,IAAIG,QAAQ,IAAIp7B,CAAC,CAAC5G,GAAG,CAACqiC,WAAW,EAAE,KAAK,GAAG,IACpDR,SAAS,IAAIj7B,CAAC,CAAC5G,GAAG,CAACqiC,WAAW,EAAE,KAAK,GAAI,EAC5C;QACEz7B,CAAC,CAACw7B,cAAc,EAAE;AAClBjB,QAAAA,IAAI,EAAE;AACV,MAAA;IACJ,CAAC;AAEDvb,IAAAA,MAAM,CAACtW,gBAAgB,CAAC,SAAS,EAAEkyB,aAAa,CAAC;AACjD,IAAA,OAAO,YAAM;AACT5b,MAAAA,MAAM,CAACrW,mBAAmB,CAAC,SAAS,EAAEiyB,aAAa,CAAC;IACxD,CAAC;EACL,CAAC,EAAE,CAACj5B,eAAe,EAAE8zB,aAAa,EAAE0E,IAAI,EAAEI,IAAI,CAAC,CAAC;;AAEhD;AACApyB,EAAAA,SAAS,CAAC,YAAM;AACZytB,IAAAA,iBAAiB,CAACniB,cAAc,CAAC9e,MAAM,CAAC,CAAC;AAC7C,EAAA,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;AAEZwT,EAAAA,SAAS,CAAC,YAAM;AACZwxB,IAAAA,mBAAmB,CAAC7lC,YAAY,IAAI,EAAE,CAAC;AAC3C,EAAA,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;AAElBqU,EAAAA,SAAS,CAAC,YAAM;IACZ0tB,eAAe,CAAC,IAAI,CAAC;AACrB9mB,IAAAA,kBAAkB,EAAE,CACfwB,IAAI,CAAC,YAAM;AACR;AACA;AAAA,IAAA,CACH,CAAC,CAAA,OAAA,CACI,CAAC,UAAAC,GAAG,EAAI;AACV;AACA6P,MAAAA,OAAO,CAACC,KAAK,CAAC,wBAAwB,EAAE9P,GAAG,CAAC;IAChD,CAAC,CAAC,CAAA,SAAA,CACM,CAAC,YAAM;AACXxG,MAAAA,UAAU,CAAC,YAAM;QACb6rB,eAAe,CAAC,KAAK,CAAC;MAC1B,CAAC,EAAE,IAAI,CAAC;AACR;AACAxV,MAAAA,OAAO,CAACwb,GAAG,CAAC,2BAA2B,CAAC;AAC5C,IAAA,CAAC,CAAC;EACV,CAAC,EAAE,EAAE,CAAC;AACN1zB,EAAAA,SAAS,CAAC,YAAM;IACZ2zB,UAAU,CAACloC,YAAY,CAAC;IACxBkjC,WAAW,CAACljC,YAAY,CAAC;AAC7B,EAAA,CAAC,EAAAymC,kBAAA,CAAMzmC,YAAY,CAAC,CAAC;AAErB,EAAA,IAAMkoC,UAAU,GAAG,SAAbA,UAAUA,CAAGC,KAAK,EAAI;IACxBjG,gBAAgB,CAAC,IAAI,CAAC;IACtBrlB,qBAAqB,CAACsrB,KAAK,CAAC,CACvBxrB,IAAI,CAAC,UAAApY,KAAA,EAAgB;AAAA,MAAA,IAAb4Z,MAAM,GAAA5Z,KAAA,CAAN4Z,MAAM;AACX;AACA;MACA,IAAI,CAAAA,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE1I,MAAM,IAAG,CAAC,EAAE;AACpB;AACAgX,QAAAA,OAAO,CAACwb,GAAG,CAAC,kBAAkB,EAAE9pB,MAAM,CAAC;AAC3C,MAAA;AACJ,IAAA,CAAC,CAAC,CAAA,OAAA,CACI,CAAC,UAAAvB,GAAG,EAAI;AACV;AACA6P,MAAAA,OAAO,CAACC,KAAK,CAAC,8BAA8B,EAAE9P,GAAG,CAAC;IACtD,CAAC,CAAC,CAAA,SAAA,CACM,CAAC,YAAM;MACXslB,gBAAgB,CAAC,KAAK,CAAC;AAC3B,IAAA,CAAC,CAAC;EACV,CAAC;AAED,EAAA,IAAMp1B,YAAY,GAAGR,OAAO,CAAC,YAAM;IAAA,IAAA87B,oBAAA,EAAAC,cAAA;AAC/B,IAAA,OAAOlvB,wBAAwB,CAAA,CAAAivB,oBAAA,GAC3B/hC,mBAAmB,CACf,CAAA4G,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAo7B,cAAA,GAARp7B,QAAQ,CAAEqoB,IAAI,CAAC,UAAAlpB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ,CAAA;IAAA,CAAA,CAAC,MAAA,IAAA,IAAA0gC,cAAA,KAAA,MAAA,GAAA,MAAA,GAAvDA,cAAA,CAAyDj/B,IAAI,MAAIxD,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEC,EAAE,CAAA,CACjF,MAAA,IAAA,IAAAuiC,oBAAA,KAAA,MAAA,GAAA,MAAA,GAFDA,oBAAA,CAEG5hC,MAAM,EACTmG,cACJ,CAAC;AACL,EAAA,CAAC,EAAE,CAACA,cAAc,EAAEM,QAAQ,CAAC,CAAC;AAC9B,EAAA,IAAMF,WAAW,GAAGT,OAAO,CAAC,YAAM;IAAA,IAAAg8B,qBAAA,EAAAC,eAAA;AAC9B,IAAA,OAAOpvB,wBAAwB,CAAA,CAAAmvB,qBAAA,GAC3BjiC,mBAAmB,CACf,CAAA4G,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAs7B,eAAA,GAARt7B,QAAQ,CAAEqoB,IAAI,CAAC,UAAAlpB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ,CAAA;IAAA,CAAA,CAAC,MAAA,IAAA,IAAA4gC,eAAA,KAAA,MAAA,GAAA,MAAA,GAAvDA,eAAA,CAAyDn/B,IAAI,MAAIxD,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEC,EAAE,CAAA,CACjF,MAAA,IAAA,IAAAyiC,qBAAA,KAAA,MAAA,GAAA,MAAA,GAFDA,qBAAA,CAEG/hC,KAAK,EACRoG,cACJ,CAAC;AACL,EAAA,CAAC,EAAE,CAACA,cAAc,EAAEM,QAAQ,CAAC,CAAC;AAC9B,EAAA,IAAMwC,gBAAgB,GAAGnD,OAAO,CAAC,YAAM;AAAA,IAAA,IAAAk8B,eAAA;AACnC,IAAA,OAAO,CAAAv7B,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAu7B,eAAA,GAARv7B,QAAQ,CAAEqoB,IAAI,CAAC,UAAAlpB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ,CAAA;AAAA,IAAA,CAAA,CAAC,MAAA,IAAA,IAAA6gC,eAAA,KAAA,MAAA,GAAA,MAAA,GAAvDA,eAAA,CAAyDp/B,IAAI,MAAIxD,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,GAAA,MAAA,GAATA,SAAS,CAAEC,EAAE,CAAA;AACzF,EAAA,CAAC,EAAE,CAACoH,QAAQ,CAAC,CAAC;AAEd,EAAA,IAAMw7B,aAAa,GAAGt8B,WAAW,CAC7B,UAAAu8B,GAAG,EAAI;IACH9C,kBAAkB,CAAC,IAAI,CAAC;IACxB7D,cAAc,CAAC2G,GAAG,CAAC;IACnB9F,uBAAuB,CAAC,IAAI,CAAC;AACjC,EAAA,CAAC,EACD,CAACb,cAAc,CACnB,CAAC;AAED,EAAA,IAAM4G,uBAAuB,GAAGx8B,WAAW,CAAC,YAAM;IAC9Cy2B,uBAAuB,CAAC,KAAK,CAAC;AAClC,EAAA,CAAC,EAAE,CAACA,uBAAuB,CAAC,CAAC;AAE7B,EAAA,IAAM/1B,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGuM,UAAU,EAAI;IACzC2pB,iBAAiB,CAAC3pB,UAAU,CAAC;EACjC,CAAC;AAED,EAAA,IAAMlL,WAAW,GAAG,SAAdA,WAAWA,CAAG06B,WAAW,EAAI;IAC/BpF,UAAU,CAAA,EAAA,CAAAv6B,MAAA,CAAAw9B,kBAAA,CAAKv5B,OAAO,CAAA,EAAA,CAAED,QAAQ,CAAA,CAAC,CAAC;IAClC02B,YAAY,CAAC,EAAE,CAAC;IAChBT,WAAW,CAAC0F,WAAW,CAAC;EAC5B,CAAC;AAED,EAAA,IAAM57B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG/J,KAAK,EAAI;IAClC,IAAI,CAACA,KAAK,EAAE;AACR,MAAA;AACJ,IAAA;AACA,IAAA,IAAI8kC,UAAU;AACd,IAAA,IAAIc,SAAS,GAAApC,kBAAA,CAAOx5B,QAAQ,CAAC;AAC7B,IAAA,IAAI67B,oBAAoB,GAAGD,SAAS,CAACjQ,SAAS,CAC1C,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEE,eAAe,CAAA;AAAA,IAAA,CAClD,CAAC;AACD,IAAA,IAAIkhC,oBAAoB,GAAG,EAAE,EAAE;AAC3BD,MAAAA,SAAS,CAACE,MAAM,CAACD,oBAAoB,EAAE,CAAC,CAAC;AAC7C,IAAA;AACAf,IAAAA,UAAU,GAAG;AACT/+B,MAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEE,eAAe;MACnCvC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BlG,MAAAA,KAAK,EAAEA;KACV;IAEDiL,WAAW,CAAA,EAAA,CAAAjF,MAAA,CAAAw9B,kBAAA,CAAKoC,SAAS,CAAA,EAAA,CAAEd,UAAU,CAAA,CAAC,CAAC;EAC3C,CAAC;AACD,EAAA,IAAMv4B,aAAa,GAAG,SAAhBA,aAAaA,CAAGpG,IAAI,EAAI;IAC1B,IAAI,CAACA,IAAI,EAAE;AACP,MAAA;AACJ,IAAA;AAEA,IAAA,IAAIy/B,SAAS,GAAGG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACj8B,QAAQ,CAAC,CAAC;AACpD,IAAA,IAAIk8B,SAAS,GAAGN,SAAS,CAACjQ,SAAS,CAAC,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ,CAAA;IAAA,CAAA,CAAC;AAC5E,IAAA,IAAIwhC,SAAS,GAAG,EAAE,EAAE;AAChBN,MAAAA,SAAS,CAACM,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG//B,IAAI;AACvC,IAAA,CAAC,MAAM;AACH,MAAA,IAAIggC,WAAW,GAAG;AACdpgC,QAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ;QAC5BtC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1BC,QAAAA,IAAI,EAAEA;OACT;AACDy/B,MAAAA,SAAS,CAACrsB,IAAI,CAAC4sB,WAAW,CAAC;AAC/B,IAAA;AAEAl7B,IAAAA,WAAW,CAACmQ,mBAAmB,CAACwqB,SAAS,CAAC,CAAC;EAC/C,CAAC;EAED,IAAM/4B,yBAAwB,GAAG,SAA3BA,wBAAwBA,CAAI9G,IAAI,EAAEuN,KAAK,EAAK;AAC9C,IAAA,IAAIsyB,SAAS,GAAGG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACj8B,QAAQ,CAAC,CAAC;AACpD,IAAA,IAAIk8B,SAAS,GAAGN,SAAS,CAACjQ,SAAS,CAAC,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ,CAAA;IAAA,CAAA,CAAC;AAC5E,IAAA,IAAIwhC,SAAS,GAAG,EAAE,EAAE;AAChBN,MAAAA,SAAS,CAACM,SAAS,CAAC,CAACngC,IAAI,CAAC,GAAGuN,KAAK;AACtC,IAAA,CAAC,MAAM;AACH,MAAA,IAAI6yB,WAAW,GAAG;AACdpgC,QAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ;AAC5BtC,QAAAA,EAAE,YAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE;OAC3B;AACDigC,MAAAA,WAAW,CAACpgC,IAAI,CAAC,GAAGuN,KAAK;AACzBsyB,MAAAA,SAAS,CAACrsB,IAAI,CAAC4sB,WAAW,CAAC;AAC/B,IAAA;AACAl7B,IAAAA,WAAW,CAACmQ,mBAAmB,CAACwqB,SAAS,CAAC,CAAC;EAC/C,CAAC;AAED,EAAA,IAAMb,UAAU,GAAG,SAAbA,UAAUA,CAAGjuB,IAAI,EAAI;IACvB7L,WAAW,CAAA,EAAA,CAAAjF,MAAA,CAAAw9B,kBAAA,CAAKx5B,QAAQ,CAAA,EAAA,CAAE8M,IAAI,CAAA,CAAC,CAAC;IAChC6rB,kBAAkB,CAAC7rB,IAAI,CAAC;EAC5B,CAAC;AAED,EAAA,IAAMsvB,QAAQ,GAAG,SAAXA,QAAQA,CAAGrgC,IAAI,EAAI;AACrB,IAAA,IAAIsgC,UAAU,GAAG;MACbjkC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1B6jB,MAAAA,CAAC,EAAEjgB,WAAW,GAAG,CAAC,GAAG,EAAE;AACvBkgB,MAAAA,CAAC,EAAEngB,YAAY,GAAG,CAAC,GAAG,EAAE;AACxB4a,MAAAA,IAAI,EAAEja,cAAc;AACpB6Z,MAAAA,MAAM,EAAE/Z,gBAAgB;AACxB8Z,MAAAA,WAAW,EAAE7Z,gBAAgB;AAC7BhE,MAAAA,OAAO,EAAEqE,YAAY;AACrB7E,MAAAA,IAAI,EAAEA,IAAI;AACV8e,MAAAA,SAAS,EAAE;KACd;AACD,IAAA,IAAI9e,IAAI,KAAKtB,YAAY,CAACI,MAAM,EAAE;AAC9BwhC,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;AACzBA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAGv8B,WAAW,GAAG,CAAC;AACjCu8B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAGx8B,YAAY,GAAG,CAAC;MAClCk7B,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA,CAAC,MAAM,IAAItgC,IAAI,KAAKtB,YAAY,CAACK,MAAM,EAAE;AACrCuhC,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG;AAC1BA,MAAAA,UAAU,CAAC,OAAO,CAAC,GAAG,GAAG;AACzBA,MAAAA,UAAU,CAAC,MAAM,CAAC,GAAG5hC,YAAY,CAACK,MAAM;MAExCigC,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA,CAAC,MAAM,IAAItgC,IAAI,KAAKtB,YAAY,CAACO,UAAU,EAAE;AACzCqhC,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AACrCA,MAAAA,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE;AAChCA,MAAAA,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE;AAC/BA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;AAC7BA,MAAAA,UAAU,CAAC,MAAM,CAAC,GAAG/7B,gBAAgB;MACrCy6B,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA,CAAC,MAAM,IAAItgC,IAAI,KAAKtB,YAAY,CAACM,QAAQ,EAAE;AACvCshC,MAAAA,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;AACvBA,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE;AACzBA,MAAAA,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;AAC1BA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAGv8B,WAAW,GAAG,CAAC;AACjCu8B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAGx8B,YAAY,GAAG,CAAC;MAClCk7B,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA,CAAC,MAAM,IAAItgC,IAAI,KAAKtB,YAAY,CAACW,KAAK,EAAE;MACpCihC,UAAU,CAAC,MAAM,CAAC,GAAA,mFAEE;MACpBA,UAAU,CAAC,OAAO,CAAC,GAAG;AAAEtc,QAAAA,CAAC,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE;OAAG;MACpC+a,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA,CAAC,MAAM,IAAItgC,IAAI,KAAKtB,YAAY,CAACU,IAAI,EAAE;AACnCkhC,MAAAA,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;AAC3BA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9BA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9BA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAGv8B,WAAW,GAAG,CAAC;AACjCu8B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAGx8B,YAAY,GAAG,CAAC;MAClCk7B,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA,CAAC,MAAM,IAAItgC,IAAI,KAAKtB,YAAY,CAACQ,cAAc,EAAE;AAC7C,MAAA,IAAMqhC,OAAO,GAAGz8B,YAAY,GAAG,CAAC;AAChCw8B,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAEC,OAAO,EAAEx8B,WAAW,GAAG,EAAE,EAAEw8B,OAAO,CAAC;AAC/DD,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;MAE7BtB,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA,CAAC,MAAM,IAAItgC,IAAI,KAAKtB,YAAY,CAACS,YAAY,EAAE;AAC3C,MAAA,IAAMqhC,OAAO,GAAGz8B,WAAW,GAAG,CAAC;AAC/Bu8B,MAAAA,UAAU,CAAC,QAAQ,CAAC,GAAG,CAACE,OAAO,EAAE,EAAE,EAAEA,OAAO,EAAE18B,YAAY,GAAG,EAAE,CAAC;AAChEw8B,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACnBA,MAAAA,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;MAE7BtB,UAAU,CAACsB,UAAU,CAAC;AAC1B,IAAA;AACA;EACJ,CAAC;AAED,EAAA,IAAMl8B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG3I,GAAG,EAAI;AAChC,IAAA,IAAIsjC,UAAU;AACd,IAAA,IAAIc,SAAS,GAAApC,kBAAA,CAAOx5B,QAAQ,CAAC;AAC7B,IAAA,IAAI6rB,oBAAoB,GAAG+P,SAAS,CAACjQ,SAAS,CAC1C,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe,CAAA;AAAA,IAAA,CAClD,CAAC;AACD,IAAA,IAAIixB,oBAAoB,GAAG,EAAE,EAAE;AAC3B+P,MAAAA,SAAS,CAACE,MAAM,CAACjQ,oBAAoB,EAAE,CAAC,CAAC;AAC7C,IAAA;AACAiP,IAAAA,UAAU,GAAG;AACT/+B,MAAAA,IAAI,EAAEtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe;MACnCxC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1B1D,MAAAA,GAAG,EAAEhB,GAAG;AACR+E,MAAAA,OAAO,EAAE4E;KACZ;IACDF,WAAW,CAAA,EAAA,CAAAjF,MAAA,CAAAw9B,kBAAA,CAAKoC,SAAS,CAAA,EAAA,CAAEd,UAAU,CAAA,CAAC,CAAC;EAC3C,CAAC;AACD,EAAA,IAAM9kB,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAS;AAClC,IAAA,IAAI4lB,SAAS,GAAGG,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,SAAS,CAACj8B,QAAQ,CAAC,CAAC;AACpD,IAAA,IAAI6rB,oBAAoB,GAAG+P,SAAS,CAACjQ,SAAS,CAC1C,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe,CAAA;AAAA,IAAA,CAClD,CAAC;AACD,IAAA,IAAIixB,oBAAoB,GAAG,EAAE,EAAE;AAC3B+P,MAAAA,SAAS,CAACE,MAAM,CAACjQ,oBAAoB,EAAE,CAAC,CAAC;MACzC5qB,WAAW,CAAC26B,SAAS,CAAC;AAC1B,IAAA;EACJ,CAAC;AAED,EAAA,IAAM16B,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAGs7B,GAAG,EAAI;IAC1C,IAAI3Q,oBAAoB,GAAG7rB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAC1C,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe,CAAA;AAAA,IAAA,CAClD,CAAC;AACD,IAAA,IAAIixB,oBAAoB,GAAG,EAAE,EAAE;MAC3B,IAAMI,eAAe,GAAGjsB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;AAAA,QAAA,OACpCA,EAAE,CAACnwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe,CAAA,GAAA3E,cAAA,CAAAA,cAAA,KAAQi2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAE3vB,UAAAA,OAAO,EAAEigC;AAAG,SAAA,CAAA,GAAKtQ,EAAE;AAAA,MAAA,CAC5E,CAAC;MAEDjrB,WAAW,CAACgrB,eAAe,CAAC;AAChC,IAAA;IACAmK,yBAAyB,CAACoG,GAAG,CAAC;EAClC,CAAC;AAED,EAAA,IAAMz7B,eAAe,GAAG,SAAlBA,eAAeA,CAAGsX,OAAO,EAAI;AAC/B,IAAA,IAAIxL,cAAc,CAACwL,OAAO,CAAC,EAAE;MACzByc,cAAc,CAACt7B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEG,KAAK,CAAC;AAC3C,IAAA,CAAC,MAAM,IAAIoT,mBAAmB,CAACsL,OAAO,EAAE5d,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,KAAK,CAAC,EAAE;MAC1Do7B,cAAc,CAACt7B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEE,KAAK,CAAC;AAC3C,IAAA,CAAC,MAAM,IAAIqT,mBAAmB,CAACsL,OAAO,EAAE5d,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAC,EAAE;MACvDk7B,cAAc,CAACt7B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEI,EAAE,CAAC;AACxC,IAAA,CAAC,MAAM,IAAImT,mBAAmB,CAACsL,OAAO,EAAE5d,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEvD,IAAI,CAAC,EAAE;MACzD49B,cAAc,CAACt7B,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEtC,IAAI,CAAC;AAC1C,IAAA;AACA,IAAA,IAAImhB,OAAO,EAAE;MACT,IAAIvL,IAAI,GAAGuL,OAAO;MAClB,OAAOvL,IAAI,CAAC,KAAK,CAAC;AAClB6rB,MAAAA,kBAAkB,CAAA1iC,cAAA,CAAA,EAAA,EAAM6W,IAAI,CAAE,CAAC;MAC/B6oB,uBAAuB,CAAC,IAAI,CAAC;AACjC,IAAA,CAAC,MAAM;MACHgD,kBAAkB,CAAC,IAAI,CAAC;AAC5B,IAAA;EACJ,CAAC;EAED,IAAM8D,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIlkC,GAAG,EAAE+Q,KAAK,EAAK;AAClD,IAAA,IAAIozB,mBAAmB,GAAAzmC,cAAA,CAAA,EAAA,EAAQ6K,eAAe,CAAE;AAChD47B,IAAAA,mBAAmB,CAACnkC,GAAG,CAAC,GAAG+Q,KAAK;IAChC,OAAOozB,mBAAmB,CAAC,KAAK,CAAC;IACjC,IAAInkC,GAAG,KAAK,YAAY,EAAE;AACtBmkC,MAAAA,mBAAmB,CAAC,aAAa,CAAC,GAAGpzB,KAAK;AAC9C,IAAA;IACA,IAAM2iB,eAAe,GAAGjsB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAAC9zB,EAAE,MAAKskC,mBAAmB,aAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEtkC,EAAE,CAAA,GAAAnC,cAAA,CAAA,EAAA,EAAQymC,mBAAmB,IAAKxQ,EAAE;AAAA,IAAA,CACvE,CAAC;IACDjrB,WAAW,CAACgrB,eAAe,CAAC;IAC5B0M,kBAAkB,CAAC+D,mBAAmB,CAAC;EAC3C,CAAC;AAED,EAAA,IAAM/7B,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGxB,CAAC,EAAI;AAC3B,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpD27B,MAAAA,6BAA6B,CAAC,MAAM,EAAEt9B,CAAC,CAAC;AAC5C,IAAA,CAAC,MAAM;MACH03B,iBAAiB,CAAC13B,CAAC,CAAC;AACxB,IAAA;EACJ,CAAC;AAED,EAAA,IAAMuB,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGvB,CAAC,EAAI;AAClC,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpD27B,MAAAA,6BAA6B,CAAC,aAAa,EAAEt9B,CAAC,CAAC;AACnD,IAAA,CAAC,MAAM;MACH63B,mBAAmB,CAAC73B,CAAC,CAAC;AAC1B,IAAA;EACJ,CAAC;AAED,EAAA,IAAMsB,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGtB,CAAC,EAAI;AAClC,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpD27B,MAAAA,6BAA6B,CAAC,QAAQ,EAAEt9B,CAAC,CAAC;AAC9C,IAAA,CAAC,MAAM;MACHg4B,mBAAmB,CAACh4B,CAAC,CAAC;AAC1B,IAAA;EACJ,CAAC;AAED,EAAA,IAAM0B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG1B,CAAC,EAAI;AAC9B,IAAA,IAAI2B,eAAe,IAAI+L,cAAc,CAAC/L,eAAe,CAAC,EAAE;AACpD27B,MAAAA,6BAA6B,CAAC,SAAS,EAAEt9B,CAAC,CAAC;AAC/C,IAAA,CAAC,MAAM;MACHm4B,eAAe,CAACn4B,CAAC,CAAC;AACtB,IAAA;EACJ,CAAC;AACD,EAAA,IAAMiC,uBAAuB,GAAG,SAA1BA,uBAAuBA,GAAS;IAClC,IAAI+G,KAAK,GAAGnI,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAAxsB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAE/G,EAAE,OAAK0I,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1I,EAAE,CAAA;IAAA,CAAA,CAAC;IACnE,IAAI+P,KAAK,GAAG,CAAC,EAAE;AACX,MAAA;AACJ,IAAA;AACA,IAAA,IAAIw0B,IAAI,GAAAnD,kBAAA,CAAOx5B,QAAQ,CAAC;AACxB28B,IAAAA,IAAI,CAACb,MAAM,CAAC3zB,KAAK,EAAE,CAAC,CAAC;IACrBwwB,kBAAkB,CAAC,IAAI,CAAC;AACxB13B,IAAAA,WAAW,CAAAu4B,kBAAA,CAAKmD,IAAI,CAAC,CAAC;EAC1B,CAAC;AACD,EAAA,IAAMt7B,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AAChC,IAAA,IAAIu7B,WAAW,GAAA3mC,cAAA,CAAA,EAAA,EAAQ6K,eAAe,CAAE;IACxC87B,WAAW,CAAC,IAAI,CAAC,GAAA,SAAA,CAAA5gC,MAAA,CAAaC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1C0gC,IAAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAA97B,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEif,CAAC,IAAG,EAAE;AAC1C6c,IAAAA,WAAW,CAAC,GAAG,CAAC,GAAG,CAAA97B,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEkf,CAAC,IAAG,EAAE;AAC1C4c,IAAAA,WAAW,CAAC,WAAW,CAAC,GAAG,IAAI;IAE/B7B,UAAU,CAAC6B,WAAW,CAAC;EAC3B,CAAC;AACD,EAAA,IAAMt7B,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAC9Bm7B,6BAA6B,CAAC,WAAW,EAAE,EAAC37B,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,IAAfA,eAAe,CAAE+Z,SAAS,CAAA,CAAC;AACvE;EACJ,CAAC;AACD,EAAA,IAAMtZ,2BAA2B,GAAG,SAA9BA,2BAA2BA,GAAS;AACtC,IAAA,IAAIs7B,YAAY,GAAArD,kBAAA,CAAOx5B,QAAQ,CAAC;IAChC,IAAMmI,KAAK,GAAG00B,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAElR,SAAS,CAAC,UAAA7e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC1U,EAAE,MAAK0I,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1I,EAAE,CAAA;IAAA,CAAA,CAAC;AAC9E,IAAA,IAAI+P,KAAK,KAAK,EAAE,EAAE;AACd,MAAA;AACJ,IAAA;AACA,IAAA,IAAA20B,oBAAA,GAAuBD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,MAAM,CAAC3zB,KAAK,EAAE,CAAC,CAAC;MAAA40B,qBAAA,GAAA91B,cAAA,CAAA61B,oBAAA,EAAA,CAAA,CAAA;AAA9CE,MAAAA,YAAY,GAAAD,qBAAA,CAAA,CAAA,CAAA;IACnBF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,IAAZA,YAAY,CAAEttB,IAAI,CAACytB,YAAY,CAAC;AAChC/7B,IAAAA,WAAW,CAAAu4B,kBAAA,CAAKqD,YAAY,CAAC,CAAC;EAClC,CAAC;AACD,EAAA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,GAoBlB;AAAA,IAAA,IAnBD/B,KAAK,GAAA7tB,SAAA,CAAA7E,MAAA,QAAA6E,SAAA,CAAA,CAAA,CAAA,KAAAO,SAAA,GAAAP,SAAA,CAAA,CAAA,CAAA,GAAA,EAAA,CAAArR,MAAA,CAAAw9B,kBAAA,CACE19B,eAAe,CAAA,EAAA,CAClB;MACIC,IAAI,EAAEtB,YAAY,CAACb,EAAE;MACrBxB,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,GAAG,CAAC,CAAE;AAC9B5C,MAAAA,KAAK,EAAE,GAAG;AACVC,MAAAA,MAAM,EAAE,GAAG;AACXwmB,MAAAA,CAAC,EAAE,KAAK;AACRC,MAAAA,CAAC,EAAE,GAAG;AACNvF,MAAAA,IAAI,EAAEhkB,KAAK,CAACT,KAAK,CAACH,YAAY;AAC9BwkB,MAAAA,MAAM,EAAE5jB,KAAK,CAACT,KAAK,CAACF,KAAK;AACzBskB,MAAAA,WAAW,EAAE,CAAC;AACdS,MAAAA,SAAS,EAAE,IAAI;AACfxK,MAAAA,MAAM,EAAE,IAAI;AACZgP,MAAAA,MAAM,EAAE9rB,MAAM;AACdgJ,MAAAA,OAAO,EAAE,CAAC;AACV0jB,MAAAA,WAAW,EAAE;KAChB,CAAA,CAAA;AAGLgW,IAAAA,WAAW,CAAAuD,kBAAA,CAAK0B,KAAK,CAAC,CAAC;IACvB3E,UAAU,CAAC,EAAE,CAAC;IACdG,YAAY,CAAC,EAAE,CAAC;EACpB,CAAC;AAED,EAAA,IAAMl1B,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAS;AACpC,IAAA,IAAIq7B,YAAY,GAAArD,kBAAA,CAAOx5B,QAAQ,CAAC;IAChC,IAAMmI,KAAK,GAAG00B,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAElR,SAAS,CAAC,UAAA7e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC1U,EAAE,MAAK0I,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE1I,EAAE,CAAA;IAAA,CAAA,CAAC;AAC9E,IAAA,IAAI+P,KAAK,KAAK,EAAE,EAAE;AACd,MAAA;AACJ,IAAA;AACA,IAAA,IAAA+0B,qBAAA,GAAuBL,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,MAAM,CAAC3zB,KAAK,EAAE,CAAC,CAAC;MAAAg1B,qBAAA,GAAAl2B,cAAA,CAAAi2B,qBAAA,EAAA,CAAA,CAAA;AAA9CF,MAAAA,YAAY,GAAAG,qBAAA,CAAA,CAAA,CAAA;IACnBN,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,IAAZA,YAAY,CAAEO,OAAO,CAACJ,YAAY,CAAC;AACnC/7B,IAAAA,WAAW,CAAAu4B,kBAAA,CAAKqD,YAAY,CAAC,CAAC;EAClC,CAAC;AACD,EAAA,IAAMj7B,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGzC,CAAC,EAAI;AAClC,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,KAAK,CAAC,EAAE;AAC3D+iC,MAAAA,6BAA6B,CAAC,aAAa,EAAEt9B,CAAC,CAAC;AACnD,IAAA,CAAC,MAAM;MACHs4B,mBAAmB,CAACt4B,CAAC,CAAC;AAC1B,IAAA;EACJ,CAAC;AAED,EAAA,IAAM0C,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAG1C,CAAC,EAAI;AAClC,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,KAAK,CAAC,EAAE;AAC3D+iC,MAAAA,6BAA6B,CAAC,QAAQ,EAAEt9B,CAAC,CAAC;AAC9C,IAAA,CAAC,MAAM;MACHy4B,mBAAmB,CAACz4B,CAAC,CAAC;AAC1B,IAAA;EACJ,CAAC;AAED,EAAA,IAAM2C,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG3C,CAAC,EAAI;AAC9B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEf,KAAK,CAAC,EAAE;AAC3D+iC,MAAAA,6BAA6B,CAAC,SAAS,EAAEt9B,CAAC,CAAC;AAC/C,IAAA,CAAC,MAAM;MACH44B,eAAe,CAAC54B,CAAC,CAAC;AACtB,IAAA;EACJ,CAAC;AAED,EAAA,IAAMk+B,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAG7lC,GAAG,EAAI;AAChC;IACAshC,mBAAmB,CAAA,EAAA,CAAA98B,MAAA,CAAAw9B,kBAAA,CAAKzL,gBAAgB,CAAA,EAAA,CAAEv2B,GAAG,CAAA,CAAC,CAAC;EACnD,CAAC;AAED,EAAA,IAAM8lC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAG9lC,GAAG,EAAI;AAC5B,IAAA,IAAI+lC,QAAQ,GAAG;MACXnlC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1B6jB,MAAAA,CAAC,EAAEjgB,WAAW,GAAG,CAAC,GAAG,EAAE;AACvBkgB,MAAAA,CAAC,EAAEngB,YAAY,GAAG,CAAC,GAAG,EAAE;AACxBwa,MAAAA,MAAM,EAAE3Y,gBAAgB;AACxB0Y,MAAAA,WAAW,EAAE3Y,gBAAgB;AAC7BlF,MAAAA,OAAO,EAAEoF,YAAY;MACrB5F,IAAI,EAAEtB,YAAY,CAACf,KAAK;AACxBmhB,MAAAA,SAAS,EAAE,IAAI;AACf;AACA;AACAriB,MAAAA,GAAG,EAAEhB;KACR;IACDujC,UAAU,CAACwC,QAAQ,CAAC;EACxB,CAAC;AACD,EAAA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAGr+B,CAAC,EAAI;AACzB,IAAA,IAAIjI,IAAI,GAAGiI,CAAC,GAAGA,CAAC,GAAGkD,gBAAgB;AACnC,IAAA,IAAIo7B,SAAS,GAAG;MACZrlC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;AAC1B6jB,MAAAA,CAAC,EAAEjgB,WAAW,GAAG,CAAC,GAAG,GAAG;MACxBkgB,CAAC,EAAEngB,YAAY,GAAG,CAAC;AACnBtD,MAAAA,OAAO,EAAE,CAAArF,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEqF,OAAO,MAAI8F,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9F,OAAO,CAAA;MACnDR,IAAI,EAAEtB,YAAY,CAACvD,IAAI;AACvB2jB,MAAAA,SAAS,EAAE,IAAI;AACf3jB,MAAAA,IAAI,EAAE,CAAAA,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEA,IAAI,MAAImL,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEnL,IAAI,CAAA;AAC1CkD,MAAAA,QAAQ,EAAE,CAAAlD,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEkD,QAAQ,MAAIiI,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEjI,QAAQ,CAAA;AACtDD,MAAAA,UAAU,EAAE,CAAAjD,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEiD,UAAU,MAAIkI,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAElI,UAAU,CAAA;AAC5DnE,MAAAA,KAAK,EAAE,CAAAkB,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAElB,KAAK,MAAIqM,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAErM,KAAK,CAAA;AAC7CsE,MAAAA,cAAc,EAAE,CAAApD,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEoD,cAAc,MAAI+H,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE/H,cAAc,CAAA;AACxEC,MAAAA,SAAS,EAAE,CAAArD,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEqD,SAAS,MAAI8H,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE9H,SAAS,CAAA;AACzDF,MAAAA,UAAU,EAAE,CAAAnD,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEmD,UAAU,MAAIgI,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEhI,UAAU,CAAA;AAC5DG,MAAAA,SAAS,EAAE,CAAAtD,IAAI,KAAA,IAAA,IAAJA,IAAI,uBAAJA,IAAI,CAAEsD,SAAS,MAAI6H,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAE7H,SAAS;KAC5D;AACD,IAAA,IAAItD,IAAI,KAAA,IAAA,IAAJA,IAAI,eAAJA,IAAI,CAAEoC,KAAK,EAAE;MACbmkC,SAAS,CAAC,OAAO,CAAC,GAAGvmC,IAAI,aAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEoC,KAAK;AACpC,IAAA;IAEAyhC,UAAU,CAAC0C,SAAS,CAAC;EACzB,CAAC;AAED,EAAA,IAAMC,SAAS,GAAG,SAAZA,SAASA,GAAS;AACpB,IAAA,IAAIC,OAAO,GAAG;MACVvlC,EAAE,EAAA,SAAA,CAAA4D,MAAA,CAAYC,IAAI,CAACC,GAAG,EAAE,CAAE;MAC1BH,IAAI,EAAEtB,YAAY,CAACb,EAAE;AACrBL,MAAAA,MAAM,EAAE,GAAG;AACXD,MAAAA,KAAK,EAAE,GAAG;AACVymB,MAAAA,CAAC,EAAEjgB,WAAW,GAAG,CAAC,GAAG,EAAE;AACvBkgB,MAAAA,CAAC,EAAEngB,YAAY,GAAG,CAAC,GAAG,EAAE;AACxB4a,MAAAA,IAAI,EAAEhkB,KAAK,CAACT,KAAK,CAACH,YAAY;AAC9BwkB,MAAAA,MAAM,EAAErY,aAAa;AACrBoY,MAAAA,WAAW,EAAErY,aAAa;AAC1B8Y,MAAAA,SAAS,EAAE,IAAI;AACfxK,MAAAA,MAAM,EAAE,IAAI;AACZgP,MAAAA,MAAM,EAAE9rB,MAAM;AACdgJ,MAAAA,OAAO,EAAE0F,SAAS;AAClBge,MAAAA,WAAW,EAAE;KAChB;IACD8a,UAAU,CAAC4C,OAAO,CAAC;EACvB,CAAC;AAED,EAAA,IAAMC,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACvB,IAAIjB,IAAI,GAAG38B,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE0Q,MAAM,CAAC,UAAAwb,EAAE,EAAA;MAAA,OAAIA,EAAE,CAACnwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;IAAA,CAAA,CAAC;AAC/D,IAAA,IAAI,CAAAkH,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAE/E,IAAI,OAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA,EAAE;MAC5C++B,kBAAkB,CAAC,IAAI,CAAC;AAC5B,IAAA;AACA13B,IAAAA,WAAW,CAAAu4B,kBAAA,CAAKmD,IAAI,CAAC,CAAC;EAC1B,CAAC;AACD,EAAA,IAAMz6B,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAG/C,CAAC,EAAI;AAC/B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAC,EAAE;AACxD6iC,MAAAA,6BAA6B,CAAC,aAAa,EAAEt9B,CAAC,CAAC;AACnD,IAAA,CAAC,MAAM;MACH+4B,gBAAgB,CAAC/4B,CAAC,CAAC;AACvB,IAAA;EACJ,CAAC;AAED,EAAA,IAAMgD,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGhD,CAAC,EAAI;AAC/B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAC,EAAE;AACxD6iC,MAAAA,6BAA6B,CAAC,QAAQ,EAAEt9B,CAAC,CAAC;AAC9C,IAAA,CAAC,MAAM;MACHk5B,gBAAgB,CAACl5B,CAAC,CAAC;AACvB,IAAA;EACJ,CAAC;AAED,EAAA,IAAMiD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGjD,CAAC,EAAI;AAC3B,IAAA,IAAI4N,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAC,EAAE;AACxD6iC,MAAAA,6BAA6B,CAAC,SAAS,EAAEt9B,CAAC,CAAC;AAC/C,IAAA,CAAC,MAAM;MACHq5B,YAAY,CAACr5B,CAAC,CAAC;AACnB,IAAA;EACJ,CAAC;AACD,EAAA,IAAM+uB,QAAQ,GAAG,SAAXA,QAAQA,GAAS;IACnB,IAAI,CAAAluB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAA7e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;IAAA,CAAA,CAAC,IAAG,EAAE,EAAE;AAClEgkC,MAAAA,YAAY,EAAE;AAClB,IAAA,CAAC,MAAM;AACHF,MAAAA,SAAS,EAAE;AACf,IAAA;EACJ,CAAC;AACD,EAAA,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAAS;IAC9B,IAAM5R,eAAe,GAAGjsB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAACnwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA,GAAA3D,cAAA,CAAAA,cAAA,KACjBi2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAEjM,QAAAA,WAAW,EAAE,IAAI;QAAE5P,MAAM,EAAE,CAAA6b,EAAE,KAAA,IAAA,IAAFA,EAAE,KAAA,MAAA,GAAA,MAAA,GAAFA,EAAE,CAAE7b,MAAM,KAAIA;AAAM,OAAA,CAAA,GACxD6b,EAAE;AAAA,IAAA,CACZ,CAAC;IACDjrB,WAAW,CAACgrB,eAAe,CAAC;EAChC,CAAC;AACD,EAAA,IAAM6R,oBAAoB,GAAG,SAAvBA,oBAAoBA,GAAS;IAC/B,IAAM7R,eAAe,GAAGjsB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;AAAA,MAAA,OACpCA,EAAE,CAACnwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA,GAAA3D,cAAA,CAAAA,cAAA,KAAQi2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAEjM,QAAAA,WAAW,EAAE;AAAK,OAAA,CAAA,GAAKiM,EAAE;AAAA,IAAA,CACrE,CAAC;IACDjrB,WAAW,CAACgrB,eAAe,CAAC;EAChC,CAAC;AACD,EAAA,IAAMmC,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACvB,IAAIjmB,KAAK,GAAGnI,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAA7e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;IAAA,CAAA,CAAC;AACvE,IAAA,IAAIuO,KAAK,GAAG,EAAE,EAAE;AAAA,MAAA,IAAAkqB,eAAA;MACZsG,kBAAkB,CAAC,IAAI,CAAC;AACxB,MAAA,IAAI34B,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAqyB,eAAA,GAARryB,QAAQ,CAAGmI,KAAK,CAAC,cAAAkqB,eAAA,KAAA,MAAA,IAAjBA,eAAA,CAAmBpS,WAAW,EAAE;AAChC6d,QAAAA,oBAAoB,EAAE;AAC1B,MAAA,CAAC,MAAM;AACHD,QAAAA,mBAAmB,EAAE;AACzB,MAAA;AACJ,IAAA;EACJ,CAAC;AAED,EAAA,IAAMxP,SAAS,gBAAA,YAAA;IAAA,IAAA32B,KAAA,GAAAmY,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAA+B,QAAAA,GAAA;AAAA,MAAA,IAAAqE,IAAA,EAAAC,QAAA,EAAAC,MAAA;AAAA,MAAA,OAAAvG,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAwD,SAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA/B,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA+B,YAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;YAAA,OACKhE,SAAS,EAAE;AAAA,UAAA,KAAA,CAAA;YAAxB+J,IAAI,GAAAhE,SAAA,CAAAG,CAAA;AAAA,YAAA,IACL6D,IAAI,EAAA;AAAAhE,cAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAA+B,SAAA,CAAAvB,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CACLjO,mBAAmB,EAAA;AAAAwP,cAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YACnBxN,qBAAqB,CAAC,IAAI,CAAC;AAACuP,YAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;YAAA,OACLzN,mBAAmB,CAACwT,IAAI,CAAC;AAAA,UAAA,KAAA,CAAA;YAA1CC,QAAQ,GAAAjE,SAAA,CAAAG,CAAA;YACdyrB,OAAO,CAAC3nB,QAAQ,CAAC;YACjBxT,qBAAqB,CAAC,KAAK,CAAC;AAACuP,YAAAA,SAAA,CAAA/B,CAAA,GAAA,CAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAEvBiG,YAAAA,MAAM,GAAG,IAAIC,UAAU,EAAE;YAC/BD,MAAM,CAAC9F,MAAM,GAAG,YAAM;AAClBwtB,cAAAA,OAAO,CAAC1nB,MAAM,CAACE,MAAM,CAAC;YAC1B,CAAC;AACDF,YAAAA,MAAM,CAACG,aAAa,CAACL,IAAI,CAAC;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAhE,SAAA,CAAAvB,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAkB,QAAA,CAAA;IAAA,CAElC,CAAA,CAAA;AAAA,IAAA,OAAA,SAfKuc,SAASA,GAAA;AAAA,MAAA,OAAA32B,KAAA,CAAA+V,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAed;AACD,EAAA,IAAM0wB,OAAO,GAAG,SAAVA,OAAOA,CAAGxe,GAAG,EAAI;IACnB,IAAIpX,KAAK,GAAGnI,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAA7e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;IAAA,CAAA,CAAC;IACvEq/B,SAAS,CAAC1Z,GAAG,CAAC;AACd,IAAA,IAAIpX,KAAK,GAAG,EAAE,EAAE;AACZ;MACA,IAAM8jB,eAAe,GAAGjsB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAEV,GAAG,CAAC,UAAA4sB,EAAE,EAAA;AAAA,QAAA,OACpCA,EAAE,CAACnwB,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA,GAAA3D,cAAA,CAAAA,cAAA,KAAQi2B,EAAE,CAAA,EAAA,EAAA,EAAA;AAAE7b,UAAAA,MAAM,EAAEkP;AAAG,SAAA,CAAA,GAAK2M,EAAE;AAAA,MAAA,CAC9D,CAAC;MACDjrB,WAAW,CAACgrB,eAAe,CAAC;AAC5B;AACJ,IAAA;EACJ,CAAC;EAED,IAAM3pB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAI/J,GAAG,EAAE+Q,KAAK,EAAK;AACzC,IAAA,IAAIyD,mBAAmB,CAACjM,eAAe,EAAErG,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEvD,IAAI,CAAC,EAAE;AAC1DulC,MAAAA,6BAA6B,CAAClkC,GAAG,EAAE+Q,KAAK,CAAC;AAC7C,IAAA,CAAC,MAAM;AACH,MAAA,IAAI00B,eAAe,GAAA/nC,cAAA,CAAA,EAAA,EAAQoM,gBAAgB,CAAE;AAC7C27B,MAAAA,eAAe,CAACzlC,GAAG,CAAC,GAAG+Q,KAAK;AAC5B8vB,MAAAA,mBAAmB,CAAAnjC,cAAA,CAAA,EAAA,EAAM+nC,eAAe,CAAE,CAAC;AAC/C,IAAA;EACJ,CAAC;AACD,EAAA,IAAMC,cAAc,gBAAA,YAAA;IAAA,IAAAlmC,KAAA,GAAA8X,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAA0B,QAAAA,GAAA;MAAA,IAAAqoB,iBAAA,EAAA7nB,OAAA;AAAA,MAAA,OAAAnC,YAAA,EAAA,CAAAnB,CAAA,CAAA,UAAAkD,SAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAzB,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IACdzc,MAAM,EAAA;AAAAke,cAAAA,SAAA,CAAAzB,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAyB,SAAA,CAAAjB,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAGXykB,UAAU,CAAC,IAAI,CAAC;YAChBsD,kBAAkB,CAAC,IAAI,CAAC;YACxB7C,iBAAiB,CAAC,GAAG,CAAC;AAACjkB,YAAAA,SAAA,CAAAzB,CAAA,GAAA,CAAA;AAAA,YAAA,OACjB,IAAI/D,OAAO,CAAC,UAAAC,OAAO,EAAA;AAAA,cAAA,OAAInD,UAAU,CAACmD,OAAO,EAAE,GAAG,CAAC;YAAA,CAAA,CAAC;AAAA,UAAA,KAAA,CAAA;AAClDwtB,YAAAA,iBAAiB,GAAG1oB,mBAAmB,CAACpR,QAAQ,CAAC;AAAA6R,YAAAA,SAAA,CAAAzB,CAAA,GAAA,CAAA;YAAA,OAC/BoB,kBAAkB,CAACxQ,QAAQ,CAAC;AAAA,UAAA,KAAA,CAAA;YAA5CiR,OAAO,GAAAJ,SAAA,CAAAS,CAAA;YACb+iB,UAAU,CAAC,KAAK,CAAC;AACjB1hC,YAAAA,MAAM,CAAC;AAAEqM,cAAAA,QAAQ,EAAE85B,iBAAiB;AAAEpgC,cAAAA,KAAK,EAAEuY;AAAQ,aAAC,CAAC;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAJ,SAAA,CAAAjB,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAa,QAAA,CAAA;IAAA,CAC3D,CAAA,CAAA;AAAA,IAAA,OAAA,SAZKwsB,cAAcA,GAAA;AAAA,MAAA,OAAAlmC,KAAA,CAAA0V,KAAA,CAAA,IAAA,EAAAJ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAYnB;AAED,EAAA,oBACIhV,KAAA,CAAAC,aAAA,CAAC4lC,iBAAiB,EAAA;AAACC,IAAAA,iBAAiB,EAAEC;GAAY,eAC9C/lC,KAAA,CAAAC,aAAA,CAAClC,aAAa,qBACViC,KAAA,CAAAC,aAAA,CAACsF,OAAO,EAAA;AACJlH,IAAAA,mBAAmB,EAAE+I,WAAY;AACjC7I,IAAAA,WAAW,EAAE4kC,aAAc;AAC3B1oC,IAAAA,cAAc,EAAEA,cAAe;AAC/BK,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCK,IAAAA,UAAU,EAAEA;AAAW,GAC1B,CAAC,eACF6E,KAAA,CAAAC,aAAA,CAAC06B,aAAa,EAAA;AACVt8B,IAAAA,mBAAmB,EAAE+I,WAAY;AACjCmuB,IAAAA,UAAU,EAAE8N,uBAAwB;AACpC/N,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CE,IAAAA,UAAU,EAAEuO,QAAS;AACrBtO,IAAAA,iBAAiB,EAAE56B,aAAc;AACjC66B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,sBAAsB,EAAEqP,oBAAqB;AAC7CpP,IAAAA,kBAAkB,EAAEqP,gBAAiB;AACrChP,IAAAA,iBAAiB,EAAEkP,eAAgB;AACnCtP,IAAAA,QAAQ,EAAEA,QAAS;IACnBC,SAAS,EAAE,CAAAnuB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAA7e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;IAAA,CAAA,CAAC,IAAG,EAAG;AAC5Ew0B,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,SAAS,EAAEA,SAAU;AACrBhe,IAAAA,MAAM,EACF,CAAArQ,QAAQ,aAARA,QAAQ,KAAA,MAAA,IAAA,CAAA+zB,qBAAA,GAAR/zB,QAAQ,CAAGA,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,GAAA,MAAA,GAARA,QAAQ,CAAE2rB,SAAS,CAAC,UAAA7e,IAAI,EAAA;MAAA,OAAIA,IAAI,CAAC/Q,IAAI,MAAKtB,YAAY,aAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEb,EAAE,CAAA;IAAA,CAAA,CAAC,CAAC,cAAAm6B,qBAAA,KAAA,MAAA,GAAA,MAAA,GAAvEA,qBAAA,CACM1jB,MAAM,KAAIA,MACnB;AACDrQ,IAAAA,QAAQ,EAAEA,QAAS;AACnBuuB,IAAAA,mBAAmB,EAAE0O,iBAAkB;AACvCt6B,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CvP,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzC68B,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/C38B,IAAAA,UAAU,EAAEA,UAAW;AACvBE,IAAAA,WAAW,EAAEA,WAAY;AACzBZ,IAAAA,cAAc,EAAEA;GACnB,CAAC,EACD4P,YAAY,GAAG,IAAI,gBAChBrK,KAAA,CAAAC,aAAA,CAACyyB;AACG;AAAA,IAAA;AACA3uB,IAAAA,kBAAkB,EACd,CAAA4D,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAg0B,eAAA,GAARh0B,QAAQ,CAAEqoB,IAAI,CAAC,UAAAlpB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ,CAAA;AAAA,IAAA,CAAA,CAAC,cAAAs5B,eAAA,KAAA,MAAA,GAAA,MAAA,GAAvDA,eAAA,CACM53B,kBAAkB,KAAI,CAC/B;AACDC,IAAAA,uBAAuB,EACnB,CAAA2D,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAi0B,eAAA,GAARj0B,QAAQ,CAAEqoB,IAAI,CAAC,UAAAlpB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEC,QAAQ,CAAA;AAAA,IAAA,CAAA,CAAC,cAAAu5B,eAAA,KAAA,MAAA,GAAA,MAAA,GAAvDA,eAAA,CACM53B,uBAAuB,MAAI5F,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAET,KAAK,CAACF,KAAK,CACtD;AACD+M,IAAAA,wBAAwB,EAAE,SAA1BA,wBAAwBA,CAAG9G,IAAI,EAAEuN,KAAK,EAAK;AACvCzG,MAAAA,yBAAwB,CAAC9G,IAAI,EAAEuN,KAAK,CAAC;IACzC,CAAE;AACFzJ,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,WAAW,EAAEA,WAAY;AACzBL,IAAAA,WAAW,EAAEA,WAAY;AACzB9M,IAAAA,KAAK,EAAEA,KAAM;AACb+M,IAAAA,cAAc,EAAEA,cAAe;AAC/BE,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CG,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,MAAM,EAAEk5B,IAAK;AACbj5B,IAAAA,MAAM,EAAEq5B,IAAK;AACbp5B,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BiB,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CrB,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CkB,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCtB,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,8BAA8B,EAAEA,8BAA+B;AAC/DC,IAAAA,sBAAsB,EAClB,CAAAnB,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,MAAA,IAAA,CAAAk0B,eAAA,GAARl0B,QAAQ,CAAEqoB,IAAI,CAAC,UAAAlpB,CAAC,EAAA;AAAA,MAAA,OAAI,CAAAA,CAAC,KAAA,IAAA,IAADA,CAAC,uBAADA,CAAC,CAAEpD,IAAI,OAAKtB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEG,eAAe,CAAA;AAAA,IAAA,CAAA,CAAC,cAAAs5B,eAAA,KAAA,MAAA,GAAA,MAAA,GAA9DA,eAAA,CACM33B,OAAO,KAAI4E,sBACpB;AACDC,IAAAA,uBAAuB,EAAEA,uBAAwB;AACjDC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,2BAA2B,EAAEA,2BAA4B;AACzDC,IAAAA,yBAAyB,EAAEA,yBAA0B;AACrDa,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,qBAAqB,EAAEA,qBAAsB;IAC7CjP,MAAM,EAAEA,MAAM,IAAIsqC,cAAe;AACjCniB,IAAAA,cAAc,EAAEA,cAAe;AAC/BoP,IAAAA,gBAAgB,EAAEsQ,aAAc;AAChC3nC,IAAAA,cAAc,EAAEA,cAAe;AAC/Bf,IAAAA,cAAc,EAAEA,cAAe;AAC/BkjB,IAAAA,uBAAuB,EAAEA;AAAwB,GACpD,CACJ,EACAqjB,cAAc,iBACXhhC,KAAA,CAAAC,aAAA,CAAC26B,OAAO,EAAA,IAAA,eACJ56B,KAAA,CAAAC,aAAA,CAACm7B,cAAc,EAAA;AAACt3B,IAAAA,IAAI,EAAC,MAAM;AAACnG,IAAAA,KAAK,EAAES,KAAK,CAACT,KAAK,CAAC9B;GAAY,CACtD,CAEF,CACA,CAAC;AAE5B,CACJ;AAEA2/B,MAAM,CAACnhC,SAAS,GAAGA,WAAS;AAC5BmhC,MAAM,CAACwK,WAAW,GAAG,QAAQ;;;;","x_google_ignoreList":[164,165]}
1
+ {"version":3,"file":"index.js","sources":["../../src/features/Studio/props.js","../../src/theme/color.js","../../src/theme/fonts.js","../../src/theme/index.js","../../src/features/Studio/styled.js","../../src/components/SideBar/props.js","../../src/components/SideBar/styled.js","../../src/components/SideBarPill/props.js","../../src/components/SideBarPill/styled.js","../../src/components/SideBarPill/sideBarPill.jsx","../../src/assets/icons/ic_template.svg","../../src/assets/icons/ic_image.svg","../../src/assets/icons/ic_qr_code.svg","../../src/assets/icons/ic_shape.svg","../../src/assets/icons/ic_text.svg","../../src/assets/icons/ic_white_label.svg","../../src/assets/icons/ic_dropdown.svg","../../src/assets/icons/ic_background-color.svg","../../src/assets/icons/ic_background_image.svg","../../src/assets/icons/ic_background_image_opacity.svg","../../src/assets/icons/ic_dropdown_small.svg","../../src/assets/icons/ic_frame.svg","../../src/assets/icons/ic_zoom_in.svg","../../src/assets/icons/ic_zoom_out.svg","../../src/assets/icons/ic_bring_to_front.svg","../../src/assets/icons/ic_sent_to_back.svg","../../src/assets/icons/ic_lock.svg","../../src/assets/icons/ic_copy.svg","../../src/assets/icons/ic_delete.svg","../../src/assets/icons/ic_undo.svg","../../src/assets/icons/ic_redo.svg","../../src/assets/icons/ic_text_small.svg","../../src/assets/icons/ic_bold.svg","../../src/assets/icons/ic_line_through.svg","../../src/assets/icons/ic_text_italic.svg","../../src/assets/icons/ic_text_underline.svg","../../src/assets/icons/ic_align_text_left.svg","../../src/assets/icons/ic_align_text_center.svg","../../src/assets/icons/ic_align_text_Right.svg","../../src/assets/icons/ic_opacity.svg","../../src/assets/icons/ic_grid.svg","../../src/assets/icons/ic_chevron_left.svg","../../src/assets/icons/ic_add.svg","../../src/assets/icons/ic_add_text.svg","../../src/assets/icons/ic_upload.svg","../../src/assets/icons/ic_graph.svg","../../src/assets/icons/ic_cheveron_down.svg","../../src/assets/icons/ic_info.svg","../../src/assets/icons/ic_tools.svg","../../src/assets/icons/ic_tools_pink.svg","../../src/assets/icons/ic_circle.svg","../../src/assets/icons/ic_square.svg","../../src/assets/icons/ic_triangle.svg","../../src/assets/icons/ic_arrow_right.svg","../../src/assets/icons/ic_horizontal_line.svg","../../src/assets/icons/ic_vertical_line.svg","../../src/assets/icons/ic_star.svg","../../src/assets/icons/ic_heart.svg","../../src/assets/icons/ic_unlock.svg","../../src/assets/icons/ic_cross.svg","../../src/assets/images/small-dots.png","../../src/constants/layoutConstants.js","../../src/constants/index.js","../../src/constants/textConstants.js","../../src/components/SideBar/sideBar.jsx","../../src/components/Editor/props.js","../../src/components/Editor/styled.js","../../src/components/TopToolBar/props.js","../../src/components/TopToolBar/styled.js","../../src/components/TemplateToolBar/props.js","../../src/components/ToolBarButtonWrapper/props.js","../../src/components/ToolBarButtonWrapper/styled.js","../../src/components/Tooltip/props.js","../../src/components/Tooltip/styled.js","../../src/components/Tooltip/tooltip.jsx","../../src/components/ToolBarButtonWrapper/toolBarBottonWrapper.jsx","../../src/components/DropDown/props.js","../../src/components/DropDown/styled.js","../../src/components/DropDown/dropDown.jsx","../../src/components/TemplateToolBar/styled.js","../../src/components/ColorBox/props.js","../../src/components/ColorBox/styled.js","../../src/components/ColorBox/colorBox.jsx","../../src/generic/Styled.js","../../src/utils/index.js","../../src/components/OpacityPicker/props.js","../../src/components/OpacityPicker/opacityPicker.jsx","../../src/components/StrokePicker/props.js","../../src/components/StrokePicker/strokePicker.jsx","../../src/components/TemplateToolBar/templateToolBar.jsx","../../src/components/TextToolBar/props.js","../../src/components/TextToolBar/styled.js","../../src/components/ToolsTabBar/props.js","../../src/components/ToolsTabBar/styled.js","../../src/components/ToolsTabBar/toolsTabBar.jsx","../../src/components/TextToolBar/textToolBar.jsx","../../src/components/ImageToolBar/props.js","../../src/components/ImageToolBar/styled.js","../../src/components/ImageToolBar/imageToolBar.jsx","../../src/components/ShapeToolBar/props.js","../../src/components/ShapeToolBar/styled.js","../../src/components/ShapeToolBar/shapeToolBar.jsx","../../src/components/QrToolBar/props.js","../../src/components/QrToolBar/styled.js","../../src/components/QrToolBar/qrToolBar.jsx","../../src/components/TopToolBar/topToolBar.jsx","../../src/components/BottomToolBar/props.js","../../src/components/ZoomControls/props.js","../../src/components/ZoomControls/styled.js","../../src/components/Button/props.js","../../src/components/Button/styled.js","../../src/components/Button/button.jsx","../../src/components/ZoomControls/zoomControls.jsx","../../src/components/BottomToolBarControls/props.js","../../src/components/BottomToolBarControls/styled.js","../../src/components/BottomToolBarControls/bottomToolBarControls.jsx","../../src/components/BottomToolBar/styled.js","../../src/components/UndoRedoControls/props.js","../../src/components/UndoRedoControls/undoRedoControls.jsx","../../src/components/BottomToolBar/bottomToolBar.jsx","../../src/components/CanvasImage/props.js","../../src/components/CanvasImage/canvasImage.jsx","../../src/components/QrElement/props.js","../../src/components/QrElement/qrElement.jsx","../../src/components/EditableText/props.js","../../src/components/EditableText/textEditor.jsx","../../src/components/EditableText/editableText.jsx","../../src/components/Editor/util.js","../../src/components/Editor/editor.jsx","../../src/components/HelperSideBar/props.js","../../src/components/SideBarHeader/props.js","../../src/components/SideBarHeader/styled.js","../../src/components/SideBarHeader/sideBarHeader.jsx","../../src/components/HelperSideBar/styled.js","../../src/components/TemplateSideBar/props.js","../../src/components/Collapsable/props.js","../../src/components/Collapsable/styled.js","../../src/components/Collapsable/collapsable.jsx","../../src/components/TemplateSideBar/styled.js","../../src/components/TemplateSideBar/templateSideBar.jsx","../../src/components/TextSideBar/props.js","../../src/components/TextSideBar/styled.js","../../src/components/TextSideBar/textSideBar.jsx","../../src/components/ImageSideBar/props.js","../../src/components/ImageSideBar/styled.js","../../src/components/ImageSideBar/imageSideBar.jsx","../../src/components/ShapeSideBar/props.js","../../src/components/ShapeSideBar/styled.js","../../src/components/ShapeSideBar/shapeSideBar.jsx","../../src/components/QrSideBar/props.js","../../src/components/QrSideBar/styled.js","../../src/components/RadioSection/props.js","../../src/components/RadioSection/styled.js","../../src/components/RadioSection/radioSection.jsx","../../src/components/QrSideBar/qrSideBar.jsx","../../src/components/WhiteLabelSideBar/props.js","../../src/components/WhiteLabelSideBar/styled.js","../../src/components/WhiteLabelSideBar/whiteLabelSideBar.jsx","../../src/components/HelperSideBar/helperSideBar.jsx","../../src/components/Overlay/props.js","../../src/components/Overlay/overlay.jsx","../../src/components/LoadingSpinner/props.js","../../src/components/LoadingSpinner/styled.js","../../src/components/LoadingSpinner/loadingSpinner.jsx","../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../../src/features/Studio/studio.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n languageLocale: PropTypes.string,\n elementsList: PropTypes.array,\n customImages: PropTypes.array,\n defaultImages: PropTypes.array,\n disableWhiteLabel: PropTypes.bool,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n qrLink: PropTypes.string,\n styleProps: PropTypes.object,\n defaultText: PropTypes.string,\n onSave: PropTypes.func,\n saveButtonText: PropTypes.string,\n locale: PropTypes.oneOf(['en', 'ru', 'pl', 'de', 'es', 'fr', 'it']),\n};\n","/**\n * palette contains the basic colors set\n */\nexport const palette = {\n primary: '#5F98D0',\n secondary: '#F9FAFB',\n gray_700: '#344054',\n white: '#FFFFFF',\n white_F5F5F5: '#F5F5F5',\n white_F7F7F7: '#F7F7F7',\n gray_535354: '#535354',\n gray_545454: '#545454',\n gray_646464: '#646464',\n gray_200: '#E4E7EC',\n gray_788899: '#788899',\n icon_gray: '#4D6277',\n gray_B8B8B8: '#B8B8B8',\n gray_25: '#FCFCFD',\n gray_7A7979: '#7A7979',\n gray_E8E8E8: '#E8E8E8',\n gray_EAEAEA: '#EAEAEA',\n gray_CCC: '#CCC',\n gray_F2F2F2: '#F2F2F2',\n gray_FDFCFC: '#FDFCFC',\n gray_EDEDED: '#EDEDED',\n gray_FBFBFB: '#FBFBFB',\n gray_F5F6F6: '#F5F6F6',\n gray_A1A1A1: '#A1A1A1',\n gray_F0F2F7: '#F0F2F7',\n gray_333: '#333333',\n gray_EFEFEF: '#EFEFEF',\n gray_9DA1A7: '#9DA1A7',\n green_80D965: '#80D965',\n black: '#000000',\n black_transparent: 'rgba(0,0,0,0.4)',\n};\n\nexport const color = {\n ...palette,\n};\n","export const fonts = {\n primary: 'Plus Jakarta Sans, sans-serif',\n secondary: 'Inter, sans-serif',\n tertiary: 'Source Sans Pro, sans-serif',\n};\nexport const fontWeights = {\n 100: 100,\n 200: 200,\n 300: 300,\n 400: 400,\n 500: 500,\n 600: 600,\n 700: 700,\n 800: 800,\n 900: 900,\n};\n","import { color } from './color';\nimport { fonts } from './fonts';\nimport { fontWeights } from './fonts';\n\nexport default { color, fonts, fontWeights };\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StudioWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex: 1;\n flex-direction: row;\n overflow: hidden;\n height: 100%;\n width: 100%;\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onClickPill: PropTypes.func,\n languageLocale: PropTypes.string,\n disableWhiteLabel: PropTypes.bool,\n styleProps: PropTypes.object,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n background-color: ${theme.color.white};\n display: flex;\n flex-direction: column;\n width: 100px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n isSelected: PropTypes.bool,\n onClick: PropTypes.func,\n icon: PropTypes.node,\n text: PropTypes.string,\n pillActiveColor: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const SideBarItem = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100px;\n min-height: 100px;\n background-color: ${({ isSelected, pillActiveColor }) =>\n isSelected ? pillActiveColor : theme.color.secondary};\n margin-bottom: 2px;\n cursor: pointer;\n transition: background-color 0.2s ease-in-out;\n\n &:hover {\n background-color: ${({ pillActiveColor }) => pillActiveColor};\n }\n`;\n\nexport const SideBarIcon = styled.img`\n height: 28px;\n width: 28px;\n object-fit: contain;\n margin-bottom: 8px;\n filter: ${({ isSelected = false }) => (isSelected ? 'brightness(0) invert(1)' : 'none')};\n\n ${SideBarItem}:hover & {\n filter: brightness(0) invert(1);\n }\n`;\n\nexport const SideBarText = styled.p`\n color: ${({ isSelected = false }) =>\n isSelected ? theme.color.white : theme.color.gray_535354};\n font-size: 12px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n line-height: 109.023%;\n text-align: center;\n\n ${SideBarItem}:hover & {\n color: ${theme.color.white};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarIcon, SideBarItem, SideBarText } from './styled';\nimport theme from '@/theme';\n\nexport const SideBarPill = ({\n isSelected = false,\n onClick = () => {},\n icon,\n text,\n pillActiveColor,\n id\n}) => (\n <SideBarItem\n key={id}\n isSelected={isSelected}\n onClick={() => onClick()}\n pillActiveColor={pillActiveColor || theme.color.primary}\n >\n <SideBarIcon src={icon} isSelected={isSelected} />\n <SideBarText isSelected={isSelected}>{text}</SideBarText>\n </SideBarItem>\n);\n\nSideBarPill.propTypes = propTypes;\n","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22layout-dashboard%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%202.83337C3.37816%202.83337%202.3335%203.87804%202.3335%205.16671V13.3334C2.3335%2014.622%203.37816%2015.6667%204.66683%2015.6667H10.5002C11.7888%2015.6667%2012.8335%2014.622%2012.8335%2013.3334V5.16671C12.8335%203.87804%2011.7888%202.83337%2010.5002%202.83337H4.66683ZM4.66683%205.16671H10.5002V13.3334H4.66683V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M17.5002%202.83337C16.2115%202.83337%2015.1668%203.87804%2015.1668%205.16671V8.66671C15.1668%209.95537%2016.2115%2011%2017.5002%2011H23.3335C24.6222%2011%2025.6668%209.95537%2025.6668%208.66671V5.16671C25.6668%203.87804%2024.6222%202.83337%2023.3335%202.83337H17.5002ZM17.5002%205.16671H23.3335V8.66671H17.5002V5.16671Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.1668%2015.6667C15.1668%2014.378%2016.2115%2013.3334%2017.5002%2013.3334H23.3335C24.6222%2013.3334%2025.6668%2014.378%2025.6668%2015.6667V23.8334C25.6668%2025.122%2024.6222%2026.1667%2023.3335%2026.1667H17.5002C16.2115%2026.1667%2015.1668%2025.122%2015.1668%2023.8334V15.6667ZM23.3335%2015.6667H17.5002V23.8334H23.3335V15.6667Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.66683%2018C3.37816%2018%202.3335%2019.0447%202.3335%2020.3334V23.8334C2.3335%2025.122%203.37816%2026.1667%204.66683%2026.1667H10.5002C11.7888%2026.1667%2012.8335%2025.122%2012.8335%2023.8334V20.3334C12.8335%2019.0447%2011.7888%2018%2010.5002%2018H4.66683ZM4.66683%2020.3334H10.5002V23.8334H4.66683V20.3334Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M22.1667%204H5.83333C4.54467%204%203.5%205.04467%203.5%206.33333V22.6667C3.5%2023.9553%204.54467%2025%205.83333%2025H22.1667C23.4553%2025%2024.5%2023.9553%2024.5%2022.6667V6.33333C24.5%205.04467%2023.4553%204%2022.1667%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M10.4998%2013.3334C11.7885%2013.3334%2012.8332%2012.2887%2012.8332%2011C12.8332%209.71136%2011.7885%208.66669%2010.4998%208.66669C9.21117%208.66669%208.1665%209.71136%208.1665%2011C8.1665%2012.2887%209.21117%2013.3334%2010.4998%2013.3334Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M24.5%2018L20.8997%2014.3997C20.4621%2013.9622%2019.8687%2013.7165%2019.25%2013.7165C18.6313%2013.7165%2018.0379%2013.9622%2017.6003%2014.3997L7%2025%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22heroicons-solid%2Fqr-code%22%3E%3Cpath%20id%3D%22Vector%20%28Stroke%29%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M2%205C2%203.61929%203.11929%202.5%204.5%202.5H10.5C11.8807%202.5%2013%203.61929%2013%205V11C13%2012.3807%2011.8807%2013.5%2010.5%2013.5H4.5C3.11929%2013.5%202%2012.3807%202%2011V5ZM4.5%204.5C4.22386%204.5%204%204.72386%204%205V11C4%2011.2761%204.22386%2011.5%204.5%2011.5H10.5C10.7761%2011.5%2011%2011.2761%2011%2011V5C11%204.72386%2010.7761%204.5%2010.5%204.5H4.5ZM15%205C15%203.61929%2016.1193%202.5%2017.5%202.5H23.5C24.8807%202.5%2026%203.61929%2026%205V11C26%2012.3807%2024.8807%2013.5%2023.5%2013.5H17.5C16.1193%2013.5%2015%2012.3807%2015%2011V5ZM17.5%204.5C17.2239%204.5%2017%204.72386%2017%205V11C17%2011.2761%2017.2239%2011.5%2017.5%2011.5H23.5C23.7761%2011.5%2024%2011.2761%2024%2011V5C24%204.72386%2023.7761%204.5%2023.5%204.5H17.5ZM6%207.5C6%206.94772%206.44772%206.5%207%206.5H8C8.55228%206.5%209%206.94772%209%207.5V8.5C9%209.05228%208.55228%209.5%208%209.5H7C6.44772%209.5%206%209.05228%206%208.5V7.5ZM19%207.5C19%206.94772%2019.4477%206.5%2020%206.5H21C21.5523%206.5%2022%206.94772%2022%207.5V8.5C22%209.05228%2021.5523%209.5%2021%209.5H20C19.4477%209.5%2019%209.05228%2019%208.5V7.5ZM2%2018C2%2016.6193%203.11929%2015.5%204.5%2015.5H10.5C11.8807%2015.5%2013%2016.6193%2013%2018V24C13%2025.3807%2011.8807%2026.5%2010.5%2026.5H4.5C3.11929%2026.5%202%2025.3807%202%2024V18ZM4.5%2017.5C4.22386%2017.5%204%2017.7239%204%2018V24C4%2024.2761%204.22386%2024.5%204.5%2024.5H10.5C10.7761%2024.5%2011%2024.2761%2011%2024V18C11%2017.7239%2010.7761%2017.5%2010.5%2017.5H4.5ZM15%2016.5C15%2015.9477%2015.4477%2015.5%2016%2015.5H17C17.5523%2015.5%2018%2015.9477%2018%2016.5V17.5C18%2018.0523%2017.5523%2018.5%2017%2018.5H16C15.4477%2018.5%2015%2018.0523%2015%2017.5V16.5ZM23%2016.5C23%2015.9477%2023.4477%2015.5%2024%2015.5H25C25.5523%2015.5%2026%2015.9477%2026%2016.5V17.5C26%2018.0523%2025.5523%2018.5%2025%2018.5H24C23.4477%2018.5%2023%2018.0523%2023%2017.5V16.5ZM6%2020.5C6%2019.9477%206.44772%2019.5%207%2019.5H8C8.55228%2019.5%209%2019.9477%209%2020.5V21.5C9%2022.0523%208.55228%2022.5%208%2022.5H7C6.44772%2022.5%206%2022.0523%206%2021.5V20.5ZM19%2020.5C19%2019.9477%2019.4477%2019.5%2020%2019.5H21C21.5523%2019.5%2022%2019.9477%2022%2020.5V21.5C22%2022.0523%2021.5523%2022.5%2021%2022.5H20C19.4477%2022.5%2019%2022.0523%2019%2021.5V20.5ZM15%2024.5C15%2023.9477%2015.4477%2023.5%2016%2023.5H17C17.5523%2023.5%2018%2023.9477%2018%2024.5V25.5C18%2026.0523%2017.5523%2026.5%2017%2026.5H16C15.4477%2026.5%2015%2026.0523%2015%2025.5V24.5ZM23%2024.5C23%2023.9477%2023.4477%2023.5%2024%2023.5H25C25.5523%2023.5%2026%2023.9477%2026%2024.5V25.5C26%2026.0523%2025.5523%2026.5%2025%2026.5H24C23.4477%2026.5%2023%2026.0523%2023%2025.5V24.5Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2226%22%20height%3D%2227%22%20viewBox%3D%220%200%2026%2027%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.8996%200.305068C13.2791%200.29145%2013.6556%200.376085%2013.9926%200.55077C14.3297%200.725456%2014.616%200.984266%2014.8236%201.30211L14.8386%201.32569L19.6238%209.0076C19.8397%209.33005%2019.9667%209.70402%2019.9917%2010.0917C20.0176%2010.4929%2019.9332%2010.8935%2019.7477%2011.2502C19.5623%2011.6068%2019.2828%2011.906%2018.9395%2012.1152C18.5963%2012.3244%2018.2023%2012.4358%2017.8003%2012.4372L17.7958%2012.4372H8.19452C7.8032%2012.4509%207.41501%2012.3601%207.07005%2012.1737C6.71246%2011.9806%206.41525%2011.6923%206.21129%2011.3407C6.00733%2010.9892%205.90457%2010.588%205.91436%2010.1817C5.92407%209.77863%206.0442%209.38598%206.26157%209.04651L11.0735%201.39989C11.2568%201.08451%2011.5157%200.819365%2011.8271%200.628499C12.1508%200.430098%2012.5202%200.318687%2012.8996%200.305068ZM12.9777%203.24166L8.82255%209.84459H17.0908L12.9777%203.24166Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0%2017.6223C0%2016.1905%201.16074%2015.0297%202.59259%2015.0297H9.07407C10.5059%2015.0297%2011.6667%2016.1905%2011.6667%2017.6223V24.1038C11.6667%2025.5356%2010.5059%2026.6964%209.07407%2026.6964H2.59259C1.16074%2026.6964%200%2025.5356%200%2024.1038V17.6223ZM9.07407%2017.6223H2.59259V24.1038H9.07407V17.6223Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M20.0926%2015.0297C16.8709%2015.0297%2014.2593%2017.6414%2014.2593%2020.863C14.2593%2024.0847%2016.8709%2026.6964%2020.0926%2026.6964C23.3143%2026.6964%2025.9259%2024.0847%2025.9259%2020.863C25.9259%2017.6414%2023.3143%2015.0297%2020.0926%2015.0297ZM16.8519%2020.863C16.8519%2019.0732%2018.3028%2017.6223%2020.0926%2017.6223C21.8824%2017.6223%2023.3333%2019.0732%2023.3333%2020.863C23.3333%2022.6529%2021.8824%2024.1038%2020.0926%2024.1038C18.3028%2024.1038%2016.8519%2022.6529%2016.8519%2020.863Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.81277%2024.83C11.0728%2024.63%2011.8428%2024.43%2012.1228%2024.23C12.4028%2024.01%2012.5428%2023.59%2012.5428%2022.97V6.77C9.96277%206.81%208.58277%206.87%208.40277%206.95C8.22277%207.03%208.08277%207.12%207.98277%207.22C7.74277%207.54%207.45277%208.67%207.11277%2010.61L5.58277%2010.49C5.56277%2010.19%205.55277%209.61%205.55277%208.75C5.55277%207.87%205.64277%206.69%205.82277%205.21H22.1728C22.3528%206.69%2022.4428%207.87%2022.4428%208.75C22.4428%209.61%2022.4328%2010.19%2022.4128%2010.49L20.8828%2010.61C20.5428%208.67%2020.2428%207.54%2019.9828%207.22C19.9028%207.12%2019.7728%207.03%2019.5928%206.95C19.4128%206.87%2018.0328%206.81%2015.4528%206.77V23.69C15.4528%2024.15%2015.6528%2024.41%2016.0528%2024.47L18.3628%2024.83L18.2428%2026H9.99277L9.81277%2024.83Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2229%22%20viewBox%3D%220%200%2028%2029%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_1597_130%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M11.2063%2022.2583H24.7765V12.7095H11.2063V22.2583ZM1.71955%2026.75C0.913059%2026.75%200.230426%2026.4642%20-0.328346%2025.8925C-0.887118%2025.3208%20-1.1665%2024.6224%20-1.1665%2023.7973V5.20266C-1.1665%204.37755%20-0.887118%203.67917%20-0.328346%203.1075C0.230426%202.53583%200.913059%202.25%201.71955%202.25H26.2808C27.0873%202.25%2027.7699%202.53583%2028.3287%203.1075C28.8874%203.67917%2029.1668%204.37755%2029.1668%205.20266V23.7973C29.1668%2024.6224%2028.8874%2025.3208%2028.3287%2025.8925C27.7699%2026.4642%2027.0873%2026.75%2026.2808%2026.75H1.71955ZM1.71955%2024.3H26.2808C26.4037%2024.3%2026.5163%2024.2476%2026.6184%2024.1428C26.7209%2024.0383%2026.7721%2023.9231%2026.7721%2023.7973V5.20266C26.7721%205.07689%2026.7209%204.96174%2026.6184%204.85721C26.5163%204.7524%2026.4037%204.7%2026.2808%204.7H1.71955C1.59662%204.7%201.48407%204.7524%201.3819%204.85721C1.27945%204.96174%201.22823%205.07689%201.22823%205.20266V23.7973C1.22823%2023.9231%201.27945%2024.0383%201.3819%2024.1428C1.48407%2024.2476%201.59662%2024.3%201.71955%2024.3Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_1597_130%22%3E%3Crect%20width%3D%2228%22%20height%3D%2228%22%20fill%3D%22white%22%20transform%3D%22translate%280%200.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2211%22%20viewBox%3D%220%200%2016%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Shape%22%20d%3D%22M1.41005%201.71004C1.95679%201.1633%202.84322%201.1633%203.38995%201.71004L8%206.32009L12.6101%201.71004C13.1568%201.1633%2014.0432%201.1633%2014.5899%201.71004C15.1367%202.25677%2015.1367%203.1432%2014.5899%203.68994L8.98995%209.28994C8.44322%209.83667%207.55679%209.83667%207.01005%209.28994L1.41005%203.68994C0.863317%203.1432%200.863317%202.25677%201.41005%201.71004Z%22%20fill%3D%22%2398A2B3%22%20stroke%3D%22white%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2218%22%20viewBox%3D%220%200%2017%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22background-color%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M13.5093%2012.1849C13.5093%2012.4144%2013.3232%2012.6005%2013.0937%2012.6005C12.8643%2012.6005%2012.6782%2012.4144%2012.6782%2012.1849C12.6782%2012.1873%2012.6782%2012.1886%2012.6783%2012.1886C12.6793%2012.1887%2012.6927%2012.0751%2012.8642%2011.8179C12.9262%2011.7249%2013.0023%2011.6229%2013.0937%2011.5118C13.1852%2011.6229%2013.2613%2011.7249%2013.3233%2011.8179C13.4948%2012.0751%2013.5082%2012.1887%2013.5092%2012.1886C13.5093%2012.1886%2013.5093%2012.1873%2013.5093%2012.1849Z%22%20fill%3D%22%23344054%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.37988%202.45471L8.63103%203.70587%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.38058%203.45575L2.87549%208.96086L6.8792%2012.9646L12.3843%207.45945L8.38058%203.45575Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M4.24658%207.61035L10.2488%209.58373%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M1.41553%2015.7238H15.5708%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.34066%204H20.6323C21.1616%204%2021.5907%204.44772%2021.5907%205V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V5C3.38232%204.44772%203.81138%204%204.34066%204Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M7.93457%208.99994C8.33152%208.99994%208.65332%208.66415%208.65332%208.24994C8.65332%207.83573%208.33152%207.49994%207.93457%207.49994C7.53762%207.49994%207.21582%207.83573%207.21582%208.24994C7.21582%208.66415%207.53762%208.99994%207.93457%208.99994Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M8.17399%2012L10.5698%2014L13.4448%2010.5L21.5907%2017V19C21.5907%2019.5523%2021.1616%2020%2020.6323%2020H4.34066C3.81138%2020%203.38232%2019.5523%203.38232%2019V17L8.17399%2012Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16327%2017.3162V0.683777H17.7957V17.3162H1.16327Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%220.353881%22%2F%3E%3Cg%20id%3D%22Group_2%22%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.46362%203.33789H15.4956C15.8865%203.33789%2016.2033%203.65477%2016.2033%204.04565V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V4.04565C2.75586%203.65477%203.07274%203.33789%203.46362%203.33789Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M6.11774%206.87671C6.4109%206.87671%206.64856%206.63905%206.64856%206.34589C6.64856%206.05272%206.4109%205.81506%206.11774%205.81506C5.82457%205.81506%205.58691%206.05272%205.58691%206.34589C5.58691%206.63905%205.82457%206.87671%206.11774%206.87671Z%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M6.29467%209L8.06408%2010.4155L10.1874%207.93835L16.2033%2012.5388V13.9543C16.2033%2014.3452%2015.8865%2014.6621%2015.4956%2014.6621H3.46362C3.07274%2014.6621%202.75586%2014.3452%202.75586%2013.9543V12.5388L6.29467%209Z%22%20fill%3D%22white%22%20stroke%3D%22%23344054%22%20stroke-opacity%3D%220.75%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2211%22%20height%3D%226%22%20viewBox%3D%220%200%2011%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.97266%201L5.97266%205L1.97266%201%22%20stroke%3D%22%2398A2B3%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M5.97266%2019H19.9727V5H5.97266V19ZM3.97266%2021V3H21.9727V21H3.97266ZM7.97266%2013V11H9.97266V13H7.97266ZM11.9727%2017V15H13.9727V17H11.9727ZM11.9727%2013V11H13.9727V13H11.9727ZM11.9727%209V7H13.9727V9H11.9727ZM15.9727%2013V11H17.9727V13H15.9727Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2216%22%20viewBox%3D%220%200%2018%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-in%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.03174%204.73066C8.42294%204.73066%208.74007%205.02339%208.74007%205.3845V6.69219H10.1567C10.5479%206.69219%2010.8651%206.98493%2010.8651%207.34604C10.8651%207.70715%2010.5479%207.99989%2010.1567%207.99989H8.74007V9.30758C8.74007%209.66869%208.42294%209.96143%208.03174%209.96143C7.64054%209.96143%207.3234%209.66869%207.3234%209.30758V7.99989H5.90674C5.51554%207.99989%205.1984%207.70715%205.1984%207.34604C5.1984%206.98493%205.51554%206.69219%205.90674%206.69219H7.3234V5.3845C7.3234%205.02339%207.64054%204.73066%208.03174%204.73066Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M12.0109%2011.9439C10.9203%2012.7491%209.53694%2013.2307%208.03174%2013.2307C4.51092%2013.2307%201.65674%2010.596%201.65674%207.34604C1.65674%204.09606%204.51092%201.46143%208.03174%201.46143C11.5526%201.46143%2014.4067%204.09606%2014.4067%207.34604C14.4067%208.73549%2013.8851%2010.0125%2013.0126%2011.0192L15.6159%2013.4222C15.8925%2013.6775%2015.8925%2014.0915%2015.6159%2014.3468C15.3392%2014.6022%2014.8908%2014.6022%2014.6141%2014.3468L12.0109%2011.9439ZM3.0734%207.34604C3.0734%204.81828%205.29333%202.76912%208.03174%202.76912C10.7702%202.76912%2012.9901%204.81828%2012.9901%207.34604C12.9901%208.57907%2012.4619%209.69821%2011.6029%2010.5212C11.5786%2010.5384%2011.5552%2010.5574%2011.5329%2010.5779C11.5106%2010.5985%2011.4901%2010.6201%2011.4714%2010.6426C10.5799%2011.4354%209.36749%2011.923%208.03174%2011.923C5.29333%2011.923%203.0734%209.87381%203.0734%207.34604Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22zoom-out%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M5.90674%207.58329C5.51554%207.58329%205.1984%207.90042%205.1984%208.29163C5.1984%208.68283%205.51554%208.99996%205.90674%208.99996H10.1567C10.5479%208.99996%2010.8651%208.68283%2010.8651%208.29163C10.8651%207.90042%2010.5479%207.58329%2010.1567%207.58329H5.90674Z%22%20fill%3D%22%234D6277%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.03174%2014.6666C9.53694%2014.6666%2010.9203%2014.145%2012.0109%2013.2726L14.6141%2015.8758C14.8908%2016.1525%2015.3392%2016.1525%2015.6159%2015.8758C15.8925%2015.5992%2015.8925%2015.1507%2015.6159%2014.8741L13.0126%2012.2709C13.8851%2011.1803%2014.4067%209.79686%2014.4067%208.29163C14.4067%204.77081%2011.5526%201.91663%208.03174%201.91663C4.51092%201.91663%201.65674%204.77081%201.65674%208.29163C1.65674%2011.8124%204.51092%2014.6666%208.03174%2014.6666ZM8.03174%203.33329C5.29333%203.33329%203.0734%205.55321%203.0734%208.29163C3.0734%2011.03%205.29333%2013.25%208.03174%2013.25C9.36749%2013.25%2010.5799%2012.7218%2011.4714%2011.8629C11.4901%2011.8385%2011.5106%2011.8151%2011.5329%2011.7928C11.5552%2011.7706%2011.5786%2011.7501%2011.6029%2011.7314C12.4619%2010.8398%2012.9901%209.6274%2012.9901%208.29163C12.9901%205.55321%2010.7702%203.33329%208.03174%203.33329Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22bring-to-front%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M17.0833%207.49988H7.91667C7.68654%207.49988%207.5%207.68642%207.5%207.91654V17.0832C7.5%2017.3133%207.68654%2017.4999%207.91667%2017.4999H17.0833C17.3135%2017.4999%2017.5%2017.3133%2017.5%2017.0832V7.91654C17.5%207.68642%2017.3135%207.49988%2017.0833%207.49988Z%22%20fill%3D%22white%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8345%202.5H12.5002V4.173%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M2.5%206.66675C2.5%207.77241%202.5%208.32796%202.5%208.33341%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M12.5%206.66675C12.5%207.78196%2012.5%208.06075%2012.5%207.50316%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M6.66357%2012.5001H7.49999%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22sent-to-back%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M12.5%207.49988H17.0833C17.3135%207.49988%2017.5%207.68642%2017.5%207.91654V17.0832C17.5%2017.3133%2017.3135%2017.4999%2017.0833%2017.4999H7.91667C7.68654%2017.4999%207.5%2017.3133%207.5%2017.0832V12.4999%22%20stroke%3D%22%23203040%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M4.15377%202.5H2.5V4.18067%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M4.16544%2012.4999H2.5V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M10.8335%2012.4999H12.499V10.8383%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_5%22%20d%3D%22M10.8345%202.5H12.5002V4.16577%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_6%22%20d%3D%22M6.67871%202.5H8.33704%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_7%22%20d%3D%22M2.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_8%22%20d%3D%22M12.5%206.66675V8.33958%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_9%22%20d%3D%22M6.66357%2012.5001H8.33332%22%20stroke%3D%22%234D6277%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22lock%22%3E%3Cpath%20id%3D%22Icon%20color%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5.46566%208.33325V5.83325C5.46566%204.50717%205.99244%203.2354%206.93012%202.29772C7.86781%201.36004%209.13958%200.833252%2010.4657%200.833252C11.7917%200.833252%2013.0635%201.36004%2014.0012%202.29772C14.9389%203.2354%2015.4657%204.50717%2015.4657%205.83325V8.33325H16.299C17.6797%208.33325%2018.799%209.45254%2018.799%2010.8333V16.6666C18.799%2018.0473%2017.6797%2019.1666%2016.299%2019.1666H4.63232C3.25161%2019.1666%202.13232%2018.0473%202.13232%2016.6666V10.8333C2.13232%209.45254%203.25161%208.33325%204.63232%208.33325H5.46566ZM8.10863%203.47623C8.73376%202.85111%209.5816%202.49992%2010.4657%202.49992C11.3497%202.49992%2012.1976%202.85111%2012.8227%203.47623C13.4478%204.10135%2013.799%204.9492%2013.799%205.83325V8.33325H7.13232V5.83325C7.13232%204.9492%207.48351%204.10135%208.10863%203.47623ZM4.63232%209.99992C4.17209%209.99992%203.79899%2010.373%203.79899%2010.8333V16.6666C3.79899%2017.1268%204.17209%2017.4999%204.63232%2017.4999H16.299C16.7592%2017.4999%2017.1323%2017.1268%2017.1323%2016.6666V10.8333C17.1323%2010.373%2016.7592%209.99992%2016.299%209.99992H4.63232Z%22%20fill%3D%22%23383F46%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22copy%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M3.27653%203.33337C3.27653%202.87694%203.65343%202.50004%204.10986%202.50004H12.4432C12.8996%202.50004%2013.2765%202.87694%2013.2765%203.33337C13.2765%203.79361%2013.6496%204.16671%2014.1099%204.16671C14.5701%204.16671%2014.9432%203.79361%2014.9432%203.33337C14.9432%201.95647%2013.8201%200.833374%2012.4432%200.833374H4.10986C2.73296%200.833374%201.60986%201.95647%201.60986%203.33337V11.6667C1.60986%2013.0436%202.73296%2014.1667%204.10986%2014.1667C4.5701%2014.1667%204.9432%2013.7936%204.9432%2013.3334C4.9432%2012.8731%204.5701%2012.5%204.10986%2012.5C3.65343%2012.5%203.27653%2012.1231%203.27653%2011.6667V3.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.10986%205.83337C7.72915%205.83337%206.60986%206.95266%206.60986%208.33337V16.6667C6.60986%2018.0474%207.72915%2019.1667%209.10986%2019.1667H17.4432C18.8239%2019.1667%2019.9432%2018.0474%2019.9432%2016.6667V8.33337C19.9432%206.95266%2018.8239%205.83337%2017.4432%205.83337H9.10986ZM8.27653%208.33337C8.27653%207.87314%208.64963%207.50004%209.10986%207.50004H17.4432C17.9034%207.50004%2018.2765%207.87314%2018.2765%208.33337V16.6667C18.2765%2017.1269%2017.9034%2017.5%2017.4432%2017.5H9.10986C8.64963%2017.5%208.27653%2017.1269%208.27653%2016.6667V8.33337Z%22%20fill%3D%22%2334C276%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2224%22%20viewBox%3D%220%200%2025%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M9.48691%2016.1537L12.0869%2013.5537L14.6869%2016.1537L15.7407%2015.1L13.1407%2012.5L15.7407%209.89998L14.6869%208.84623L12.0869%2011.4462L9.48691%208.84623L8.43316%209.89998L11.0332%2012.5L8.43316%2015.1L9.48691%2016.1537ZM7.39466%2020.5C6.8895%2020.5%206.46191%2020.325%206.11191%2019.975C5.76191%2019.625%205.58691%2019.1974%205.58691%2018.6922V5.99998H4.58691V4.49998H9.08691V3.61548H15.0869V4.49998H19.5869V5.99998H18.5869V18.6922C18.5869%2019.1974%2018.4119%2019.625%2018.0619%2019.975C17.7119%2020.325%2017.2843%2020.5%2016.7792%2020.5H7.39466ZM17.0869%205.99998H7.08691V18.6922C7.08691%2018.7692%207.119%2018.8397%207.18316%2018.9037C7.24716%2018.9679%207.31766%2019%207.39466%2019H16.7792C16.8562%2019%2016.9267%2018.9679%2016.9907%2018.9037C17.0548%2018.8397%2017.0869%2018.7692%2017.0869%2018.6922V5.99998Z%22%20fill%3D%22%23D91919%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M1.66683%205.83333C1.66683%205.3731%202.03993%205%202.50016%205C2.9604%205%203.3335%205.3731%203.3335%205.83333V8.9622L4.44323%207.96344C5.96994%206.59414%207.94893%205.83542%209.99974%205.83333C12.2099%205.83333%2014.3299%206.71131%2015.8927%208.27411C17.4555%209.83691%2018.3335%2011.9565%2018.3335%2014.1667C18.3335%2014.6269%2017.9604%2015%2017.5002%2015C17.0399%2015%2016.6668%2014.6269%2016.6668%2014.1667C16.6668%2012.3986%2015.9645%2010.7029%2014.7142%209.45262C13.4641%208.20248%2011.7685%207.50011%2010.0006%207.5C8.36033%207.50178%206.77775%208.10868%205.55657%209.2037L4.67179%2010H7.50016C7.9604%2010%208.3335%2010.3731%208.3335%2010.8333C8.3335%2011.2936%207.9604%2011.6667%207.50016%2011.6667H2.50016C2.03993%2011.6667%201.66683%2011.2936%201.66683%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22redo%22%3E%3Cpath%20id%3D%22Icon%20color%22%20d%3D%22M18.8332%205.83333C18.8332%205.3731%2018.4601%205%2017.9998%205C17.5396%205%2017.1665%205.3731%2017.1665%205.83333V8.9622L16.0568%207.96344C14.5301%206.59414%2012.5511%205.83542%2010.5003%205.83333C8.29012%205.83333%206.17008%206.71131%204.60728%208.27411C3.04448%209.83691%202.1665%2011.9565%202.1665%2014.1667C2.1665%2014.6269%202.5396%2015%202.99984%2015C3.46007%2015%203.83317%2014.6269%203.83317%2014.1667C3.83317%2012.3986%204.53555%2010.7029%205.78579%209.45262C7.03594%208.20248%208.73146%207.50011%2010.4994%207.5C12.1397%207.50178%2013.7222%208.10868%2014.9434%209.2037L15.8282%2010H12.9998C12.5396%2010%2012.1665%2010.3731%2012.1665%2010.8333C12.1665%2011.2936%2012.5396%2011.6667%2012.9998%2011.6667H17.9998C18.4601%2011.6667%2018.8332%2011.2936%2018.8332%2010.8333V5.83333Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2217%22%20viewBox%3D%220%200%2014%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.78979%2015.7742C4.75579%2015.6209%205.34613%2015.4675%205.56079%2015.3142C5.77546%2015.1455%205.88279%2014.8235%205.88279%2014.3482V1.9282C3.90479%201.95887%202.84679%202.00487%202.70879%202.0662C2.57079%202.12754%202.46346%202.19654%202.38679%202.2732C2.20279%202.51854%201.98046%203.38487%201.71979%204.8722L0.546793%204.7802C0.53146%204.5502%200.523793%204.10554%200.523793%203.4462C0.523793%202.77154%200.592793%201.86687%200.730793%200.732203H13.2658C13.4038%201.86687%2013.4728%202.77154%2013.4728%203.4462C13.4728%204.10554%2013.4651%204.5502%2013.4498%204.7802L12.2768%204.8722C12.0161%203.38487%2011.7861%202.51854%2011.5868%202.2732C11.5255%202.19654%2011.4258%202.12754%2011.2878%202.0662C11.1498%202.00487%2010.0918%201.95887%208.11379%201.9282V14.9002C8.11379%2015.2529%208.26713%2015.4522%208.57379%2015.4982L10.3448%2015.7742L10.2528%2016.6712H3.92779L3.78979%2015.7742Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-bold%22%3E%3Cpath%20id%3D%22Vector%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.1463%208.99999C11.0946%208.99999%2012.6741%207.41559%2012.6741%205.46118C12.6741%203.50674%2011.0946%201.92236%209.1463%201.92236H3.69434V8.99999H9.1463Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10.4291%2016.0776C12.3775%2016.0776%2013.9569%2014.4932%2013.9569%2012.5388C13.9569%2010.5844%2012.3775%209%2010.4291%209H3.69434V16.0776H10.4291Z%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222.12329%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2216%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.4649%204.09091H12.1695C12.0914%201.89631%2010.0672%200.255681%207.25471%200.255681C4.47061%200.255681%202.28311%201.875%202.28311%204.31818C2.28311%206.27841%203.70357%207.44318%205.9763%208.09659L7.76607%208.60795C9.30016%209.03409%2010.6638%209.57386%2010.6638%2011.0227C10.6638%2012.6136%209.12971%2013.6648%207.11266%2013.6648C5.37971%2013.6648%203.84561%2012.8977%203.70357%2011.25H1.88539C2.05584%2013.6364%203.98766%2015.2557%207.11266%2015.2557C10.4649%2015.2557%2012.3683%2013.4091%2012.3683%2011.0511C12.3683%208.32386%209.78311%207.44318%208.27743%207.04545L6.80016%206.64773C5.72061%206.36364%203.98766%205.79545%203.98766%204.23295C3.98766%202.84091%205.26607%201.81818%207.19789%201.81818C8.95925%201.81818%2010.2945%202.65625%2010.4649%204.09091Z%22%20fill%3D%22%23344054%22%2F%3E%3Cpath%20d%3D%22M0.749023%208.4517H13.5047V9.81534H0.749023V8.4517Z%22%20fill%3D%22%23344054%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7.5293%202.63013H13.1914%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M4.69824%2015.3699H10.3603%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M10.7146%202.61328L7.17578%2015.3699%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22text-underline%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M2.89062%2016.0776H14.2148%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M13.1531%202.66443C13.1531%205.02362%2013.1531%205.93299%2013.1531%208.29221C13.1531%2010.833%2011.0934%2012.8927%208.55261%2012.8927C6.01184%2012.8927%203.95215%2010.833%203.95215%208.29221C3.95215%205.93299%203.95215%205.02362%203.95215%202.66443%22%20stroke%3D%22%23344054%22%20stroke-width%3D%221.41553%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2192%203.86304H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%207.40186H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.2192%2010.9407H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M12.3882%2014.4795H2.47949%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.3926%207.40186H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%203.86304H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.5161%2010.9407H2.77637%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M13.3926%2014.4795H4.89941%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2218%22%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.813%203.86304H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%207.40186H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2010.9407H3.07324%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M15.813%2014.4795H5.9043%22%20stroke%3D%22%23344054%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2218%22%20height%3D%2217%22%20viewBox%3D%220%200%2018%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_565_3386%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M8.52116%2015.5045C6.65314%2015.5045%205.06461%2014.8885%203.75556%2013.6565C2.44652%2012.4246%201.79199%2010.9167%201.79199%209.13278C1.79199%208.26628%201.96889%207.45244%202.3227%206.69128C2.67635%205.93011%203.15629%205.25038%203.76252%204.6521L8.52116%200.171204L13.2798%204.6521C13.886%205.25038%2014.366%205.93011%2014.7196%206.69128C15.0734%207.45244%2015.2503%208.26628%2015.2503%209.13278C15.2503%2010.9167%2014.5958%2012.4246%2013.2868%2013.6565C11.9777%2014.8885%2010.3892%2015.5045%208.52116%2015.5045ZM3.19121%209.90772H13.8233C14.0027%208.87446%2013.9004%207.98916%2013.5162%207.25182C13.1321%206.51433%2012.7381%205.95903%2012.3344%205.58591L8.52116%201.9695L4.70796%205.58591C4.30421%205.95903%203.90936%206.51433%203.52341%207.25182C3.13745%207.98916%203.02672%208.87446%203.19121%209.90772Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_565_3386%22%3E%3Crect%20width%3D%2217%22%20height%3D%2216%22%20fill%3D%22white%22%20transform%3D%22translate%280.0917969%200.171204%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M3.5%2020.5V3.5H20.5V20.5H3.5ZM19%2019V12.75H12.75V19H19ZM19%205H12.75V11.25H19V5ZM5%205V11.25H11.25V5H5ZM5%2019H11.25V12.75H5V19Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%2218%22%20viewBox%3D%220%200%2010%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9%2016.125L1%208.625L9%201.125%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83317%2012.5H9.1665V10.5H11.1665V9.16665H9.1665V7.16665H7.83317V9.16665H5.83317V10.5H7.83317V12.5ZM4.49984%2015.1666C4.13317%2015.1666%203.81928%2015.0361%203.55817%2014.775C3.29706%2014.5139%203.1665%2014.2%203.1665%2013.8333V3.16665C3.1665%202.79998%203.29706%202.48609%203.55817%202.22498C3.81928%201.96387%204.13317%201.83331%204.49984%201.83331H9.83317L13.8332%205.83331V13.8333C13.8332%2014.2%2013.7026%2014.5139%2013.4415%2014.775C13.1804%2015.0361%2012.8665%2015.1666%2012.4998%2015.1666H4.49984ZM9.1665%206.49998V3.16665H4.49984V13.8333H12.4998V6.49998H9.1665Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2217%22%20viewBox%3D%220%200%2017%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.83366%2011.1667V7.16669H5.83366V5.83335H11.167V7.16669H9.16699V11.1667H7.83366ZM1.16699%2015.8334V11.8334H2.50033V5.16669H1.16699V1.16669H5.16699V2.50002H11.8337V1.16669H15.8337V5.16669H14.5003V11.8334H15.8337V15.8334H11.8337V14.5H5.16699V15.8334H1.16699ZM5.16699%2013.1667H11.8337V11.8334H13.167V5.16669H11.8337V3.83335H5.16699V5.16669H3.83366V11.8334H5.16699V13.1667ZM2.50033%203.83335H3.83366V2.50002H2.50033V3.83335ZM13.167%203.83335H14.5003V2.50002H13.167V3.83335ZM13.167%2014.5H14.5003V13.1667H13.167V14.5ZM2.50033%2014.5H3.83366V13.1667H2.50033V14.5Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2217%22%20viewBox%3D%220%200%2016%2017%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22upload%22%3E%3Cg%20id%3D%22Icon%20color%22%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.33349%201.91643%208.40716%201.96466%208.47108%202.02858L11.8044%205.36191C12.0648%205.62226%2012.0648%206.04437%2011.8044%206.30472C11.5441%206.56507%2011.122%206.56507%2010.8616%206.30472L8.66634%204.10946V10.5C8.66634%2010.8682%208.36786%2011.1666%207.99967%2011.1666C7.63148%2011.1666%207.33301%2010.8682%207.33301%2010.5V4.10946L5.13775%206.30472C4.8774%206.56507%204.45529%206.56507%204.19494%206.30472C3.93459%206.04437%203.93459%205.62226%204.19494%205.36191L7.52792%202.02893%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M8.25486%201.8839C8.17626%201.8513%208.09007%201.83331%207.99967%201.83331C7.8163%201.83331%207.65021%201.90735%207.52969%202.02716%22%20fill%3D%22%235F98D0%22%2F%3E%3Cpath%20d%3D%22M1.99967%209.83331C2.36786%209.83331%202.66634%2010.1318%202.66634%2010.5V13.1666C2.66634%2013.3435%202.73658%2013.513%202.8616%2013.6381C2.98663%2013.7631%203.1562%2013.8333%203.33301%2013.8333H12.6663C12.8432%2013.8333%2013.0127%2013.7631%2013.1377%2013.6381C13.2628%2013.513%2013.333%2013.3435%2013.333%2013.1666V10.5C13.333%2010.1318%2013.6315%209.83331%2013.9997%209.83331C14.3679%209.83331%2014.6663%2010.1318%2014.6663%2010.5V13.1666C14.6663%2013.6971%2014.4556%2014.2058%2014.0806%2014.5809C13.7055%2014.9559%2013.1968%2015.1666%2012.6663%2015.1666H3.33301C2.80257%2015.1666%202.29387%2014.9559%201.91879%2014.5809C1.54372%2014.2058%201.33301%2013.6971%201.33301%2013.1666V10.5C1.33301%2010.1318%201.63148%209.83331%201.99967%209.83331Z%22%20fill%3D%22%235F98D0%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2221%22%20height%3D%2220%22%20viewBox%3D%220%200%2021%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%20clip-path%3D%22url%28%23clip0_2240_1532%29%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M1.16467%2016L0%2014.8505L7.57326%207.321L11.9943%2011.6846L18.1987%205.63636H14.9211V4H21V10H19.3421V6.78618L11.9943%2014.0385L7.57326%209.67491L1.16467%2016Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2240_1532%22%3E%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate%280.5%29%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%227%22%20viewBox%3D%220%200%2012%207%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11%201L6%206L1%201%22%20stroke%3D%22%23646464%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M7.49312%2011.0095C7.67156%2011.0095%207.82229%2010.948%207.94531%2010.8248C8.06833%2010.7016%208.12984%2010.5507%208.12984%2010.3722C8.12984%2010.1938%208.06823%2010.043%207.945%209.92C7.82177%209.79708%207.67094%209.73562%207.4925%209.73562C7.31406%209.73562%207.16333%209.79724%207.04031%209.92047C6.91729%2010.0437%206.85578%2010.1945%206.85578%2010.373C6.85578%2010.5514%206.9174%2010.7021%207.04063%2010.8252C7.16385%2010.9481%207.31469%2011.0095%207.49312%2011.0095ZM7.05047%208.77156H7.93031C7.93833%208.46396%207.98339%208.21818%208.06547%208.03422C8.14766%207.85036%208.34698%207.60661%208.66344%207.30297C8.93833%207.02807%209.14885%206.77422%209.295%206.54141C9.44125%206.3087%209.51437%206.03385%209.51437%205.71688C9.51437%205.17885%209.32109%204.75859%208.93453%204.45609C8.54786%204.1537%208.09052%204.0025%207.5625%204.0025C7.04083%204.0025%206.60917%204.14172%206.2675%204.42016C5.92573%204.69859%205.68193%205.02651%205.53609%205.40391L6.33891%205.72594C6.41505%205.51844%206.54526%205.3163%206.72953%205.11953C6.9138%204.92286%207.18745%204.82453%207.55047%204.82453C7.91984%204.82453%208.19286%204.92568%208.36953%205.12797C8.5463%205.33036%208.63469%205.55292%208.63469%205.79562C8.63469%206.00802%208.57417%206.20234%208.45312%206.37859C8.33219%206.55484%208.17797%206.7251%207.99047%206.88937C7.58016%207.25958%207.32094%207.5549%207.21281%207.77531C7.10458%207.99563%207.05047%208.32771%207.05047%208.77156ZM7.50109%2013.4375C6.67984%2013.4375%205.90792%2013.2817%205.18531%2012.97C4.46271%2012.6583%203.83417%2012.2354%203.29969%2011.7011C2.76521%2011.1668%202.34203%2010.5385%202.03016%209.81625C1.71839%209.09396%201.5625%208.32224%201.5625%207.50109C1.5625%206.67984%201.71833%205.90792%202.03%205.18531C2.34167%204.46271%202.76464%203.83417%203.29891%203.29969C3.83318%202.76521%204.46146%202.34203%205.18375%202.03016C5.90604%201.71839%206.67776%201.5625%207.49891%201.5625C8.32016%201.5625%209.09208%201.71833%209.81469%202.03C10.5373%202.34167%2011.1658%202.76464%2011.7003%203.29891C12.2348%203.83318%2012.658%204.46146%2012.9698%205.18375C13.2816%205.90604%2013.4375%206.67776%2013.4375%207.49891C13.4375%208.32016%2013.2817%209.09208%2012.97%209.81469C12.6583%2010.5373%2012.2354%2011.1658%2011.7011%2011.7003C11.1668%2012.2348%2010.5385%2012.658%209.81625%2012.9698C9.09396%2013.2816%208.32224%2013.4375%207.50109%2013.4375ZM7.5%2012.5C8.89583%2012.5%2010.0781%2012.0156%2011.0469%2011.0469C12.0156%2010.0781%2012.5%208.89583%2012.5%207.5C12.5%206.10417%2012.0156%204.92188%2011.0469%203.95312C10.0781%202.98438%208.89583%202.5%207.5%202.5C6.10417%202.5%204.92188%202.98438%203.95312%203.95312C2.98438%204.92188%202.5%206.10417%202.5%207.5C2.5%208.89583%202.98438%2010.0781%203.95312%2011.0469C4.92188%2012.0156%206.10417%2012.5%207.5%2012.5Z%22%20fill%3D%22%235F6368%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%201%22%20clip-path%3D%22url%28%23clip0_2312_1672%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1672%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1672%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%238D8B8B%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1672%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2228%22%20height%3D%2230%22%20viewBox%3D%220%200%2028%2030%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22logo22%202%22%20clip-path%3D%22url%28%23clip0_2312_1680%29%22%3E%3Cg%20id%3D%22Clip%20path%20group%22%3E%3Cmask%20id%3D%22mask0_2312_1680%22%20style%3D%22mask-type%3Aluminance%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2228%22%20height%3D%2230%22%3E%3Cg%20id%3D%22clip0_8042_16520%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M27.6442%200H0V30H27.6442V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3C%2Fmask%3E%3Cg%20mask%3D%22url%28%23mask0_2312_1680%29%22%3E%3Cg%20id%3D%22Group%22%3E%3Cpath%20id%3D%22Vector_2%22%20d%3D%22M23.8782%203.46176C24.4391%202.63758%2024.2788%201.56616%2023.4775%200.989232C23.0769%200.741978%2022.6763%200.577144%2022.1955%200.659562C21.7147%200.741978%2021.3141%200.989232%2021.0737%201.40132L12.5801%2013.187L10.657%2015.9068C9.85578%2016.3189%205.04807%2018.5442%201.4423%2018.7914H1.36218C1.12179%2018.7914%200.961536%2018.7914%200.72115%2018.8739C0.24038%2018.9563%200.0801234%2019.3683%20-5.05522e-06%2019.5332C-0.24039%2020.9343%200.480764%2022.665%202.24359%2024.5607C3.44551%2025.9617%204.80769%2026.9508%204.80769%2026.9508C5.1282%2027.198%205.44871%2027.198%205.60897%2026.9508L7.29168%2025.0551L6.41026%2027.6926C6.33011%2027.9398%206.41026%2028.187%206.65065%2028.3519C6.73074%2028.4343%208.73397%2029.6706%2010.0962%2029.9178C10.1763%2029.9178%2010.1763%2029.9178%2010.2564%2029.9178C10.4167%2029.9178%2010.5769%2029.9178%2010.7372%2029.753C11.2179%2029.3409%2011.6186%2028.2695%2011.8589%2027.2804C12.0993%2026.2914%2012.3397%2024.9728%2012.6603%2023.3244C13.0609%2020.9343%2013.3013%2018.6266%2013.3814%2018.0497L15.3045%2015.3299L23.8782%203.46176Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_3%22%20d%3D%22M26.2819%2019.451C25.4005%2018.5444%2024.1184%2017.9675%2022.7562%2017.9675C22.1953%2017.9675%2021.6344%2018.0499%2021.0735%2018.2971L17.3876%2014.506C17.1472%2014.2587%2016.7466%2014.2587%2016.5062%2014.5883L14.9037%2016.8136C14.7434%2017.0609%2014.7434%2017.3905%2014.9838%2017.5554L18.3492%2021.0169C17.7082%2022.8301%2018.1088%2025.0554%2019.4709%2026.3741C20.3524%2027.2807%2021.5543%2027.7751%2022.7562%2027.7751C23.237%2027.7751%2023.6376%2027.6928%2024.1184%2027.5279L25.0799%2027.1982L22.035%2023.984C21.7947%2023.7367%2021.7947%2023.3246%2022.035%2023.0774L23.237%2021.7587C23.3171%2021.6763%2023.4774%2021.5938%2023.6376%2021.5938C23.7979%2021.5938%2024.0383%2021.6763%2024.1184%2021.8411L27.2434%2025.0554L27.4838%2023.984C27.9646%2022.418%2027.4838%2020.6873%2026.2819%2019.451Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3Cpath%20id%3D%22Vector_4%22%20d%3D%22M5.60925%209.8903C6.17014%209.8903%206.73102%209.80786%207.29195%209.56066L10.8977%2013.2694C11.1381%2013.5167%2011.5387%2013.5167%2011.7791%2013.187L13.3817%2010.9617C13.542%2010.7145%2013.542%2010.3848%2013.3016%2010.22L10.0163%206.84086C10.6573%205.02767%2010.2567%202.8024%208.89449%201.48372C7.61244%200.165035%205.84966%20-0.32947%204.24707%200.247452L3.28553%200.494705L6.41054%203.70899C6.65093%203.95624%206.65093%204.36833%206.41054%204.61558L5.12848%205.85185C4.88809%206.09908%204.40733%206.09908%204.24707%205.85185L1.12207%202.63756L0.881685%203.70899C0.481046%205.35734%200.881685%207.1705%202.08361%208.4068C2.96502%209.3134%204.24707%209.8903%205.60925%209.8903Z%22%20fill%3D%22%23AC8EBA%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_2312_1680%22%3E%3Crect%20width%3D%2228%22%20height%3D%2230%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M23.5037%2041.7084C20.9852%2041.7084%2018.6179%2041.2305%2016.402%2040.2747C14.186%2039.3189%2012.2584%2038.0218%2010.6194%2036.3834C8.9803%2034.7449%207.68255%2032.8182%206.72614%2030.6032C5.77004%2028.3882%205.29199%2026.0216%205.29199%2023.5034C5.29199%2020.9849%205.76988%2018.6176%206.72566%2016.4016C7.68144%2014.1857%208.97854%2012.2581%2010.617%2010.6191C12.2554%208.97999%2014.1821%207.68225%2016.3972%206.72583C18.6122%205.76974%2020.9788%205.29169%2023.497%205.29169C26.0155%205.29169%2028.3827%205.76958%2030.5987%206.72535C32.8147%207.68113%2034.7422%208.97824%2036.3813%2010.6167C38.0204%2012.2551%2039.3181%2014.1818%2040.2745%2016.3969C41.2306%2018.6119%2041.7087%2020.9785%2041.7087%2023.4967C41.7087%2026.0152%2041.2308%2028.3824%2040.275%2030.5984C39.3192%2032.8144%2038.0221%2034.7419%2036.3837%2036.381C34.7453%2038.0201%2032.8185%2039.3178%2030.6035%2040.2742C28.3885%2041.2303%2026.0219%2041.7084%2023.5037%2041.7084ZM23.5003%2038.8334C27.7809%2038.8334%2031.4066%2037.3479%2034.3774%2034.3771C37.3482%2031.4063%2038.8337%2027.7806%2038.8337%2023.5C38.8337%2019.2195%2037.3482%2015.5938%2034.3774%2012.6229C31.4066%209.6521%2027.7809%208.16669%2023.5003%208.16669C19.2198%208.16669%2015.5941%209.6521%2012.6232%2012.6229C9.65241%2015.5938%208.16699%2019.2195%208.16699%2023.5C8.16699%2027.7806%209.65241%2031.4063%2012.6232%2034.3771C15.5941%2037.3479%2019.2198%2038.8334%2023.5003%2038.8334Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2237%22%20height%3D%2237%22%20viewBox%3D%220%200%2037%2037%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%221.5%22%20y%3D%221.5%22%20width%3D%2234%22%20height%3D%2234%22%20stroke%3D%22%23A7A7A7%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.68652%2038.1875L23.4995%209.67908L41.3125%2038.1875H5.68652ZM10.9662%2035.25H36.0329L23.4995%2015.1771L10.9662%2035.25Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M33.9701%2031.6345L31.8761%2029.5709L36.4782%2024.9688H6.85449V22.0313H36.4782L31.906%2017.4292L33.9999%2015.3656L42.1045%2023.5L33.9701%2031.6345Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8.8125%2024.9688V22.0312H38.1875V24.9688H8.8125Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M24.9688%2038.1875L22.0312%2038.1875L22.0312%208.8125L24.9687%208.8125L24.9688%2038.1875Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.3316%2032.949L23.5003%2029.2281L29.6691%2032.9979L28.0534%2025.9479L33.4878%2021.2479L26.3399%2020.6115L23.5003%2013.9531L20.6607%2020.5625L13.5128%2021.199L18.9472%2025.9479L17.3316%2032.949ZM12.8764%2039.0913L15.6822%2027.0098L6.30859%2018.8867L18.676%2017.8135L23.5003%206.42139L28.3247%2017.8135L40.692%2018.8867L31.3185%2027.0098L34.1243%2039.0913L23.5003%2032.6817L12.8764%2039.0913Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2247%22%20height%3D%2247%22%20viewBox%3D%220%200%2047%2047%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20id%3D%22Frame%22%3E%3Cpath%20id%3D%22Vector%22%20d%3D%22M23.4997%2039.8066L21.3382%2037.8634C18.0919%2034.9184%2015.4074%2032.3877%2013.2845%2030.2714C11.1617%2028.1548%209.47948%2026.2711%208.23789%2024.6202C6.99631%2022.9696%206.12893%2021.4638%205.63576%2020.1028C5.14226%2018.7421%204.89551%2017.3613%204.89551%2015.9604C4.89551%2013.1812%205.83257%2010.8544%207.7067%208.97995C9.58115%207.10582%2011.908%206.16876%2014.6872%206.16876C16.3968%206.16876%2018.0124%206.56859%2019.534%207.36824C21.0557%208.16789%2022.3775%209.31466%2023.4997%2010.8085C24.6218%209.31466%2025.9437%208.16789%2027.4653%207.36824C28.9869%206.56859%2030.6025%206.16876%2032.3122%206.16876C35.0914%206.16876%2037.4182%207.10582%2039.2927%208.97995C41.1668%2010.8544%2042.1038%2013.1812%2042.1038%2015.9604C42.1038%2017.3613%2041.8571%2018.7421%2041.3636%2020.1028C40.8704%2021.4638%2040.003%2022.9696%2038.7615%2024.6202C37.5199%2026.2711%2035.8408%2028.1548%2033.7241%2030.2714C31.6078%2032.3877%2028.9202%2034.9184%2025.6612%2037.8634L23.4997%2039.8066ZM23.4997%2035.8375C26.633%2033.0182%2029.2115%2030.6016%2031.2351%2028.5878C33.2587%2026.5743%2034.858%2024.825%2036.033%2023.3399C37.208%2021.8548%2038.024%2020.5361%2038.4809%2019.3836C38.9379%2018.2314%2039.1663%2017.0904%2039.1663%2015.9604C39.1663%2014.0021%2038.5136%2012.3702%2037.208%2011.0646C35.9025%209.75904%2034.2705%209.10626%2032.3122%209.10626C30.7657%209.10626%2029.3365%209.54493%2028.0244%2010.4223C26.7126%2011.2999%2025.6739%2012.5208%2024.9082%2014.0848H22.0911C21.3127%2012.5081%2020.2707%2011.2841%2018.9652%2010.413C17.6596%209.54183%2016.2336%209.10626%2014.6872%209.10626C12.7412%209.10626%2011.1124%209.75904%209.80064%2011.0646C8.48889%2012.3702%207.83301%2014.0021%207.83301%2015.9604C7.83301%2017.0904%208.06148%2018.2314%208.51842%2019.3836C8.97537%2020.5361%209.79134%2021.8548%2010.9663%2023.3399C12.1413%2024.825%2013.7406%2026.5712%2015.7643%2028.5785C17.7879%2030.5858%2020.3663%2033.0054%2023.4997%2035.8375Z%22%20fill%3D%22%23A7A7A7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2216%22%20viewBox%3D%220%200%2017%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.66368%202.01017C9.32164%201.94371%209.98083%202.1241%2010.5133%202.51632C11.0457%202.90854%2011.4134%203.4846%2011.545%204.13269C11.6183%204.49351%2011.9702%204.72662%2012.331%204.65336C12.6918%204.58009%2012.925%204.22819%2012.8517%203.86736C12.6543%202.89524%2012.1027%202.03114%2011.3041%201.44281C10.5054%200.854482%209.51663%200.583899%208.52969%200.68359C7.54691%200.782861%206.63577%201.24224%205.97161%201.97299L5.96306%201.98228C5.29856%202.71803%204.93098%203.67431%204.93156%204.66567L4.93156%206.66675H4.26489C3.16032%206.66675%202.26489%207.56218%202.26489%208.66675V13.3334C2.26489%2014.438%203.16032%2015.3334%204.26489%2015.3334H13.5982C14.7028%2015.3334%2015.5982%2014.438%2015.5982%2013.3334V8.66675C15.5982%207.56218%2014.7028%206.66675%2013.5982%206.66675H6.26489L6.26489%204.66601C6.26423%204.00811%206.50679%203.37331%206.94572%202.88356L6.95268%202.87597C7.39593%202.3852%208.00572%202.07663%208.66368%202.01017ZM4.26489%208.00008C3.8967%208.00008%203.59823%208.29856%203.59823%208.66675V13.3334C3.59823%2013.7016%203.8967%2014.0001%204.26489%2014.0001H13.5982C13.9664%2014.0001%2014.2649%2013.7016%2014.2649%2013.3334V8.66675C14.2649%208.29856%2013.9664%208.00008%2013.5982%208.00008H4.26489Z%22%20fill%3D%22%234D6277%22%2F%3E%3C%2Fsvg%3E\"","export default \"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xml%3Aspace%3D%22preserve%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20enable-background%3D%22new%200%200%2024%2024%22%3E%3Cpath%20d%3D%22M5.3%2018.7c.2.2.4.3.7.3s.5-.1.7-.3l5.3-5.3%205.3%205.3c.2.2.5.3.7.3s.5-.1.7-.3c.4-.4.4-1%200-1.4L13.4%2012l5.3-5.3c.4-.4.4-1%200-1.4s-1-.4-1.4%200L12%2010.6%206.7%205.3c-.4-.4-1-.4-1.4%200s-.4%201%200%201.4l5.3%205.3-5.3%205.3c-.4.4-.4%201%200%201.4z%22%20id%3D%22_icons%22%20fill%3D%22%23ffffff%22%20class%3D%22fill-000000%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\"","export default \"/images/small-dots.png\"","export const topTabBarpadding = '11.51px 14.16px';\nexport const helperSideBarWidth = 280;\nexport const pageSizes = {\n A4: 'A4',\n A3: 'A3',\n A5: 'A5',\n Letter: 'Letter',\n Legal: 'Legal',\n Ledger: 'Ledger',\n B5: 'B5',\n C5: 'C5',\n};\n\nexport const pageSizesDimensions = {\n [pageSizes.A4]: { width: 499, height: 670 },\n [pageSizes.A3]: { width: 531, height: 750 },\n [pageSizes.A5]: { width: 350, height: 499 },\n [pageSizes.Letter]: { width: 510, height: 680 },\n [pageSizes.Legal]: { width: 440, height: 750 },\n [pageSizes.Ledger]: { width: 900, height: 584 },\n [pageSizes.B5]: { width: 518, height: 726 },\n [pageSizes.C5]: { width: 460, height: 648 },\n};\nexport const STANDARD_PAPER_SIZES_MM = {\n A3: { width: 297, height: 420 },\n A4: { width: 210, height: 297 },\n A5: { width: 148, height: 210 },\n Letter: { width: 215.9, height: 279.4 },\n Legal: { width: 215.9, height: 355.6 },\n Ledger: { width: 431.8, height: 279.4 },\n B5: { width: 176, height: 250 },\n C5: { width: 162, height: 229 },\n};\n","import {\n IconArrowRight,\n IconCircle,\n IconHeart,\n IconHorizontalLine,\n IconSquare,\n IconStar,\n IconTools,\n IconToolsPink,\n IconTriangle,\n IconVerticalLine,\n ImageCustomTemplate1,\n ImageCustomTemplate2,\n ImageTemplate1,\n ImageTemplate2,\n} from '@/assets';\nimport theme from '@/theme';\nimport { pageSizes } from './layoutConstants';\n\nexport const sideBarpillsList = {\n template: 'Template',\n text: 'Text',\n image: 'Image',\n shape: 'Shape',\n qr: 'QR',\n whiteLabel: 'White-label',\n};\n\nexport const ButtonVarients = {\n primary: 'primary',\n secondary: 'secondary',\n};\nexport const shapes = {\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n};\nexport const defaultSideBarImagesList = [IconTools, IconToolsPink];\nexport const textList = [\n {\n text: '+ Heading 1',\n fontFamily: 'Open Sans',\n fontSize: 18,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 125,\n },\n {\n text: '+ Heading 2',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[700],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n // {\n // text: 'What problem are you facing in this meeting room?',\n // fontFamily: 'Open Sans Condensed',\n // fontSize: 18,\n // color: '#333333',\n // fontWeight: theme.fontWeights[700],\n // textDecoration: 'normal',\n // fontStyle: 'normal',\n // textAlign: 'left',\n // },\n {\n text: 'Scan this QR code from your mobile to report the issue',\n fontFamily: 'Open Sans',\n fontSize: 16,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n width: 220,\n },\n {\n text: 'property 1 > building 2 > Room 2',\n fontFamily: 'Open Sans',\n fontSize: 12,\n color: '#6D737B',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n {\n text: 'www.domain.com',\n fontFamily: 'Plus Jakarta Sans',\n fontSize: 10,\n color: '#333333',\n fontWeight: theme.fontWeights[400],\n textDecoration: 'normal',\n fontStyle: 'normal',\n textAlign: 'left',\n },\n];\nexport const elementTypes = {\n pageSize: 'pageSize',\n backgroundColor: 'backgroundColor',\n backgroundImage: 'backgroundImage',\n circle: 'circle',\n square: 'square',\n triangle: 'triangle',\n arrowRight: 'arrowRight',\n horizontalLine: 'horizontalLine',\n verticalLine: 'verticalLine',\n star: 'star',\n heart: 'heart',\n image: 'image',\n qr: 'qr',\n text: 'text',\n};\nexport const shapesList = [\n {\n shape: elementTypes.circle,\n icon: IconCircle,\n },\n {\n shape: elementTypes.square,\n icon: IconSquare,\n },\n {\n shape: elementTypes.triangle,\n icon: IconTriangle,\n },\n {\n shape: elementTypes.arrowRight,\n icon: IconArrowRight,\n },\n {\n shape: elementTypes.horizontalLine,\n icon: IconHorizontalLine,\n },\n {\n shape: elementTypes.verticalLine,\n icon: IconVerticalLine,\n },\n {\n shape: elementTypes.star,\n icon: IconStar,\n },\n {\n shape: elementTypes.heart,\n icon: IconHeart,\n },\n];\n\nexport const defaultElements = [\n {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: pageSizes?.A4,\n cuttingGuideStroke: 0,\n cuttingGuideStrokeColor: theme.color.black,\n },\n];\nexport const basicTextProps = {\n opacity: 1,\n text: 'Enter Text Here',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: theme.color.black,\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: theme.fontWeights[400],\n textAlign: 'left',\n lineHeight: 1,\n // width: 125,\n};\n\nexport const DEF_TEMPLATE = [\n {\n elements: [\n {\n type: 'pageSize',\n id: 'element-page-size',\n size: 'Ledger',\n cuttingGuideStroke: 50,\n cuttingGuideStrokeColor: '#000000',\n },\n {\n id: 'element-title-text',\n x: 70.86,\n y: 69.25,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'What problem are you facing in this room?',\n fontSize: 59,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n width: 750.7,\n fontVariant: 700,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element-bg-color',\n color: '#ffffff',\n },\n {\n id: 'element-qr',\n type: 'qr',\n height: 110,\n width: 110,\n x: 601.665,\n y: 269.005,\n fill: '#80D965',\n stroke: '#000000',\n strokeWidth: 2,\n draggable: false,\n qrText: 'https://fixalert.io/asbce',\n opacity: 1,\n logoVisible: false,\n rotation: 0,\n scaleX: 1.995,\n scaleY: 1.995,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n id: 'element-instruction-text',\n x: 72.25,\n y: 264.32,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'Scan the QR code to report directly to the person responsible.',\n fontSize: 36,\n fontFamily: 'Open Sans',\n color: '#000000',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 479.03,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n {\n id: 'element-location-text',\n x: 72.25,\n y: 490.45,\n opacity: 1,\n type: 'text',\n draggable: false,\n text: 'ABCE ',\n fontSize: 25,\n fontFamily: 'Open Sans',\n color: '#8c8c8c',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 400,\n textAlign: 'left',\n width: 376.1,\n fontVariant: 400,\n align: 'left',\n fill: '#000000',\n visible: true,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n offsetX: 0,\n offsetY: 0,\n skewX: 0,\n skewY: 0,\n },\n ],\n image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABwgAAASQCAYAAADoThs1AAAAAXNSR0IArs4c6QAAIABJREFUeF7s3QnYXdPZ//FVEQQVQUypIKRB0RJiiiFiDq0aQkhIzIRqldcsETETYxGNqKh5CPGGJGKKeYo5KkQbFDFVjImg//9v9z3pyZPnnLP3Wvc+Zz3nfNd15dKrz95rr/1Z++xh3Wv4iXPu346EAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAINIfATAoQNUc+cJAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKJAAFCLgQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNVNqeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAFCrgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEGkiAAGEDVTanigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABQq4BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBpIgABhA1U2p4oAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAUKuAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQaSIAAYQNV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c0T+hX+F31pLeU/1NQnZT9exfmd6dqiNQ1Z6X5CdTGN6fnBPDalp9s1bYM6cOck9SM99/Vff03ru6z228E7LMz/vWiB/BBBAoL4FYnovC5H+iXPu3yEZxLIvAcLa1oRGEGokUGh666233GqrrRaazdz9NX2hGgb0wVqNlMf6O6eddpo744wzgouvIOmee+6ZKR+rBtaDDz7YXX311amO/corr7innnrKPfvss+7xxx+vOLXqz3/+82Ta1BVXXNGts8467je/+Y3r0qVLqmPFtpEaWP7+97+71157zcnhpZdeck8//bTX9JsKoGrU6GabbeY22WQTp1EwHTt2jOqUFfANHXG7/fbbO12noUmNLy2psUrPPN3ffJIadbO+xKgB6JlnnnGPPPKImzBhgnv55ZfL3lf1u1x11VXdxhtv7HbbbTenaRprldTQpn9ZU0hjsrwefPBBd+edd7rHHnvMTZ06tezhdQ878sgj3fHHH5+1mEHbf/LJJ8n99vXXX59735k8eXKqPHWPWW+99dyvfvUrp2mwtYaw/htLsnp+6R4zbty4VKclS3UUeuedd9z06dOT+3mp6ZN1f9Y9Wc8tjbLXvTrkmktVwBIb1WOAUEFu1cerr76aPE9feOGF5L0iTSpc21p/cs0110yeobq2s9430xwryzbVvJfp+aL3D5k999xz7oknnnBvv/12yeKqoXWFFVaY+z62xRZbuF69eiXvZnklBU/uvfde98ADDyS/Nf3myk1XXijjpptu6hT4V73qfbElPfvzskybr4JWel4U/64qvQ+Uylu/L9VB165dk2fJ2muvnQTAap107WdtV9C9Qe9Wvunjjz92Y8eOTd4ZdK+qNO2+3rEuu+wyt9122/keMvN+9XhPzYyQcgd9z1mlWnyfWJa/Wu81eu/WM0vf0FqWRc/9F198MXUbkN7BfvnLXybvZPpm6datW83eyZq7dnzuS03zqca1ZHHtVKOcVr9P8kEAAQQkUOtvRKtaIEBoJdng+Zx11lnu5JNPDlb461//6vbdd9/gfAoZKMCixstqJX3s6sXUMqmR5dFHHw3O8v33308ab7IkqwbW3/3ud+6SSy4peWg1UiuAOXz48CTwEJpUD3369EmChXrRjzWpAULnq0YBNXIpIJpnUqPnrrvu6g466KAkYFjLpJGxmvq3UiNItcqohkyLQGO1yqt1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Vse87777nGZNskohFs2VwapTUCHvkKlPCRBaXSXkgwACCOQjEPotlU+psufKGoTZzdgjpYAaTUOmhSscJm2jV+jxyk0vGToFhtb0SNNLzuplPWQKq+LqtW5gVd5Wo5QK5dQIGI1us0jW6+xZlCk0DysfNSROmzYttDhz9ydAGEZp1aBfKEXo+hhNz+bVV19166yzTthJFu0d0vPWulG9UCyNvLvlllu8ewT74FieSx7T5P34449JvVsFCnwanQqu1s+vyy+/3GytHpXRciSB8ps0aVIygtMnWd1PQgKEmuLdZ4255s73ueeec127dvWhKLuPxXSImsp53LhxXmWz/P2rAOpsYNGBSHlZXUPFMPLW1K4WSaO8f//731tk5bSW9B//+EeTvMjEJVPhWzwzLEab5hkgtPy9pbluuKemUar+Nupkos4mFimks4LW/lPQKjSpfePTTz/NPAOS7qHDhg0LPXyyvwLv6hhknY4++mh36aWXmmSrZ61vBz8ChCZVQCYIIIBAbgIECHOj9cuYEYR+bnnupV7JnTt3Dj5E2kbM0BErWjur1ILvGlkWspaNesntsMMOFS369evn/vrXv1bcrtwGW2+9tdM0dBbJuoE1dDqU5s7JcoqS0KkMLcyt83jllVecRmCFJn0AKtBtlQgQhklaNsZquitNeWidLBuzX3zxRaf8fJJlOQrH15TUmpK4WqMAdNwPPvjArbjiij4E8+0TOiVluUKokbZPnz4m5dRzV2vJ+STr59dHH32UrP9omSxGpBXKExLAtLqfhAQIrUaf6lmlRn6LUWdN6/rDDz90K6ywQtAloNEeGpngk6zvZRZrthXOQ1OQ77777j6nVXKfb775xrVp08YkT6t3IRWmHjuTmSB7ZmK1RqTWoD/00EM9S/Gf3fIKEJ599tlOUxZWM3FPraZ2+mNp1Kym9tQ7RWjy/ea3eJYVyq73B5+pOLWkwdSpU0MJkv01VfEqq6xikldxJpYduTQi/o033vAqIwFCLzZ2QgABBKomQICwatTpDkSAMJ1Ttbdabrnlgl+AtZj34MGDyxZd9d+2bVvvaUAr9egObVhI22vMwuvMM890J510kklVWzewqgHJarRf8QlqallNMRuaNCJII+7qKVkFFQgQxnVVWDXo66yOOOIIp04Q1klrr1r16L3++utd3759vYpo3aiu34LWWdT9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RDMzrbPOOpUOm/rvCqKtvvrqqbevtGHo2n+alcWq853awkJnsSqc7zfffOOWX375oEB0UzsChJWuJv6OAAKxCRAgjKxGCBBGViEVihMyNWfImarnlnpwWSU1XrZp08Yqu0z5hKzJlfZAVg2s9Rwg1MimhRZaKC1p2e223357N27cOJO8lElo79PiglgH4m6//XandS0sUh5rg1mUK888rBr0i8t42mmnudNPPz242FdeeaXTOkVWSWVS2XxT7I3qWc7r448/TkaPWyWtx6t1eS2SOv+sv/76burUqRbZudDAsNXzq/hkdtxxx2SKqAUWWCDoHC+//HIzdxVE7poKyzdZ3U9CA4Rnn322O+mkk3xPY5791MD0wgsvuGWWWcYkvxgyif1eRoAwhqtk/jKceeaZ7pRTTjEpXMio7qYF0JT6Fh0uCvkSIJy/irmnmlz2NclE35d6jlkFhXxOwjKQ1NzxrWa5Ud6//e1vnZaRsWqkHTBggGlH7G+//dYtssgiPtWQ7GMZ7NdSPfpWs0jHHnusu/DCCy2ympsHAUJTTjJDAIEqCFg9e6pQ1LKHYARhrWugQY8fMjVnCFke8+jvsMMObvz48SHF8tr3rbfecquttprXvml3smpgrecAoSytevVZThtrVXeFa8U6QHjfffe5nXbaKe2lWHY7BRutpqkxKVAVMrFq0G9aVI0A23fffb3PQNO9br755t77N7dj6NoisTeqZ8Xadddd3d133511t5Lba1Si8gxJmlpUeeh3bZU03XLIaETre2DhvNSbXr8/3/TEE0+Yr5WjtWY1jaBvsrqfhAYINQJAv1erpCCzRhIuuOCCVllmykfTgj344INuxowZQffVwkFjv5cRIMx0eVRtY3UoPOCAA0yOd80115jkNXv2bLfVVlsFzaTS9IQIEM5fxdxTTS77mmWiDnKDBw+uyfFDOx6lKbTWINQSB1ZJo6UtglWamvXUU0+1KlZyz9S9MyTttttuTu/rVum1115zap8JSVdddZXT7EfWiQChtSj5IYBA3gIECPMWzpg/IwgzgtV485CpOUOK/q9//cstueSSIVnMt+/5558f1FjoU5hqvThZNbDWe4DQslefxWg4rb3ku25XqevROkD4yCOPJI1DFkmB1ddff90ttdRSFtm1iDysGvSbO1nVjc/UydOnT0+m9wlZ76RpeVS3H3zw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CZAACZCANgIUCLWhpWMSIAESIAESIAESIAES8Exg5cqVcuutt1p+KlWqZAl02bJlk6xZs8pVV10lZ86csc4XROpPXHv69GnPdabk4N5775WZM2dq8U2nJEACJEACJJDIBCgQGtb6FAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwTWL58udSoUcOzH68O1q5dKxUqVPDqhuVJgARIgARIgASSEaBAaFiXoEBoWIMwHBIgARIgAW0EKBBqQ0vHJEACJEACJEACJEACJOCZgAkC4auvvio9evTwfC90QAIkQAIkQAIkcDkBCoSG9QoKhIY1CMMhARIgARLQRoACoTa0dEwCJEACJEACJEACJEACngkELRDWrFlTFi5cKGnTpvV8L3RAAiRAAiRAAiRAgdD4PkCB0PgmYoAkQAIkQAKKCFAgVASSbkiABEiABEiABEiABEhAA4EgBUKccbh582YpWLCghjujSxIgARIgARIgARDgDkLD+gEFQsMahOGQAAmQAAloI0CBUBtaOiYBEiABEiABEiABEiABzwSCFAhnzJghDz74oOd7oAMSIAESIAESIIHIBCgQGtY7KBAa1iAMhwRIgARIQBsBCoTa0NIxCZAACZAACZAACZAACXgmEJRA2L17dxk4cKDn+OmABEiABEiABEggdQIUCA3rIRQIDWsQhkMCJEACJKCNAAVCbWjpmARIgARIgARIgARIgAQ8EwhCIIQwCIGQRgIkQAIkQAIkoJ8ABUL9jB3VQIHQES5eTAIkQAIkEMMEKBDGcOMxdBIgARIgARIgARIggbgn4LdA+N5770mbNm3initvkARIgARIgARMIUCB0JSW+F8cFAgNaxCGQwIkQAIkoI0ABUJtaOmYBEiABEiABEiABEiABDwT8FMg/Pe//y3333+/55jpgARIgARIgARIwD4BCoT2WflyJQVCXzCzEhIgARIgAQMIUCA0oBEYAgmQAAmQAAmQAAmQAAlEIOCHQFi2bFl55513pEqVKmwHEiABEiABEiABnwlQIPQZeLTqKBBGI8R/JwESIAESiBcCFAjjpSV5HyRAAiRAAiRAAiRAAvFIQKdAeNVVV8mIESPkn//8p6RNmzYe8fGeSIAESIAESMB4AhQIDWsiCoSGNQjDIQESIAES0EaAAqE2tHRMAiRAAiRAAiRAAiRAAp4J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cme1aygsSAIGEDh16pTgtxtiPn5n8JuN/8bLB74BiBlCCgSwiATfO/jWwTci+iD6Hr4b2ffYZVQRQL86efKk1aewqxriMhc4JKVLRqp6G/34TQBji9AClG3btlnj5yJFiljZgooVK2aJ/zQSIAESIAESIAF/CMTLGO4fIvIff5DprYUCoV6+9E4CJEACphI4duyYNTC2sxM1tXvAitvBgwdbabZ0/sivW7dOHn/8cWs3rVdr1KiRfPzxx17dsDwJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkIBNAjrnDm2GoOQyCoRKMNIJCZAACZBAUARUnFP0z3/+U959913fVthjRT/q9Ho+C9LOffXVV0GhZ70kQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkHAEKBAa1uTcQWhYgzAcEiABEvCBANLs4HxAL7sH27VrJ6NHj/Y9JbCKnY9Igbp27VofSLMKEiABEiABEiABEiABEiABEiABEiABEiABEiABEKBAaFg/oEBoWIMwHBIgARLwgcD8+fOlXr16rmu69tprrTMBcfZYEPbss8/KyJEjXVddu3ZtWbRokevyLEgCJEACJEACJEACJEACJEACJEACJEACJEACJOCMAAVCZ7y0X02BUDtiVkACJEACxhHo0aOHDBo0yHVcEydOlBYtWrgu77Ugdi4+9dRTrt00adJEPvroI9flWZAESIAESIAESIAESIAESIAESIAESIAESIAESMAZAQqEznhpv5oCoXbErIAESIAEjCNQt25dWbBggeu49u3bJ//P3n2AT1Hd+x//BlFpgqAgIIKCdIKiQdEAgooNa0QRe7miEnsJUVTsLRpL1KBGYwM7WFGjAorYBSsi2BUVUOlig/yfz9y7/H9lZnZmd3b37Oz7PM/vwXuZOXPm9Z2dH5nPnjOtW7fOef98d7zwwgvt3HPPzbmbESNGeMuj0hBAAAEEEEAAAQQQQAABBBBAAAEEEECgOAIEhMVxjnwUAsLIVGyIAAIIpEage/fuNnPmzJzPp9S/O3bffXd74oknch7/pZdeappFSUMAAQQQQAABBBBAAAEEEEAAAQQQQACB4ggQEBbHOfJRSv2QN/JA2RABBBBAIDGBxo0b29KlS3Pub+XKlVanTp2c989nx3nz5lnLli3z6cKef/5569+/f159sDMCCCCAAAIIIIAAAggg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BBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAWHM5hgAACAASURBVAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGhYwUlIHSsIAwHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAAGh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2AFhxuu2226zI444ohR8HLMMBAgI8yuSfj+tvfba1TqZNm2abbvttvl1zN4IIIAAAggggAACCCCAAAIIILBagIDQsYuBgNCtgvz73/+2I488MuugWrRo4b2jasCAAab/btasmfet97lz59qXX35pX3zxhSlE+fjjj2369OmB/WkJ07///e9Zj8cGCMQVuPjii72lHau2n3/+2dZaa624XdXanoAwb8KidvDrr7/a8ccfbzfffHPk4+6///7WoUMHa9u2rW200Uam96bqPrd06VL77rvvvJ85c+Z4oZ8e4kdpulc+88wz1rNnzyibB24TFsToSxe9e/f23XfRokXeUqeLFy82/ff8+fNjj+Phhx82zYikIVBTgIAwv2ti6tSp1r9//2qdTJ482ft3Fg0BBBBAAAEEEEAAAQQQQAABBJIRICBMxjGxXggIE6PMuyM9RG/fvr199dVXgX3p76+//nrbZZddLOqH6aeffjI95NLSfvfff7/3gD3TXn/9dfvDH/6Q99jpAIGaAn379q0V3BAQVt51oi8u7LnnnvbEE09kPXmFgKeeeqodfvjh1rRp06zbZzZYsGCBPf300zZ69Gj75JNPsu6nL0306tUr63ZBG4QFMWeddZYpHI/StJxh5kscjz76qE2YMCHKbjZ79mzr2LFjpG3ZqHIECAjzq7XuHxdccEG1TggI8zNlbwQQQAABBBBAAAEEEEAAAQRqCkTNNFyX+52Z/df1QUYZHwFhFKXibHPnnXfaYYcdFngwvX/qxhtvzGsGlpbQmjJlihcWfv755/bUU08V5+Q4SkUJLFy40JvtVbMREFbUZeCd7K233mr/8z//E3ri+uKDllXWzLi6devmjKTr67rrrsu6jKmWG9USuLkeK6mAsOaJarlnOWRbYloharHeUZtzMdix6AIEhPmRb7nllrVWXCAgzM+UvRFAAAEEEEAAAQQQQAABBBCoKUBA6Ng1QUDoTkE6d+7szQzxa/vtt5+NGzcu5wfa7pwlI6kEAc2E+tOf/lTrVAkIK6H6//8ctYTmpptuWm3Wck0BhXVPPvmkt1RyUk1ffth+++1DZxNqaWUtsZxLK1RAmBmLvsAxZMiQwKFpGdOvv/7aGjVqlMvw2SelAgSEuRd23rx51rJly1odEBDmbsqeCCCAAAIIIIAAAggggAACCPgJEBA6dl0QELpRkB9//NEaNmwYOBg9DG7VqpUbg2UUCGQROO6442zMmDG1tiIgrKxLR0uF3nHHHYEnrXd76Z16TZo0SRxGIaGWuQ1bslnvstx4441jH7vQAaEGNGrUKLvkkksCx3bLLbdknZkZ+8TYoawFCAhzL9+9995rw4YNq9UBAWHupuyJAAIIIIAAAggggAACCCCAgJ8AAaFj1wUBoRsFmTlzpnXv3t13MMOHD7ebbrrJjYEyCgQiCGywwQam2WM1GwFhBLyUbKIH65rFF9QGDx5sDzzwgNWvX79gZ/zRRx+ZZihWfe9q1YNpDI8//njs4xcjIFy5cqXtscce3uxKv3bAAQfYPffcE3vs7JBeAQLC3Gt7xBFH2O23316rAwLC3E3ZEwEEEEAAAQQQQAABBBBAAAE/AQJCx64LAkI3CvLEE0/Y7rvv7juYf//736aZODQEykHggw8+sG7duvkOlYCwHCqY/xh//fVX69GjR+CSyTrCN99847ukX/5Hr96DHvrr4X9Q03Kefsvhho2jGAGhjq/wUiGhX+vTp4+9/PLLSXPRXxkLEBDmVrxVq1bZuuuu6/tFAgLC3EzZCwEEEEAAAQQQQAABBBBAAIEgAQJCx64NAkI3CqLl4jRT0K8988wztuOOO7ox0Iij+Pjjj2369Ok2d+5c711ZWu5P/71ixQrbcMMNrU2bNt6f+tF7fxQm6P+XVNOD0lmzZtlbb73lhRQLFy60H374wZYvX25rrbWWaUlXHbtXr17Ws2dPb/Zmkssc6jg6XtXWoEEDW2+99QJPccmSJaZw7ZNPPrE5c+Z4Pxr3okWLvHeNNW3a1FtmdquttrI//OEP1qFDB3Pthvrqq6/ahRdeaAq8/ZrOae21145UZtWnTp06vttqacj27dv7/t1zzz0XOHNN16L21fWp2WUffvihZ6y66Dps3ry5afajwpegGb2RBp/jRgpQX3vtNe/zonF+9tln3vWg5Yfr1q1rm2yyiW200UbWtm1b23rrrb3/drFlmz14+eWX21/+8peiDF0P/1XP119/3fd4ucwiLFZAqOtU73D0a3pno96b5mrTtfziiy+uvvdrqdcvv/zSG7Ou53bt2q3+HaD7mu7/uh9HvT9EPW/NxFTt9VnS8fXzxRdfeH9q9qruI1pmVp8l/ej+2qxZs6jdJ7ad/i2m31fPPvusNz4F6N9++633O1Phle5RMtp22229n9atW9c6drEDwjTcr3Rd3Hjjjfa3v/3Nt5ZaInngwIGR6qwa6fd8Pq1crtd8zpF9EUAAAQQQQAABBBBAAAEEKlvAtefZuVbjd2b231x3dmk/AkI3qnHXXXfZoYce6juYxx57LHB2oRuj/99RKGgZP368acbjtGnTYg+tU6dOts8++3izJbt06RJ7fz1I1YwbHT9oWb6wTvWg+Nhjj7UTTzwx74fUxxxzjN18883VDqflFhVe1WzfffedXXfddV6wFqfJ6/TTT7cDDzww9P2VcfrMZVuFoVoq8h//+IcXCifVnn76adtpp518u4sbEMp99OjRsa5LXQ9axvGQQw7J6XqM4/D999+bviRw9dVX+y7NGtTXfvvtZyNGjLDtttvOqbD4tNNOs7///e++w1bIodC+kEuL1jywAiIFP0Ft8eLF1rhx48glK1ZAqLBAwXBQS2pGbuQTz7Kh/j2hgHvs2LHeco1BS7sGdbPOOuvYQQcdZLqu+/fvH3ru2casLwPceeeddsMNN4S+h9Kvn6OOOsp0D+/du3e2w+T99wsWLLArr7zS8/JbljnoALrvX3TRRd6XBqq2oH9kJ7kSQbnfr/S50hevFAzq31dJtbPPPjv27/HMscvlek3Kin4QQAABBBBAAAEEEEAAAQQqV4CA0LHaExC6UZCwJUb1EOu4445zY6A+o9DDdQUCt956a2Jj1Lu1FM5EaW+++ab3IFgPQOM+kPbrX8HQ9ddfb7vuumuUw/tu8z//8z+1PGrO+NGD4WuuucYuueSSnI+jHdXvvffeG3mWQ14Hq7HzqFGjvGAwCfea45o4cWJgDcICwhdeeMH69evndTdp0iQ799xzYwWDfj6aXXLKKafYGmuskSSf6Rq44IILvOstn6YlXW+77TZvVqELTTOxNGPMrylMHjJkSNGHqYAwaBbhgw8+aPvuu2/kMRUrINSAwsYtY820daHpd5i+XKEZr0k0fQFCM3zjNs0MPuuss7wvLeTb9P5KhXD5/C4IGoOW4dWXSM4888y87p+aiTty5MjVsx4VdPvdj5MICNNwv9J18de//jWx67RqfdXvpZdeGuuyK5frNdZJsTECCCCAAAIIIIAAAggggAACIQIEhI5dHgSEbhTklVdesW222cZ3MDvvvLM99dRTbgy0xijeeOMNGzp0aOIP22bOnGldu3YNPWdtM2zYMHvnnXcKYqMZGgoecwmF/AJCDVLLjmqpUC0dqGXi4swYyXaSV111lZ166qnZNkv074MeRidxkFwDQn2WFJRpdqVMkmoKHSdMmBC6TGycY+nBsD7bSQUqOraCYn0eS9nee+89+/3vf+87BM0Q02cgbFZcocb+z3/+05tt6dc0S1Sf9aitmAFh3759AwNu3T+0LG4p2y+//GKaORW0RGOuY9P9VzMR4zQtz6n3SSb9hQWFhAodk/oHrMa39957e19gSKLpc6X7nr4oEBTO5xsQpuV+pc/63XffnQR7rT7iBoTlcr0WBItOEUAAAQQQQAABBBBAAAEEKlYgqecrpQZkidFSVyBlx1+2bJnpIV9Q07vpcll2s1BMCpY160kzRpJumrWhWYHZmt4dVHN5tWz7xP17ze7IZYZfUECod/Tp/XF//OMfEw2GMuelJV61TGuxmosBod7jpXfgacZf0m2vvfbyQsJ8f5HpOhg0aFDiQYbO9/zzz7dzzjkn7zHmanfFFVd4M5r82v7772/33Xdfrl3ntZ/CNL1f0q/p3qulfvV+0iitmAFh2GdMSyUGvaczynnku41m8iqQDpqZmU//Wi5a74eM2rQ8byG/IKFrV7N09f7EfJoC8l122SVxM80k1xd2FDz6LfWcT0CYpvuVKwFhuVyv+Vzr7IsAAggggAACCCCAAAIIIICAn0C+z1VdUSUgdKUSKRqH3rk0depU3zPSu5AUeuT7cDIpLi2jpRkVhWhasvL444+P1PXuu+9uWtourOnBqfzWX399L4SdN2+evf/++6YZiFFaZkZalG0z2wQFhHrX4L/+9a/QWY8ao4JPhRmaaaKxxpkR88UXX3izSIrRwpaSzPf4ml0zcOBA327ClhjV+7w0ezCsZYx1TShojjOLT+80C5qJFuWcNWtE4WCUlrl2FQIplNKSi1HGqqULjz766CiHSHwbzYTWZ8avaRniI488MvFjRu1whx12CJy1pXeS7bjjjpG6KlZAqPeSBS0hqnc5fvnll5HGW4iNtNxkjx49Ys+C1mcv2/0sbmCrYFCBS5Smz5Ts1ltvPe93ge4l2caT6VdfXtHv6AYNGkQ5VK1ttKyovhwSJVCVgb4UpC+UrLnmmp6zlpTV+zuDmpZlbdSoUaIBYdruV0G/m3MqaI2d9OUMLWmdrZXL9ZrtPPh7BBBAAAEEEEAAAQQQQAABBHIRICDMRa2A+7DEaAFxY3atYCxsRp5mU2gJQT0ALGXTbII+ffpkHYIehJ5wwgnWvXt37yG3ltbU9aaZOp9//rn389prr9m4ceOqva9MD8VbtWqVtX9toFkme+yxR61t9c6oQw891Bvnxhtv7NuXZt/IUw/rwpb61Iw8zcyL0+I+hNSD5+HDh9v2229vHTt2rHUoPYxXODR69Oisy9LpnVSXX355nOHmvK0eeCssqdpuuummwNl7ixYtijxLq379+oHjCgsIg3bSdaJ3eW633Xa1HvD//PPPXlD4n//8J9KsWAULChriNp1/586dQ683XQtarnGzzTbzXc703Xff9d5dqdlMYa2YQXFmHD/99JOF1U3hZqFn/YaZaEbwZZdd5rvJhRde6C2VGaUVKyDUl0J0T/Brur+++OKLUYab+Da6j2s27WOPPRbat0Iuhel77rmnF8rpvq6wS9eJwi595rR0pe7jVb/ood+D1157baRxRwmwevbsaccee6zttttu1q5du1r9Lly40PsCjq6NbOHdGWecYZolm0vTNZYtQNKXB/QFmZ122snq1atX6zDffvutd5/SkrlBQbzf2HKZQZjG+5U+u/q9VbXpSzj6EpFf01LXAwYMiFTutddeO+uM3nK6XiOdNBshgAACCCCAAAIIIIAAAgggEFOAgDAmWKE3JyAstHD0/pcvX+49QA2bzdC+fXvvXVl6OFyKtmTJEuvVq1foLCYFmXoQqu2iNr1HUA+JV6xY4e0btelhn8JHBXwKbPQw+rDDDgsMBf36lbeWo9TspqCmmTp6wB21RQ0I9QBdS7UedNBBkd51qM+rHvSefPLJodeJHuw2adIk6nAT3U4BoR7G+zUFcVGXcQwbVJyAUO8O1GcmKCiueRwFa7qOwmamahboUUcdFdtNgbnqHdQ0K1chcBQjhQMKEYLuF/oc6jNVzDZ37tzAz4nuXXr3Zimbljc94IADfIegUEZf0ojSihUQht1H4gSaUc4pzjZh73PM9DNmzBg7+OCDI8961+8WzeJ8+umn7c9//rMXkGdr2kdfQFHYGNT0eTvmmGMiv/dSQaHcw2bqTps2zXuHbJz29ttv2+abbx66i8z0RZEo/1DWF1z0O0vnFqXlEhCm/X6VcVNAqNmwfk3XQ9SAMFsdyul6zXYu/D0CCCCAAAIIIIAAAggggAACuQpEee6Ra9/F3I8lRoupXUHH0vKFUZbX1Ht0/vrXv1q3bt2KqnP44YfbHXfcEXhMBUN6yF63bt2ijeupp57yZgRo1mCux/3xxx+9mU1BMwnvv/9+22+//SKfU5SAUOGgHj5uueWWkfvNbKhwSEs5BrWHH37Ym+FTiuZSQKhZg5olmsuSgJpt9OSTT/oS7rzzzqbrLk7LNvP2hRdeMIWZcdqMGTO8GZFBIWGxr4OwEOTAAw+0sWPHxjm9xLfVssIKlPyaPt/6nEdpxQgIH3nkEe99ckFtzpw5tummm0YZbqLbhIUpOpDua1OmTDHNhC10U5CvsDKovfzyy5Fmu9fcX18IUSgUFBIq7NZM3jj3Fb13UOFnUIv7zsVMP5pNqPtRthY3IKyE+1XGrFgBYTldr9muJ/4eAQQQQAABBBBAAAEEEEAAgVwFCAhzlSvQfswgLBBsjt2qHkOHDrUHHnggUg/777+/tySiZjMU+sOlpeD8lr/MDFRLW2qJtkKPIxJMDhvJXJ5+TTP2or7jSvtHCQj1sFgzwHJtGmvQdaLwWO+JLEVzJSDULFsFsFrSMJemWa1hs5i07KveYRil6XOt2UPq06/p2tI1lksL+1JBnNArl2PX3Cds+by4n6EkxlOzj7BgL86SnYUOCL/55htvKdqg4FdLJyv8KkUL+5KIZnFr2dOw3xNJjTnb5zPXwC0zPs2GlXPQ7MQ4MzgVNHbo0CHw1LUktH5/5tp0/9BS2WEtTkBYKferjFcxAsJyul5zvQ7ZDwEEEEAAAQQQQAABBBBAAIEoAuWaHdQ8N2YQRqk22+QkoGWoNHtJy5hFbZ06dfKWRdRSlVFDi6h9Z7ZT+Kd3ePk1Hf+9997LOYyJO5ZCbK+Hom3btvV9IKz3QmmmRtSWLSDU7D7N7sqnhQW2ccKOfMbgt68rAWEuywDWPJ+wOsbpf/r06YEzRTUL+K233sr5s/PLL79Y165dA2c7KWQq1ntL77nnHtNMQb92wQUX2DnnnJP05Ra7v8aNG/sGb3GWQC1kQKglbmUYdv/PdWZcbKwaO2imdcOGDQO7Uf2DlnDN99g199dSvLqm/Jpm4mpGbr7twQcfDJw5Hud6Oe+88+z888/3HY5mXGrmut/7BqOOX0s363dX2Lt04wSElXK/yvgWIyAsp+s16nXHdggggAACCCCAAAIIIIAAAgjkIkBAmItaAfdhBmEBcfPoWu/i07v0os4krHooLT+q9xgpJEryA6el+bREn1+bOHGit8RnubegZSW1XN6bb74Z+fSyBYRairFnz56R+wvacODA3GaSPAAAIABJREFUgd5yfjWbZvLMmzcv7/5z6cCFgFBLiz766KO5DL/aPs8//3zg+6fiLN+pcEAhgV/LZWnRmv2EzSJUyLHvvvvmbRGlg2uuucZ7n6dfu/HGG+24446L0k1Bt9loo40CZ4VF/X1YiIBQswbvvvvurDPJzj333MCwqaBwZjZhwgT705/+5HuY3r17m5Y+rlOnTqGH4fWvGXlBS4Dqs697QL5t1apVpvNSYObXFOxne1eirqmWLVsGhnd67+jFF1+c71BNny+9uzGoxQkIK+V+lbEqRkBYLtdr3hciHSCAAAIIIIAAAggggAACCCCQRSDJvKKU2MwgLKV+hRxbDydvvvnmnB+qa1bfSSed5AWNYbM+onDqfUtBgZbe1aSlHNPQ9IBVD1prtjZt2pjeSxW1hQWEqsuHH34YtavQ7cKOEzXsSGQgVTpxISDMd/nWzOl89tln3rsp/dott9ziLSUbpWm5yNmzZ9fadPvtt7fnnnsuSheh28yaNcubRejXivnuP4UdQUvbxn2PZ94oAR0o0Ala6jXqbMuwgFDvYdVsoaCm96XqOMuWLfOCSn1ZQO97C3s/XaavwYMH2/jx422ttdYqFE9ov2HLGuuLCnofZjFa2O8jzezTZ22NNdZIZChPPPGE7b777r59RQlrP/30U9OYgtrHH38c+vdRT+Lbb7+1Vq1aBW4eJyCslPtVBqvQAWE5Xa9Rrze2QwABBBBAAAEEEEAAAQQQQCBXAQLCXOUKtF+pQoQCnU4qu1UwpaX57rjjjpzOT0uYaYaCwoz69evn1EfYEmmuzAzK6cRq7HTllVfaGWecUasrGWrp16gtLLhLcqnFSy65xEaNGuU7rJ9++snWXnvtqENObDsXAsIffvjBmjZtmvc5KcwJCmP0mVIglq0pDO7SpYvvZkleC0Ez4xTsK4QqRgu77os5kzHsXPv3729Tp0713URLNDZv3jwrVVhAmHXnHDfQu//0hZFc36mZ42FX76b7X5MmTXy70f1x4cKFiYVy2caq9/8pnPNrmk2r5baTalq+M2j5zyjLjGqm8T777OM7HAW+eldiUm2rrbay119/3be7qAFhJd2vMlCFDgjL6XpN6lqkHwQQQAABBBBAAAEEEEAAAQSCBAgIHbs2CAgdK0jIcL7++msbM2aMaRk/zUCJ27Ts5FVXXWUHH3xw3F1tp512smeeecZ3Py07GjR7KfaBSrzDvffea8OGDas1iiQDwieffNJ22WWXRM407J1v33//vTVr1iyR48TppNQBYdKBWFDwpiD5iiuuyErzj3/8w0488UTf7ZKa6ajONctJs51qtrjXbtYTCtngmGOO8UIsv5bUso/5jE/7brPNNt5SmH5t7ty51rp166yHKGZAqPu2gmQtG13Kf0C99NJL3rLVfq2Ys1R1/LCQd9GiRYFBZtbCBmyg+3XQDE8tcxo0y1jdKchUQOTXtGTr3nvvneuwau0XdqyoAWEl3a8ygIUOCMvpek3sYqQjBBBAAAEEEEAAAQQQQAABBAIESvl8K8misMRokpr0FUvgxx9/tLFjx5pmu/ktW5itMwWEmmXRuHHjbJuu/vug9w/q4bWWNkvLB/uhhx6yIUOG1HKJG7KEzaT6/PPPrW3btpHtwzacNGmS7bDDDr6bVGpAeMIJJ9h1112XiK866du3r02bNq1Wf6eddpr3GczW9E4+hfp+LamZjuo77JrTTMi6detmG2ref//Xv/7VLr/8ct9+FGYfcMABeR8j3w7C3gUWNVwqRkCoe46CpaOPPtoaNGiQ72nnvX/YTLjbbrvNjjjiiLyPEbWDoBrGvU9HPZ6+CDBy5EjfzV9++WXr06dPYFdBwb12SPrLNfp3QdAXgKIGhJV0v8oUrdABYTldr1E/E2yHAAIIIIAAAggggAACCCCAQK4CackRCAhzvQLYLzEBvaPw+eefNz34u+uuu2L1q6XRnnrqKevYsWOk/RQm+s1a1Dup7rvvvkh9lGojjVtLBy5YsMD7Wbx4sS1fvtwUtOrPqj96YOs3uyjug+ewsEZ1S+pGqPd+DRw40Je2UgNCLbt65plnJna5Bc3+iBoQDh061PT+Pb+moD6pptnBms3k1zT7OOz9ZEmN4bLLLgu0v/76603v+Cx1C7qXaVxRP5uFDgjlePzxx+f97tgkrcNmBr/33numL5EUqwXdP7fYYgt78803Ex+G3rGr94X6tUceecT23HPPwGNuueWWNn36dN+/T/ILAjrAa6+9ZltvvbXvsaIGhJV0v8pAFTogLKfrNfEPDx0igAACCCCAAAIIIIAAAgggUEMgqefipYYlICx1BTh+NQG9/0lB3dVXXx15VqFCwjfeeCPru9rC3sGkpROvvfZaZ6qhsE8Pc/WQWO9ieuGFF3JajrXmCSUVEGrG5bx58xLzIiCsTfnPf/7Tjj322MSM8w0Iw5aXS2yQWTrSOwi19GqhW1iIdP755we+N67Q48r0H/ZOyTif8UIHhLfccos3I9SlpmVOR48e7TskzSLfYIMNijLcZcuWmWrl1/Suv/Hjxyc+jnfffTfw86MldTXLM6iFzVhNeol31SHoiwBRA8JKul9lalbIgLDcrtfEPzx0iAACCCCAAAIIIIAAAggggEANAQJCxy6JpB9QOXZ6FTcczYB57LHH7OKLL/YCsmxt0KBBNnHixNDlB/VerjZt2vh25cJDf13DOodx48Z5P4VoccIDHT9oBmGnTp3sww8/TGyIBIS1KZNeyjLfgDAsIEjsQsjSkWYw9erVq+CHC3qHpw6c9NKvuZyMZhIHBVlxPpthAWG3bt3sT3/6U9bhffXVV3b77bf7bqf7zccff2zNmzfP2k+xNhgxYoQpfPdr+hLJWmutVZShaJasPlN+Tctj/v3vf098HKqV3kXq17L9Dgyasaov6KjGSbawMCpqQFhJ96uMfSEDwnK7XpO8HukLAQQQQAABBBBAAAEEEEAAAT8BAkLHrgsCQscKkuBwtPTZ8OHDveU1w5qWJw16b5H2mzFjhmnpNr9W6mUDNUNQ74byWxY0QUpvxsqSJUsidxkUEPbu3dtbBi6pRkBYW1Jh8a677poUseUbELrwS69YAaGWLQ6yd2E54g8++MAU4Pm1fv36eTOOo7SwgPCss87yvqCRrel3r47p935L7XvUUUfZv/71r2zdFO3vFXpOmDDB93jF/HfEq6++GvjOP70TVEv/Jt3CgrfjjjvObrzxxkCXOnXq+P6dlix97rnnEh3qypUrA7/sEzUgrKT7VQa/kAFhOV2viV6MdIYAAggggAACCCCAAAIIIIBAgIALzx6SKA5LjCahSB8FF9A7jrTc4gMPPBB4rD59+tjLL78c+PeTJk2yHXbYwffv77jjDjv00EMLfh5+Bwh731nSA0oqIPzjH/9oL774YmLDIyCsTamH7kHvC8sFPp+AMGx53lzGkus+xQoIw2bLJL28bi4Wd999tx1yyCG+u+r/f+edd0bqNomAUAdSXfSOuqCme4XuGS60vn37+oaZxa5r2O8j/U7QF0aSbmHB2xlnnGFXXHGF7yFXrFhhDRo0yPt6i3M+Qf/IjhIQVtr9KuNayICwnK7XONcZ2yKAAAIIIIAAAggggAACCCCQqwABYa5yBdqvmN/8L9Ap0G0WAT3MPuCAA+yhhx4K3DIsQAj7BrxmTmgGRTGbrtkzzzzTLr/88kiHVbinmXubbbaZtW3b1tZff33vvYv6qV+/vvcAt2HDht5/azallqmr2QgII1F7G4W9hy6ppQg//fRT0xJ9fs2lgFBL/q6xxhqBeEEzc6NrR9tS72Vr165dtI3z2EqfzSZNmgS+91Mz+Lp06ZLHEfLb9Ygjjghc1lPXrWZcR2lJBYQ6VtjSnZrt+NZbb9maa64ZZVgF3Wa33XazJ598Mu97Y76D1NLZW221lW83hZrRrnf8NmvWzPeYqt8NN9zg+3dhn//DDz/cFNol3fIJCCvtfpWxL2RAWE7Xa9LXIv0hgAACCCCAAAIIIIAAAggg4CdAQOjYdUFA6FhBCjQczWTYfPPNbfbs2b5H0Hub/IIxbRw2K+iiiy6yUaNGFWjU/t1ecMEFNnr06NBjKjzSw/7Bgwdbjx49Io9PS/odffTRtbYnIIxMSEBYg0rvLtM7zGq2fffd1x588MHosGWy5Z577um9B9Wv6R12mtFciqbfdS1btgxccvmdd96x3//+95GGlmRAuGDBAu+dekuXLo19b4402IQ20pKnt912m29vv/76a+h7bBMagtfNRx99ZB07dvTtMtv7AHMdR9gXEs455xzT76SgFvQOwn322ccU3CfZklhitNLuV/IvZEBYbtdrktcjfSGAAAIIIIAAAggggAACCCDgJ0BA6Nh1QUDoWEEKOJxbb73V9G48v3bqqafaVVdd5ft3enCth5x+TaGiwsVitXnz5nkP+cPazTffbJqdkcusGwLC/CvJDMLqhttss43vOzLjvPMu/6oUr4dLLrkk8EsDhQhFop5Z2PsH9QUAzRILm+1Z9ThJBoTqVzOx//znPweeypdffmlt2rSJeqoF2U7vVrz00kt9+1bIqZnZxWjfffedNW/e3PdQJ598sl199dWJDyPsPbz6vanfn0EtKHAbNGiQ/ec//0l0rGG/q6MsMarBVNr9SudcyICw3K7XRC9IOkMAAQQQQAABBBBAAAEEEEDAR4CA0LHLgoDQsYIUcDjLly+3Ro0a+R5hv/32s/vvvz/w6EEf3AMPPNDGjh1bwFFX71rvlwp635O21LsWhwwZkvN4rr32WtND5pqNGYTRSQkIq1vpevRb3leBj4KftDWFHjvvvHPgaf3yyy85hff5Oo0ZMyZwOeS99trLHn744ciHSDogVH9aAnnmzJk53Z8jDzyPDYPujepS4+7atWsevUffNcw+2++x6EepvqWWVtUSq34tW/Cmump2as1WiM//3LlzA4PkbOPMjK/S7lc670IGhOV2veb6GWE/BBBAAAEEEEAAAQQQQAABBKIKEBBGlSrSdgSERYJ25DAbbLCB7xJ722+/vendbUFNS+BpqdGarUWLFqZZfcVoWiZV7wsMapo54hfuxRmbli71Wy6OgDC6IgFhdasTTzzR/vGPf/gCfvPNN1lnxEaXd2PLH3/80TunoCUzowYVSZ5NtgDummuusZNOOinyIZMOCHXgKVOm2MCBAwPHoJBql112iTzGpDe89957bdiwYb7dFrumQbPydJ9evHixJf0PTS0jquW0/Vq2d57utNNO9swzz/juq7EGzc7PpX7PP/+8DRgwIK8aVdr9SliFDAjVfzldr7lcd+yDAAIIIIAAAggggAACCCCAQByBpJ/bxDl2ktv+zsz+m2SHpeqLgLBU8qU57pZbbmnTp0+vdXDN+HnqqacCB9W3b1+bNm2a79/PmjXLOnfuXPAT+vDDD61Lly6+x+nWrZv3kC/fdswxx5iWKK3ZCAijyxIQVre67LLL7Mwzz/QFfOSRR0zv7EtbO+200wKXHtaXCvRlg4YNGxbttG+//XY74ogjAo+nLzloXFFbIQJCHXvo0KGBM7n1XtX33nvP6tevH3WYiW6nIGzHHXf07fPggw+2u+66K9HjhXWmpbK1ZLZf0+8B/T5IsgUtu6ljZAv5wma9v/LKK7b11lsnNlS943PEiBG+/UUNcSvxflXogLCcrtfELkY6QgABBBBAAAEEEEAAAQQQQCBAgIDQsUuDgNCxghR4OEEzCLMtFRr2wF9L9ylYK3QLW+btuOOO897jlW9T0Dl79uxa3RAQRpclIKxu9dJLL9kf//hHX8Dhw4ebvNLWtORk9+7dA0/rwgsvtLPPPrsop60ZjZtssonvzGkNQIHKDTfcEGsshQoIv/jiC2vXrl3gWM4//3w799xzY401qY3nz59v+v3h13R/XLRokdWpUyepw4X2c+edd9phhx3mu42+4HH00UcnNo6w9/ptscUW9uabb4YeK2zmpWara3ZiUu2oo46y2267zbe7qAFhJd6vCh0QltP1mtS1SD8IIIAAAggggAACCCCAAAIIBAkQEDp2bRAQOlaQAg5nyZIl1qRJE98j6KGzHj4HtbCHhv369bMXXnihgCP/367DZkfccccdduihh+Y1hq+++spbCsyvERBGpw0LCL///ntr1qxZ9M4Ctvz0009NM6r8WrYl/+IevH///jZ16tRauyk0v/LKK7N2t2rVKi/00fXl1xS8NG/ePGs/5bZBkFvmPPS+tNatWxf8tC699FI766yzAo+TywzoQgWEGuTFF18cGp7OmTPHNt1004K7+R0gbLnMSZMmhS6RmuSAP/roI+vYsaNvl0n/PgoLd0455ZTAmbKZwYXNfO/UqZPp75Noerfn+uuvn/fSvpV4vwoLCB999FHbY4898ipROV2veZ0oOyOAAAIIIIAAAggggAACCCAQQYCAMAJSMTchICymdmmPlc/yYytXrvQe5ivM8GuPP/64DR48uKAnqPeE6YGsX5s4caLtuuuueR1fszn0DkK/RkAYnfaee+4xzUj1a1retlevXtE7C9iynAJCncKoUaPskksu8T2bUs4Ky7sQIR2MHz/e9t1338AttKyxtgl7r2i+43vxxRdNgVFQ22uvvezhhx+OfZhCBoSa8aiZzEGBsu5zut+Voml2mmap+bXevXublswsxixC/bulR48eppmqfu3pp582hZn5tp9//tkLY4NqESUU1e/Opk2bBgZ3SS0zGjbDXg5RZxBW4v0qbOau3h97/PHH53UpldP1mteJsjMCCCCAAAIIIIAAAggggAACEQQICCMgFXMTAsJiapfuWHrQ2bZt28CA7+WXX7Y+ffqEDjBsmVG98+ntt9+2unXrFuwk77vvPjvggAN8+7/uuuvshBNOyPnYYcvnqVMCwui0Ye8qmzBhgu29997ROwvYstwCwnfeecc222yzwPN+4403TO8HTVtTrfWexaCmpVf15YJ111038VP/z3/+Ywohw9rrr79uf/jDH2Ifu5ABoQaj0HKfffYJHNcDDzxgQ4YMiT3ufHdYsGBB6Lsa77//fttvv/3yPUyk/e+++2475JBDfLdVWPnqq69a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PvhAvfTSSwrvJXSvXr26+v333z27g+0WW2yhDjvssEDPpvfff19dc8016sUXXwysf86cOapq1apWfTXpaVVBjIW+/fZb9corr6jZs2ern376ybsXuZ8Zp9wj4NK5c2e14447emMv6IEYVw7CoLmErm644Yaqdu3a1r0uxviwVQ4ieerUqQrc/TmJMJvMc1WqVPHmJMI9cg9tv/32gaEfbdsqtBw6Tp482dPRv8+Zp/nYRk/ubcYwR+PGjdWmm26qOnbsaDX+sc24cePURRdd5I25fIGAZzzaCHjRvk4effRR1a9fv8CfFy9eHDimmBeC3jFq1Kih6tWrZ6OWc5nffvtN/fHHH4HXMe+vu+66znXaXEC7o0aNUv379w8sTmjMSy65xKYq7zlVp04dq7KmQuRB/PLLL735mTHHGOT5zTObZwsH448x16FDB7X55ptHbjOpCtJ6ZhRKEDLXcy3Pw7lz53q4c18wznl/a9CggTf/77DDDooclWlLKcyVaWMi7QkCgoAgEBcCQhDGhaRdPcUmCPneffPNN9Vbb73lnadPn26n+P+W4jts1113Vbvssot33mabbZyuT7uwEIRu60S8C+aOD97BXaRVq1aK9QB/fPD9Us4iBGG61pUQo+niLa2ZERCCMGMjRAjCbBkEEu++++6rpBREC4tN+cIi3y233KKuvfZa7YJo7jWEcmSRylVoe+jQod7hIuecc45HSkKERBUW+VnkzJUBAwaoO+64Y42qIUrPPPNMxeKorWy11VbqpJNO8rxw1l9/fdvLCiqH3SB0sfMzzzzjVAcL/vT7yCOPjI2AZVH7qKOOWkMPFjyDCANIvVNPPXUNewR1ZOzYserAAw/0foKwGj16tLrrrrucP6RMII0fP1717NnTCcc4C69YscKzJV5cn376qXXVEIW33nqr6tatW6VrevXqFUicErbw4Ycftq4/aC7hYj5EJ06caF1PWuPDWiGlFBsGwPu2224LDFGrqwvCGgKHD64kX0Z4rkJcPvbYY57NdISVTk9IXDzR0JfNFpB3ucK9OXz4cHXnnXc69T8MY/SEnAoSV4IQHSE9g4RnGhs4krABGz6YE4IEonannXYKg8Hpd+75e++9Vw0bNszpOlNhSKR33323oPqYZ3mu8LxmE4eL7LXXXur0009X++yzzxpjzqWeuMoW45nhShDyLL/yyivV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QhBmzJpCEGbMIKKOICAICAKCgCAgCAgCKSFgIgjffPNNtcsuu6SkiV0zJn3HjRun9ttvP7uKpJQgIAgIAoKAIBADAkIQxgBiilUIQSgEoRCEQhCmOOWUTVNCEJaNKTPTESEIM2OK/6+IEITZMsiff/6pfv3110pKrb/++qphw4ZaRefPn6/efvtt9d577yn+vXDhQlW1alX1+++/q0aNGqnGjRurpk2bqj322ENts802Ku2bkDH28ccfq7lz56pvv/1Wsbj31VdfqXXWWUetXr1aNW/e3NPv3//+t2rXrp3q2LFjrEYBk1WrVlWqs379+qp69eradtDvueeeUyRt/uGHHzxdwbV27dqqTp06qk2bNmr33XdX3bt3d9IVDL7++mvPTt9//713fPfdd+rHH39U6AQOm2yyiWrSpIl3xnabb765atCggVM7roUZd4wf9KG/nLEVejH2mjVrpjbbbDNPP46uXbsqxmXcEmQrMKhSpYq2KTDlwGazZ89WX375pWevpUuXqrp166p69ep59tphhx28sVWzZs241Y6lviyN09wO/f3332rq1KkV9+4333zjjWE+rrEL9y/3LuNi++239/6dtPz888+enefNm1dxHzFe+Zv7Gh04/HuIM38zjguVIPtwX1arVi2wyhUrVqjp06erSZMmqS+++EItWrRILViwwBuPK1eu9O5t7q3tttvOm5uZV9IW5sUPPvhAYdPc+Yh/gyNzD5j5eHbp0sW7p+KWoOdejRo1PKx0wvMNXBmLc+bM8Y7Fixer3377zbvHwROM0blTp06qRYsWiT/7ijG/B41LMNt0002t+2si3N59911v7swXnt2TJ0/2bIAO/nNj2bJlauONN/aeYZw7d+7sEYym563reEqbIMziHOiKmZQXBAQBQUAQSA4BIQiTwzaJmoUgFILQNK74Lpo4caJ66623FBvl+MZ0Eb45dt11V+/9l7PrtzHrGbTrt897touw7uG3v9tuuxnXEamX9a7c9n755ReX5lT79u0V7fj9NX2/BVX8ySefVGqf7zmRbCIgBGE27VLKWqXNTSSF1b/g1pKqPM16hSBME+3wtk455RR13333VSq4xRZbeIvh+cJi5LnnnqteeOGF8Ir/twQLdscdd5y64IILPEIqSWFRbfTo0eqmm25Sn376qXVTLCiec8456qCDDtIuvttWBvkG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BBBAAAEEEEAAAQQQQICAkD6AAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQBMJEBA2UWNzqAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggQENIHEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEGgiAQLCJmpsDhUBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABAkL6AAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJNJEBA2ESNzaEigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggQEBIH0AAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECgiQQICJuosTlUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgI6QMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIINJEAAWETNTaHigACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAABIX0AAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgSYSICBsosbmUBFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAgIKQPIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIINBEAgSETdTYHCoCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACBIT0AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSaSICAsIkam0NFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgICQPoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAEwkQEDZRY3OoCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCBAQ0gcQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQaCIBAsImamwOFQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAECQvoAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAk0kQEDYRI3NoSKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCBAQEgfQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKCJBAgIm6ixOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECAjpAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgg0kQABYRM1NoeKAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAEhfQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBJhIgIGyixuZQEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEECAgpA8ggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg0EQCBIRN1NgcKgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIEhPQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBJpIgICwiRqbQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA+gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEATCRAQNlFjc6gIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIEBDSBxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBoIgECwiZqbA4VAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQJC+gACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACTSRAQNhEjc2hIoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAL/tz07JgAAAEAQ1r81QVgEp58ECDgIbYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASMBBOCpbVAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIOQhsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMBJwEI7KFpUAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAg9AGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwEHISjskUlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg4CC0AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIjAQfhqGxRCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAS0VvX1w8c1BwAAAABJRU5ErkJggg==',\n },\n];\nexport const defaultTemplates = [\n {\n image: ImageTemplate1,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'Ledger',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageTemplate2,\n title: 'temp-name',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Default Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const customTemplates = [\n {\n image: ImageCustomTemplate1,\n title: 'Custom temp-1',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 1',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n {\n image: ImageCustomTemplate2,\n title: 'Custom2',\n elements: [\n {\n type: 'pageSize',\n id: 'element1744780067175',\n size: 'A4',\n },\n {\n id: 'element1744780116472',\n x: 134.58287570698877,\n y: 95.49999999999956,\n opacity: 1,\n type: 'text',\n draggable: true,\n text: 'Custom Template 2',\n fontSize: 16,\n fontFamily: 'Open Sans',\n color: '#eee8e8',\n textDecoration: 'normal',\n fontStyle: 'normal',\n fontWeight: 700,\n textAlign: 'left',\n fontVariant: 700,\n align: 'left',\n fill: '#eee8e8',\n visible: true,\n width: 172.92,\n rotation: 0,\n scaleX: 1,\n scaleY: 1,\n skewX: 0,\n skewY: 0,\n offsetX: 0,\n offsetY: 0,\n },\n {\n type: 'backgroundColor',\n id: 'element1744780122624',\n color: '#7e1515',\n },\n ],\n },\n];\n\nexport const normalFonts = [\n 'Open Sans',\n 'Roboto',\n 'Lato',\n 'Montserrat',\n 'Source Sans Pro',\n 'Inter',\n 'Raleway',\n 'Poppins',\n 'Merriweather',\n 'Noto Sans',\n 'Work Sans',\n 'Ubuntu',\n 'Nunito',\n 'Playfair Display',\n 'DM Sans',\n 'PT Sans',\n 'Quicksand',\n 'Baloo 2',\n 'Amatic SC',\n 'Plus Jakarta Sans',\n 'Rubik',\n 'Oswald',\n 'Kalam',\n 'Caveat',\n];\nexport const funkyFonts = [\n 'Open Sans Condensed',\n 'Lobster',\n 'Pacifico',\n 'Bangers',\n 'Shadows Into Light',\n 'Indie Flower',\n 'Fredericka the Great',\n 'Chewy',\n 'Coming Soon',\n 'Gloria Hallelujah',\n 'Luckiest Guy',\n 'Patrick Hand',\n 'Rock Salt',\n 'Architects Daughter',\n 'Boogaloo',\n 'Concert One',\n 'Courgette',\n 'Great Vibes',\n 'Handlee',\n 'Mansalva',\n 'Satisfy',\n 'Special Elite',\n 'Titan One',\n];\n\nexport const fontFamilies = [...normalFonts, ...funkyFonts];\n","/* eslint-disable max-len */\n\nimport enTranslations from '@/assets/locales/en.json'; // English\nimport ruTranslations from '@/assets/locales/ru.json'; // Russian\nimport plTranslations from '@/assets/locales/pl.json'; // Polish\nimport deTranslations from '@/assets/locales/de.json'; // German\nimport esTranslations from '@/assets/locales/es.json'; // Spanish\nimport frTranslations from '@/assets/locales/fr.json'; // French\nimport itTranslations from '@/assets/locales/it.json'; // Italian\nexport const SUPPPORTED_LOCALES = ['en', 'ru', 'pl', 'de', 'es', 'fr', 'it'];\nexport const TEXT_DICTIONARY = {\n en: enTranslations,\n ru: ruTranslations,\n pl: plTranslations,\n de: deTranslations,\n es: esTranslations,\n fr: frTranslations,\n it: itTranslations,\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { propTypes } from './props';\nimport { SideBarWrapper } from './styled';\nimport { SideBarPill } from '../SideBarPill';\nimport { IconImage, IconQrCode, IconShape, IconTemplate, IconText, IconWhiteLabel } from '@/assets';\nimport { sideBarpillsList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nexport const SideBar = ({\n selectedSideBarItem,\n onClickPill = () => {},\n disableWhiteLabel,\n styleProps,\n languageLocale,\n}) => {\n const sideBarItems = [\n {\n id: sideBarpillsList.template,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n icon: IconTemplate,\n },\n {\n id: sideBarpillsList.text,\n text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n icon: IconText,\n },\n {\n id: sideBarpillsList.image,\n text: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n icon: IconImage,\n },\n {\n id: sideBarpillsList.shape,\n text: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n icon: IconShape,\n },\n {\n id: sideBarpillsList.qr,\n text: TEXT_DICTIONARY?.[languageLocale]?.QR,\n icon: IconQrCode,\n },\n {\n id: sideBarpillsList.whiteLabel,\n text: TEXT_DICTIONARY?.[languageLocale]?.WHITE_LABEL,\n icon: IconWhiteLabel,\n },\n ];\n const onClickSinglePill = useCallback(\n e => {\n onClickPill(e);\n },\n [onClickPill],\n );\n\n const renderPills = useMemo(\n () =>\n sideBarItems?.map(item => {\n if (item?.id === sideBarpillsList?.whiteLabel && disableWhiteLabel) {\n return null;\n }\n return (\n <SideBarPill\n key={item?.id}\n id={item?.id}\n isSelected={selectedSideBarItem === item?.id}\n onClick={() => onClickSinglePill(item?.id)}\n icon={item?.icon}\n text={item?.text}\n languageLocale={languageLocale}\n pillActiveColor={styleProps?.primaryColor}\n />\n );\n }),\n [selectedSideBarItem, onClickSinglePill, languageLocale],\n );\n\n return <SideBarWrapper>{renderPills}</SideBarWrapper>;\n};\n\nSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n languageLocale: PropTypes.string,\n title: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n editorHeight: PropTypes.number,\n editorWidth: PropTypes.number,\n onSetBackgroundColor: PropTypes.func,\n elements: PropTypes.array,\n history: PropTypes.array,\n redoStack: PropTypes.array,\n onSetBackgroundImage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n shapeOpacity: PropTypes.number,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onSelectElement: PropTypes.func,\n stageRef: PropTypes.object,\n saveHistory: PropTypes.func,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n loadingImages: PropTypes.bool,\n loadingFonts: PropTypes.bool,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\nimport EditorBg from '@/assets/images/small-dots.png';\n\nexport const Container = styled.div`\n flex: 1;\n display: flex;\n background-color: ${theme.color.white_F7F7F7};\n background-image: ${({ selectedTab }) => (selectedTab ? 'none' : `url(${EditorBg})`)};\n position: relative;\n flex-direction: column;\n overflow: hidden;\n`;\n\nexport const InnerContainer = styled.div`\n // display: flex;\n // flex-direction: column;\n // overflow: auto;\n // flex: 1;\n // align-items: center;\n // justify-content: center;\n // flex-grow: 1;\n // background: green;\n // // min-height: 100px;\n\n display: grid;\n place-items: center;\n overflow: auto;\n flex: 1;\n position: relative;\n`;\n\nexport const InnerContainerWrapper = styled.div`\n display: flex;\n flex-direction: column;\n overflow: auto;\n flex: 1;\n justify-content: center;\n min-height: ${({ editorHeight }) => editorHeight || 500}px;\n height: ${({ editorHeight }) => editorHeight || 500}px;\n min-width: ${({ editorWidth }) => editorWidth || 400}px;\n width: ${({ editorWidth }) => editorWidth || 400}px;\n`;\n\nexport const Title = styled.p`\n border: 1px solid ${theme.color.gray_E8E8E8};\n align-self: flex-start;\n font-size: 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[300]};\n color: ${theme.color.gray_7A7979};\n padding: 0 6px;\n border-bottom-width: 0;\n`;\n\nexport const EditorBox = styled.div`\n height: ${({ editorHeight }) => editorHeight || 470}px;\n width: ${({ editorWidth }) => editorWidth || 350}px;\n min-height: ${({ editorHeight }) => editorHeight || 470}px;\n min-width: ${({ editorWidth }) => editorWidth || 350}px;\n background: ${theme.color.gray_25};\n box-shadow: 1.317px 1.317px 1.317px 0px rgba(0, 0, 0, 0.08);\n // transition: all 0.1s ease-in-out;\n overflow: hidden;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n canvasBackgroundImage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onSetBackgroundImage: PropTypes.func,\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n onChangeBackgroundImageOpacity: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n defaultTextProps: PropTypes.object,\n onChangeTextProperty: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n translation: PropTypes.object,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToolBarWrapper = styled.div`\n display: flex;\n padding: 10px 30px;\n align-items: center;\n border-bottom: 1px solid ${theme.color.gray_EAEAEA};\n background: ${theme.color.white};\n flex-direction: row;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n // pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n // overflow: auto;\n`;\nexport const OverlayBlocker = styled.div`\n height: 100%;\n width: 100%;\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n background: rgba(255, 255, 255, 0.1);\n z-index: 100;\n cursor: not-allowed;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onSetBackgroundColor: PropTypes.func,\n canvasBackgroundColor: PropTypes.string,\n onSetBackgroundImage: PropTypes.func,\n backgroundImageOpacity: PropTypes.number,\n onChangeBackgroundImageOpacity: PropTypes.func,\n onSetPageSize: PropTypes.func,\n selectedPageSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n cuttingGuideStroke: PropTypes.number,\n cuttingGuideStrokeColor: PropTypes.string,\n onChangeCuttingGuideProp: PropTypes.func,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingTop: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingBottom: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n children: PropTypes.node,\n marginLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n justifyContent: PropTypes.string,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onClick: PropTypes.func,\n disabled: PropTypes.bool,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 8px;\n background-color: ${theme.color.white};\n height: ${({ height = 40 }) => `${height}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n margin-right: ${({ marginRight = 12 }) => `${marginRight}px`};\n display: flex;\n align-items: center;\n justify-content: ${({ justifyContent = 'center' }) => justifyContent};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 10 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 10 }) => `${paddingLeft}px`};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n gap: ${({ gap = 0 }) => `${gap}px`};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n position: relative;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n text: PropTypes.string,\n position: PropTypes.oneOf(['top', 'bottom', 'left', 'right']),\n disabled: PropTypes.bool,\n};\n","import styled, { css } from 'styled-components';\nimport theme from '@/theme';\n\nexport const Wrapper = styled.div`\n position: relative;\n display: inline-block;\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n`;\n\nexport const TooltipText = styled.div`\n visibility: hidden;\n background-color: rgba(0, 0, 0, 0.7);\n color: white;\n text-align: center;\n padding: 4px 10px;\n border-radius: 4px;\n position: absolute;\n z-index: 9999;\n white-space: nowrap;\n opacity: 0;\n transition: all 0.1s;\n font-size: 13px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[400]};\n\n ${({ position }) =>\n position === 'top' &&\n css`\n bottom: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'right' &&\n css`\n top: 50%;\n left: 105%;\n transform: translateY(-50%);\n `}\n ${({ position }) =>\n position === 'bottom' &&\n css`\n top: 110%;\n left: 50%;\n transform: translateX(-50%);\n `}\n ${({ position }) =>\n position === 'left' &&\n css`\n top: 50%;\n right: 105%;\n transform: translateY(-50%);\n `}\n\n ${Wrapper}:hover & {\n visibility: visible;\n opacity: 1;\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TooltipText, Wrapper } from './styled';\n\nexport const Tooltip = ({ children, text, position = 'top', disabled = false }) => (\n <Wrapper disabled={disabled}>\n {children}\n {!disabled && <TooltipText position={position}>{text}</TooltipText>}\n </Wrapper>\n);\n\nTooltip.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolBarButtonWrapper = ({\n height,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n children,\n marginLeft,\n marginRight,\n justifyContent,\n gap,\n onClick,\n disabled = false,\n tooltip,\n tooltipPosition,\n}) => (\n <Tooltip text={tooltip} position={tooltipPosition} disabled={disabled}>\n <StyledContainer\n height={height}\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n marginLeft={marginLeft}\n marginRight={marginRight}\n justifyContent={justifyContent}\n gap={gap}\n onClick={() => {\n if (disabled) {\n return;\n }\n onClick && onClick();\n }}\n disabled={disabled}\n >\n {children}\n </StyledContainer>\n </Tooltip>\n);\n\nToolBarButtonWrapper.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n right: PropTypes.bool,\n center: PropTypes.bool,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingLeft: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n paddingRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n list: PropTypes.array,\n onSelect: PropTypes.func,\n fontPicker: PropTypes.any,\n tooltip: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const DropDownItem = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const IconWrapper = styled.img`\n object-fit: contain;\n`;\n\nexport const DropDownList = styled.div`\n position: absolute;\n left: 0;\n top: 50;\n background-color: white;\n box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n margin-top: 5px;\n z-index: 10;\n width: 100%;\n max-height: 200px;\n overflow-y: auto;\n z-index: 9999;\n`;\n\n// Individual option in the dropdown\nexport const DropDownOption = styled.div`\n padding: 8px 16px;\n cursor: pointer;\n font-size: 14px;\n color: #333333;\n &:hover {\n background-color: #f0f0f0;\n }\n &:active {\n background-color: #e0e0e0;\n }\n`;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { IconDropDown } from '@/assets';\nimport { DropDownItem, DropDownList, DropDownOption, IconWrapper } from './styled';\nimport theme from '@/theme';\n\nexport const DropDown = ({\n left,\n right,\n center,\n gap,\n paddingLeft,\n paddingRight,\n list,\n onSelect,\n fontPicker,\n tooltip,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const dropdownRef = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n const handleSelect = item => {\n onSelect(item);\n setIsOpen(false);\n };\n\n return (\n <div\n ref={dropdownRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setIsOpen(true);\n }}\n >\n <ToolBarButtonWrapper\n justifyContent={center ? 'space-between' : 'center'}\n gap={gap}\n paddingLeft={paddingLeft}\n paddingRight={paddingRight}\n tooltip={tooltip}\n tooltipPosition={'bottom'}\n >\n <DropDownItem>{left}</DropDownItem>\n <DropDownItem>{center}</DropDownItem>\n <DropDownItem>{right ? right : <IconWrapper src={IconDropDown} />}</DropDownItem>\n </ToolBarButtonWrapper>\n {isOpen && (\n <DropDownList>\n {list?.map((item, index) => (\n <DropDownOption\n key={index}\n onClick={e => {\n handleSelect(item);\n e?.stopPropagation();\n }}\n style={{\n padding: '8px 16px',\n cursor: 'pointer',\n borderBottom: index !== list.length - 1 ? '1px solid #eee' : 'none',\n fontFamily: fontPicker ? item : theme.fonts.primary,\n }}\n >\n {item}\n </DropDownOption>\n ))}\n </DropDownList>\n )}\n </div>\n );\n};\n\nDropDown.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n\nexport const RemoveButton = styled.div`\n height: 20px;\n width: 20px;\n border-radius: 20px;\n position: absolute;\n right: -7px;\n top: -7px;\n background: #ff4d4d;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n backgroundColor: PropTypes.string,\n onChange: PropTypes.func,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Box = styled.input.attrs({ type: 'color' })`\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n width: 22px;\n height: 22px;\n border: none;\n border-radius: 4px;\n border: 1px solid ${theme.color.gray_CCC};\n padding: 0;\n cursor: pointer;\n &::-webkit-color-swatch-wrapper {\n padding: 0;\n }\n\n &::-webkit-color-swatch {\n border: none;\n border-radius: 4px;\n }\n\n &::-moz-color-swatch {\n border: none;\n border-radius: 4px;\n }\n`;\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Box } from './styled';\n\nexport const ColorBox = ({ backgroundColor, onChange }) => {\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChange(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n\n return <Box value={backgroundColor} onChange={onChangeColor} />;\n};\n\nColorBox.propTypes = propTypes;\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledImage = styled.img`\n width: ${({ width }) => width + 'px' || 'auto'};\n height: ${({ height }) => height + 'px' || 'auto'};\n max-width: ${({ maxWidth }) => maxWidth + 'px' || 'auto'};\n max-height: ${({ maxHeight }) => maxHeight + 'px' || 'auto'};\n object-fit: ${({ objectFit }) => objectFit || 'contain'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n border-radius: ${({ borderRadius = 0 }) => `${borderRadius}px`};\n`;\nexport const StyledText = styled.p`\n font-family: ${({ fontFamily }) => fontFamily || theme.fonts.primary};\n font-size: ${({ fontSize = 14 }) => `${fontSize}px`};\n color: ${({ color }) => color || theme.color.gray_700};\n font-weight: ${({ fontWeight = 400 }) => fontWeight};\n line-height: ${({ lineHeight }) => lineHeight || 'normal'};\n text-align: ${({ textAlign }) => textAlign || 'left'};\n margin-top: ${({ marginTop = 0 }) => `${marginTop}px`};\n margin-right: ${({ marginRight = 0 }) => `${marginRight}px`};\n margin-bottom: ${({ marginBottom = 0 }) => `${marginBottom}px`};\n margin-left: ${({ marginLeft = 0 }) => `${marginLeft}px`};\n padding-top: ${({ paddingTop = 0 }) => `${paddingTop}px`};\n padding-right: ${({ paddingRight = 0 }) => `${paddingRight}px`};\n padding-bottom: ${({ paddingBottom = 0 }) => `${paddingBottom}px`};\n padding-left: ${({ paddingLeft = 0 }) => `${paddingLeft}px`};\n`;\n","import { elementTypes, fontFamilies } from '@/constants';\nimport { SUPPPORTED_LOCALES } from '@/constants/textConstants';\n\nexport const calculatePercentageValue = (value, percentage) => {\n return (value * percentage) / 100;\n};\nexport const getPercentage = (part, whole) => {\n if (whole === 0) return 0;\n return (part / whole) * 100;\n};\nexport const pickImage = () => {\n return new Promise((resolve, reject) => {\n const input = document.createElement('input');\n input.type = 'file';\n input.accept = 'image/*';\n input.style.display = 'none';\n\n input.addEventListener('change', event => {\n if (event.target.files.length > 0) {\n resolve(event.target.files[0]);\n } else {\n reject(new Error('No file selected'));\n }\n });\n\n input.click();\n });\n};\n\nexport const isElementShape = elem => {\n if (\n elem?.type === elementTypes?.circle ||\n elem?.type === elementTypes?.arrowRight ||\n elem?.type === elementTypes?.heart ||\n elem?.type === elementTypes?.horizontalLine ||\n elem?.type === elementTypes?.square ||\n elem?.type === elementTypes?.star ||\n elem?.type === elementTypes?.triangle ||\n elem?.type === elementTypes?.verticalLine\n ) {\n return true;\n } else {\n return false;\n }\n};\nexport const isElementOfSameType = (elem, type) => {\n if (elem && elem?.type === type) {\n return true;\n } else {\n return false;\n }\n};\n\nexport const debounce = (func, delay) => {\n let timeoutId;\n\n return function (...args) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n func.apply(this, args);\n }, delay);\n };\n};\n\nexport const sanitizeNumber = (value, defaultValue = 0, precision = 2) => {\n const num = parseFloat(value);\n if (isNaN(num)) return defaultValue;\n return parseFloat(num.toFixed(precision));\n};\n\nexport const loadAllGoogleFonts = () => {\n const weights = [400, 700];\n const italics = [0, 1];\n\n const fontParams = fontFamilies.map(font => {\n const fontName = font.replace(/ /g, '+');\n const variantStr = italics\n .map(ital => weights.map(w => `${ital},${w}`).join(';'))\n .join(';');\n return `family=${fontName}:ital,wght@${variantStr}`;\n });\n\n const fontURL = `https://fonts.googleapis.com/css2?${fontParams.join('&')}&display=swap`;\n\n return new Promise((resolve, reject) => {\n try {\n if (!document.querySelector(`link[href=\"${fontURL}\"]`)) {\n const link = document.createElement('link');\n link.href = fontURL;\n link.rel = 'stylesheet';\n document.head.appendChild(link);\n }\n\n const loadPromises = [];\n fontFamilies.forEach(font => {\n weights.forEach(weight => {\n italics.forEach(ital => {\n loadPromises.push(\n document.fonts.load(\n `${ital ? 'italic' : 'normal'} ${weight} 16px \"${font}\"`,\n ),\n );\n });\n });\n });\n\n Promise.all(loadPromises)\n .then(() => resolve(`✅ All ${fontFamilies?.length} fonts loaded`))\n .catch(err => reject(err));\n } catch (err) {\n reject(err);\n }\n });\n};\nexport const preloadRelevantImages = async (elements = []) => {\n const imagePromises = elements\n ?.map(elem => {\n let src = null;\n\n if (elem?.type === 'image' || elem?.type === 'backgroundImage') {\n src = elem?.src;\n } else if (elem?.type === 'qr') {\n src = elem?.qrLogo;\n }\n\n if (!src) return null;\n\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve({ src, success: true });\n img.onerror = () => reject({ src, success: false });\n img.src = src;\n });\n })\n .filter(Boolean);\n\n return Promise?.allSettled(imagePromises).then(results => {\n const successes = results?.filter(r => r?.status === 'fulfilled').map(r => r?.value);\n\n const errors = results?.filter(r => r?.status === 'rejected').map(r => r?.reason);\n\n return { successes, errors };\n });\n};\nexport const removeImageProperty = (elements = []) => {\n return elements.map(elem => {\n if ('image' in elem) {\n // eslint-disable-next-line no-unused-vars\n const { image, ...rest } = elem;\n return rest;\n }\n return elem;\n });\n};\n\nexport const exportStageAsImage = async (stageRef, pageSizeKey, scale = 2) => {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const stage = stageRef?.current;\n if (!stage) {\n return reject('Stage is not available');\n }\n\n // Create a canvas with the scale factor\n const canvas = await stage.toCanvas({ pixelRatio: scale });\n\n // Convert canvas to data URL\n const dataURL = await canvas.toDataURL('image/png');\n\n // Return the data URL as the resolved value\n resolve(dataURL);\n } catch (error) {\n reject(error);\n }\n });\n};\n\nexport const validateLocale = locale => {\n if (SUPPPORTED_LOCALES.includes(locale)) {\n return locale;\n } else {\n return 'en';\n }\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n onChangeOpacity: PropTypes.func,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n pickerWidth: PropTypes.number,\n leftChild: PropTypes.node,\n rightChild: PropTypes.node,\n gap: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n showLeftChild: PropTypes.bool,\n varient: PropTypes.string,\n fontFamily: PropTypes.string,\n tooltip: PropTypes.string,\n tooltipPosition: PropTypes.string,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconOpacity } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const OpacityPicker = ({\n value = 1,\n onChangeOpacity,\n min = 0,\n max = 1,\n step = 0.1,\n pickerWidth = 100,\n leftChild,\n rightChild,\n gap = 12,\n showLeftChild = true,\n varient = 'opacity',\n fontFamily = theme.fonts.secondary,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.OPACITY,\n tooltipPosition = 'bottom',\n}) => {\n const pickerRef = useRef(null);\n\n const [opacityPickerVisible, setOpacityPickerVisible] = useState(false);\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setOpacityPickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n ref={pickerRef}\n style={{\n position: 'relative',\n }}\n onClick={() => {\n setOpacityPickerVisible(true);\n }}\n >\n <ToolBarButtonWrapper gap={gap} tooltip={tooltip} tooltipPosition={tooltipPosition}>\n {showLeftChild && (leftChild ? leftChild : <StyledImage src={IconOpacity} />)}\n <StyledText fontFamily={fontFamily}>\n {varient === 'opacity' ? `${value * 100}%` : Math.round(value)}\n </StyledText>\n {rightChild && rightChild}\n </ToolBarButtonWrapper>\n {opacityPickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeOpacity(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nOpacityPicker.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n value: PropTypes.number,\n strokeColor: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n onChangeStrokeWidth: PropTypes.func,\n onChangeShapeStrokeColor: PropTypes.func,\n pickerWidth: PropTypes.number,\n languageLocale: PropTypes.string,\n tooltip: PropTypes.string,\n leftIcon: PropTypes.elementType,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconGrid } from '@/assets';\nimport theme from '@/theme';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const StrokePicker = ({\n value,\n strokeColor,\n min = 0,\n max = 30,\n step = 1,\n onChangeStrokeWidth,\n onChangeShapeStrokeColor,\n pickerWidth = 100,\n languageLocale = 'en',\n tooltip = TEXT_DICTIONARY?.[languageLocale]?.STROKE_WIDTH_AND_COLOR,\n leftIcon = IconGrid,\n}) => {\n const pickerRef = useRef(null);\n const [strokePickerVisible, setStrokePickerVisible] = useState(false);\n const [color, setColor] = useState('');\n\n useEffect(() => {\n const handler = setTimeout(() => {\n if (!color) {\n return;\n }\n onChangeShapeStrokeColor(color);\n }, 200);\n\n return () => clearTimeout(handler);\n }, [color]);\n\n const onChangeColor = e => {\n setColor(e.target.value);\n };\n useEffect(() => {\n const handleClickOutside = event => {\n if (pickerRef.current && !pickerRef.current.contains(event.target)) {\n setStrokePickerVisible(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n return (\n <div\n style={{\n position: 'relative',\n }}\n ref={pickerRef}\n >\n <ToolBarButtonWrapper gap={12} tooltip={tooltip} tooltipPosition={'bottom'}>\n <StyledImage src={leftIcon} />\n <StyledText\n fontFamily={theme.fonts.secondary}\n // marginRight={10}\n paddingRight={10}\n onClick={() => {\n setStrokePickerVisible(true);\n }}\n >\n {value}\n </StyledText>\n <div\n style={{\n height: 22,\n width: 22,\n borderRadius: 4,\n background: theme.color.gray_EFEFEF,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n }}\n >\n <input\n type=\"color\"\n value={strokeColor}\n onChange={onChangeColor}\n style={{\n width: '100%',\n height: '100%',\n border: 'none',\n cursor: 'pointer',\n opacity: 0,\n }}\n />\n <div\n style={{\n height: 13,\n width: 1,\n backgroundColor: strokeColor,\n transform: 'rotate(38deg)',\n position: 'absolute',\n pointerEvents: 'none',\n }}\n />\n </div>\n </ToolBarButtonWrapper>\n {strokePickerVisible && (\n <div\n style={{\n position: 'absolute',\n bottom: -50,\n background: 'white',\n padding: 10,\n borderRadius: 5,\n border: 'solid 1px rgba(0,0,0,0.1)',\n zIndex: 9999,\n }}\n >\n <input\n type=\"range\"\n min={min}\n max={max}\n step={step}\n value={value}\n onChange={e => {\n onChangeStrokeWidth(Number(e.target.value));\n }}\n style={{ width: pickerWidth }}\n />\n </div>\n )}\n </div>\n );\n};\n\nStrokePicker.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RemoveButton, RowContainer } from './styled';\nimport {\n IconBackgroundColor,\n IconBackgroundImage,\n IconBackgroundImageOpacity,\n IconCross,\n IconDropDownSmall,\n IconFrame,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { pickImage } from '@/utils';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { pageSizes } from '@/constants/layoutConstants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { StrokePicker } from '../StrokePicker';\n\nexport const TemplateToolBar = ({\n onSetBackgroundColor,\n canvasBackgroundColor,\n onSetBackgroundImage,\n backgroundImageOpacity,\n onChangeBackgroundImageOpacity,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n canvasBackgroundImage,\n onRemoveBackgroundImage,\n}) => {\n const selectBackgroundColor = e => {\n onSetBackgroundColor(e);\n };\n const handleBackgroundUpload = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onSetBackgroundImage(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onSetBackgroundImage(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <RowContainer>\n <DropDown\n gap={20}\n left={<Label>{selectedPageSize}</Label>}\n list={Object.keys(pageSizes)}\n onSelect={e => {\n onSetPageSize && onSetPageSize(e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.PAGE_SIZE}\n />\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={canvasBackgroundColor || theme.color.white}\n onChange={selectBackgroundColor}\n />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={17}\n paddingLeft={17}\n onClick={handleBackgroundUpload}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE}\n tooltipPosition={'bottom'}\n >\n {canvasBackgroundImage && (\n <RemoveButton\n onClick={e => {\n onRemoveBackgroundImage && onRemoveBackgroundImage();\n e.stopPropagation();\n }}\n >\n <StyledImage src={IconCross} height={15} width={15} />\n </RemoveButton>\n )}\n <StyledImage\n src={canvasBackgroundImage?.src || IconBackgroundImage}\n height={24}\n width={24}\n />\n </ToolBarButtonWrapper>\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.BACKGROUND_IMAGE_OPACITY}\n gap={10}\n value={backgroundImageOpacity}\n onChangeOpacity={onChangeBackgroundImageOpacity}\n leftChild={<StyledImage src={IconBackgroundImageOpacity} />}\n rightChild={<StyledImage src={IconDropDownSmall} />}\n />\n <StrokePicker\n gap={10}\n value={cuttingGuideStroke}\n onChangeStrokeWidth={e => {\n onChangeCuttingGuideProp('cuttingGuideStroke', e);\n }}\n strokeColor={cuttingGuideStrokeColor}\n onChangeShapeStrokeColor={e => {\n onChangeCuttingGuideProp('cuttingGuideStrokeColor', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.CUTTING_GUIDE}\n languageLocale={languageLocale}\n leftIcon={IconFrame}\n max={10}\n />\n </RowContainer>\n );\n};\n\nTemplateToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n fontFamily: PropTypes.string,\n fontSize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n color: PropTypes.string,\n textDecoration: PropTypes.string,\n fontStyle: PropTypes.string,\n fontWeight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n textAlign: PropTypes.string,\n textOpacity: PropTypes.number,\n onChangeTextProperty: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${({ fontFamily = theme.fonts.primary }) => fontFamily};\n width: 100px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n tabsData: PropTypes.arrayOf(PropTypes.object),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n tabPadding: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n marginRight: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n disabled: PropTypes.bool,\n tooltipPosition: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const TabBarContainer = styled.div`\n border: 1px solid ${theme.color.gray_200};\n height: ${({ height }) => height}px;\n margin-right: ${({ marginRight = 0 }) => marginRight}px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: ${theme.color.white};\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n\nexport const TabItem = styled.div`\n padding: ${({ tabPadding }) => tabPadding};\n cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};\n border-right: ${({ isLast }) => (isLast ? 'none' : `1px solid ${theme.color.gray_200}`)};\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: ${({ disabled }) => (disabled ? 0.5 : 1)};\n background: ${({ selected = false }) => (selected ? theme.color.gray_200 : theme.color.white)};\n border-top-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-bottom-left-radius: ${({ isFirst }) => (isFirst ? '5' : '0')}px;\n border-top-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n border-bottom-right-radius: ${({ isLast }) => (isLast ? '5' : '0')}px;\n pointer-events: ${({ disabled }) => (disabled ? 'none' : 'all')};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { TabBarContainer, TabItem } from './styled';\nimport { Tooltip } from '../Tooltip';\n\nexport const ToolsTabBar = ({\n tabsData = [],\n height = 36,\n tabPadding = '8px 12px',\n marginRight = 0,\n disabled = false,\n tooltipPosition = 'bottom',\n}) => (\n <TabBarContainer disabled={disabled} height={height} marginRight={marginRight}>\n {tabsData.map((item, index) => (\n <Tooltip\n key={index}\n position={tooltipPosition}\n text={item?.tooltip}\n disabled={item?.disabled}\n >\n <TabItem\n key={index}\n tabPadding={tabPadding}\n isLast={index === tabsData.length - 1}\n isFirst={index === 0}\n onClick={item?.onClick}\n disabled={item?.disabled}\n selected={item?.selected}\n >\n {item?.element}\n </TabItem>\n </Tooltip>\n ))}\n </TabBarContainer>\n);\n\nToolsTabBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { DropDown } from '../DropDown';\nimport { Label, RowContainer } from './styled';\nimport {\n IconAlignCenter,\n IconAlignLeft,\n IconAlignRight,\n IconBold,\n IconDropDown,\n IconLineThrough,\n IconTextItalic,\n IconTextSmall,\n IconTextUnderLine,\n} from '@/assets';\nimport theme from '@/theme';\nimport { ColorBox } from '../ColorBox';\nimport { StyledImage } from '@/generic/Styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { topTabBarpadding } from '@/constants/layoutConstants';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { fontFamilies, funkyFonts } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextToolBar = ({\n fontFamily,\n fontSize,\n lineHeight,\n color,\n textDecoration,\n fontStyle,\n fontWeight,\n textAlign,\n textOpacity,\n onChangeTextProperty,\n languageLocale,\n}) => {\n let TextTabsData = [\n {\n element: <StyledImage src={IconBold} />,\n selected: fontWeight > theme?.fontWeights[500] || fontWeight === 'bold',\n onClick: () => {\n if (fontWeight > theme?.fontWeights[500] || fontWeight === 'bold') {\n onChangeTextProperty('fontWeight', theme?.fontWeights[400]);\n } else {\n onChangeTextProperty('fontWeight', theme?.fontWeights[700]);\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BOLD,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconTextItalic} />,\n selected: fontStyle === 'italic',\n onClick: () => {\n if (fontStyle === 'italic') {\n onChangeTextProperty('fontStyle', 'normal');\n } else {\n onChangeTextProperty('fontStyle', 'italic');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.ITALIC,\n disabled: funkyFonts.includes(fontFamily) ? true : false,\n },\n {\n element: <StyledImage src={IconLineThrough} />,\n selected: textDecoration?.includes('line-through'),\n onClick: () => {\n if (textDecoration?.includes('line-through')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline') ? 'underline' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('underline')\n ? 'underline line-through'\n : 'line-through',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LINE_THROUGH,\n },\n {\n element: <StyledImage src={IconTextUnderLine} />,\n selected: textDecoration?.includes('underline'),\n onClick: () => {\n if (textDecoration?.includes('underline')) {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through') ? 'line-through' : 'normal',\n );\n } else {\n onChangeTextProperty(\n 'textDecoration',\n textDecoration?.includes('line-through')\n ? 'underline line-through'\n : 'underline',\n );\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDERLINE,\n },\n ];\n\n let AlignmentTabsData = [\n {\n element: <StyledImage src={IconAlignLeft} />,\n selected: textAlign === 'left',\n onClick: () => {\n if (textAlign !== 'left') {\n onChangeTextProperty('textAlign', 'left');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.LEFT_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignCenter} />,\n selected: textAlign === 'center',\n onClick: () => {\n if (textAlign !== 'center') {\n onChangeTextProperty('textAlign', 'center');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.CENTER_ALIGN,\n },\n {\n element: <StyledImage src={IconAlignRight} />,\n selected: textAlign === 'right',\n onClick: () => {\n if (textAlign !== 'right') {\n onChangeTextProperty('textAlign', 'right');\n }\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.RIGHT_ALIGN,\n },\n ];\n\n return (\n <RowContainer>\n <DropDown\n gap={40}\n left={<Label fontFamily={fontFamily}>{fontFamily}</Label>}\n fontPicker={true}\n list={fontFamilies}\n onSelect={e => {\n onChangeTextProperty('fontFamily', e);\n }}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.FONT_FAMILY}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={fontSize}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={5}\n max={100}\n step={1}\n onChangeOpacity={e => onChangeTextProperty('fontSize', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_SIZE}\n tooltipPosition={'bottom'}\n />\n <OpacityPicker\n gap={11}\n value={lineHeight}\n varient={'size'}\n fontFamily={theme.fonts.primary}\n min={1}\n max={5}\n step={0.5}\n onChangeOpacity={e => onChangeTextProperty('lineHeight', e)}\n showLeftChild={false}\n rightChild={<StyledImage src={IconDropDown} marginLeft={10} />}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_LINE_HEIGHT}\n tooltipPosition={'bottom'}\n />\n <ToolBarButtonWrapper\n gap={12}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_COLOR}\n tooltipPosition={'bottom'}\n >\n <StyledImage src={IconTextSmall} />\n <ColorBox\n backgroundColor={color}\n onChange={e => onChangeTextProperty('color', e)}\n />\n </ToolBarButtonWrapper>\n <ToolsTabBar\n tabsData={TextTabsData}\n marginRight={12}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n <ToolsTabBar\n tabsData={AlignmentTabsData}\n marginRight={20}\n height={40}\n tabPadding={topTabBarpadding}\n tooltipPosition={'bottom'}\n />\n\n <OpacityPicker\n value={textOpacity}\n onChangeOpacity={e => onChangeTextProperty('opacity', e)}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.TEXT_OPACITY}\n tooltipPosition={'bottom'}\n />\n </RowContainer>\n );\n};\n\nTextToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n imageStrokeWidth: PropTypes.number,\n imageStrokeColor: PropTypes.string,\n imageOpacity: PropTypes.number,\n onChangeImageStrokeWidth: PropTypes.func,\n onChangeImageStrokeColor: PropTypes.func,\n onChangeImageOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { isElementOfSameType } from '@/utils';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageToolBar = ({\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.strokeWidth\n : imageStrokeWidth\n }\n onChangeStrokeWidth={onChangeImageStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.stroke\n : imageStrokeColor\n }\n onChangeShapeStrokeColor={onChangeImageStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.IMAGE_OPACITY}\n value={\n isElementOfSameType(selectedElement, elementTypes.image)\n ? selectedElement?.opacity\n : imageOpacity\n }\n onChangeOpacity={onChangeImageOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nImageToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n shapeStrokeColor: PropTypes.string,\n shapeStrokeWidth: PropTypes.number,\n shapeFillColor: PropTypes.string,\n shapeOpacity: PropTypes.number,\n onChangeShapeStrokeColor: PropTypes.func,\n onChangeShapeStrokeWidth: PropTypes.func,\n onChangeShapeFill: PropTypes.func,\n onChangeShapeOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { RowContainer } from './styled';\nimport { IconBackgroundColor } from '@/assets';\nimport { StyledImage } from '@/generic/Styled';\nimport { ColorBox } from '../ColorBox';\nimport { isElementShape } from '@/utils';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeToolBar = ({\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <ToolBarButtonWrapper\n gap={11}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_FILL}\n tooltipPosition=\"bottom\"\n >\n <StyledImage src={IconBackgroundColor} />\n <ColorBox\n backgroundColor={\n (isElementShape(selectedElement) && selectedElement?.fill) || shapeFillColor\n }\n onChange={onChangeShapeFill}\n />\n </ToolBarButtonWrapper>\n <StrokePicker\n value={\n isElementShape(selectedElement)\n ? selectedElement?.strokeWidth\n : shapeStrokeWidth\n }\n onChangeStrokeWidth={onChangeShapeStrokeWidth}\n strokeColor={\n isElementShape(selectedElement) ? selectedElement?.stroke : shapeStrokeColor\n }\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.SHAPE_OPACITY}\n value={isElementShape(selectedElement) ? selectedElement?.opacity : shapeOpacity}\n onChangeOpacity={onChangeShapeOpacity}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nShapeToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n qrStrokeWidth: PropTypes.number,\n qrStrokeColor: PropTypes.string,\n qrOpacity: PropTypes.number,\n onChangeQrStrokeWidth: PropTypes.func,\n onChangeQrStrokeColor: PropTypes.func,\n onChangeQrOpacity: PropTypes.func,\n selectedElement: PropTypes.object,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Label = styled.p`\n color: ${theme.color.gray_700};\n font-size: 14px;\n font-weight: ${theme.fontWeights[400]};\n font-family: ${theme.fonts.primary};\n`;\n\nexport const RowContainer = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n gap: 2px;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { RowContainer } from './styled';\nimport { StrokePicker } from '../StrokePicker';\nimport { OpacityPicker } from '../OpacityPicker';\nimport { elementTypes } from '@/constants';\nimport { isElementOfSameType } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrToolBar = ({\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n selectedElement,\n languageLocale,\n}) => {\n return (\n <RowContainer>\n <StrokePicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.strokeWidth\n : qrStrokeWidth\n }\n onChangeStrokeWidth={onChangeQrStrokeWidth}\n strokeColor={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.stroke\n : qrStrokeColor\n }\n onChangeShapeStrokeColor={onChangeQrStrokeColor}\n languageLocale={languageLocale}\n />\n <OpacityPicker\n value={\n isElementOfSameType(selectedElement, elementTypes.qr)\n ? selectedElement?.opacity\n : qrOpacity\n }\n onChangeOpacity={onChangeQrOpacity}\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.OPACITY}\n languageLocale={languageLocale}\n />\n </RowContainer>\n );\n};\n\nQrToolBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { OverlayBlocker, ToolBarWrapper } from './styled';\nimport { TemplateToolBar } from '../TemplateToolBar';\nimport { TextToolBar } from '../TextToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport { ImageToolBar } from '../ImageToolBar';\nimport { ShapeToolBar } from '../ShapeToolBar';\nimport { QrToolBar } from '../QrToolBar';\nimport { isElementOfSameType } from '@/utils';\n\nexport const TopToolBar = ({\n selectedTab,\n onSetBackgroundColor,\n canvasBackgroundColor,\n canvasBackgroundImage,\n onSetBackgroundImage,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n shapeOpacity,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n onChangeShapeOpacity,\n selectedElement,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onRemoveBackgroundImage,\n}) => {\n return (\n <ToolBarWrapper disabled={selectedElement && !selectedElement?.draggable}>\n {selectedElement && !selectedElement?.draggable && (\n <OverlayBlocker\n onClick={e => {\n e?.stopPropagation();\n }}\n />\n )}\n {selectedTab === sideBarpillsList?.template ? (\n <TemplateToolBar\n onSetBackgroundColor={onSetBackgroundColor}\n canvasBackgroundColor={canvasBackgroundColor}\n canvasBackgroundImage={canvasBackgroundImage}\n onSetBackgroundImage={onSetBackgroundImage}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n ) : selectedTab === sideBarpillsList?.text ? (\n <TextToolBar\n fontFamily={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontFamily\n : defaultTextProps?.fontFamily\n }\n fontSize={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontSize\n : defaultTextProps?.fontSize\n }\n lineHeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.lineHeight\n : defaultTextProps?.lineHeight\n }\n color={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.color\n : defaultTextProps?.color\n }\n textDecoration={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textDecoration\n : defaultTextProps?.textDecoration\n }\n fontStyle={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontStyle\n : defaultTextProps?.fontStyle\n }\n fontWeight={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.fontWeight\n : defaultTextProps?.fontWeight\n }\n textAlign={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.textAlign\n : defaultTextProps?.textAlign\n }\n selectedElement={selectedElement}\n textOpacity={\n isElementOfSameType(selectedElement, elementTypes.text)\n ? selectedElement?.opacity\n : defaultTextProps?.opacity\n }\n onChangeTextProperty={onChangeTextProperty}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.image ? (\n <ImageToolBar\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.shape ? (\n <ShapeToolBar\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : selectedTab === sideBarpillsList?.qr ? (\n <QrToolBar\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n languageLocale={languageLocale}\n />\n ) : null}\n </ToolBarWrapper>\n );\n};\n\nTopToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedTab: PropTypes.string,\n zoomPercentage: PropTypes.number,\n onChangeZoomPercentage: PropTypes.func,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n selectedElement: PropTypes.object,\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n zoomLevel: PropTypes.number,\n onZoomIn: PropTypes.func,\n onZoomOut: PropTypes.func,\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n`;\n\nexport const ZoomControlWrapper = styled.div`\n border: 1px solid ${theme.color.gray_200};\n border-radius: 6px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n background: white;\n`;\n\nexport const ZoomButton = styled.div`\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 14px;\n cursor: pointer;\n`;\n\nexport const Divider = styled.div`\n width: 1px;\n height: 80%;\n background: rgba(77, 98, 119, 0.2);\n`;\n\nexport const ZoomPercentage = styled.p`\n padding: 0 14px;\n font-family: ${theme.fonts.primary};\n font-weight: ${theme.fontWeights[500]};\n color: ${theme.color.icon_gray};\n`;\n","import { ButtonVarients } from '@/constants';\nimport PropTypes from 'prop-types';\n\nexport const propTypes = {\n varient: PropTypes.oneOf(Object.values(ButtonVarients)),\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n text: PropTypes.string,\n marginBottom: PropTypes.number,\n marginTop: PropTypes.number,\n onClick: PropTypes.func,\n};\n","import { ButtonVarients } from '@/constants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledButton = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 10px;\n border-radius: 6px;\n border: 1px solid ${theme.color.primary};\n cursor: pointer;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n background: ${({ varient }) =>\n varient === ButtonVarients.primary ? theme.color.primary : theme.color.white};\n`;\n\nexport const IconWrapper = styled.div`\n margin-right: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\nimport { StyledText } from '@/generic/Styled';\nimport { ButtonVarients } from '@/constants';\nimport { IconWrapper, StyledButton } from './styled';\n\nexport const Button = ({\n varient = ButtonVarients.secondary,\n left,\n text,\n marginBottom = 0,\n marginTop = 0,\n onClick,\n style,\n}) => (\n <StyledButton\n varient={varient}\n marginTop={marginTop}\n marginBottom={marginBottom}\n onClick={onClick}\n style={style}\n >\n {left && <IconWrapper>{left}</IconWrapper>}\n <StyledText\n fontSize={14}\n fontWeight={theme.fontWeights[600]}\n color={varient === ButtonVarients.primary ? theme.color.white : theme.color.primary}\n >\n {text}\n </StyledText>\n </StyledButton>\n);\n\nButton.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, Divider, ZoomButton, ZoomControlWrapper, ZoomPercentage } from './styled';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconZoomIn, IconZoomOut } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\nimport { Button } from '../Button';\nimport { ButtonVarients } from '@/constants';\n\nexport const ZoomControls = ({\n zoomLevel = 60,\n onZoomIn,\n onZoomOut,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => (\n <Container>\n {showSaveButton && (\n <Button\n text={saveButtonText || TEXT_DICTIONARY?.[languageLocale]?.SAVE}\n varient={ButtonVarients?.primary}\n marginBottom={10}\n style={{ position: 'absolute', top: -50, zIndex: 400, right: 0 }}\n onClick={onSave}\n />\n )}\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.ZOOM_IN_OUT} position=\"top\">\n <ZoomControlWrapper>\n <ZoomButton onClick={onZoomOut}>\n <StyledImage src={IconZoomOut} />\n </ZoomButton>\n <Divider />\n <ZoomPercentage>{zoomLevel}%</ZoomPercentage>\n <Divider />\n <ZoomButton onClick={onZoomIn}>\n <StyledImage src={IconZoomIn} />\n </ZoomButton>\n </ZoomControlWrapper>\n </Tooltip>\n </Container>\n);\n\nZoomControls.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onDeleteSelectedElement: PropTypes.func,\n onCopySelectedElement: PropTypes.func,\n onToggleLockElement: PropTypes.func,\n selectedElement: PropTypes.object,\n bringSelectedElementToFront: PropTypes.func,\n sendSelectedElementToBack: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\nimport theme from '@/theme';\n\nexport const ToolBarContainer = styled.div`\n display: flex;\n padding: 12px 24px;\n background: ${theme.color.gray_FDFCFC};\n gap: 15px;\n border-radius: 10px 10px 0px 0px;\n border: 1px solid ${theme.color.gray_EDEDED};\n border-bottom: none;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolBarContainer } from './styled';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { ToolBarButtonWrapper } from '../ToolBarButtonWrapper';\nimport { StyledImage } from '@/generic/Styled';\nimport {\n IconBringFront,\n IconCopy,\n IconDelete,\n // IconGroup,\n // IconGuide,\n IconLock,\n IconSentBack,\n IconUnlock,\n} from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const BottomToolBarControls = ({\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n selectedElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n}) => {\n let BringFrontBackTabsData = [\n {\n element: <StyledImage src={IconBringFront} />,\n onClick: () => {\n bringSelectedElementToFront && bringSelectedElementToFront();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.BRING_FORWARD,\n },\n {\n element: <StyledImage src={IconSentBack} />,\n onClick: () => {\n sendSelectedElementToBack && sendSelectedElementToBack();\n },\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.SEND_BACKWARD,\n },\n ];\n\n return (\n <ToolBarContainer>\n <ToolsTabBar\n disabled={!selectedElement?.draggable}\n tabsData={BringFrontBackTabsData}\n tooltipPosition=\"top\"\n />\n {/* <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGuide} />\n </ToolBarButtonWrapper>\n <ToolBarButtonWrapper\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n >\n <StyledImage src={IconGroup} />\n </ToolBarButtonWrapper> */}\n <ToolBarButtonWrapper\n tooltip={\n selectedElement?.draggable\n ? TEXT_DICTIONARY?.[languageLocale]?.LOCK\n : TEXT_DICTIONARY?.[languageLocale]?.UNLOCK\n }\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onToggleLockElement}\n >\n <StyledImage\n src={selectedElement?.draggable ? IconUnlock : IconLock}\n height={20}\n width={20}\n />\n </ToolBarButtonWrapper>\n {selectedElement?.type !== elementTypes?.qr && (\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.COPY}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onCopySelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconCopy} />\n </ToolBarButtonWrapper>\n )}\n <ToolBarButtonWrapper\n tooltip={TEXT_DICTIONARY?.[languageLocale]?.DELETE}\n tooltipPosition=\"top\"\n paddingRight={14.6}\n paddingLeft={14.6}\n height={36}\n marginRight={0}\n onClick={onDeleteSelectedElement}\n disabled={!selectedElement?.draggable}\n >\n <StyledImage src={IconDelete} />\n </ToolBarButtonWrapper>\n </ToolBarContainer>\n );\n};\n\nBottomToolBarControls.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const BottomToolbarWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: ${({ selectedTab }) => (selectedTab ? 'space-between' : 'flex-end')};\n padding-right: 3%;\n padding-left: 5%;\n padding-bottom: ${({ selectedTab }) => (selectedTab ? '6' : '14')}px;\n flex-wrap: wrap;\n gap: 5px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n disableUndo: PropTypes.bool,\n disableRedo: PropTypes.bool,\n translation: PropTypes.object,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ToolsTabBar } from '../ToolsTabBar';\nimport { StyledImage } from '@/generic/Styled';\nimport { IconRedo, IconUndo } from '@/assets';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const UndoRedoControls = ({ onUndo, onRedo, disableUndo, disableRedo, languageLocale }) => {\n let UndeRedoTabsData = [\n {\n element: <StyledImage src={IconUndo} />,\n onClick: () => onUndo(),\n disabled: disableUndo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.UNDO,\n },\n {\n element: <StyledImage src={IconRedo} />,\n onClick: () => onRedo(),\n disabled: disableRedo,\n tooltip: TEXT_DICTIONARY?.[languageLocale]?.REDO,\n },\n ];\n\n return (\n <ToolsTabBar\n height={44}\n tabPadding=\"12px 17px\"\n tabsData={UndeRedoTabsData}\n tooltipPosition=\"top\"\n />\n );\n};\n\nUndoRedoControls.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { ZoomControls } from '../ZoomControls';\nimport { BottomToolBarControls } from '../BottomToolBarControls';\nimport { BottomToolbarWrapper } from './styled';\nimport { UndoRedoControls } from '../UndoRedoControls';\n\nexport const BottomToolBar = ({\n selectedTab,\n zoomPercentage,\n onChangeZoomPercentage,\n onUndo,\n onRedo,\n disableUndo,\n disableRedo,\n selectedElement,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n languageLocale,\n onSave,\n showSaveButton,\n saveButtonText,\n}) => {\n const onZoomIn = () => {\n if (zoomPercentage < 300) {\n onChangeZoomPercentage(zoomPercentage + 10);\n }\n };\n const onZoomOut = () => {\n if (zoomPercentage > 20) {\n onChangeZoomPercentage(zoomPercentage - 10);\n }\n };\n return (\n <BottomToolbarWrapper selectedTab={selectedTab}>\n {selectedTab && (\n <>\n <UndoRedoControls\n onUndo={onUndo}\n onRedo={onRedo}\n disableUndo={disableUndo}\n disableRedo={disableRedo}\n languageLocale={languageLocale}\n />\n {selectedElement ? (\n <BottomToolBarControls\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n selectedElement={selectedElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n />\n ) : (\n <div style={{ height: 63 }} />\n )}\n </>\n )}\n <ZoomControls\n zoomLevel={zoomPercentage}\n onZoomIn={onZoomIn}\n onZoomOut={onZoomOut}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </BottomToolbarWrapper>\n );\n};\n\nBottomToolBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n id: PropTypes.string,\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Image } from 'react-konva';\n\nexport const CanvasImage = ({ id, element, onClick, onDragEnd, onTransformEnd, onDragMove }) => {\n const [loaded, setLoaded] = useState(false);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n // const reader = new FileReader();\n // reader.onload = () => {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.src;\n img.onload = () => {\n setImage(img);\n setLoaded(true);\n };\n // };\n // reader.readAsDataURL(file);\n }, [element]);\n if (loaded) {\n return (\n <Image\n id={id}\n image={image}\n {...element}\n width={element?.width}\n height={element?.height}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n strokeScaleEnabled={false}\n />\n );\n } else {\n return null;\n }\n};\n\nCanvasImage.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onDragMove: PropTypes.func,\n LogoTitle: PropTypes.string,\n};\n","import React, { useEffect, useState } from 'react';\nimport { propTypes } from './props';\nimport { Group, Rect, Text } from 'react-konva';\nimport { calculatePercentageValue } from '@/utils';\nimport theme from '@/theme';\nimport QRCode from 'qrcode';\n\nexport const QrElement = ({\n element,\n onClick,\n onDragEnd,\n onTransformEnd,\n onDragMove,\n LogoTitle,\n}) => {\n let innerRectWidth = calculatePercentageValue(element?.width, 24);\n let innerRectHeight = calculatePercentageValue(element?.height, 24);\n let innerRectX = calculatePercentageValue(element?.width, 38);\n let innerRectY = calculatePercentageValue(element?.height, 38);\n\n const [loaded, setLoaded] = useState(false);\n const [logo, setLogo] = useState(null);\n const [image, setImage] = useState(null);\n\n useEffect(() => {\n if (!element?.qrLogo) {\n return;\n }\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = element?.qrLogo;\n img.onload = () => {\n const scaleX = innerRectWidth / img.width;\n const scaleY = innerRectHeight / img.height;\n const scale = Math.min(scaleX, scaleY);\n setLogo({ img, scale });\n };\n }, [element]);\n const addQR = async () => {\n try {\n QRCode.toDataURL(element?.qrText, { margin: 0, width: 110 }, function (err, url) {\n const img = new window.Image();\n img.crossOrigin = 'anonymous';\n img.src = url;\n img.onload = () => {\n const scaleX = element?.width / img.width;\n const scaleY = element.height / img.height;\n const scale = Math.min(scaleX, scaleY);\n setImage({ img, scale });\n setLoaded(true);\n };\n });\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Failed to generate QR code', err);\n }\n };\n useEffect(() => {\n addQR();\n }, [element]);\n\n if (loaded) {\n return (\n <Group\n key={element.id}\n {...element}\n id={element.id}\n onClick={() => onClick && onClick()}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onDragMove={onDragMove}\n onTransformEnd={e => {\n onTransformEnd && onTransformEnd(e);\n }}\n >\n <Rect\n width={element?.width}\n height={element?.height}\n fillPatternImage={image?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: element?.width / image?.img.width,\n y: element?.height / image?.img.height,\n }}\n stroke={element?.stroke}\n strokeWidth={element?.strokeWidth}\n opacity={element?.opacity}\n strokeScaleEnabled={false}\n />\n {element?.logoVisible && (\n <Group x={innerRectX} y={innerRectY}>\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fill={theme.color.white}\n />\n\n {logo ? (\n <Rect\n width={innerRectWidth}\n height={innerRectHeight}\n fillPatternImage={logo?.img}\n fillPatternRepeat=\"no-repeat\"\n fillPatternScale={{\n x: innerRectHeight / logo?.img.width,\n y: innerRectHeight / logo?.img.height,\n }}\n />\n ) : (\n <Text\n text={LogoTitle}\n fontSize={8}\n fill={theme.color.gray_9DA1A7}\n x={3}\n y={innerRectHeight / 2 - 3}\n fontFamily={theme.fonts.primary}\n fontStyle={theme.fontWeights[600]}\n />\n )}\n </Group>\n )}\n </Group>\n );\n } else {\n return null;\n }\n};\n\nQrElement.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n element: PropTypes.object,\n onClick: PropTypes.func,\n onDragEnd: PropTypes.func,\n onTransformEnd: PropTypes.func,\n onTransform: PropTypes.func,\n onChangeTextContent: PropTypes.func,\n onChangeTextProperty: PropTypes.func,\n onDragMove: PropTypes.func,\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Html } from 'react-konva-utils';\nimport { element } from 'prop-types';\n\nexport const TextEditor = ({ textNodeRef, value, onBlur, onChange, textWidth }) => {\n const textareaRef = useRef(null);\n const [styles, setStyles] = useState({});\n\n useEffect(() => {\n if (!textNodeRef) return;\n // const position = textNodeRef?.absolutePosition();\n // const scale = textNodeRef?.getAbsoluteScale();\n const stg = textNodeRef?.getStage().findOne(`#${textNodeRef?.attrs?.id}`);\n\n const styleObj = {\n position: 'absolute',\n top: `${stg?.attrs?.y}px`,\n left: `${stg?.attrs?.x}px`,\n width: `${textWidth}px`,\n height: `${textNodeRef?.getHeight()}px`,\n fontSize: `${textNodeRef.fontSize()}px`,\n fontFamily: textNodeRef.fontFamily(),\n lineHeight: textNodeRef.lineHeight(),\n color: textNodeRef.fill(),\n background: 'transparent',\n border: 'none',\n padding: '0px',\n margin: '0px',\n overflow: 'hidden',\n outline: 'none',\n resize: 'none',\n transformOrigin: 'left top',\n textAlign: textNodeRef.align(),\n transform: `rotateZ(${textNodeRef.rotation()}deg)`,\n minHeight: '1em',\n whiteSpace: 'normal',\n userSelect: 'text',\n fontStyle: textNodeRef?.fontStyle?.() || 'normal',\n fontWeight: textNodeRef?.fontVariant?.() || 400,\n textDecoration: textNodeRef?.textDecoration?.() || 'none',\n };\n\n setStyles(styleObj);\n }, [textNodeRef?.current, value, element]);\n useEffect(() => {\n setTimeout(() => {\n if (textareaRef?.current) {\n textareaRef?.current?.focus();\n textareaRef?.current?.select();\n }\n }, 200);\n }, []);\n return (\n <Html>\n <textarea\n ref={textareaRef}\n style={styles}\n value={value}\n onChange={e => {\n onChange(e.target.value);\n }}\n onBlur={onBlur}\n />\n </Html>\n );\n};\n\nTextEditor.propTypes = propTypes;\n","import React, { useEffect, useRef, useState } from 'react';\nimport { propTypes } from './props';\nimport { Text } from 'react-konva';\nimport { sanitizeNumber } from '@/utils';\nimport { TextEditor } from './textEditor';\n\nexport const EditableText = ({\n element,\n trRef,\n onClick,\n onDragEnd,\n onTransformEnd,\n id,\n onTransform,\n onChangeTextContent,\n onDragMove,\n}) => {\n const textRef = useRef();\n const [textWidth, setTextWidth] = useState(element?.width);\n const [textFontSize, setTextFontSize] = useState(element?.fontSize);\n const [isEditing, setIsEditing] = useState(false);\n const [text, setText] = useState(element?.text);\n const [isFontLoaded, setIsFontLoaded] = useState(false);\n\n useEffect(() => {\n setIsFontLoaded(false);\n setTimeout(() => {\n setIsFontLoaded(true);\n }, 150);\n }, [element?.fontFamily, element?.fontWeight, element?.fontStyle]);\n\n useEffect(() => {\n setTextWidth(element?.width);\n setText(element?.text);\n setTextFontSize(element?.fontSize);\n }, [element]);\n\n const tranform = e => {\n const transformer = trRef.current;\n const activeAnchor = transformer.getActiveAnchor();\n if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {\n const node = e.target;\n const scaleX = sanitizeNumber(node.scaleX(), 1);\n const updatedWidth = sanitizeNumber(node.width() * scaleX, element.width);\n\n const updatedObject = {\n ...node.attrs,\n width: updatedWidth,\n scaleX: 1,\n scaleY: 1,\n };\n delete updatedObject['ref'];\n setTextWidth(updatedWidth);\n onTransform && onTransform(updatedObject);\n node.scaleX(1);\n node.scaleY(1);\n }\n };\n\n const handleTransformEnd = e => {\n const transformer = trRef.current;\n const activeAnchor = transformer.getActiveAnchor();\n if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {\n onTransformEnd && onTransformEnd(e);\n return;\n }\n const node = textRef.current;\n const nodeAttrs = node.attrs;\n const scaleX = sanitizeNumber(node.scaleX(), 1);\n const newFontSize = nodeAttrs.fontSize * scaleX;\n const updatedWidth = sanitizeNumber(node.width() * scaleX, nodeAttrs.width);\n node.scaleX(1);\n node.scaleY(1);\n\n const updatedObject = {\n ...nodeAttrs,\n width: updatedWidth,\n fontSize: newFontSize,\n };\n setTextFontSize(newFontSize);\n setTextWidth(updatedWidth);\n delete updatedObject['ref'];\n onTransform && onTransform(updatedObject);\n onTransformEnd && onTransformEnd(e);\n };\n\n const handleTextDblClick = () => {\n setIsEditing(true);\n };\n\n const handleTextChange = newText => {\n setText(newText);\n onChangeTextContent(newText);\n };\n const onSelect = () => {\n // const node = textRef?.current?.target;\n let width = textRef?.current?.getWidth();\n if (width) {\n setTextWidth(width);\n // onChangeTextProperty('width', width);\n }\n // const scaleX = sanitizeNumber(node?.scaleX(), 1);\n // const updatedWidth = sanitizeNumber(node?.width() * scaleX, element?.width);\n // console.error(textRef?.current?.getWidth());\n\n onClick && onClick();\n };\n if (!isFontLoaded) {\n return (\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n fontSize={textFontSize}\n text={text}\n fill={element?.color}\n opacity={0}\n visible={false}\n />\n );\n }\n return (\n <>\n <Text\n ref={textRef}\n key={id}\n {...element}\n id={element.id}\n fontVariant={element?.fontWeight}\n align={element?.textAlign}\n width={textWidth}\n fontSize={textFontSize}\n text={text}\n fill={element?.color}\n onClick={() => onSelect()}\n onTransform={e => tranform(e)}\n onDragEnd={e => onDragEnd && onDragEnd(e)}\n onTransformEnd={e => {\n handleTransformEnd(e);\n }}\n onDragMove={onDragMove}\n onDblClick={handleTextDblClick}\n onDblTap={handleTextDblClick}\n visible={!isEditing}\n />\n {isEditing && (\n <TextEditor\n value={text}\n textWidth={textWidth}\n textNodeRef={textRef?.current}\n onChange={handleTextChange}\n onBlur={() => {\n setIsEditing(false);\n // onChangeTextContent(text);\n }}\n />\n )}\n </>\n );\n};\n\nEditableText.propTypes = propTypes;\n","/* eslint-disable func-style */\n/* eslint-disable max-len */\n/* eslint-disable prettier/prettier */\n/* eslint-disable space-before-blocks */\nimport Konva from 'konva';\n\nexport const useKonvaSnapping = params => {\n\n const defaultParams = {\n snapRange:params.snapRange ?? 3,\n guidelineColor: params.guidelineColor ?? 'rgb(0, 161, 255)',\n guidelineDash: params.guidelineDash ?? true,\n showGuidelines:params.showGuidelines ?? true,\n guidelineThickness:params.guidelineThickness ?? 1,\n snapToStageCenter:params.snapToStageCenter ?? true,\n snapToStageBorders:params.snapToStageBorders ?? true,\n snapToShapes:params.snapToShapes ?? true\n };\n const oppositeAnchors = {\n 'top-left': 'bottom-right',\n 'top-right': 'bottom-left',\n 'bottom-right': 'top-left',\n 'bottom-left': 'top-right',\n };\n\n const getSnappingPoints = e => {\n const { snapToStageCenter, snapToStageBorders, snapToShapes } = defaultParams;\n const stage = e.currentTarget.getStage();\n const vertical = [];\n const horizontal = [];\n if (snapToStageCenter){\n vertical.push(stage.attrs.width / 2);\n horizontal.push(stage.attrs.height / 2);\n }\n if (snapToStageBorders){\n horizontal.push(0, stage.attrs.height);\n vertical.push(0, stage.attrs.width);\n }\n if (snapToShapes){\n stage?.children?.forEach(layer => {\n\n layer?.children?.forEach(layerChild => {\n\n layerChild?.children?.forEach(obj=>{\n\n const box = obj.getClientRect();\n if (e.target !== obj && obj.getName() !== 'guid-line' && !(obj instanceof Konva.Transformer)) {\n vertical.push(box.x, box.x + box.width, box.x + box.width / 2);\n horizontal.push(box.y, box.y + box.height, box.y + box.height / 2);\n }\n });\n\n });\n });\n }\n\n return { vertical, horizontal };\n };\n\n const createLine = (Layer, isHorizontal, lineX, lineY) => {\n const { guidelineColor,\n showGuidelines,\n guidelineThickness,\n guidelineDash\n } = defaultParams;\n if (!showGuidelines) return;\n const points = isHorizontal ? [-6000, 0, 6000, 0] : [0, -6000, 0, 6000];\n const line = new Konva.Line({\n points,\n stroke: guidelineColor,\n strokeWidth: guidelineThickness,\n name: 'guid-line',\n dash: guidelineDash ? [4, 6] : [0, 0],\n });\n Layer.add(line);\n line.absolutePosition({ x: lineX, y: lineY });\n };\n function dotProduct(v1, v2) {\n return v1.x * v2.x + v1.y * v2.y;\n }\n\n function vectorProject(a, b) {\n const dotAB = dotProduct(a, b);\n const dotBB = dotProduct(b, b);\n const scalar = dotAB / dotBB;\n return {\n x: scalar * b.x,\n y: scalar * b.y,\n };\n }\n\n function calculateSlope(point1, point2) {\n const deltaX = point2.x - point1.x;\n\n if (deltaX === 0) {\n\n throw new Error(`Slope is undefined for vertical lines (deltaX is zero). ${point2.x}, ${point1.x}`);\n }\n\n const deltaY = point2.y - point1.y;\n return deltaY / deltaX;\n }\n\n const handleDragging = e => {\n const Layer = e.target.parent;\n\n // Clear existing guidelines\n Layer.find('.guid-line').forEach(line => line.destroy());\n const { horizontal, vertical } = getSnappingPoints(e);\n let newPos = { x: e.target.absolutePosition().x, y: e.target.absolutePosition().y };\n let guideLinesX = [];\n let guideLinesY = [];\n const { snapRange } = defaultParams;\n // Snap vertically\n vertical.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().x - breakPoint) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x;\n guideLinesX.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width / 2) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width / 2;\n guideLinesX.push(breakPoint);\n\n }\n if (Math.abs(e.target.getClientRect().x - breakPoint + e.target.getClientRect().width) <= snapRange) {\n newPos.x = breakPoint + e.target.absolutePosition().x - e.target.getClientRect().x - e.target.getClientRect().width;\n guideLinesX.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesX.forEach(line=>{\n if (Math.round(e.target.getClientRect().x - line) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width / 2) === 0 ||\n Math.round(e.target.getClientRect().x - line + e.target.getClientRect().width) === 0) {\n createLine(Layer, false, line, 0);\n }\n });\n // Snap horizontally\n horizontal.forEach(breakPoint => {\n if (Math.abs(e.target.getClientRect().y - breakPoint) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height;\n guideLinesY.push(breakPoint);\n }\n if (Math.abs(e.target.getClientRect().y - breakPoint + e.target.getClientRect().height / 2) <= snapRange) {\n newPos.y = breakPoint + e.target.absolutePosition().y - e.target.getClientRect().y - e.target.getClientRect().height / 2;\n guideLinesY.push(breakPoint);\n }\n });\n e.target.absolutePosition(newPos);\n guideLinesY.forEach(line=>{\n if (Math.round(e.target.getClientRect().y - line) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height) === 0 ||\n Math.round(e.target.getClientRect().y - line + e.target.getClientRect().height / 2) === 0) {\n createLine(Layer, true, 0, line);\n }\n });\n };\n\n const handleResizing = e => {\n const Layer = e.target.parent;\n const { snapRange } = defaultParams;\n\n let { horizontal, vertical } = getSnappingPoints(e);\n if (!e.currentTarget.keepRatio() || (e.currentTarget.keepRatio() && !!!oppositeAnchors[e.currentTarget._movingAnchorName])){\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newAbsPos) => {\n\n Layer.find('.guid-line').forEach(line => line.destroy());\n let bounds = { x: newAbsPos.x, y: newAbsPos.y };\n //console.log(Konva.Util.haveIntersection(e.target.getClientRect(),breakPoint))\n if (e.currentTarget.getActiveAnchor() === 'rotater') return bounds;\n for (let breakPoint of vertical) {\n if (Math.abs(newAbsPos.x - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.x - breakPoint) <= snapRange + 1\n ) {\n bounds.x = breakPoint;\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n for (let breakPoint of horizontal) {\n if (Math.abs(newAbsPos.y - breakPoint) <= snapRange &&\n Math.abs(oldAbsPos.y - breakPoint) <= snapRange + 1\n ) {\n bounds.y = breakPoint;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n\n return bounds;\n });\n } else {\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n Layer.find('.guid-line').forEach(line => line.destroy());\n const currentAnchorName = e.currentTarget._movingAnchorName;\n const oppositeAnchorName = oppositeAnchors[currentAnchorName];\n\n const movingAnchor = e.currentTarget.findOne(`.${currentAnchorName}`);\n // Capture the anchor's starting absolute position:\n const anchorStartPosition = movingAnchor.getAbsolutePosition();\n\n // Do nothing for the rotater anchor.\n if (currentAnchorName === 'rotater') {\n return newPos;\n }\n\n const oppositeElement = e.currentTarget.findOne(`.${oppositeAnchorName}`);\n if (!oppositeElement) return newPos;\n const oppositePoint = oppositeElement.getAbsolutePosition();\n\n const slope = calculateSlope(anchorStartPosition, oppositePoint);\n\n\n // Calculate the vector from the starting anchor position to the opposite anchor.\n const transformVector = {\n x: anchorStartPosition.x - oppositePoint.x,\n y: anchorStartPosition.y - oppositePoint.y,\n };\n\n // Compute the movement delta from the starting position.\n const delta = {\n x: newPos.x - anchorStartPosition.x,\n y: newPos.y - anchorStartPosition.y,\n };\n\n // Project the delta onto the transform vector.\n const projectedDelta = vectorProject(delta, transformVector);\n\n // Compute the candidate new position (before snapping).\n const nextPos = {\n x: anchorStartPosition.x + projectedDelta.x,\n y: anchorStartPosition.y + projectedDelta.y,\n };\n\n for (let breakPoint of horizontal) {\n if (Math.abs(nextPos.y - breakPoint) <= snapRange) {\n nextPos.y = breakPoint;\n nextPos.x = anchorStartPosition.x + (breakPoint - anchorStartPosition.y) / slope;\n createLine(Layer, true, 0, breakPoint);\n break;\n }\n }\n for (let breakPoint of vertical) {\n if (Math.abs(nextPos.x - breakPoint) <= snapRange) {\n nextPos.x = breakPoint;\n nextPos.y = anchorStartPosition.y + slope * (breakPoint - anchorStartPosition.x);\n createLine(Layer, false, breakPoint, 0);\n break;\n }\n }\n\n return nextPos;\n });\n }\n\n };\n\n const handleResizeEnd = e =>{\n const Layer = e.target.parent;\n e.currentTarget.anchorDragBoundFunc((oldAbsPos, newPos) => {\n return newPos;\n });\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n const handleDragEnd = e =>{\n const Layer = e.target.parent;\n Layer.find('.guid-line').forEach(line => line.destroy());\n };\n\n return { handleDragging, handleResizing, handleResizeEnd, handleDragEnd };\n};\n","import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { propTypes } from './props';\nimport { Container, EditorBox, InnerContainer, InnerContainerWrapper, Title } from './styled';\nimport { TopToolBar } from '../TopToolBar';\nimport { BottomToolBar } from '../BottomToolBar';\nimport { elementTypes, sideBarpillsList } from '@/constants';\nimport {\n Stage,\n Layer,\n Rect,\n Circle,\n Transformer,\n Arrow,\n RegularPolygon,\n Path,\n Star,\n Line,\n Group,\n} from 'react-konva';\nimport { CanvasImage } from '../CanvasImage';\nimport theme from '@/theme';\nimport { QrElement } from '../QrElement';\nimport { EditableText } from '../EditableText';\nimport { debounce } from '@/utils';\nimport { useKonvaSnapping } from './util';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const Editor = ({\n selectedTab,\n languageLocale,\n title = TEXT_DICTIONARY?.[languageLocale]?.TITLE,\n zoomPercentage,\n onChangeZoomPercentage,\n editorHeight,\n editorWidth,\n onSetBackgroundColor,\n elements,\n history,\n redoStack,\n onSetBackgroundImage,\n onUndo,\n onRedo,\n shapeStrokeColor,\n shapeStrokeWidth,\n shapeFillColor,\n onChangeShapeStrokeColor,\n onChangeShapeStrokeWidth,\n onChangeShapeFill,\n shapeOpacity,\n onChangeShapeOpacity,\n selectedElement,\n onSelectElement,\n stageRef,\n saveHistory,\n onChangeBackgroundImageOpacity,\n backgroundImageOpacity,\n onDeleteSelectedElement,\n onCopySelectedElement,\n onToggleLockElement,\n bringSelectedElementToFront,\n sendSelectedElementToBack,\n imageStrokeWidth,\n imageStrokeColor,\n imageOpacity,\n onChangeImageStrokeWidth,\n onChangeImageStrokeColor,\n onChangeImageOpacity,\n qrStrokeWidth,\n qrStrokeColor,\n qrOpacity,\n onChangeQrStrokeWidth,\n onChangeQrStrokeColor,\n onChangeQrOpacity,\n defaultTextProps,\n onChangeTextProperty,\n onSetPageSize,\n selectedPageSize,\n loadingImages,\n loadingFonts,\n uploadImageCallBack,\n setLoadingUploadImage,\n cuttingGuideStroke,\n cuttingGuideStrokeColor,\n onChangeCuttingGuideProp,\n onSave,\n showSaveButton,\n onSetSelectedTab,\n saveButtonText,\n onRemoveBackgroundImage,\n}) => {\n const transformerRef = useRef(null);\n useEffect(() => {\n if (transformerRef?.current) {\n const selectedNode = stageRef?.current?.findOne(`#${selectedElement?.id}`);\n if (selectedNode) {\n transformerRef?.current.nodes([selectedNode]);\n transformerRef?.current.getLayer().batchDraw();\n } else {\n transformerRef?.current.nodes([]);\n }\n }\n }, [selectedElement]);\n const { handleDragging, handleDragEnd, handleResizing, handleResizeEnd } = useKonvaSnapping({\n guidelineColor: 'blue',\n guidelineDash: true,\n snapToStageCenter: true,\n snapRange: 5,\n guidelineThickness: 1,\n showGuidelines: true,\n snapToShapes: true,\n snapToStageBorders: true,\n });\n // console.error({ selectedElement });\n let canvasBackgroundColor = useMemo(() => {\n let backgroundColor;\n let backgroundIndex = elements?.findIndex(e => e?.type === elementTypes?.backgroundColor);\n\n if (backgroundIndex > -1) {\n backgroundColor = elements?.[backgroundIndex]?.color;\n }\n return backgroundColor;\n }, [elements]);\n\n let canvasBackgroundImage = useMemo(() => {\n let backgroundImage;\n\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n backgroundImage = elements?.[backgroundImageIndex];\n }\n return backgroundImage;\n }, [elements]);\n\n const handleTransform = (id, newAttrs) => {\n let newAttributes = { ...newAttrs };\n delete newAttributes['ref'];\n const updatedElements = elements?.map(el =>\n el.id === id ? { ...el, ...newAttributes } : el,\n );\n saveHistory(updatedElements);\n onSelectElement({ ...newAttributes });\n };\n const handleSelect = elem => {\n onSelectElement(elem);\n };\n\n const debouncedTransform = debounce((id, attrs) => {\n const updatedElements = elements?.map(el =>\n el.id === id\n ? {\n ...el,\n ...attrs,\n }\n : el,\n );\n saveHistory(updatedElements);\n onSelectElement({\n ...attrs,\n });\n }, 100);\n\n const debouncedChangeText = debounce(e => {\n onChangeTextProperty('text', e);\n }, 300);\n\n const handleTextTransform = (id, attrs) => {\n debouncedTransform(id, attrs);\n };\n\n const onChangeTextContent = e => {\n debouncedChangeText(e);\n };\n const renderElements = useCallback(\n el => {\n switch (el.type) {\n case elementTypes.circle:\n return (\n <Circle\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.square:\n return (\n <Rect\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.arrowRight:\n return (\n <Arrow\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.triangle:\n return (\n <RegularPolygon\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.heart:\n return (\n <Path\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.star:\n return (\n <Star\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.horizontalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.verticalLine:\n return (\n <Line\n key={el.id}\n {...el}\n id={el.id}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n strokeScaleEnabled={false}\n />\n );\n case elementTypes.image:\n return (\n <CanvasImage\n key={el.id}\n id={el.id}\n element={{\n ...el,\n }}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n />\n );\n case elementTypes.qr:\n return (\n <QrElement\n key={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onTransformEnd={e => {\n handleTransform(el.id, e.target.attrs);\n }}\n onDragMove={handleDragging}\n languageLocale={languageLocale}\n LogoTitle={TEXT_DICTIONARY?.[languageLocale]?.LOGO}\n />\n );\n case elementTypes.text:\n return (\n <EditableText\n trRef={transformerRef}\n key={el.id}\n id={el.id}\n element={el}\n onClick={() => handleSelect(el)}\n onTransform={e => handleTextTransform(el.id, e)}\n onDragEnd={e => {\n handleTransform(el.id, e.target.attrs);\n handleDragEnd(e);\n }}\n onDragMove={handleDragging}\n onChangeTextContent={onChangeTextContent}\n />\n );\n default:\n return null;\n }\n },\n [elements, selectedElement, languageLocale],\n );\n\n return (\n <Container selectedTab={selectedTab}>\n {selectedTab && selectedTab !== sideBarpillsList?.whiteLabel && (\n <TopToolBar\n selectedTab={selectedTab}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n canvasBackgroundColor={canvasBackgroundColor}\n onSetBackgroundImage={onSetBackgroundImage}\n canvasBackgroundImage={canvasBackgroundImage}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n selectedElement={selectedElement}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={backgroundImageOpacity}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n cuttingGuideStroke={cuttingGuideStroke}\n cuttingGuideStrokeColor={cuttingGuideStrokeColor}\n onChangeCuttingGuideProp={onChangeCuttingGuideProp}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n )}\n <InnerContainer>\n <InnerContainerWrapper editorHeight={editorHeight + 50} editorWidth={editorWidth}>\n {title && <Title>{title}</Title>}\n <EditorBox editorHeight={editorHeight} editorWidth={editorWidth}>\n {!loadingImages && !loadingFonts && (\n <Stage\n width={editorWidth}\n height={editorHeight}\n ref={stageRef}\n onMouseDown={e => {\n if (e.target === e.target.getStage()) {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }\n }}\n >\n <Layer\n onClick={() => {\n onSelectElement(null);\n onSetSelectedTab?.(sideBarpillsList.template);\n }}\n listening={false}\n >\n <Rect\n width={editorWidth}\n height={editorHeight}\n fill={canvasBackgroundColor || theme.color.white}\n />\n {canvasBackgroundImage && (\n <CanvasImage\n element={{\n ...canvasBackgroundImage,\n width: editorWidth,\n height: editorHeight,\n }}\n />\n )}\n </Layer>\n <Layer>\n <Group\n scaleX={zoomPercentage / 100}\n scaleY={zoomPercentage / 100}\n >\n {elements?.map(el => renderElements(el))}\n {selectedElement && (\n <Transformer\n ref={transformerRef}\n onTransform={handleResizing}\n onTransformEnd={handleResizeEnd}\n enabledAnchors={\n selectedElement?.draggable\n ? selectedElement?.type ===\n elementTypes?.text\n ? [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n 'middle-left',\n 'middle-right',\n ]\n : [\n 'top-left',\n 'top-right',\n 'bottom-left',\n 'bottom-right',\n 'middle-left',\n 'middle-right',\n 'top-center',\n 'bottom-center',\n ]\n : []\n }\n borderStroke={theme.color.primary}\n borderStrokeWidth={2}\n // add anchors\n anchorFill={theme.color.white}\n anchorStroke={theme.color.primary}\n anchorStrokeWidth={2}\n anchorSize={8}\n rotateEnabled={\n selectedElement?.draggable ? true : false\n }\n // make all anchors look like circles\n // anchorCornerRadius={50}\n boundBoxFunc={(oldBox, newBox) => {\n // limit resize\n if (\n !selectedElement?.draggable ||\n // Handle element flliping\n newBox.width < 1 ||\n newBox.height < 1\n ) {\n return oldBox;\n }\n return newBox;\n }}\n />\n )}\n </Group>\n </Layer>\n <Layer listening={false}>\n <Rect\n listening={false}\n x={0}\n y={0}\n width={editorWidth}\n height={editorHeight}\n stroke={cuttingGuideStrokeColor}\n strokeWidth={cuttingGuideStroke}\n strokeScaleEnabled={false}\n fill={'transparent'}\n dash={[10, 5]} // [dash length, gap length]\n />\n </Layer>\n </Stage>\n )}\n </EditorBox>\n </InnerContainerWrapper>\n </InnerContainer>\n <BottomToolBar\n disableUndo={history.length === 0}\n disableRedo={redoStack.length === 0}\n selectedTab={selectedTab}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onUndo={onUndo}\n onRedo={onRedo}\n selectedElement={selectedElement}\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n languageLocale={languageLocale}\n onSave={onSave}\n showSaveButton={showSaveButton}\n saveButtonText={saveButtonText}\n />\n </Container>\n );\n};\n\nEditor.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n helperSideBarVisible: PropTypes.bool,\n onCollapse: PropTypes.func,\n onAddShape: PropTypes.func,\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n onAddTextToCanvas: PropTypes.func,\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n styleProps: PropTypes.object,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onCollapse: PropTypes.func,\n selectedSideBarItem: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const Container = styled.div`\n height: 55px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: 17px;\n background: ${theme.color.gray_FBFBFB};\n border-bottom: 1px solid ${theme.color.gray_EDEDED};\n`;\n\nexport const IconWrapper = styled.div`\n height: 100%;\n padding: 0px 17px;\n display: flex;\n align-items: center;\n cursor: pointer;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Container, IconWrapper } from './styled';\nimport theme from '@/theme';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconChevronLeft } from '@/assets';\nimport { Tooltip } from '../Tooltip';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const SideBarHeader = ({ onCollapse = () => {}, selectedSideBarItem, languageLocale }) => {\n const sideBarpillsText = {\n Template: TEXT_DICTIONARY?.[languageLocale]?.TEMPLATE,\n Text: TEXT_DICTIONARY?.[languageLocale]?.TEXT,\n Image: TEXT_DICTIONARY?.[languageLocale]?.IMAGE,\n Shape: TEXT_DICTIONARY?.[languageLocale]?.SHAPE,\n QR: TEXT_DICTIONARY?.[languageLocale]?.QR_CODE,\n 'White-label': TEXT_DICTIONARY?.[languageLocale]?.BRANDING,\n };\n return (\n <Container>\n <StyledText\n fontWeight={theme.fontWeights[600]}\n color={theme.color.gray_545454}\n fontSize={16}\n >\n {sideBarpillsText?.[selectedSideBarItem]}\n </StyledText>\n <Tooltip text={TEXT_DICTIONARY?.[languageLocale]?.COLLAPSE} position=\"left\">\n <IconWrapper onClick={onCollapse}>\n <StyledImage src={IconChevronLeft} />\n </IconWrapper>\n </Tooltip>\n </Container>\n );\n};\n\nSideBarHeader.propTypes = propTypes;\n","import { helperSideBarWidth } from '@/constants/layoutConstants';\nimport theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const SideBarWrapper = styled.div`\n width: ${({ visible = true }) => (visible ? helperSideBarWidth : 0)}px;\n display: flex;\n flex-direction: column;\n background: ${theme.color.gray_FBFBFB};\n border-left: 1px solid ${theme.color.gray_F5F6F6};\n transition: width 0.3s ease-in-out;\n overflow: hidden;\n`;\n\nexport const SideBarContainer = styled.div`\n flex: 1;\n overflow: auto;\n display: flex;\n flex-direction: column;\n width: ${helperSideBarWidth}px;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n oncreateNewTemplate: PropTypes.func,\n languageLocale: PropTypes.string,\n defaultTemplatesList: PropTypes.array,\n customTemplatesList: PropTypes.array,\n};\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n title: PropTypes.string,\n left: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n hideIcon: PropTypes.bool,\n marginTop: PropTypes.number,\n marginBottom: PropTypes.number,\n content: PropTypes.node,\n};\n","import styled from 'styled-components';\n\nexport const CollapsableContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: ${({ marginTop }) => marginTop}px;\n margin-bottom: ${({ marginBottom }) => marginBottom}px;\n`;\n\nexport const CollapsableHeader = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n justify-content: flex-start;\n align-self: flex-start;\n margin-bottom: 14px;\n`;\n\nexport const LeftIconWrapper = styled.div`\n margin-right: 6px;\n display: flex;\n align-items: center;\n`;\n\nexport const IconWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: 3px;\n`;\n\nexport const CollapsableContent = styled.div`\n display: ${({ visible }) => (visible ? 'flex' : 'none')};\n`;\n","import React, { useCallback, useState } from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { IconCheveronDown } from '@/assets';\nimport {\n CollapsableContainer,\n CollapsableContent,\n CollapsableHeader,\n IconWrapper,\n LeftIconWrapper,\n} from './styled';\n\nexport const Collapsable = ({\n title,\n left,\n hideIcon = false,\n marginTop = 0,\n marginBottom = 30,\n content,\n}) => {\n const [visible, setVisible] = useState(true);\n const toggleVisibility = useCallback(() => {\n if (hideIcon) return;\n setVisible(!visible);\n }, [visible, setVisible]);\n\n return (\n <CollapsableContainer marginTop={marginTop} marginBottom={marginBottom}>\n <CollapsableHeader onClick={toggleVisibility}>\n {left && <LeftIconWrapper>{left}</LeftIconWrapper>}\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n >\n {title}\n </StyledText>\n {!hideIcon && (\n <IconWrapper>\n <StyledImage src={IconCheveronDown} />\n </IconWrapper>\n )}\n </CollapsableHeader>\n <CollapsableContent visible={visible}>{content}</CollapsableContent>\n </CollapsableContainer>\n );\n};\n\nCollapsable.propTypes = propTypes;\n","import styled from 'styled-components';\n\nexport const TemplatesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 10px;\n align-items: flex-start;\n`;\n\nexport const TemplateItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 1;\n }\n\n &:hover::before {\n opacity: 1;\n }\n &:hover > button {\n display: flex;\n z-index: 2;\n }\n`;\n\nexport const StyledDeleteButton = styled.button`\n display: none;\n justify-content: center;\n align-items: center;\n height: 30px;\n width: 30px;\n padding: 8px;\n border-radius: 100%;\n background: rgba(255, 255, 255, 1);\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n\n &:hover {\n border-color: #d91919;\n }\n &:focus {\n outline: none;\n }\n`;\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAdd } from '@/assets';\nimport { IconDelete } from '@/assets';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { StyledContainer, StyledDeleteButton, TemplateItem, TemplatesContainer } from './styled';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TemplateSideBar = ({\n oncreateNewTemplate,\n languageLocale,\n onDeleteCustomTemplate,\n defaultTemplatesList,\n customTemplatesList,\n}) => {\n const renderDefaultContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {defaultTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n const renderCustomContent = useMemo(() => {\n return (\n <TemplatesContainer>\n {customTemplatesList?.map((item, index) => (\n <TemplateItem\n key={index}\n onClick={() => {\n oncreateNewTemplate(item?.elements);\n }}\n >\n <StyledImage\n src={item?.image}\n maxHeight={125}\n maxWidth={115}\n borderRadius={6}\n />\n <StyledDeleteButton\n onClick={e => {\n e.stopPropagation(); // ⛔ Prevents parent onClick\n onDeleteCustomTemplate?.(item);\n }}\n >\n <StyledImage src={IconDelete} height={24} />\n </StyledDeleteButton>\n <StyledText\n color={theme.color.gray_A1A1A1}\n fontSize={10}\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 115,\n }}\n >\n {item?.title}\n </StyledText>\n </TemplateItem>\n ))}\n </TemplatesContainer>\n );\n }, []);\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.NEW_TEMPLATE}\n left={<StyledImage src={IconAdd} />}\n marginBottom={38}\n onClick={() => oncreateNewTemplate()}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n {customTemplatesList.length > 0 && (\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_TEMPLATES}\n content={renderCustomContent}\n />\n )}\n </StyledContainer>\n );\n};\n\nTemplateSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddTextToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const ItemWrapper = styled.div`\n margin-bottom: 18px;\n cursor: pointer;\n transition: background-color 0.1s ease;\n padding: 5px;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconAddText, IconInfo } from '@/assets';\nimport { Container, ItemWrapper, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport { textList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const TextSideBar = ({ onAddTextToCanvas, languageLocale, defaultText }) => {\n const renderTextListContent = () => {\n return (\n <Container>\n {textList?.map((item, index) => {\n return (\n <ItemWrapper\n key={index}\n onClick={() => {\n onAddTextToCanvas({ ...item, text: defaultText || item?.text });\n }}\n >\n <StyledText\n color={item?.color}\n fontFamily={item?.fontFamily}\n fontWeight={item?.fontWeight}\n fontSize={item?.fontSize}\n >\n {defaultText || item?.text}\n </StyledText>\n </ItemWrapper>\n );\n })}\n </Container>\n );\n };\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_TEXT}\n left={<StyledImage src={IconAddText} />}\n marginBottom={38}\n onClick={() => onAddTextToCanvas(null)}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.HELP_TEXT}\n content={renderTextListContent()}\n left={<StyledImage src={IconInfo} />}\n />\n </StyledContainer>\n );\n};\n\nTextSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n defaultImagesList: PropTypes.array,\n customImagesList: PropTypes.array,\n onAddCustomImageToList: PropTypes.func,\n onAddImageToCanvas: PropTypes.func,\n languageLocale: PropTypes.string,\n uploadImageCallBack: PropTypes.func,\n setLoadingUploadImage: PropTypes.func,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ImagesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 20px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n width: ${(width = 'calc(50% - 20px)') => width};\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Button } from '../Button';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconUpload } from '@/assets';\nimport { ImagesContainer, SingleItem, StyledContainer } from './styled';\nimport { Collapsable } from '../Collapsable';\nimport theme from '@/theme';\nimport { pickImage } from '@/utils';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ImageSideBar = ({\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n languageLocale,\n uploadImageCallBack,\n setLoadingUploadImage,\n}) => {\n const renderDefaultContent = (\n <ImagesContainer>\n {defaultImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {defaultImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n width={'auto'}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const renderCustomImages = (\n <ImagesContainer>\n {customImagesList?.length === 0 && (\n <StyledText fontSize={10} color={theme.color.gray_535354}>\n {TEXT_DICTIONARY?.[languageLocale]?.PLEASE_ADD_IMAGES}\n </StyledText>\n )}\n {customImagesList?.map((item, index) => (\n <SingleItem\n key={index}\n onClick={() => {\n onAddImageToCanvas(item);\n }}\n >\n <StyledImage src={item} maxHeight={100} maxWidth={100} />\n </SingleItem>\n ))}\n </ImagesContainer>\n );\n\n const addImageToList = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n onAddCustomImageToList(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n onAddCustomImageToList(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n\n return (\n <StyledContainer>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_IMAGE}\n left={<StyledImage src={IconUpload} />}\n marginBottom={38}\n onClick={addImageToList}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.DEFAULT}\n content={renderDefaultContent}\n />\n <Collapsable\n title={TEXT_DICTIONARY?.[languageLocale]?.CUSTOM_IMAGES}\n content={renderCustomImages}\n />\n </StyledContainer>\n );\n};\n\nImageSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n onAddShape: PropTypes.func,\n languageLocale: PropTypes.string,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n\nexport const ShapesContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 15px;\n align-items: flex-start;\n`;\n\nexport const SingleItem = styled.div`\n display: flex;\n flex-direction: column;\n cursor: pointer;\n align-items: center;\n justify-content: center;\n width: 71px;\n height: 71px;\n transition: background-color 0.1s ease;\n &:hover {\n background-color: ${theme.color.gray_F0F2F7};\n }\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { ShapesContainer, SingleItem, StyledContainer } from './styled';\nimport { shapesList } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const ShapeSideBar = ({ onAddShape, languageLocale }) => {\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={15}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.ADD_SHAPES}\n </StyledText>\n <ShapesContainer>\n {shapesList.map((item, index) => {\n return (\n <SingleItem key={index} onClick={() => onAddShape(item?.shape)}>\n <StyledImage src={item?.icon} />\n </SingleItem>\n );\n })}\n </ShapesContainer>\n </StyledContainer>\n );\n};\n\nShapeSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n toggleQr: PropTypes.func,\n qrPresent: PropTypes.bool,\n toggleQrLogo: PropTypes.func,\n addQrLogo: PropTypes.func,\n elements: PropTypes.array,\n qrLogo: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n ]),\n languageLocale: PropTypes.string,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n text: PropTypes.string,\n onToggle: PropTypes.func,\n isActive: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n","import theme from '@/theme';\nimport styled from 'styled-components';\n\nexport const ToggleContainer = styled.div`\n width: 44px;\n height: 24px;\n background-color: ${({ isActive }) =>\n isActive ? theme.color.green_80D965 : theme.color.gray_E8E8E8};\n border-radius: 25px;\n display: flex;\n align-items: center;\n padding: 2px;\n cursor: pointer;\n transition: background-color 0.3s ease;\n position: relative;\n`;\n\nexport const ToggleCircle = styled.div`\n width: 20px;\n height: 20px;\n background-color: white;\n border-radius: 50%;\n position: absolute;\n left: ${({ isActive }) => (isActive ? 'calc(100% - 24px)' : '4px')};\n transition:\n left 0.3s ease,\n box-shadow 0.3s ease;\n box-shadow: ${({ isActive }) =>\n isActive ? '2px 2px 5px rgba(0, 0, 0, 0.2)' : '-2px 2px 5px rgba(0, 0, 0, 0.2)'};\n`;\n\nexport const Container = styled.div`\n padding: 10px 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const InfoContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport { IconInfo } from '@/assets';\nimport theme from '@/theme';\nimport { Container, InfoContainer, ToggleCircle, ToggleContainer } from './styled';\n\nexport const RadioSection = ({ text, onToggle, isActive, disabled }) => {\n return (\n <Container>\n <InfoContainer>\n <StyledImage src={IconInfo} />\n <StyledText\n marginLeft={6}\n color={theme.color.black}\n fontSize={12}\n fontWeight={theme.fontWeights[500]}\n >\n {text}\n </StyledText>\n </InfoContainer>\n <ToggleContainer\n isActive={isActive}\n onClick={() => {\n if (disabled) {\n return;\n }\n onToggle && onToggle();\n }}\n >\n <ToggleCircle isActive={isActive} />\n </ToggleContainer>\n </Container>\n );\n};\n\nRadioSection.propTypes = propTypes;\n","import React, { useMemo } from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconUpload } from '@/assets';\nimport { elementTypes } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const QrSideBar = ({\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n languageLocale,\n}) => {\n let logoVisible = useMemo(() => {\n let index = elements?.findIndex(e => e?.type === elementTypes?.qr);\n if (index < 0) {\n return false;\n }\n return elements?.[index]?.logoVisible;\n }, [elements]);\n return (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.SETTINGS}\n </StyledText>\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_QR_CODE}\n isActive={qrPresent}\n onToggle={toggleQr}\n />\n <RadioSection\n text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_LOGO_IN_QR}\n isActive={qrPresent && logoVisible}\n onToggle={toggleQrLogo}\n disabled={!qrPresent}\n />\n\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.ADD_LOGO}\n left={<StyledImage src={IconUpload} />}\n marginBottom={30}\n marginTop={24}\n onClick={addQrLogo}\n />\n {qrLogo && <StyledImage src={qrLogo} height={89} width={89} />}\n </StyledContainer>\n );\n};\n\nQrSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n translation: PropTypes.object,\n};\n","import styled from 'styled-components';\n\nexport const StyledContainer = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { StyledContainer } from './styled';\nimport { StyledImage, StyledText } from '@/generic/Styled';\nimport theme from '@/theme';\nimport { RadioSection } from '../RadioSection';\nimport { Button } from '../Button';\nimport { IconGraph } from '@/assets';\nimport { ButtonVarients } from '@/constants';\nimport { TEXT_DICTIONARY } from '@/constants/textConstants';\n\nexport const WhiteLabelSideBar = ({ languageLocale }) => (\n <StyledContainer>\n <StyledText\n color={theme.color.gray_646464}\n fontWeight={theme.fontWeights[500]}\n marginRight={6}\n marginBottom={17}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.PREMIUM_SETTINGS}\n </StyledText>\n <RadioSection text={TEXT_DICTIONARY?.[languageLocale]?.SHOW_BRANDING} />\n\n <StyledText\n fontSize={12}\n color={theme.color.gray_333}\n marginTop={16}\n marginBottom={30}\n lineHeight={'20px'}\n >\n {TEXT_DICTIONARY?.[languageLocale]?.UNLOCK_PREMIUM_FEATURE_PARAGRAPH}\n </StyledText>\n <Button\n text={TEXT_DICTIONARY?.[languageLocale]?.UPGRADE_PLAN}\n left={<StyledImage src={IconGraph} />}\n varient={ButtonVarients.primary}\n />\n </StyledContainer>\n);\n\nWhiteLabelSideBar.propTypes = propTypes;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { SideBarHeader } from '../SideBarHeader';\nimport { SideBarContainer, SideBarWrapper } from './styled';\nimport { TemplateSideBar } from '../TemplateSideBar';\nimport { TextSideBar } from '../TextSideBar';\nimport { ImageSideBar } from '../ImageSideBar';\nimport { ShapeSideBar } from '../ShapeSideBar';\nimport { QrSideBar } from '../QrSideBar';\nimport { WhiteLabelSideBar } from '../WhiteLabelSideBar';\nimport { sideBarpillsList } from '@/constants';\nexport const HelperSideBar = ({\n selectedSideBarItem,\n helperSideBarVisible,\n onCollapse = () => {},\n onAddShape,\n defaultImagesList,\n customImagesList,\n onAddCustomImageToList,\n onAddImageToCanvas,\n toggleQr,\n qrPresent,\n toggleQrLogo,\n addQrLogo,\n elements,\n qrLogo,\n onAddTextToCanvas,\n oncreateNewTemplate,\n uploadImageCallBack,\n setLoadingUploadImage,\n defaultTemplatesList,\n customTemplatesList,\n onDeleteCustomTemplate,\n styleProps,\n defaultText,\n languageLocale,\n}) => (\n <SideBarWrapper visible={selectedSideBarItem && helperSideBarVisible}>\n <SideBarHeader\n onCollapse={onCollapse}\n selectedSideBarItem={selectedSideBarItem}\n languageLocale={languageLocale}\n />\n <SideBarContainer visible={selectedSideBarItem && helperSideBarVisible}>\n {selectedSideBarItem === sideBarpillsList?.template ? (\n <TemplateSideBar\n oncreateNewTemplate={oncreateNewTemplate}\n languageLocale={languageLocale}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.text ? (\n <TextSideBar\n onAddTextToCanvas={onAddTextToCanvas}\n languageLocale={languageLocale}\n styleProps={styleProps}\n defaultText={defaultText}\n />\n ) : selectedSideBarItem === sideBarpillsList?.image ? (\n <ImageSideBar\n defaultImagesList={defaultImagesList}\n customImagesList={customImagesList}\n onAddCustomImageToList={onAddCustomImageToList}\n onAddImageToCanvas={onAddImageToCanvas}\n languageLocale={languageLocale}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.shape ? (\n <ShapeSideBar onAddShape={onAddShape} languageLocale={languageLocale} />\n ) : selectedSideBarItem === sideBarpillsList?.qr ? (\n <QrSideBar\n toggleQr={toggleQr}\n qrPresent={qrPresent}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n elements={elements}\n qrLogo={qrLogo}\n languageLocale={languageLocale}\n styleProps={styleProps}\n />\n ) : selectedSideBarItem === sideBarpillsList?.whiteLabel ? (\n <WhiteLabelSideBar languageLocale={languageLocale} styleProps={styleProps} />\n ) : null}\n </SideBarContainer>\n </SideBarWrapper>\n);\n\nHelperSideBar.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n children: PropTypes.node,\n backgroundColor: PropTypes.string,\n};\n","import React from 'react';\nimport { propTypes } from './props';\nimport theme from '@/theme';\n\nexport const Overlay = ({ children, backgroundColor = theme.color.black_transparent }) => (\n <div\n style={{\n height: '100%',\n width: '100%',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n background: backgroundColor,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 99999,\n }}\n >\n {children}\n </div>\n);\n\nOverlay.propTypes = propTypes;\n","import PropTypes from 'prop-types';\n\nexport const propTypes = {\n size: PropTypes.string,\n color: PropTypes.string,\n borderWidth: PropTypes.string,\n};\n","import styled, { keyframes } from 'styled-components';\n\nconst spin = keyframes`\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const SpinnerWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Spinner = styled.div`\n width: ${props => props.size || '40px'};\n height: ${props => props.size || '40px'};\n border: ${props => props.borderWidth || '4px'} solid\n ${props => props.color + '33' || 'rgba(0, 123, 255, 0.2)'};\n border-top-color: ${props => props.color || '#007bff'};\n border-radius: 50%;\n animation: ${spin} 1s linear infinite;\n`;\n","import React from 'react';\nimport { propTypes } from './props';\nimport { Spinner, SpinnerWrapper } from './styled';\n\nexport const LoadingSpinner = ({ size = '40px', color = '#007bff', borderWidth = '4px' }) => (\n <SpinnerWrapper>\n <Spinner size={size} color={color} borderWidth={borderWidth} />\n </SpinnerWrapper>\n);\n\nLoadingSpinner.propTypes = propTypes;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\n// eslint-disable-next-line no-undef\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","import React, {\n useCallback,\n useMemo,\n useRef,\n useState,\n useEffect,\n forwardRef,\n useImperativeHandle,\n} from 'react';\nimport { propTypes } from './props';\nimport { StudioWrapper } from './styled';\nimport { Editor, HelperSideBar, LoadingSpinner, Overlay, SideBar } from '@/components';\nimport {\n calculatePercentageValue,\n exportStageAsImage,\n isElementOfSameType,\n isElementShape,\n loadAllGoogleFonts,\n pickImage,\n preloadRelevantImages,\n removeImageProperty,\n validateLocale,\n} from '@/utils';\nimport { pageSizes, pageSizesDimensions } from '@/constants/layoutConstants';\nimport {\n basicTextProps,\n defaultElements,\n defaultSideBarImagesList,\n elementTypes,\n sideBarpillsList,\n} from '@/constants';\nimport theme from '@/theme';\nimport { StyleSheetManager } from 'styled-components';\nimport isPropValid from '@emotion/is-prop-valid';\n/**\n * @typedef {Object} StudioProps\n * @property {string} [title]\n * @property {string} [defaultQrLogo]\n * @property {string} [languageLocale]\n * @property {Array} [elementsList]\n * @property {Array} [customImages]\n * @property {Array} [defaultImages]\n * @property {boolean} [disableWhiteLabel]\n * @property {Array} [defaultTemplatesList]\n * @property {Array} [customTemplatesList]\n * @property {string} [qrLink]\n * @property {Object} [styleProps]\n * @property {string} [defaultText]\n * @property {Function} onSave\n * @property {string} [saveButtonText]\n * @property {'en'|'ru'|'pl'|'de'|'es'|'fr'|'it'} [locale]\n */\n\n/**\n * @type {React.ForwardRefExoticComponent<StudioProps & React.RefAttributes<HTMLDivElement>>}\n */\nexport const Studio = forwardRef(\n (\n {\n title = '',\n defaultQrLogo = null,\n elementsList = defaultElements,\n uploadImageCallBack,\n customImages,\n defaultImages = defaultSideBarImagesList,\n disableWhiteLabel,\n defaultTemplatesList = [],\n customTemplatesList = [],\n onDeleteCustomTemplate,\n qrLink = 'www.google.com',\n styleProps = {},\n defaultText,\n onSave,\n showSaveButton,\n saveButtonText,\n locale = 'en',\n },\n ref,\n ) => {\n const stageRef = useRef(null);\n const [copiedElement, setCopiedElement] = useState(null);\n const [selectedTab, setSelectedTab] = useState(sideBarpillsList.template);\n const [languageLocale, setLanguageLocale] = useState(validateLocale(locale));\n const [loadingFonts, setLoadingFonts] = useState(true);\n const [loadingImages, setLoadingImages] = useState(true);\n const [loading, setLoading] = useState(false);\n const [loadingUploadImage, setLoadingUploadImage] = useState(false);\n const [helperSideBarVisible, setHelperSideBarVisible] = useState(true);\n const [zoomPercentage, setZoomPercentage] = useState(100);\n const [elements, setElements] = useState(elementsList);\n const [backgroundImageOpacity, setBackgroundImageOpacity] = useState(1);\n const [history, setHistory] = useState([]);\n const [redoStack, setRedoStack] = useState([]);\n const [shapeFillColor, setShapeFillColor] = useState(theme.color.white);\n const [shapeStrokeWidth, setShapeStrokeWidth] = useState(1);\n const [shapeStrokeColor, setShapeStrokeColor] = useState(theme.color.black);\n const [shapeOpacity, setShapeOpacity] = useState(1);\n const [imageStrokeWidth, setImageStrokeWidth] = useState(0);\n const [imageStrokeColor, setImageStrokeColor] = useState(theme.color.black);\n const [imageOpacity, setImageOpacity] = useState(1);\n const [qrStrokeWidth, setQrStrokeWidth] = useState(2);\n const [qrStrokeColor, setQrStrokeColor] = useState(theme.color.black);\n const [qrOpacity, setQrOpacity] = useState(1);\n const [selectedElement, setSelectedElement] = useState(null);\n const [customImagesList, setCustomImagesList] = useState(customImages || []);\n const [qrLogo, setQrLogo] = useState(defaultQrLogo);\n const [defaultTextProps, setDefaultTextProps] = useState(basicTextProps);\n\n const overallLoading = loadingFonts || loadingImages || loadingUploadImage || loading;\n\n const undo = useCallback(() => {\n if (history.length > 0) {\n setSelectedElement(null);\n\n const previousState = history[history.length - 1];\n setRedoStack([elements, ...redoStack]);\n setHistory(history.slice(0, -1));\n setElements(previousState);\n }\n }, [history, elements, redoStack, setRedoStack, setHistory, setElements]);\n\n const redo = useCallback(() => {\n if (redoStack.length > 0) {\n setSelectedElement(null);\n\n const nextState = redoStack[0];\n setHistory([...history, elements]);\n setRedoStack(redoStack.slice(1));\n setElements(nextState);\n }\n }, [history, elements, redoStack, setHistory, setRedoStack, setElements]);\n\n useImperativeHandle(ref, () => ({\n onSave: async () => {\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n return { elements: processedElements, image: dataURL };\n },\n loading: overallLoading,\n setLoading,\n }));\n useEffect(() => {\n const handleKeyDown = e => {\n const isMac = navigator.platform.toUpperCase().includes('MAC');\n const ctrlOrCmd = isMac ? e.metaKey : e.ctrlKey;\n const shiftKey = e.shiftKey;\n\n // Delete\n if (\n (e.key === 'Delete' || e.key === 'Backspace') &&\n selectedElement &&\n selectedElement?.draggable !== false &&\n !['INPUT', 'TEXTAREA'].includes(document.activeElement.tagName) &&\n !document.activeElement.isContentEditable\n ) {\n e.preventDefault();\n onDeleteSelectedElement();\n }\n\n // Copy\n if (ctrlOrCmd && e.key.toLowerCase() === 'c') {\n if (selectedElement) {\n e.preventDefault();\n const copied = { ...selectedElement };\n delete copied.ref;\n setCopiedElement(copied);\n }\n }\n\n // Paste\n if (ctrlOrCmd && e.key.toLowerCase() === 'v') {\n if (copiedElement) {\n e.preventDefault();\n const newElement = {\n ...copiedElement,\n id: `element${Date.now()}`,\n x: copiedElement.x + 10,\n y: copiedElement.y + 10,\n draggable: true,\n };\n addElement(newElement);\n setSelectedElement(newElement);\n }\n }\n\n // Undo: Ctrl/Cmd + Z\n if (ctrlOrCmd && !shiftKey && e.key.toLowerCase() === 'z') {\n e.preventDefault();\n undo();\n }\n\n // Redo: Ctrl/Cmd + Shift + Z or Ctrl + Y\n if (\n (ctrlOrCmd && shiftKey && e.key.toLowerCase() === 'z') ||\n (ctrlOrCmd && e.key.toLowerCase() === 'y')\n ) {\n e.preventDefault();\n redo();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [selectedElement, copiedElement, undo, redo]);\n\n // console.log(isPropValid('onClick'));\n useEffect(() => {\n setLanguageLocale(validateLocale(locale));\n }, [locale]);\n\n useEffect(() => {\n setCustomImagesList(customImages || []);\n }, [customImages]);\n\n useEffect(() => {\n setLoadingFonts(true);\n loadAllGoogleFonts()\n .then(() => {\n // eslint-disable-next-line no-console\n // console.log(msg);\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('❌ Error loading fonts:', err);\n })\n .finally(() => {\n setTimeout(() => {\n setLoadingFonts(false);\n }, 1000);\n // eslint-disable-next-line no-console\n console.log('🎉 Font loading complete!');\n });\n }, []);\n useEffect(() => {\n LoadImages(elementsList);\n setElements(elementsList);\n }, [...elementsList]);\n\n const LoadImages = elems => {\n setLoadingImages(true);\n preloadRelevantImages(elems)\n .then(({ errors }) => {\n // eslint-disable-next-line no-console\n // console.log('✅ Loaded images:', successes);\n if (errors?.length > 0) {\n // eslint-disable-next-line no-console\n console.log('❌ Failed images:', errors);\n }\n })\n .catch(err => {\n // eslint-disable-next-line no-console\n console.error('Something went really wrong:', err);\n })\n .finally(() => {\n setLoadingImages(false);\n });\n };\n\n const editorHeight = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.height,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const editorWidth = useMemo(() => {\n return calculatePercentageValue(\n pageSizesDimensions[\n elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4\n ]?.width,\n zoomPercentage,\n );\n }, [zoomPercentage, elements]);\n const selectedPageSize = useMemo(() => {\n return elements?.find(e => e?.type === elementTypes?.pageSize)?.size || pageSizes?.A4;\n }, [elements]);\n\n const onSelectedTab = useCallback(\n tab => {\n setSelectedElement(null);\n setSelectedTab(tab);\n setHelperSideBarVisible(true);\n },\n [setSelectedTab],\n );\n\n const onCollapseHelperSideBar = useCallback(() => {\n setHelperSideBarVisible(false);\n }, [setHelperSideBarVisible]);\n\n const onChangeZoomPercentage = percentage => {\n setZoomPercentage(percentage);\n };\n\n const saveHistory = newElements => {\n setHistory([...history, elements]);\n setRedoStack([]);\n setElements(newElements);\n };\n\n const onSetBackgroundColor = color => {\n if (!color) {\n return;\n }\n let newElement;\n let elemClone = [...elements];\n let backgroundColorIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundColor,\n );\n if (backgroundColorIndex > -1) {\n elemClone.splice(backgroundColorIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundColor,\n id: `element${Date.now()}`,\n color: color,\n };\n\n saveHistory([...elemClone, newElement]);\n };\n const onSetPageSize = size => {\n if (!size) {\n return;\n }\n\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex]['size'] = size;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n size: size,\n };\n elemClone.push(sizeElement);\n }\n\n saveHistory(removeImageProperty(elemClone));\n };\n\n const onChangeCuttingGuideProp = (type, value) => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let sizeIndex = elemClone.findIndex(e => e?.type === elementTypes?.pageSize);\n if (sizeIndex > -1) {\n elemClone[sizeIndex][type] = value;\n } else {\n let sizeElement = {\n type: elementTypes?.pageSize,\n id: `element${Date.now()}`,\n };\n sizeElement[type] = value;\n elemClone.push(sizeElement);\n }\n saveHistory(removeImageProperty(elemClone));\n };\n\n const addElement = elem => {\n saveHistory([...elements, elem]);\n setSelectedElement(elem);\n };\n\n const addShape = type => {\n let shapeProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: shapeFillColor,\n stroke: shapeStrokeColor,\n strokeWidth: shapeStrokeWidth,\n opacity: shapeOpacity,\n type: type,\n draggable: true,\n };\n if (type === elementTypes.circle) {\n shapeProps['radius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.square) {\n shapeProps['height'] = 100;\n shapeProps['width'] = 100;\n shapeProps['name'] = elementTypes.square;\n\n addElement(shapeProps);\n } else if (type === elementTypes.arrowRight) {\n shapeProps['points'] = [0, 0, 100, 0];\n shapeProps['pointerLength'] = 20;\n shapeProps['pointerWidth'] = 20;\n shapeProps['strokeWidth'] = 4;\n shapeProps['fill'] = shapeStrokeColor;\n addElement(shapeProps);\n } else if (type === elementTypes.triangle) {\n shapeProps['sides'] = 3;\n shapeProps['radius'] = 60;\n shapeProps['rotation'] = 0;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.heart) {\n shapeProps['data'] = `M 50,20 \n C 20,-10 -30,40 50,90 \n C 130,40 80,-10 50,20 Z`;\n shapeProps['scale'] = { x: 1, y: 1 };\n addElement(shapeProps);\n } else if (type === elementTypes.star) {\n shapeProps['numPoints'] = 5;\n shapeProps['innerRadius'] = 30;\n shapeProps['outerRadius'] = 70;\n shapeProps['x'] = editorWidth / 2;\n shapeProps['y'] = editorHeight / 2;\n addElement(shapeProps);\n } else if (type === elementTypes.horizontalLine) {\n const centerY = editorHeight / 2;\n shapeProps['points'] = [50, centerY, editorWidth - 50, centerY];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n } else if (type === elementTypes.verticalLine) {\n const centerX = editorWidth / 2;\n shapeProps['points'] = [centerX, 50, centerX, editorHeight - 50];\n shapeProps['x'] = 0;\n shapeProps['y'] = 0;\n shapeProps['strokeWidth'] = 4;\n\n addElement(shapeProps);\n }\n // console.error(type);\n };\n\n const onSetBackgroundImage = img => {\n let newElement;\n let elemClone = [...elements];\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n }\n newElement = {\n type: elementTypes?.backgroundImage,\n id: `element${Date.now()}`,\n src: img,\n opacity: backgroundImageOpacity,\n };\n saveHistory([...elemClone, newElement]);\n };\n const onRemoveBackgroundImage = () => {\n let elemClone = JSON.parse(JSON.stringify(elements));\n let backgroundImageIndex = elemClone.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n elemClone.splice(backgroundImageIndex, 1);\n saveHistory(elemClone);\n }\n };\n\n const onChangeBackgroundImageOpacity = val => {\n let backgroundImageIndex = elements?.findIndex(\n e => e?.type === elementTypes?.backgroundImage,\n );\n if (backgroundImageIndex > -1) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.backgroundImage ? { ...el, opacity: val } : el,\n );\n\n saveHistory(updatedElements);\n }\n setBackgroundImageOpacity(val);\n };\n\n const onSelectElement = element => {\n if (isElementShape(element)) {\n setSelectedTab(sideBarpillsList?.shape);\n } else if (isElementOfSameType(element, elementTypes?.image)) {\n setSelectedTab(sideBarpillsList?.image);\n } else if (isElementOfSameType(element, elementTypes?.qr)) {\n setSelectedTab(sideBarpillsList?.qr);\n } else if (isElementOfSameType(element, elementTypes?.text)) {\n setSelectedTab(sideBarpillsList?.text);\n }\n if (element) {\n let elem = element;\n delete elem['ref'];\n setSelectedElement({ ...elem });\n setHelperSideBarVisible(true);\n } else {\n setSelectedElement(null);\n }\n };\n\n const changeSelectedElementProperty = (key, value) => {\n let selectedElementCopy = { ...selectedElement };\n selectedElementCopy[key] = value;\n delete selectedElementCopy['ref'];\n if (key === 'fontWeight') {\n selectedElementCopy['fontVariant'] = value;\n }\n const updatedElements = elements?.map(el =>\n el.id === selectedElementCopy?.id ? { ...selectedElementCopy } : el,\n );\n saveHistory(updatedElements);\n setSelectedElement(selectedElementCopy);\n };\n\n const onChangeShapeFill = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('fill', e);\n } else {\n setShapeFillColor(e);\n }\n };\n\n const onChangeShapeStrokeWidth = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setShapeStrokeWidth(e);\n }\n };\n\n const onChangeShapeStrokeColor = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setShapeStrokeColor(e);\n }\n };\n\n const onChangeShapeOpacity = e => {\n if (selectedElement && isElementShape(selectedElement)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setShapeOpacity(e);\n }\n };\n const onDeleteSelectedElement = () => {\n let index = elements?.findIndex(e => e?.id === selectedElement?.id);\n if (index < 0) {\n return;\n }\n let copy = [...elements];\n copy.splice(index, 1);\n setSelectedElement(null);\n saveHistory([...copy]);\n };\n const onCopySelectedElement = () => {\n let copyElement = { ...selectedElement };\n copyElement['id'] = `element${Date.now()}`;\n copyElement['x'] = selectedElement?.x + 10;\n copyElement['y'] = selectedElement?.y + 10;\n copyElement['draggable'] = true;\n\n addElement(copyElement);\n };\n const onToggleLockElement = () => {\n changeSelectedElementProperty('draggable', !selectedElement?.draggable);\n // setSelectedElement(null);\n };\n const bringSelectedElementToFront = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.push(selectedElem);\n saveHistory([...copyElements]);\n };\n const createNewTemplate = (\n elems = [\n ...defaultElements,\n {\n type: elementTypes.qr,\n id: `element${Date.now() + 1}`,\n width: 110,\n height: 110,\n x: 194.5,\n y: 280,\n fill: theme.color.green_80D965,\n stroke: theme.color.black,\n strokeWidth: 2,\n draggable: true,\n qrLogo: null,\n qrText: qrLink,\n opacity: 1,\n logoVisible: false,\n },\n ],\n ) => {\n setElements([...elems]);\n setHistory([]);\n setRedoStack([]);\n };\n\n const sendSelectedElementToBack = () => {\n let copyElements = [...elements];\n const index = copyElements?.findIndex(elem => elem.id === selectedElement?.id);\n if (index === -1) {\n return;\n }\n const [selectedElem] = copyElements?.splice(index, 1);\n copyElements?.unshift(selectedElem);\n saveHistory([...copyElements]);\n };\n const onChangeImageStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setImageStrokeWidth(e);\n }\n };\n\n const onChangeImageStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setImageStrokeColor(e);\n }\n };\n\n const onChangeImageOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.image)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setImageOpacity(e);\n }\n };\n\n const addCustomImageToList = img => {\n // console.error({img});\n setCustomImagesList([...customImagesList, img]);\n };\n\n const addImageToCanvas = img => {\n let imgProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n stroke: imageStrokeColor,\n strokeWidth: imageStrokeWidth,\n opacity: imageOpacity,\n type: elementTypes.image,\n draggable: true,\n // width: 100,\n // height: 100,\n src: img,\n };\n addElement(imgProps);\n };\n const addTextToCanvas = e => {\n let text = e ? e : defaultTextProps;\n let textProps = {\n id: `element${Date.now()}`,\n x: editorWidth / 2 - 100,\n y: editorHeight / 2,\n opacity: text?.opacity || defaultTextProps?.opacity,\n type: elementTypes.text,\n draggable: true,\n text: text?.text || defaultTextProps?.text,\n fontSize: text?.fontSize || defaultTextProps?.fontSize,\n fontFamily: text?.fontFamily || defaultTextProps?.fontFamily,\n color: text?.color || defaultTextProps?.color,\n textDecoration: text?.textDecoration || defaultTextProps?.textDecoration,\n fontStyle: text?.fontStyle || defaultTextProps?.fontStyle,\n fontWeight: text?.fontWeight || defaultTextProps?.fontWeight,\n textAlign: text?.textAlign || defaultTextProps?.textAlign,\n };\n if (text?.width) {\n textProps['width'] = text?.width;\n }\n\n addElement(textProps);\n };\n\n const addQrCode = () => {\n let qrProps = {\n id: `element${Date.now()}`,\n type: elementTypes.qr,\n height: 110,\n width: 110,\n x: editorWidth / 2 - 50,\n y: editorHeight / 2 - 50,\n fill: theme.color.green_80D965,\n stroke: qrStrokeColor,\n strokeWidth: qrStrokeWidth,\n draggable: true,\n qrLogo: null,\n qrText: qrLink,\n opacity: qrOpacity,\n logoVisible: false,\n };\n addElement(qrProps);\n };\n\n const removeQrCode = () => {\n let copy = elements?.filter(el => el.type !== elementTypes?.qr);\n if (selectedElement?.type === elementTypes?.qr) {\n setSelectedElement(null);\n }\n saveHistory([...copy]);\n };\n const onChangeQrStrokeWidth = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('strokeWidth', e);\n } else {\n setQrStrokeWidth(e);\n }\n };\n\n const onChangeQrStrokeColor = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('stroke', e);\n } else {\n setQrStrokeColor(e);\n }\n };\n\n const onChangeQrOpacity = e => {\n if (isElementOfSameType(selectedElement, elementTypes?.qr)) {\n changeSelectedElementProperty('opacity', e);\n } else {\n setQrOpacity(e);\n }\n };\n const toggleQr = () => {\n if (elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1) {\n removeQrCode();\n } else {\n addQrCode();\n }\n };\n const turnLogoVisibiltyOn = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr\n ? { ...el, logoVisible: true, qrLogo: el?.qrLogo || qrLogo }\n : el,\n );\n saveHistory(updatedElements);\n };\n const turnLogoVisibiltyOff = () => {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, logoVisible: false } : el,\n );\n saveHistory(updatedElements);\n };\n const toggleQrLogo = () => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n if (index > -1) {\n setSelectedElement(null);\n if (elements?.[index]?.logoVisible) {\n turnLogoVisibiltyOff();\n } else {\n turnLogoVisibiltyOn();\n }\n }\n };\n\n const addQrLogo = async () => {\n const file = await pickImage();\n if (!file) return;\n if (uploadImageCallBack) {\n setLoadingUploadImage(true);\n const imageUrl = await uploadImageCallBack(file);\n addLogo(imageUrl);\n setLoadingUploadImage(false);\n } else {\n const reader = new FileReader();\n reader.onload = () => {\n addLogo(reader.result);\n };\n reader.readAsDataURL(file);\n }\n };\n const addLogo = url => {\n let index = elements?.findIndex(elem => elem.type === elementTypes?.qr);\n setQrLogo(url);\n if (index > -1) {\n // if (elements[index]?.logoVisible) {\n const updatedElements = elements?.map(el =>\n el.type === elementTypes?.qr ? { ...el, qrLogo: url } : el,\n );\n saveHistory(updatedElements);\n // }\n }\n };\n\n const onChangeTextProperty = (key, value) => {\n if (isElementOfSameType(selectedElement, elementTypes?.text)) {\n changeSelectedElementProperty(key, value);\n } else {\n let copyDefultProps = { ...defaultTextProps };\n copyDefultProps[key] = value;\n setDefaultTextProps({ ...copyDefultProps });\n }\n };\n const onSaveProgress = async () => {\n if (!onSave) {\n return;\n }\n setLoading(true);\n setSelectedElement(null);\n setZoomPercentage(100);\n await new Promise(resolve => setTimeout(resolve, 100));\n let processedElements = removeImageProperty(elements);\n const dataURL = await exportStageAsImage(stageRef);\n setLoading(false);\n onSave({ elements: processedElements, image: dataURL });\n };\n\n return (\n <StyleSheetManager shouldForwardProp={isPropValid}>\n <StudioWrapper>\n <SideBar\n selectedSideBarItem={selectedTab}\n onClickPill={onSelectedTab}\n languageLocale={languageLocale}\n disableWhiteLabel={disableWhiteLabel}\n styleProps={styleProps}\n />\n <HelperSideBar\n selectedSideBarItem={selectedTab}\n onCollapse={onCollapseHelperSideBar}\n helperSideBarVisible={helperSideBarVisible}\n onAddShape={addShape}\n defaultImagesList={defaultImages}\n customImagesList={customImagesList}\n onAddCustomImageToList={addCustomImageToList}\n onAddImageToCanvas={addImageToCanvas}\n onAddTextToCanvas={addTextToCanvas}\n toggleQr={toggleQr}\n qrPresent={elements?.findIndex(elem => elem.type === elementTypes?.qr) > -1}\n toggleQrLogo={toggleQrLogo}\n addQrLogo={addQrLogo}\n qrLogo={\n elements?.[elements?.findIndex(elem => elem.type === elementTypes?.qr)]\n ?.qrLogo || qrLogo\n }\n elements={elements}\n oncreateNewTemplate={createNewTemplate}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n defaultTemplatesList={defaultTemplatesList}\n customTemplatesList={customTemplatesList}\n onDeleteCustomTemplate={onDeleteCustomTemplate}\n styleProps={styleProps}\n defaultText={defaultText}\n languageLocale={languageLocale}\n />\n {loadingFonts ? null : (\n <Editor\n // canvasSize={canvasSize}\n cuttingGuideStroke={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStroke || 0\n }\n cuttingGuideStrokeColor={\n elements?.find(e => e?.type === elementTypes?.pageSize)\n ?.cuttingGuideStrokeColor || theme?.color.black\n }\n onChangeCuttingGuideProp={(type, value) => {\n onChangeCuttingGuideProp(type, value);\n }}\n editorHeight={editorHeight}\n editorWidth={editorWidth}\n selectedTab={selectedTab}\n title={title}\n zoomPercentage={zoomPercentage}\n onChangeZoomPercentage={onChangeZoomPercentage}\n onSetBackgroundColor={onSetBackgroundColor}\n elements={elements}\n history={history}\n redoStack={redoStack}\n onSetBackgroundImage={onSetBackgroundImage}\n onUndo={undo}\n onRedo={redo}\n shapeStrokeColor={shapeStrokeColor}\n shapeStrokeWidth={shapeStrokeWidth}\n shapeFillColor={shapeFillColor}\n imageStrokeWidth={imageStrokeWidth}\n imageStrokeColor={imageStrokeColor}\n imageOpacity={imageOpacity}\n onChangeImageStrokeWidth={onChangeImageStrokeWidth}\n onChangeImageStrokeColor={onChangeImageStrokeColor}\n onChangeImageOpacity={onChangeImageOpacity}\n onChangeShapeStrokeColor={onChangeShapeStrokeColor}\n onChangeShapeStrokeWidth={onChangeShapeStrokeWidth}\n onChangeShapeFill={onChangeShapeFill}\n shapeOpacity={shapeOpacity}\n onChangeShapeOpacity={onChangeShapeOpacity}\n qrStrokeWidth={qrStrokeWidth}\n qrStrokeColor={qrStrokeColor}\n qrOpacity={qrOpacity}\n onChangeQrStrokeWidth={onChangeQrStrokeWidth}\n onChangeQrStrokeColor={onChangeQrStrokeColor}\n onChangeQrOpacity={onChangeQrOpacity}\n selectedElement={selectedElement}\n onSelectElement={onSelectElement}\n stageRef={stageRef}\n saveHistory={saveHistory}\n onChangeBackgroundImageOpacity={onChangeBackgroundImageOpacity}\n backgroundImageOpacity={\n elements?.find(e => e?.type === elementTypes?.backgroundImage)\n ?.opacity || backgroundImageOpacity\n }\n onDeleteSelectedElement={onDeleteSelectedElement}\n onCopySelectedElement={onCopySelectedElement}\n onToggleLockElement={onToggleLockElement}\n bringSelectedElementToFront={bringSelectedElementToFront}\n sendSelectedElementToBack={sendSelectedElementToBack}\n defaultTextProps={defaultTextProps}\n onChangeTextProperty={onChangeTextProperty}\n onSetPageSize={onSetPageSize}\n selectedPageSize={selectedPageSize}\n loadingImages={loadingImages}\n loadingFonts={loadingFonts}\n uploadImageCallBack={uploadImageCallBack}\n setLoadingUploadImage={setLoadingUploadImage}\n onSave={onSave && onSaveProgress}\n showSaveButton={showSaveButton}\n onSetSelectedTab={onSelectedTab}\n saveButtonText={saveButtonText}\n languageLocale={languageLocale}\n onRemoveBackgroundImage={onRemoveBackgroundImage}\n />\n )}\n {overallLoading && (\n <Overlay>\n <LoadingSpinner size=\"60px\" color={theme.color.secondary} />\n </Overlay>\n )}\n </StudioWrapper>\n </StyleSheetManager>\n );\n },\n);\n\nStudio.propTypes = propTypes;\nStudio.displayName = 'Studio';\n"],"names":["propTypes","title","PropTypes","string","languageLocale","elementsList","array","customImages","defaultImages","disableWhiteLabel","bool","defaultTemplatesList","customTemplatesList","qrLink","styleProps","object","defaultText","onSave","func","saveButtonText","locale","oneOf","palette","primary","secondary","gray_700","white","white_F5F5F5","white_F7F7F7","gray_535354","gray_545454","gray_646464","gray_200","gray_788899","icon_gray","gray_B8B8B8","gray_25","gray_7A7979","gray_E8E8E8","gray_EAEAEA","gray_CCC","gray_F2F2F2","gray_FDFCFC","gray_EDEDED","gray_FBFBFB","gray_F5F6F6","gray_A1A1A1","gray_F0F2F7","gray_333","gray_EFEFEF","gray_9DA1A7","green_80D965","black","black_transparent","color","_objectSpread","fonts","fontWeights","StudioWrapper","styled","div","_templateObject","_taggedTemplateLiteral","theme","selectedSideBarItem","oneOfType","onClickPill","SideBarWrapper","isSelected","onClick","icon","node","text","pillActiveColor","SideBarItem","_ref","_ref2","SideBarIcon","img","_templateObject2","_ref3","_ref3$isSelected","SideBarText","p","_templateObject3","_ref4","_ref4$isSelected","SideBarPill","_ref$isSelected","_ref$onClick","id","React","createElement","key","src","topTabBarpadding","helperSideBarWidth","pageSizes","A4","A3","A5","Letter","Legal","Ledger","B5","C5","pageSizesDimensions","_defineProperty","width","height","sideBarpillsList","template","image","shape","qr","whiteLabel","ButtonVarients","defaultSideBarImagesList","IconTools","IconToolsPink","textList","fontFamily","fontSize","fontWeight","textDecoration","fontStyle","textAlign","elementTypes","pageSize","backgroundColor","backgroundImage","circle","square","triangle","arrowRight","horizontalLine","verticalLine","star","heart","shapesList","IconCircle","IconSquare","IconTriangle","IconArrowRight","IconHorizontalLine","IconVerticalLine","IconStar","IconHeart","defaultElements","type","concat","Date","now","size","cuttingGuideStroke","cuttingGuideStrokeColor","basicTextProps","opacity","lineHeight","normalFonts","funkyFonts","fontFamilies","SUPPPORTED_LOCALES","TEXT_DICTIONARY","en","enTranslations","ru","ruTranslations","pl","plTranslations","de","deTranslations","es","esTranslations","fr","frTranslations","it","itTranslations","SideBar","_TEXT_DICTIONARY$lang","_TEXT_DICTIONARY$lang2","_TEXT_DICTIONARY$lang3","_TEXT_DICTIONARY$lang4","_TEXT_DICTIONARY$lang5","_TEXT_DICTIONARY$lang6","_ref$onClickPill","sideBarItems","TEMPLATE","IconTemplate","TEXT","IconText","IMAGE","IconImage","SHAPE","IconShape","QR","IconQrCode","WHITE_LABEL","IconWhiteLabel","onClickSinglePill","useCallback","e","renderPills","useMemo","map","item","primaryColor","selectedTab","zoomPercentage","number","onChangeZoomPercentage","editorHeight","editorWidth","onSetBackgroundColor","elements","history","redoStack","onSetBackgroundImage","onUndo","onRedo","shapeStrokeColor","shapeStrokeWidth","shapeFillColor","onChangeShapeStrokeColor","onChangeShapeStrokeWidth","onChangeShapeFill","shapeOpacity","onChangeShapeOpacity","selectedElement","onSelectElement","stageRef","saveHistory","onChangeBackgroundImageOpacity","backgroundImageOpacity","onDeleteSelectedElement","onCopySelectedElement","onToggleLockElement","bringSelectedElementToFront","sendSelectedElementToBack","imageStrokeWidth","imageStrokeColor","imageOpacity","onChangeImageStrokeWidth","onChangeImageStrokeColor","onChangeImageOpacity","qrStrokeWidth","qrStrokeColor","qrOpacity","onChangeQrStrokeWidth","onChangeQrStrokeColor","onChangeQrOpacity","defaultTextProps","onChangeTextProperty","onSetPageSize","selectedPageSize","loadingImages","loadingFonts","uploadImageCallBack","setLoadingUploadImage","onChangeCuttingGuideProp","Container","EditorBg","InnerContainer","InnerContainerWrapper","_ref5","Title","_templateObject4","EditorBox","_templateObject5","_ref6","_ref7","_ref8","_ref9","canvasBackgroundColor","canvasBackgroundImage","translation","ToolBarWrapper","disabled","OverlayBlocker","paddingTop","paddingBottom","paddingLeft","paddingRight","children","marginLeft","marginRight","justifyContent","gap","tooltip","tooltipPosition","StyledContainer","_ref$height","_ref2$marginLeft","_ref3$marginRight","_ref4$justifyContent","_ref5$paddingTop","_ref6$paddingRight","_ref7$paddingBottom","_ref8$paddingLeft","_ref0","_ref0$gap","_ref1","_ref10","position","Wrapper","TooltipText","css","_templateObject6","Tooltip","_ref$position","_ref$disabled","ToolBarButtonWrapper","left","right","center","list","onSelect","fontPicker","any","DropDownItem","IconWrapper","DropDownList","DropDownOption","DropDown","_useState","useState","_useState2","_slicedToArray","isOpen","setIsOpen","dropdownRef","useRef","useEffect","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","handleSelect","ref","style","IconDropDown","index","stopPropagation","padding","cursor","borderBottom","length","Label","RowContainer","RemoveButton","onChange","Box","input","attrs","ColorBox","setColor","handler","setTimeout","clearTimeout","onChangeColor","value","StyledImage","maxWidth","maxHeight","objectFit","_ref6$marginTop","marginTop","_ref7$marginRight","_ref8$marginBottom","marginBottom","_ref9$marginLeft","_ref0$paddingTop","_ref1$paddingRight","_ref10$paddingBottom","_ref11","_ref11$paddingLeft","_ref12","_ref12$borderRadius","borderRadius","StyledText","_ref13","_ref14","_ref14$fontSize","_ref15","_ref16","_ref16$fontWeight","_ref17","_ref18","_ref19","_ref19$marginTop","_ref20","_ref20$marginRight","_ref21","_ref21$marginBottom","_ref22","_ref22$marginLeft","_ref23","_ref23$paddingTop","_ref24","_ref24$paddingRight","_ref25","_ref25$paddingBottom","_ref26","_ref26$paddingLeft","calculatePercentageValue","percentage","pickImage","Promise","resolve","reject","accept","display","files","Error","click","isElementShape","elem","isElementOfSameType","debounce","delay","timeoutId","_this","_len","arguments","args","Array","_key","apply","sanitizeNumber","defaultValue","undefined","precision","num","parseFloat","isNaN","toFixed","loadAllGoogleFonts","weights","italics","fontParams","font","fontName","replace","variantStr","ital","w","join","fontURL","querySelector","link","href","rel","head","appendChild","loadPromises","forEach","weight","push","load","all","then","err","preloadRelevantImages","_asyncToGenerator","_regenerator","m","_callee","imagePromises","_args","_context","n","qrLogo","Image","onload","success","onerror","filter","Boolean","a","allSettled","results","successes","r","status","errors","reason","removeImageProperty","rest","_objectWithoutProperties","_excluded","exportStageAsImage","_callee3","pageSizeKey","scale","_args3","_context3","_callee2","stage","canvas","dataURL","_t","_context2","toCanvas","pixelRatio","v","toDataURL","_x3","_x4","_x","_x2","validateLocale","includes","onChangeOpacity","min","max","step","pickerWidth","leftChild","rightChild","showLeftChild","varient","OpacityPicker","_ref$value","_ref$min","_ref$max","_ref$step","_ref$pickerWidth","_ref$gap","_ref$showLeftChild","_ref$varient","_ref$fontFamily","_ref$languageLocale","_ref$tooltip","OPACITY","_ref$tooltipPosition","pickerRef","opacityPickerVisible","setOpacityPickerVisible","IconOpacity","Math","round","bottom","background","border","zIndex","Number","strokeColor","onChangeStrokeWidth","leftIcon","elementType","StrokePicker","STROKE_WIDTH_AND_COLOR","_ref$leftIcon","IconGrid","strokePickerVisible","setStrokePickerVisible","_useState3","_useState4","alignItems","transform","pointerEvents","TemplateToolBar","onRemoveBackgroundImage","selectBackgroundColor","handleBackgroundUpload","file","imageUrl","reader","FileReader","result","readAsDataURL","Object","keys","PAGE_SIZE","BACKGROUND_COLOR","IconBackgroundColor","BACKGROUND_IMAGE","IconCross","IconBackgroundImage","BACKGROUND_IMAGE_OPACITY","IconBackgroundImageOpacity","IconDropDownSmall","CUTTING_GUIDE","IconFrame","textOpacity","tabsData","arrayOf","tabPadding","TabBarContainer","_ref2$marginRight","TabItem","isLast","_ref9$selected","selected","isFirst","ToolsTabBar","_ref$tabsData","_ref$tabPadding","_ref$marginRight","element","TextToolBar","_TEXT_DICTIONARY$lang7","_TEXT_DICTIONARY$lang8","_TEXT_DICTIONARY$lang9","_TEXT_DICTIONARY$lang0","_TEXT_DICTIONARY$lang1","_TEXT_DICTIONARY$lang10","TextTabsData","IconBold","BOLD","IconTextItalic","ITALIC","IconLineThrough","LINE_THROUGH","IconTextUnderLine","UNDERLINE","AlignmentTabsData","IconAlignLeft","LEFT_ALIGN","IconAlignCenter","CENTER_ALIGN","IconAlignRight","RIGHT_ALIGN","FONT_FAMILY","TEXT_SIZE","TEXT_LINE_HEIGHT","TEXT_COLOR","IconTextSmall","TEXT_OPACITY","ImageToolBar","strokeWidth","stroke","IMAGE_OPACITY","ShapeToolBar","SHAPE_FILL","fill","SHAPE_OPACITY","QrToolBar","TopToolBar","draggable","disableUndo","disableRedo","zoomLevel","onZoomIn","onZoomOut","ZoomControlWrapper","ZoomButton","Divider","ZoomPercentage","values","StyledButton","Button","_ref$marginBottom","_ref$marginTop","ZoomControls","_ref$zoomLevel","showSaveButton","SAVE","top","ZOOM_IN_OUT","IconZoomOut","IconZoomIn","ToolBarContainer","BottomToolBarControls","BringFrontBackTabsData","IconBringFront","BRING_FORWARD","IconSentBack","SEND_BACKWARD","LOCK","UNLOCK","IconUnlock","IconLock","COPY","IconCopy","DELETE","IconDelete","BottomToolbarWrapper","UndoRedoControls","UndeRedoTabsData","IconUndo","UNDO","IconRedo","REDO","BottomToolBar","Fragment","onDragEnd","onTransformEnd","onDragMove","CanvasImage","loaded","setLoaded","setImage","window","crossOrigin","_extends","strokeScaleEnabled","LogoTitle","QrElement","innerRectWidth","innerRectHeight","innerRectX","innerRectY","logo","setLogo","_useState5","_useState6","scaleX","scaleY","addQR","QRCode","qrText","margin","url","console","error","Group","Rect","fillPatternImage","fillPatternRepeat","fillPatternScale","x","y","logoVisible","Text","onTransform","onChangeTextContent","TextEditor","textNodeRef","onBlur","textWidth","textareaRef","styles","setStyles","_textNodeRef$attrs","_stg$attrs","_stg$attrs2","_textNodeRef$fontStyl","_textNodeRef$fontVari","_textNodeRef$textDeco","stg","getStage","findOne","styleObj","getHeight","overflow","outline","resize","transformOrigin","align","rotation","minHeight","whiteSpace","userSelect","call","fontVariant","_textareaRef$current","_textareaRef$current2","focus","select","Html","EditableText","trRef","textRef","setTextWidth","textFontSize","setTextFontSize","isEditing","setIsEditing","_useState7","_useState8","setText","_useState9","_useState0","isFontLoaded","setIsFontLoaded","tranform","transformer","activeAnchor","getActiveAnchor","updatedWidth","updatedObject","handleTransformEnd","nodeAttrs","newFontSize","handleTextDblClick","handleTextChange","newText","_textRef$current","getWidth","visible","onDblClick","onDblTap","useKonvaSnapping","params","_params$snapRange","_params$guidelineColo","_params$guidelineDash","_params$showGuideline","_params$guidelineThic","_params$snapToStageCe","_params$snapToStageBo","_params$snapToShapes","defaultParams","snapRange","guidelineColor","guidelineDash","showGuidelines","guidelineThickness","snapToStageCenter","snapToStageBorders","snapToShapes","oppositeAnchors","getSnappingPoints","currentTarget","vertical","horizontal","_stage$children","layer","_layer$children","layerChild","_layerChild$children","obj","box","getClientRect","getName","Konva","Transformer","createLine","Layer","isHorizontal","lineX","lineY","points","line","Line","name","dash","add","absolutePosition","dotProduct","v1","v2","vectorProject","b","dotAB","dotBB","scalar","calculateSlope","point1","point2","deltaX","deltaY","handleDragging","parent","find","destroy","_getSnappingPoints","newPos","guideLinesX","guideLinesY","breakPoint","abs","handleResizing","_getSnappingPoints2","keepRatio","_movingAnchorName","anchorDragBoundFunc","oldAbsPos","newAbsPos","bounds","_iterator","_createForOfIteratorHelper","_step","s","done","f","_iterator2","_step2","currentAnchorName","oppositeAnchorName","movingAnchor","anchorStartPosition","getAbsolutePosition","oppositeElement","oppositePoint","slope","transformVector","delta","projectedDelta","nextPos","_iterator3","_step3","_iterator4","_step4","handleResizeEnd","handleDragEnd","Editor","_ref$title","TITLE","onSetSelectedTab","transformerRef","_stageRef$current","selectedNode","nodes","getLayer","batchDraw","_useKonvaSnapping","backgroundIndex","findIndex","_elements$backgroundI","backgroundImageIndex","handleTransform","newAttrs","newAttributes","updatedElements","el","debouncedTransform","debouncedChangeText","handleTextTransform","renderElements","Circle","Arrow","RegularPolygon","Path","Star","LOGO","Stage","onMouseDown","listening","enabledAnchors","borderStroke","borderStrokeWidth","anchorFill","anchorStroke","anchorStrokeWidth","anchorSize","rotateEnabled","boundBoxFunc","oldBox","newBox","helperSideBarVisible","onCollapse","onAddShape","defaultImagesList","customImagesList","onAddCustomImageToList","onAddImageToCanvas","toggleQr","qrPresent","toggleQrLogo","addQrLogo","onAddTextToCanvas","oncreateNewTemplate","SideBarHeader","_ref$onCollapse","sideBarpillsText","Template","Shape","QR_CODE","BRANDING","COLLAPSE","IconChevronLeft","_ref$visible","SideBarContainer","hideIcon","content","CollapsableContainer","CollapsableHeader","LeftIconWrapper","CollapsableContent","Collapsable","_ref$hideIcon","setVisible","toggleVisibility","IconCheveronDown","TemplatesContainer","TemplateItem","StyledDeleteButton","button","TemplateSideBar","onDeleteCustomTemplate","renderDefaultContent","textOverflow","renderCustomContent","NEW_TEMPLATE","IconAdd","DEFAULT","CUSTOM_TEMPLATES","ItemWrapper","TextSideBar","renderTextListContent","ADD_TEXT","IconAddText","HELP_TEXT","IconInfo","ImagesContainer","SingleItem","ImageSideBar","PLEASE_ADD_IMAGES","renderCustomImages","addImageToList","ADD_IMAGE","IconUpload","CUSTOM_IMAGES","ShapesContainer","ShapeSideBar","ADD_SHAPES","onToggle","isActive","ToggleContainer","ToggleCircle","InfoContainer","RadioSection","QrSideBar","_elements$index","SETTINGS","SHOW_QR_CODE","SHOW_LOGO_IN_QR","ADD_LOGO","WhiteLabelSideBar","PREMIUM_SETTINGS","SHOW_BRANDING","UNLOCK_PREMIUM_FEATURE_PARAGRAPH","UPGRADE_PLAN","IconGraph","HelperSideBar","Overlay","_ref$backgroundColor","borderWidth","spin","keyframes","SpinnerWrapper","Spinner","props","LoadingSpinner","_ref$size","_ref$color","_ref$borderWidth","Studio","forwardRef","_elements$elements$fi","_elements$find4","_elements$find5","_elements$find6","_ref$defaultQrLogo","defaultQrLogo","_ref$elementsList","_ref$defaultImages","_ref$defaultTemplates","_ref$customTemplatesL","_ref$qrLink","_ref$styleProps","_ref$locale","copiedElement","setCopiedElement","setSelectedTab","setLanguageLocale","setLoadingFonts","setLoadingImages","_useState1","_useState10","loading","setLoading","_useState11","_useState12","loadingUploadImage","_useState13","_useState14","setHelperSideBarVisible","_useState15","_useState16","setZoomPercentage","_useState17","_useState18","setElements","_useState19","_useState20","setBackgroundImageOpacity","_useState21","_useState22","setHistory","_useState23","_useState24","setRedoStack","_useState25","_useState26","setShapeFillColor","_useState27","_useState28","setShapeStrokeWidth","_useState29","_useState30","setShapeStrokeColor","_useState31","_useState32","setShapeOpacity","_useState33","_useState34","setImageStrokeWidth","_useState35","_useState36","setImageStrokeColor","_useState37","_useState38","setImageOpacity","_useState39","_useState40","setQrStrokeWidth","_useState41","_useState42","setQrStrokeColor","_useState43","_useState44","setQrOpacity","_useState45","_useState46","setSelectedElement","_useState47","_useState48","setCustomImagesList","_useState49","_useState50","setQrLogo","_useState51","_useState52","setDefaultTextProps","overallLoading","undo","previousState","_toConsumableArray","slice","redo","nextState","useImperativeHandle","_onSave","processedElements","handleKeyDown","isMac","navigator","platform","toUpperCase","ctrlOrCmd","metaKey","ctrlKey","shiftKey","activeElement","tagName","isContentEditable","preventDefault","toLowerCase","copied","newElement","addElement","log","LoadImages","elems","_pageSizesDimensions","_elements$find","_pageSizesDimensions2","_elements$find2","_elements$find3","onSelectedTab","tab","onCollapseHelperSideBar","newElements","elemClone","backgroundColorIndex","splice","JSON","parse","stringify","sizeIndex","sizeElement","addShape","shapeProps","centerY","centerX","val","changeSelectedElementProperty","selectedElementCopy","copy","copyElement","copyElements","_copyElements$splice","_copyElements$splice2","selectedElem","createNewTemplate","_copyElements$splice3","_copyElements$splice4","unshift","addCustomImageToList","addImageToCanvas","imgProps","addTextToCanvas","textProps","addQrCode","qrProps","removeQrCode","turnLogoVisibiltyOn","turnLogoVisibiltyOff","addLogo","copyDefultProps","onSaveProgress","StyleSheetManager","shouldForwardProp","isPropValid","displayName"],"mappings":"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","x_google_ignoreList":[164,165]}