@bigbinary/neeto-editor-frontend 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Editor.js +7 -7
  3. package/dist/EditorContent.js +4 -4
  4. package/dist/FormikEditor.js +7 -7
  5. package/dist/Menu.js +5 -5
  6. package/dist/{chunk-CRUXOawK.js → chunk-B5LsYrmv.js} +4 -4
  7. package/dist/{chunk-CRUXOawK.js.map → chunk-B5LsYrmv.js.map} +1 -1
  8. package/dist/{chunk-lEnpEBRB.js → chunk-BozdxlzB.js} +5 -5
  9. package/dist/{chunk-lEnpEBRB.js.map → chunk-BozdxlzB.js.map} +1 -1
  10. package/dist/{chunk-BpMZjml2.js → chunk-C9H9LYpP.js} +2 -2
  11. package/dist/chunk-C9H9LYpP.js.map +1 -0
  12. package/dist/{chunk-YhV82e9I.js → chunk-CcLntzzh.js} +4 -4
  13. package/dist/{chunk-YhV82e9I.js.map → chunk-CcLntzzh.js.map} +1 -1
  14. package/dist/{chunk-BNyLNMnb.js → chunk-DGsiNcMa.js} +3 -3
  15. package/dist/{chunk-BNyLNMnb.js.map → chunk-DGsiNcMa.js.map} +1 -1
  16. package/dist/{chunk-DYRpf9PJ.js → chunk-DPx9v04U.js} +3 -3
  17. package/dist/{chunk-DYRpf9PJ.js.map → chunk-DPx9v04U.js.map} +1 -1
  18. package/dist/{chunk-7ioLE0kx.js → chunk-DcxOAiAp.js} +2 -2
  19. package/dist/{chunk-7ioLE0kx.js.map → chunk-DcxOAiAp.js.map} +1 -1
  20. package/dist/{chunk-DN9pYQV5.js → chunk-DqSrbxqC.js} +2 -2
  21. package/dist/{chunk-DN9pYQV5.js.map → chunk-DqSrbxqC.js.map} +1 -1
  22. package/dist/{chunk-Br5h7rjn.js → chunk-GA-wADEN.js} +3 -3
  23. package/dist/{chunk-Br5h7rjn.js.map → chunk-GA-wADEN.js.map} +1 -1
  24. package/dist/{chunk-DfH1lF5p.js → chunk-LtUevT4I.js} +2 -2
  25. package/dist/{chunk-DfH1lF5p.js.map → chunk-LtUevT4I.js.map} +1 -1
  26. package/dist/{chunk-sn8HEeT6.js → chunk-yBvbLjSM.js} +4 -4
  27. package/dist/{chunk-sn8HEeT6.js.map → chunk-yBvbLjSM.js.map} +1 -1
  28. package/dist/cjs/Editor.cjs.js +7 -7
  29. package/dist/cjs/EditorContent.cjs.js +4 -4
  30. package/dist/cjs/FormikEditor.cjs.js +7 -7
  31. package/dist/cjs/Menu.cjs.js +5 -5
  32. package/dist/cjs/{chunk-V1V-Gqfy.cjs.js → chunk-C-I6s_l9.cjs.js} +3 -3
  33. package/dist/cjs/{chunk-V1V-Gqfy.cjs.js.map → chunk-C-I6s_l9.cjs.js.map} +1 -1
  34. package/dist/cjs/{chunk-DRnP2LQe.cjs.js → chunk-CJIIbW7G.cjs.js} +2 -2
  35. package/dist/cjs/{chunk-DRnP2LQe.cjs.js.map → chunk-CJIIbW7G.cjs.js.map} +1 -1
  36. package/dist/cjs/{chunk-CQLQEN5P.cjs.js → chunk-CU6dMPZV.cjs.js} +2 -2
  37. package/dist/cjs/{chunk-CQLQEN5P.cjs.js.map → chunk-CU6dMPZV.cjs.js.map} +1 -1
  38. package/dist/cjs/{chunk-BPJBeVDI.cjs.js → chunk-C_XHzWXy.cjs.js} +2 -2
  39. package/dist/cjs/chunk-C_XHzWXy.cjs.js.map +1 -0
  40. package/dist/cjs/{chunk-bfmPXyQJ.cjs.js → chunk-CddQ0UHU.cjs.js} +3 -3
  41. package/dist/cjs/{chunk-bfmPXyQJ.cjs.js.map → chunk-CddQ0UHU.cjs.js.map} +1 -1
  42. package/dist/cjs/{chunk-78VpxO0R.cjs.js → chunk-CkSG3yNC.cjs.js} +4 -4
  43. package/dist/cjs/{chunk-78VpxO0R.cjs.js.map → chunk-CkSG3yNC.cjs.js.map} +1 -1
  44. package/dist/cjs/{chunk-CwY6UgZq.cjs.js → chunk-CxKWZyHq.cjs.js} +3 -3
  45. package/dist/cjs/{chunk-CwY6UgZq.cjs.js.map → chunk-CxKWZyHq.cjs.js.map} +1 -1
  46. package/dist/cjs/{chunk-j4T5BDua.cjs.js → chunk-Df33Mipq.cjs.js} +5 -5
  47. package/dist/cjs/{chunk-j4T5BDua.cjs.js.map → chunk-Df33Mipq.cjs.js.map} +1 -1
  48. package/dist/cjs/{chunk-bxP1kilM.cjs.js → chunk-Dwv-JqJN.cjs.js} +2 -2
  49. package/dist/cjs/{chunk-bxP1kilM.cjs.js.map → chunk-Dwv-JqJN.cjs.js.map} +1 -1
  50. package/dist/cjs/{chunk-CBswWnmM.cjs.js → chunk-Niprqtd_.cjs.js} +3 -3
  51. package/dist/cjs/{chunk-CBswWnmM.cjs.js.map → chunk-Niprqtd_.cjs.js.map} +1 -1
  52. package/dist/cjs/{chunk-QnVNXaqt.cjs.js → chunk-hjJXR4bM.cjs.js} +4 -4
  53. package/dist/cjs/{chunk-QnVNXaqt.cjs.js.map → chunk-hjJXR4bM.cjs.js.map} +1 -1
  54. package/dist/cjs/index.cjs.js +9 -9
  55. package/dist/cjs/utils.cjs.js +6 -6
  56. package/dist/cjs/v2/Editor.cjs.js +869 -233
  57. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  58. package/dist/cjs/v2/EditorContent.cjs.js +4 -4
  59. package/dist/cjs/v2/FormikEditor.cjs.js +6 -6
  60. package/dist/cjs/v2/Menu.cjs.js +4 -4
  61. package/dist/cjs/v2/index.cjs.js +8 -8
  62. package/dist/cjs/v2/utils.cjs.js +6 -6
  63. package/dist/editor-stats.html +2 -2
  64. package/dist/index.js +9 -9
  65. package/dist/utils.js +6 -6
  66. package/dist/v2/Editor.js +869 -233
  67. package/dist/v2/Editor.js.map +1 -1
  68. package/dist/v2/EditorContent.js +4 -4
  69. package/dist/v2/FormikEditor.js +6 -6
  70. package/dist/v2/Menu.js +4 -4
  71. package/dist/v2/index.js +8 -8
  72. package/dist/v2/styles.css +1 -1
  73. package/dist/v2/styles.js +1 -1
  74. package/dist/v2/utils.js +6 -6
  75. package/package.json +4 -3
  76. package/dist/chunk-BpMZjml2.js.map +0 -1
  77. package/dist/cjs/chunk-BPJBeVDI.cjs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-QnVNXaqt.cjs.js","sources":["../../app/javascript/src/v2/components/Editor/constants.js","../../app/javascript/src/v2/components/Editor/utils.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/constants.js","../../app/javascript/src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu.jsx","../../app/javascript/src/v2/components/Editor/CustomExtensions/Embeds/utils.js","../../app/javascript/src/v2/components/Editor/CustomExtensions/Mention/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/Button.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutIcon.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutTypeOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/RenderCalloutOptions.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/EmojiOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/TextColorOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/LinkOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/TableOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/utils.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/Options.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/EmptyMenu.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/Progress.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/LocalUploader.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/VideoEmbedForm.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/LinkAddPopOver.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/MoreMenu.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/hooks/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/hooks/useEditorState.js","../../app/javascript/src/v2/components/Editor/Menu/DynamicVariables.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/UI/Button.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/UI/Dropdown.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/Emoji.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/utils.js","../../app/javascript/src/v2/components/Editor/Menu/Headless/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/FontSizeOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/ColorDot.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/TableOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/utils.js","../../app/javascript/src/v2/components/Editor/Menu/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"common/constants\";\n\nexport const DEFAULT_EDITOR_OPTIONS = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.PARAGRAPH,\n EDITOR_OPTIONS.H1,\n EDITOR_OPTIONS.H2,\n EDITOR_OPTIONS.H3,\n EDITOR_OPTIONS.H4,\n EDITOR_OPTIONS.H5,\n EDITOR_OPTIONS.H6,\n EDITOR_OPTIONS.LIST_BULLETS,\n EDITOR_OPTIONS.LIST_ORDERED,\n EDITOR_OPTIONS.CODE,\n];\nexport const EDITOR_PADDING_SIZE = 12;\n\nexport const EDITOR_BORDER_SIZE = 1;\n\nexport const EDITOR_LINE_HEIGHT = 21;\n\nexport const IMAGE_REGEX = new RegExp(/(<img[^>]*?>)(?![\\s\\S]*<\\/figure>)/g);\nexport const IMAGE_REPLACEMENT_PATTERN = \"<figure>$1</figure>\";\nexport const EMPTY_DIV_REGEX = new RegExp(\n /<div[^>]*?>\\s*(?:<br[^>]*?>)\\s*<\\/div>/g\n);\nexport const TRAILING_BR_REGEX = new RegExp(/\\s*(?:<br[^>]*?>)+\\s*$/);\n\nexport const LINK_VALIDATION_SCHEMA = yup.object().shape({\n textContent: yup.string().required(t(\"neetoEditor.error.textRequired\")),\n urlString: yup\n .string()\n .matches(ALL_PROTOCOL_URL_REGEXP, t(\"neetoEditor.error.invalidUrl\"))\n .required(t(\"neetoEditor.error.urlRequired\")),\n});\n","import { Slice, Fragment, Node } from \"@tiptap/pm/model\";\nimport { Selection } from \"@tiptap/pm/state\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"src/common/constants\";\nimport { isMarkdown, markdownToSlice } from \"src/utils/markdown\";\n\nimport {\n EDITOR_LINE_HEIGHT,\n EDITOR_BORDER_SIZE,\n EDITOR_PADDING_SIZE,\n IMAGE_REGEX,\n IMAGE_REPLACEMENT_PATTERN,\n EMPTY_DIV_REGEX,\n TRAILING_BR_REGEX,\n} from \"./constants\";\n\nexport const getEditorStyles = ({ rows }) => {\n const editorHeight =\n rows * EDITOR_LINE_HEIGHT + 2 * (EDITOR_PADDING_SIZE + EDITOR_BORDER_SIZE);\n\n return `min-height: ${editorHeight}px;`;\n};\n\nexport const clipboardTextParser = (text, context, plain, view) => {\n if (!plain && isMarkdown(text)) {\n return markdownToSlice(text, view.state.schema, context);\n }\n\n const nodes = [];\n const blocks = text.split(/\\n/);\n\n blocks.forEach(line => {\n const nodeJson = { type: \"paragraph\" };\n if (isNotEmpty(line)) {\n nodeJson.content = [{ type: \"text\", text: line }];\n }\n const node = Node.fromJSON(context.doc.type.schema, nodeJson);\n nodes.push(node);\n });\n\n const fragment = Fragment.fromArray(nodes);\n\n return Slice.maxOpen(fragment);\n};\n\nexport const setInitialPosition = editor => {\n const { state, view } = editor;\n const endPosition = Selection.atEnd(state.doc);\n const transaction = state.tr;\n transaction.setSelection(endPosition);\n view.dispatch(transaction);\n};\n\nexport const isEditorOverlaysActive = () =>\n document.querySelector(\n \".ne-media-uploader,.ne-embed-modal,.tippy-content,.ne-link-popover\"\n );\n\nexport const validateAndFormatUrl = url => {\n if (!ALL_PROTOCOL_URL_REGEXP.test(url)) {\n return null;\n }\n\n if (!/^[a-zA-Z]\\w*:/i.test(url)) {\n return `https://${url}`;\n }\n\n return url;\n};\n\nexport const transformEditorContent = content =>\n content\n ?.replaceAll(IMAGE_REGEX, IMAGE_REPLACEMENT_PATTERN)\n ?.replaceAll(EMPTY_DIV_REGEX, \"\")\n ?.replace(TRAILING_BR_REGEX, \"\");\n\nexport const isEmojiSuggestionsMenuActive = () =>\n !!document.querySelector(\".neeto-editor-emoji-suggestion\");\n\nexport const transformPastedHTML = content => {\n const contentWithoutBr = content.replaceAll(\"<br />\", \"<p></p>\");\n const doc = new DOMParser().parseFromString(contentWithoutBr, \"text/html\");\n\n // ProseMirror tags clipboard output from any TipTap/ProseMirror editor with\n // `data-pm-slice`. When present, the paste is coming from another\n // neeto-editor instance and we preserve the author's color choices. When\n // absent, the source is external (Word, websites, customer messages) and we\n // strip inline colors so foreign theming does not bleed into the editor.\n const isInternalPaste = doc.querySelector(\"[data-pm-slice]\") !== null;\n\n if (!isInternalPaste) {\n doc.querySelectorAll(\"[style]\").forEach(el => {\n el.style.color = \"\";\n el.style.backgroundColor = \"\";\n });\n }\n\n return doc.body.innerHTML;\n};\n\nexport const handlePaste = (view, event, slice) => {\n try {\n view.state.tr.replaceSelection(slice);\n\n return false;\n } catch {\n const text =\n event.clipboardData?.getData(\"text/plain\") ||\n slice.content.textBetween(0, slice.content.size, \"\\n\").trim();\n if (text) view.dispatch(view.state.tr.insertText(text).scrollIntoView());\n\n return true;\n }\n};\n\nexport const buildLevelsFromOptions = options => {\n const levels = {\n [EDITOR_OPTIONS.H1]: 1,\n [EDITOR_OPTIONS.H2]: 2,\n [EDITOR_OPTIONS.H3]: 3,\n [EDITOR_OPTIONS.H4]: 4,\n [EDITOR_OPTIONS.H5]: 5,\n [EDITOR_OPTIONS.H6]: 6,\n };\n\n return Object.entries(levels)\n .filter(heading => options.includes(heading[0]))\n .map(heading => heading[1]);\n};\n\n// Suggestion popups (slash, mention, emoji) append to the editor container by\n// default so they stay usable inside a Radix Dialog, whose focus trap excludes\n// document.body. An editor docked at the viewport bottom (e.g. a chat composer)\n// can opt into appending to body via the Editor `appendSuggestionsToBody` prop,\n// so the popup escapes the container's clipping and stacking context and can\n// flip upward into the available space.\nexport const getSuggestionAppendTo = editor => () => {\n const container = editor?.storage?.editorContainer;\n\n return container?.appendSuggestionsToBody\n ? document.body\n : (container?.containerRef?.current ?? document.body);\n};\n","import { t } from \"i18next\";\nimport {\n Info,\n AlertTriangle,\n AlertOctagon,\n Megaphone,\n CheckCircle2,\n} from \"lucide-react\";\n\nexport const CALLOUT_TYPES = [\n {\n type: \"default\",\n label: t(\"neetoEditor.menu.calloutDefault\"),\n icon: Megaphone,\n bgColor: \"--neeto-editor-gray-100\",\n },\n {\n type: \"info\",\n label: t(\"neetoEditor.menu.calloutInfo\"),\n icon: Info,\n bgColor: \"--neeto-editor-info-100\",\n iconColor: \"var(--ne-editor-content-callout-info-foreground-color)\",\n },\n {\n type: \"warning\",\n label: t(\"neetoEditor.menu.calloutWarning\"),\n icon: AlertTriangle,\n bgColor: \"--neeto-editor-warning-100\",\n iconColor: \"var(--ne-editor-content-callout-warning-foreground-color)\",\n },\n {\n type: \"error\",\n label: t(\"neetoEditor.menu.calloutError\"),\n icon: AlertOctagon,\n bgColor: \"--neeto-editor-error-100\",\n iconColor: \"var(--ne-editor-content-callout-error-foreground-color)\",\n },\n {\n type: \"success\",\n label: t(\"neetoEditor.menu.calloutSuccess\"),\n icon: CheckCircle2,\n bgColor: \"--neeto-editor-success-100\",\n iconColor: \"var(--ne-editor-content-callout-success-foreground-color)\",\n },\n];\n","import React from \"react\";\n\nimport { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport emojiPickerApi from \"apis/emoji_picker\";\n\nclass EmojiPickerMenu extends React.Component {\n ref = React.createRef();\n\n componentDidMount() {\n new Picker({\n ...this.props,\n onEmojiSelect: this.handleSelect,\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n native: true,\n previewPosition: \"none\",\n showSkinTones: false,\n data: this.fetchEmojiData,\n ref: this.ref,\n });\n }\n\n fetchEmojiData = async () => {\n try {\n const { data } = await emojiPickerApi.fetch();\n\n return data;\n } catch {\n return {};\n }\n };\n\n onKeyDown = ({ event }) => {\n if (event.key === \"Escape\") {\n this.props.editor.chain().focus().deleteRange(this.props.range).run();\n\n return true;\n }\n\n return false;\n };\n\n handleSelect = emoji => {\n this.props.editor\n .chain()\n .focus()\n .deleteRange(this.props.range)\n .setEmoji(emoji)\n .run();\n this.props.setActive?.(false);\n };\n\n render() {\n return (\n <div\n data-testid=\"neeto-editor-emoji-picker\"\n ref={this.ref}\n style={{ minWidth: \"350px\" }}\n />\n );\n }\n}\n\nEmojiPickerMenu.defaultProps = { editor: {}, range: {} };\n\nEmojiPickerMenu.propTypes = {\n editor: PropTypes.object.isRequired,\n range: PropTypes.object,\n};\n\nexport default EmojiPickerMenu;\n","import { URL_VALIDATORS } from \"common/constants\";\n\nexport const validateUrl = url => {\n if (!url) return false;\n\n for (const validator of Object.values(URL_VALIDATORS)) {\n const result = validator(url);\n if (result) return result;\n }\n\n return false;\n};\n","import { memo } from \"react\";\n\nimport { Avatar, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { AtSign } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst Mentions = ({\n editor,\n mentions,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n if (isEmpty(mentions)) return null;\n\n const renderItems = mentions.map(({ key, name, imageUrl }) => (\n <MenuItem\n data-testid={`neeto-editor-mention-option-${key}`}\n key={key}\n prefix={<Avatar size=\"sm\" user={{ name, imageUrl }} />}\n onClick={() => editor.commands.setMention({ id: key, label: name })}\n >\n {name}\n </MenuItem>\n ));\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown min-w-56\" }}\n icon={AtSign}\n triggerProps={{ \"data-testid\": \"neeto-editor-mention-option\" }}\n >\n {renderItems}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n data-testid=\"neeto-editor-mention-option\"\n dropdownProps={{ className: \"ne-editor-dropdown min-w-56\" }}\n icon={AtSign}\n position=\"bottom-start\"\n buttonProps={{\n variant: \"ghost\",\n size: \"sm\",\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <Menu>{renderItems}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(Mentions);\n","import { memo } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { renderTooltipContent } from \"../utils\";\n\nconst MenuButton = ({\n icon,\n command,\n optionName,\n highlight,\n disabled: isButtonDisabled = false,\n label,\n}) => {\n const { isActive, disabled = isButtonDisabled } = useEditorStore.pick([\n \"marksState\",\n optionName,\n ]);\n\n return (\n <Button\n {...{ disabled, icon }}\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-fixed-menu-${optionName}-option`}\n tabIndex=\"-1\"\n variant={isActive ? \"secondary\" : \"ghost\"}\n tooltipProps={{\n content: renderTooltipContent(label, optionName),\n position: \"bottom\",\n }}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n );\n};\n\nexport default memo(MenuButton);\n","import { Flag } from \"lucide-react\";\n\nconst CalloutIcon = ({ currentType }) => {\n const Icon = currentType?.icon ?? Flag;\n\n return <Icon size={16} />;\n};\n\nexport default CalloutIcon;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\n\nconst { MenuItem } = DropdownMenu;\n\nconst CalloutTypeOption = ({ calloutType, isSelected, onClick }) => {\n const Icon = calloutType.icon;\n\n return (\n <MenuItem\n {...{ onClick }}\n data-testid=\"callout-type-option\"\n isActive={isSelected}\n prefix={\n <Icon\n data-testid=\"callout-type-emoji\"\n size={16}\n style={{ stroke: calloutType.iconColor }}\n />\n }\n >\n {calloutType.label}\n </MenuItem>\n );\n};\n\nexport default CalloutTypeOption;\n","import CalloutTypeOption from \"./CalloutTypeOption\";\nimport { CALLOUT_TYPES } from \"./constants\";\n\nconst RenderCalloutOptions = ({\n isInCallout,\n currentCalloutAttrs,\n handleCalloutTypeClick,\n}) =>\n CALLOUT_TYPES.map((calloutType, idx) => (\n <CalloutTypeOption\n {...{ calloutType }}\n isSelected={isInCallout && currentCalloutAttrs?.type === calloutType.type}\n key={idx}\n onClick={() => handleCalloutTypeClick(calloutType)}\n />\n ));\n\nexport default RenderCalloutOptions;\n","import { useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Flag } from \"lucide-react\";\nimport { findBy } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CalloutIcon from \"./CalloutIcon\";\nimport { CALLOUT_TYPES } from \"./constants\";\nimport RenderCalloutOptions from \"./RenderCalloutOptions\";\n\nconst CalloutDropdown = ({\n editor,\n label,\n tooltipContent,\n isSecondaryMenu = false,\n}) => {\n const { t } = useTranslation();\n const dropdownRef = useRef(null);\n\n const isInCallout = editor.isActive(\"callout\");\n const currentCalloutAttrs = isInCallout\n ? editor.getAttributes(\"callout\")\n : null;\n\n const currentType =\n findBy({ type: currentCalloutAttrs?.type }, CALLOUT_TYPES) ||\n CALLOUT_TYPES[0];\n\n const handleCalloutTypeClick = calloutType => {\n const editorChain = editor.chain().focus();\n const isSameType =\n isInCallout && currentCalloutAttrs?.type === calloutType.type;\n\n if (isSameType) {\n editorChain.lift(\"callout\").run();\n } else if (isInCallout) {\n editorChain\n .updateAttributes(\"callout\", {\n type: calloutType.type,\n emoji: calloutType.emoji,\n })\n .run();\n } else {\n editorChain\n .setCallout({ type: calloutType.type, emoji: calloutType.emoji })\n .run();\n }\n };\n\n const renderOptions = (\n <>\n <DropdownMenu.Label>\n {t(\"neetoEditor.menu.selectCalloutType\")}\n </DropdownMenu.Label>\n <RenderCalloutOptions\n {...{ currentCalloutAttrs, handleCalloutTypeClick, isInCallout }}\n />\n </>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown w-[200px] p-2\" }}\n icon={isInCallout ? currentType.icon : Flag}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-callout-option\",\n }}\n >\n {renderOptions}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown w-[200px] p-2\" }}\n icon={<CalloutIcon currentType={isInCallout ? currentType : null} />}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-callout-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: isInCallout ? \"secondary\" : \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <DropdownMenu.Menu>{renderOptions}</DropdownMenu.Menu>\n </DropdownMenu>\n );\n};\n\nexport default CalloutDropdown;\n","import { memo, useState } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Smile } from \"lucide-react\";\n\nimport EmojiPickerMenu from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nconst EmojiOption = ({\n editor,\n setActive,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n // Bumping this key remounts the DropdownMenu, which closes it after an\n // emoji is picked. The wrapper exposes onClose for the close direction\n // but no programmatic close, and going controlled via isOpen + onClick\n // flips the wrapper into SplitTrigger mode (a two-button ButtonGroup).\n const [resetKey, setResetKey] = useState(0);\n\n const handlePicked = () => {\n setActive(false);\n setResetKey(k => k + 1);\n };\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Smile}\n key={resetKey}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-fixed-menu__emoji-dropdown min-w-[350px] p-0\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-emoji-option\",\n }}\n >\n <EmojiPickerMenu {...{ editor }} setActive={handlePicked} />\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n icon={Smile}\n key={resetKey}\n position=\"bottom-start\"\n buttonProps={{\n variant: \"ghost\",\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n \"data-testid\": \"neeto-editor-fixed-menu-emoji-option\",\n }}\n dropdownProps={{\n className:\n \"ne-editor-dropdown neeto-editor-fixed-menu__emoji-dropdown min-w-[350px] p-0\",\n }}\n onClose={() => setActive(false)}\n >\n <EmojiPickerMenu {...{ editor }} setActive={handlePicked} />\n </DropdownMenu>\n );\n};\n\nexport default memo(EmojiOption);\n","import { useEffect, useState } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { Baseline, Check, RotateCw, X } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TextColorOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const [color, setColor] = useState(null);\n // Bumping this key remounts the DropdownMenu, which closes it after the\n // user clicks Save / Reset / Cancel. See the analogous comment in\n // TableOption for why we close via remount instead of controlled isOpen.\n const [resetKey, setResetKey] = useState(0);\n\n const { t } = useTranslation();\n\n const closeMenu = () => setResetKey(k => k + 1);\n\n const handleSave = () => {\n editor.chain().focus().setColor(color).run();\n closeMenu();\n };\n\n const handleUnset = () => {\n editor.chain().focus().unsetColor().run();\n setColor(null);\n closeMenu();\n };\n\n useEffect(() => {\n setColor(editor.getAttributes(\"textStyle\").color);\n }, [resetKey, editor.getAttributes(\"textStyle\").color]);\n\n const pickerContent = (\n <div\n style={{ minWidth: \"236px\" }}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <HexColorPicker color={color || \"#000000\"} onChange={setColor} />\n <div className=\"neeto-editor-text-color-option__options-group\">\n <Input\n autoFocus\n className=\"neeto-editor-text-color-option__options-group__input\"\n placeholder={t(\"neetoEditor.placeholders.pickColor\")}\n size=\"small\"\n value={color}\n onChange={withEventTargetValue(setColor)}\n onClick={event => event.stopPropagation()}\n />\n <Button icon={Check} size=\"sm\" onClick={handleSave} />\n <Button\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => {\n editor.commands.focus();\n closeMenu();\n }}\n />\n <Button\n icon={RotateCw}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoEditor.common.resetToDefault\"),\n position: \"top\",\n }}\n onClick={handleUnset}\n />\n </div>\n </div>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown w-[260px] p-2\" }}\n icon={Baseline}\n key={resetKey}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-text-color-option\",\n }}\n >\n {pickerContent}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-[260px] p-2\" }}\n icon={Baseline}\n key={resetKey}\n position=\"bottom-start\"\n buttonProps={{\n variant: color ? \"secondary\" : \"ghost\",\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className:\n \"ne-toolbar-item ne-toolbar-dropdown neeto-editor-text-color-option\",\n \"data-testid\": \"neeto-editor-fixed-menu-text-color-option\",\n }}\n >\n {pickerContent}\n </DropdownMenu>\n );\n};\n\nexport default TextColorOption;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { isNotPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_PROTOCOL_URL_REGEXP } from \"common/constants\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nconst LinkOption = ({ editor, handleClose, handleAnimateInvalidLink }) => {\n const { t } = useTranslation();\n\n const [link, setLink] = useState(\"\");\n\n useEffect(() => {\n setLink(editor.getAttributes(\"link\").href || \"\");\n }, [editor]);\n\n const handleKeyDown = event => {\n if (event.key === \"Escape\") {\n handleClose();\n } else if (event.key === \"Enter\") {\n handleSubmit();\n }\n };\n\n const handleSubmit = () => {\n if (ALL_PROTOCOL_URL_REGEXP.test(link)) {\n editor.chain().focus().setLink({ href: link }).run();\n handleClose();\n } else if (isNotPresent(link)) {\n editor.chain().focus().unsetLink().run();\n handleClose();\n } else {\n setLink(\"\");\n handleAnimateInvalidLink();\n }\n };\n\n const handleReset = () => {\n if (link) {\n setLink(\"\");\n editor.chain().focus().unsetLink().run();\n } else {\n handleClose();\n }\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__link\" onKeyDown={handleKeyDown}>\n <input\n autoFocus\n className=\"neeto-editor-bubble-menu-link__input\"\n data-testid=\"neeto-editor-link-input\"\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.linkInput\")}\n value={link}\n onChange={({ target: { value } }) =>\n setLink(validateAndFormatUrl(value))\n }\n />\n <Button\n data-testid=\"neeto-editor-link-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleReset}\n />\n </div>\n );\n};\n\nexport default LinkOption;\n","import { useState } from \"react\";\n\nimport { Button, Label } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TableOption = ({ editor, handleClose }) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run(),\n setRows(3);\n setColumns(3);\n handleClose();\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__table\">\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.rows\")}\n </Label>\n <input\n autoFocus\n data-testid=\"neeto-editor-bubble-menu-table-rows-input\"\n min=\"1\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.columns\")}\n </Label>\n <input\n data-testid=\"neeto-editor-bubble-menu-table-option-input\"\n min=\"1\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__buttons\">\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-create-button\"\n icon={Check}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleSubmit}\n />\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-close-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleClose}\n />\n </div>\n </div>\n );\n};\n\nexport default TableOption;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport {\n Bold,\n Code,\n Heading1,\n Heading2,\n Heading3,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListOrdered,\n Paperclip,\n Pilcrow,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { assoc, fromPairs, not, prop } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nexport const createMenuOptions = ({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => ({\n font: [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Link,\n command: () => setIsAddLinkActive(not),\n optionName: \"link\",\n tooltip: \"Link\",\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n ],\n block: [\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n highlight: true,\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n ],\n list: [\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n highlight: true,\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n highlight: true,\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n ],\n misc: [\n {\n Icon: Paperclip,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n active: false,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n ],\n right: [\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n active: false,\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n active: false,\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n ],\n});\n\nexport const buildBubbleMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => {\n const menuOptions = createMenuOptions({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n });\n\n return fromPairs(\n [\"font\", \"block\", \"list\", \"misc\", \"right\"].map(option => [\n option,\n menuOptions[option].filter(item => options.includes(item.optionName)),\n ])\n );\n};\n\nexport const getTextMenuDropdownOptions = ({ editor, options }) => {\n const textOptions = {\n [EDITOR_OPTIONS.H1]: {\n optionName: \"Heading 1\",\n icon: Heading1,\n active: editor.isActive(\"heading\", { level: 1 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 1 }).run(),\n },\n [EDITOR_OPTIONS.H2]: {\n optionName: \"Heading 2\",\n icon: Heading2,\n active: editor.isActive(\"heading\", { level: 2 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 2 }).run(),\n },\n [EDITOR_OPTIONS.H3]: {\n optionName: \"Heading 3\",\n icon: Heading3,\n active: editor.isActive(\"heading\", { level: 3 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 3 }).run(),\n },\n [EDITOR_OPTIONS.PARAGRAPH]: {\n optionName: \"Text\",\n icon: Pilcrow,\n active: editor.isActive(\"paragraph\"),\n command: () => editor.chain().focus().setNode(\"paragraph\").run(),\n },\n };\n\n const result = [];\n options.forEach(option => {\n if (!textOptions[option]) return;\n result.push(textOptions[option]);\n });\n\n return result;\n};\n\nexport const getNodeIcon = options =>\n options.find(prop(\"active\"))?.icon || Pilcrow;\n\nexport const renderOptionButton = ({\n tooltip,\n Icon,\n command,\n active,\n optionName,\n highlight,\n}) => (\n <Button\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-bubble-menu-${optionName}-option`}\n icon={Icon}\n key={optionName}\n size=\"default\"\n tooltipProps={{ content: tooltip, position: \"bottom\" }}\n variant={active ? \"secondary\" : \"ghost\"}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n);\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives/Popover\";\nimport { ChevronDown, Link, Table } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\nimport EmojiOption from \"src/v2/components/Editor/Menu/Fixed/components/EmojiOption\";\nimport TextColorOption from \"src/v2/components/Editor/Menu/Fixed/components/TextColorOption\";\n\nimport LinkOption from \"./LinkOption\";\nimport TableOption from \"./TableOption\";\nimport {\n buildBubbleMenuOptions,\n getNodeIcon,\n getTextMenuDropdownOptions,\n renderOptionButton,\n} from \"./utils\";\n\nconst Options = ({\n editor,\n options,\n mentions,\n tooltips,\n setIsInvalidLink,\n isLinkOptionActive,\n isTableOptionActive,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const { t } = useTranslation();\n\n const dropdownOptions = getTextMenuDropdownOptions({ editor, options });\n const Icon = getNodeIcon(dropdownOptions);\n const isEmojiActive = options.includes(EDITOR_OPTIONS.EMOJI);\n const isTextColorOptionActive = options.includes(EDITOR_OPTIONS.TEXT_COLOR);\n const isLinkActive = options.includes(EDITOR_OPTIONS.LINK);\n const isTableActive = options.includes(EDITOR_OPTIONS.TABLE);\n\n const {\n font: fontStyleOptions,\n block: blockStyleOptions,\n list: listStyleOptions,\n } = buildBubbleMenuOptions({\n editor,\n options,\n setMediaUploader,\n tooltips,\n attachmentProps,\n setIsAddLinkActive: setIsLinkOptionActive,\n });\n\n const handleAnimateInvalidLink = () => {\n setIsInvalidLink(true);\n setTimeout(() => {\n setIsInvalidLink(false);\n }, 1000);\n };\n\n if (isLinkOptionActive) {\n return (\n <LinkOption\n {...{ editor, handleAnimateInvalidLink }}\n handleClose={() => setIsLinkOptionActive(false)}\n />\n );\n }\n\n if (isTableOptionActive) {\n return (\n <TableOption\n {...{ editor }}\n handleClose={() => setIsTableOptionActive(false)}\n />\n );\n }\n\n return (\n <>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n className=\"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\"\n data-testid=\"neeto-editor-fixed-menu-font-size-option\"\n icon={Icon}\n iconPosition=\"left\"\n trailing={<ChevronDown />}\n variant=\"ghost\"\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"ne-editor-dropdown w-32 gap-0 p-1 data-[state=closed]:hidden\"\n side=\"bottom\"\n onOpenAutoFocus={e => e.preventDefault()}\n >\n {dropdownOptions.map(({ optionName, command, icon: Icon }) => (\n <Button\n fullWidth\n className=\"justify-start\"\n icon={<Icon size={16} />}\n iconPosition=\"left\"\n key={optionName}\n label={optionName}\n size=\"sm\"\n variant=\"ghost\"\n onClick={command}\n />\n ))}\n </PopoverContent>\n </Popover>\n {fontStyleOptions.map(renderOptionButton)}\n {blockStyleOptions.map(renderOptionButton)}\n {isTextColorOptionActive && (\n <TextColorOption\n {...{ editor }}\n tooltipContent={tooltips.textColor || t(\"neetoEditor.menu.textColor\")}\n />\n )}\n {isEmojiActive && (\n <EmojiOption\n {...{ editor }}\n isActive={isEmojiPickerActive}\n setActive={setIsEmojiPickerActive}\n tooltipContent={tooltips.emoji || t(\"neetoEditor.menu.emoji\")}\n />\n )}\n {listStyleOptions.map(renderOptionButton)}\n {isLinkActive &&\n renderOptionButton({\n Icon: Link,\n command: () => setIsLinkOptionActive(true),\n active: editor.isActive(\"link\"),\n optionName: \"link\",\n highlight: false,\n tooltip: tooltips.link || t(\"neetoEditor.menu.link\"),\n })}\n {isTableActive &&\n renderOptionButton({\n Icon: Table,\n command: () => setIsTableOptionActive(true),\n active: editor.isActive(\"table\"),\n optionName: \"table\",\n highlight: false,\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n })}\n <Mentions\n {...{ editor, mentions }}\n tooltipContent={tooltips.mention || t(\"neetoEditor.menu.mention\")}\n />\n </>\n );\n};\n\nexport default Options;\n","import { useState } from \"react\";\n\nimport { BubbleMenu as BubbleMenuTipTap } from \"@tiptap/react/menus\";\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport Options from \"./Options\";\n\nconst Bubble = ({\n editor,\n options: textOptions,\n mentions = [],\n setMediaUploader,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const [isInvalidLink, setIsInvalidLink] = useState(false);\n const [isLinkOptionActive, setIsLinkOptionActive] = useState(false);\n const [isTableOptionActive, setIsTableOptionActive] = useState(false);\n const selectedNode = editor && editor.view.state.selection.node;\n const isImageNodeSelected =\n selectedNode && selectedNode.type.name === \"image\";\n\n const bubbleMenuOptions = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n ];\n\n const noTextOptions = isNotPresent(\n textOptions.filter(option => bubbleMenuOptions.includes(option))\n );\n\n if (!editor || (!isImageNodeSelected && noTextOptions)) {\n return null;\n }\n\n return (\n <div>\n <BubbleMenuTipTap\n {...{ editor }}\n style={{ zIndex: 99999, maxWidth: 500 }}\n className={classnames(\"neeto-editor-bubble-menu\", {\n \"neeto-editor-bubble-menu-animate-shake\": isInvalidLink,\n })}\n options={{\n offset: 10,\n onHide: () => {\n setIsLinkOptionActive(false);\n setIsTableOptionActive(false);\n },\n }}\n >\n <Options\n {...{\n attachmentProps,\n editor,\n isEmojiPickerActive,\n isLinkOptionActive,\n isTableOptionActive,\n mentions,\n setIsEmojiPickerActive,\n setIsInvalidLink,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n tooltips,\n }}\n options={textOptions}\n />\n </BubbleMenuTipTap>\n </div>\n );\n};\n\nexport default Bubble;\n","const EmptyMenu = () => <div />;\n\nexport default EmptyMenu;\n","import { Button, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nconst Progress = withT(({ t, queuedFiles, cancelUpload }) => (\n <div className=\"ne-media-uploader__wrapper\">\n {queuedFiles.map(({ id, filename, progress = 0 }) => (\n <div className=\"ne-media-uploader__media\" key={id}>\n <div className=\"ne-media-uploader__media__cancel-button-wrapper\">\n <Button\n data-testid=\"neeto-editor-image-upload-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => cancelUpload(id)}\n />\n </div>\n <FileIcon\n className=\"ne-media-uploader__media__info__icon\"\n fileName={filename}\n />\n <div className=\"ne-media-uploader__media__info\">\n <Typography variant=\"body3\">\n {progress === 100 && t(\"neetoEditor.localUploader.completed\")}\n {progress !== 100 && <>{progress}%</>}\n </Typography>\n <div className=\"ne-media-uploader__media__progress\">\n <div\n className=\"ne-media-uploader__media__progress-bar\"\n style={{ width: `${progress}%` }}\n />\n </div>\n <Tooltip content={filename} position=\"top\">\n <Typography variant=\"body3\">{filename}</Typography>\n </Tooltip>\n </div>\n </div>\n ))}\n </div>\n));\n\nexport default Progress;\n","import { useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ImageUp } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport {\n ALLOWED_IMAGE_TYPES,\n ALLOWED_VIDEO_TYPES,\n DEFAULT_IMAGE_UPLOAD_CONFIG,\n DEFAULT_VIDEO_UPLOAD_CONFIG,\n} from \"src/v2/components/Editor/MediaUploader/constants\";\nimport { convertToFileSize } from \"src/v2/components/Editor/MediaUploader/utils\";\nimport useFileUploader from \"src/v2/hooks/useFileUploader\";\n\nimport Progress from \"./Progress\";\n\nconst LocalUploader = ({\n isImage,\n onClose,\n insertMediaToEditor,\n setIsUploading,\n}) => {\n const { t } = useTranslation();\n\n const uploadConfig = isImage\n ? DEFAULT_IMAGE_UPLOAD_CONFIG\n : DEFAULT_VIDEO_UPLOAD_CONFIG;\n\n const fileInputRef = useRef(null);\n const dropTargetRef = useRef(null);\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: uploadConfig,\n setIsUploadingOnHost: setIsUploading,\n });\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n useDropFiles({ dropTargetRef, onDrop: handleFilesDrop });\n\n setIsUploading(isUploading);\n\n const handleAddFile = async ({ target: { files } }) => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n return !isEmpty(queuedFiles) || isUploading ? (\n <Progress {...{ cancelUpload, queuedFiles }} />\n ) : (\n <div\n className=\"ne-media-uploader__dnd\"\n data-testid=\"neeto-editor-media-uploader-dnd\"\n ref={dropTargetRef}\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n >\n <input\n multiple\n className=\"ne-media-uploader__dnd-input\"\n data-testid=\"neeto-editor-media-uploader-input\"\n ref={fileInputRef}\n type=\"file\"\n accept={\n isImage\n ? ALLOWED_IMAGE_TYPES.join(\",\")\n : ALLOWED_VIDEO_TYPES.join(\",\")\n }\n onChange={handleAddFile}\n />\n <ImageUp className=\"ne-media-uploader__dnd-icon\" size={24} />\n <Typography variant=\"body2\">\n {t(\"neetoEditor.localUploader.dropFilesHere\")}\n </Typography>\n <Typography variant=\"body3\">\n {t(\"neetoEditor.localUploader.maxFileSize\", {\n entity: convertToFileSize(uploadConfig.restrictions.maxFileSize),\n })}\n </Typography>\n </div>\n );\n};\n\nexport default LocalUploader;\n","import { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateUrl } from \"src/v2/components/Editor/CustomExtensions/Embeds/utils\";\nimport { VIDEO_EMBED_FORM_VALIDATION_SCHEMA } from \"src/v2/components/Editor/MediaUploader/constants\";\n\nconst VideoEmbedForm = ({ onEmbedVideo, onAttachVideo, onClose }) => {\n const { t } = useTranslation();\n\n const initialValues = { url: \"\" };\n\n const onSubmit = ({ url }) => {\n const embedUrl = validateUrl(url);\n if (embedUrl) onEmbedVideo(url, embedUrl);\n else onAttachVideo(url);\n onClose();\n };\n\n return (\n <div className=\"ne-video-embed-form\">\n <Form\n formikProps={{\n initialValues,\n validationSchema: VIDEO_EMBED_FORM_VALIDATION_SCHEMA,\n onSubmit,\n }}\n >\n {({ dirty, isSubmitting, resetForm }) => (\n <>\n <div className=\"ne-video-embed-form__content\">\n <Input\n autoFocus\n unlimitedChars\n data-testid=\"neeto-editor-video-embed-input\"\n label={t(\"neetoEditor.common.videoUrl\")}\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.embedUrl\")}\n size=\"medium\"\n type=\"text\"\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-cancel\",\n label: t(\"neetoEditor.common.cancel\"),\n size: \"sm\",\n onClick: () => {\n resetForm();\n onClose();\n },\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-submit\",\n disabled: !dirty,\n label: t(\"neetoEditor.common.saveChanges\"),\n loading: isSubmitting,\n size: \"sm\",\n }}\n />\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default VideoEmbedForm;\n","import { useEffect, useState } from \"react\";\n\nimport { Dialog, Tabs, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { ImageUploader } from \"neetoimageuploader/v2\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { getTabs } from \"src/v2/components/Editor/MediaUploader/utils\";\n\nimport LocalUploader from \"./LocalUploader\";\nimport VideoEmbedForm from \"./VideoEmbedForm\";\n\nconst MediaUploader = ({\n mediaUploader,\n onClose,\n editor,\n showAssetLibrary = true,\n}) => {\n const { t } = useTranslation();\n\n const [activeTab, setActiveTab] = useState(\"local\");\n const [isUploading, setIsUploading] = useState(false);\n const isOpen = mediaUploader.image || mediaUploader.video;\n const [tabs, setTabs] = useState([]);\n\n useEffect(() => {\n isOpen && setTabs(getTabs(mediaUploader));\n }, [mediaUploader]);\n\n const handleClose = () => {\n onClose();\n setActiveTab(\"local\");\n editor.commands.focus();\n };\n\n const insertMediaToEditor = file => {\n if (!editor) return;\n const { url, filename = \"image\", caption = \"\" } = file;\n const mediaAttrs = { src: url, caption, alt: filename };\n const setMedia = mediaUploader.image\n ? editor.chain().setFigure(mediaAttrs)\n : editor.chain().setVideo(mediaAttrs);\n\n setMedia\n .focus()\n .command(({ tr, commands }) => {\n const { doc, selection } = tr;\n const position = doc.resolve(selection.to).end() + 1;\n const safePosition = Math.min(position, doc.content.size);\n\n return commands.insertContentAt(safePosition, \"<p></p>\");\n })\n .run();\n };\n\n const onUploadComplete = async file => {\n if (isNotPresent(file.id) && isNotPresent(file.signedId)) return;\n\n try {\n await directUploadsApi.attach({ id: file.id, signed_id: file.signedId });\n insertMediaToEditor(file);\n handleClose();\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const onAttachVideo = url => {\n const file = { url, alt: \"image\" };\n insertMediaToEditor(file);\n };\n\n const onEmbedVideo = (originalUrl, embedUrl) => {\n if (!editor) return;\n editor\n .chain()\n .focus()\n .setExternalVideo({ src: embedUrl, originalUrl })\n .run();\n };\n\n const allowDismiss = not(isUploading);\n\n return (\n <Dialog\n {...{ isOpen }}\n className=\"ne-media-uploader-modal\"\n closeButton={allowDismiss}\n onClose={allowDismiss ? handleClose : undefined}\n >\n <div className=\"ne-media-uploader\">\n {(mediaUploader.video || mediaUploader.image) && (\n <div className=\"ne-media-uploader__header\">\n <h2 className=\"ne-media-uploader__header-title\">\n {mediaUploader.video && t(\"neetoEditor.menu.addVideo\")}\n {mediaUploader.image && t(\"neetoEditor.menu.addImage\")}\n </h2>\n </div>\n )}\n {!isNotPresent(tabs) && (\n <Tabs value={activeTab} onValueChange={setActiveTab}>\n <Tabs.List>\n {tabs.map(({ key, title }) => (\n <Tabs.Item\n data-testid={`neeto-editor-media-uploader-${key}-tab`}\n key={key}\n value={key}\n >\n {title}\n </Tabs.Item>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n <div className=\"ne-media-uploader__content\">\n {mediaUploader.image && (\n <ImageUploader\n {...{ onUploadComplete, showAssetLibrary }}\n className=\"ne-media-uploader__image-uploader\"\n />\n )}\n {mediaUploader.video && (\n <>\n {activeTab === \"local\" && (\n <LocalUploader\n {...{ insertMediaToEditor, setIsUploading }}\n isImage={false}\n onClose={handleClose}\n />\n )}\n {activeTab === \"embed\" && (\n <VideoEmbedForm\n {...{ onAttachVideo, onEmbedVideo }}\n onClose={handleClose}\n />\n )}\n </>\n )}\n </div>\n </div>\n </Dialog>\n );\n};\n\nexport default MediaUploader;\n","import { useState, useEffect, useRef } from \"react\";\n\nimport { Button, Checkbox, Input } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\nimport { not } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_PROTOCOL_URL_REGEXP } from \"src/common/constants\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nimport { getLinkPopoverPosition, getCursorPos } from \"../utils\";\n\nconst LinkAddPopOver = ({\n isAddLinkActive,\n setIsAddLinkActive,\n editor,\n openLinkInNewTab,\n containerRef,\n}) => {\n const { from, to } = editor.state.selection;\n const text = editor.state.doc.textBetween(from, to, \"\");\n\n const [linkText, setLinkText] = useState(text);\n const [linkUrl, setLinkUrl] = useState(\"\");\n const [openInNewTab, setOpenInNewTab] = useState(openLinkInNewTab);\n const [error, setError] = useState(\"\");\n const [popoverPosition, setPopoverPosition] = useState(\n getCursorPos(editor, to)\n );\n const [arrowPosition, setArrowPosition] = useState({ top: 0, left: 0 });\n\n const popoverRef = useRef(null);\n\n const { t } = useTranslation();\n\n const isLinkTextPresent = !isNotPresent(linkText);\n const isLinlUrlPresent = !isNotPresent(linkUrl);\n const isSubmitDisabled = !isLinkTextPresent || !isLinlUrlPresent;\n\n const popoverStyle = {\n display: \"block\",\n position: \"fixed\",\n top: popoverPosition.top,\n left: popoverPosition.left,\n transform: \"translateY(52px) translateX(8px)\",\n };\n\n const handleAddLink = () => {\n const { state, dispatch } = editor.view;\n const { from, to } = state.selection;\n const formattedUrl = validateAndFormatUrl(linkUrl);\n\n if (!ALL_PROTOCOL_URL_REGEXP.test(formattedUrl)) {\n setError(t(\"neetoEditor.error.invalidUrl\"));\n\n return;\n }\n\n const attrs = {\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(linkText, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n removePopover();\n };\n\n const removePopover = () => {\n editor.view.focus();\n setIsAddLinkActive(false);\n };\n\n const handleKeyDown = e => {\n e.stopPropagation();\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleAddLink();\n } else if (e.key === \"Escape\") {\n removePopover();\n }\n };\n\n const updatePopoverPosition = () => {\n const { arrowPosition, popoverPosition } = getLinkPopoverPosition(\n editor,\n popoverRef\n );\n setPopoverPosition(popoverPosition);\n setArrowPosition(arrowPosition);\n };\n\n useOnClickOutside(popoverRef, removePopover);\n\n useEffect(() => {\n if (editor && isAddLinkActive) {\n updatePopoverPosition();\n }\n window.addEventListener(\"resize\", removePopover);\n window.addEventListener(\"wheel\", removePopover);\n\n return () => {\n window.removeEventListener(\"resize\", removePopover);\n window.removeEventListener(\"wheel\", removePopover);\n };\n }, []);\n\n return isAddLinkActive\n ? createPortal(\n <>\n <div\n className=\"ne-link-arrow fade-in\"\n style={{ top: arrowPosition.top, left: arrowPosition.left }}\n />\n <div\n className=\"ne-link-popover fade-in\"\n id=\"ne-link-add-popover\"\n ref={popoverRef}\n style={popoverStyle}\n >\n <Input\n required\n autoFocus={!isLinkTextPresent}\n data-testid=\"neeto-editor-add-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkText}\n onChange={({ target: { value } }) => setLinkText(value)}\n onKeyDown={handleKeyDown}\n />\n <Input\n {...{ error }}\n required\n autoFocus={isLinkTextPresent}\n className=\"ne-link-popover__url-input\"\n data-testid=\"neeto-editor-add-link-url-input\"\n label={t(\"neetoEditor.common.url\")}\n placeholder={t(\"neetoEditor.placeholders.url\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkUrl}\n onChange={({ target: { value } }) => setLinkUrl(value)}\n onFocus={() => setError(\"\")}\n onKeyDown={handleKeyDown}\n />\n <Checkbox\n checked={openInNewTab}\n className=\"ne-link-popover__checkbox\"\n data-testid=\"neeto-editor-add-link-open-in-new-tab-switch\"\n label={t(\"neetoEditor.common.openInNewTab\")}\n onCheckedChange={() => setOpenInNewTab(not)}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-add-link\"\n disabled={isSubmitDisabled}\n label={t(\"neetoEditor.common.done\")}\n size=\"sm\"\n onClick={handleAddLink}\n />\n <Button\n data-testid=\"neeto-editor-link-popover-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\n onClick={removePopover}\n />\n </div>\n </div>\n </>,\n containerRef?.current ?? document.body\n )\n : null;\n};\n\nexport default LinkAddPopOver;\n","import { Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Ellipsis } from \"lucide-react\";\n\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { MENU_ELEMENTS, MENU_ELEMENT_TYPES } from \"../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst MoreMenu = ({ groups, editor }) => (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"neeto-editor-fixed-menu-more-option\"\n icon={Ellipsis}\n variant=\"ghost\"\n />\n }\n >\n <Menu>\n {groups.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (type === MENU_ELEMENT_TYPES.BUTTON) {\n const { icon: Icon } = props;\n\n return (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-${props.optionName}-option`}\n isActive={editor.isActive(props.optionName)}\n key={props.optionName}\n prefix={<Icon size={16} />}\n tabIndex=\"-1\"\n onClick={props.command}\n {...{\n ...generateFocusProps(props.highlight),\n ...props,\n editor,\n }}\n >\n {props.label}\n </MenuItem>\n );\n }\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, ...generateFocusProps(props.highlight) }}\n isSecondaryMenu\n />\n );\n })\n )}\n </Menu>\n </DropdownMenu>\n);\n\nexport default MoreMenu;\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\n\nexport const EDITOR_MARKS = [\n EDITOR_OPTIONS.UNDO,\n EDITOR_OPTIONS.REDO,\n \"fontSizeOptions\",\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.HIGHLIGHT,\n EDITOR_OPTIONS.CALLOUT,\n \"bulletList\",\n \"orderedList\",\n \"todoList\",\n \"blockquote\",\n EDITOR_OPTIONS.CODE,\n \"codeBlock\",\n EDITOR_OPTIONS.TABLE,\n EDITOR_OPTIONS.ATTACHMENTS,\n EDITOR_OPTIONS.IMAGE_UPLOAD,\n EDITOR_OPTIONS.VIDEO_UPLOAD,\n EDITOR_OPTIONS.TEXT_COLOR,\n EDITOR_OPTIONS.EMOJI,\n EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n \"mentions\",\n];\n","import { useCallback, useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { EDITOR_MARKS } from \"./constants\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst useEditorState = ({ editor, neetoKbArticleState }) => {\n const { setMarksState, marksState } = useEditorStore.pick();\n\n const handleSelectionUpdate = useCallback(\n ({ editor }) => {\n const activeMarks = {};\n\n EDITOR_MARKS.forEach(mark => {\n if (mark === EDITOR_OPTIONS.NEETO_KB_ARTICLE) {\n activeMarks[mark] = {\n isActive: neetoKbArticleState?.active || false,\n };\n } else {\n activeMarks[mark] = { isActive: editor.isActive(mark) };\n }\n });\n\n const activeFontSizeOption =\n FONT_SIZE_OPTIONS.find(({ value: level }) =>\n editor.isActive(\"heading\", { level })\n ) || last(FONT_SIZE_OPTIONS);\n\n activeMarks[\"fontSizeOption\"] = activeFontSizeOption;\n\n setMarksState(activeMarks);\n },\n [setMarksState, neetoKbArticleState?.active]\n );\n\n const updateHistoryOptionsState = useCallback(\n ({ editor }) => {\n const undoOptionState = { disabled: !editor.can().undo() };\n const redoOptionState = { disabled: !editor.can().redo() };\n\n const updatedMarksState = {\n ...marksState,\n [EDITOR_OPTIONS.UNDO]: undoOptionState,\n [EDITOR_OPTIONS.REDO]: redoOptionState,\n };\n setMarksState(updatedMarksState);\n },\n [marksState, setMarksState]\n );\n\n useEffect(() => {\n if (!editor) return noop;\n\n updateHistoryOptionsState({ editor });\n\n editor.on(\"selectionUpdate\", handleSelectionUpdate);\n editor.on(\"update\", handleSelectionUpdate);\n editor.on(\"transaction\", handleSelectionUpdate);\n\n return () => {\n editor.off(\"selectionUpdate\", handleSelectionUpdate);\n editor.off(\"update\", handleSelectionUpdate);\n editor.off(\"transaction\", handleSelectionUpdate);\n };\n }, [editor, handleSelectionUpdate]);\n\n useEffect(() => {\n if (!editor) return;\n\n handleSelectionUpdate({ editor });\n }, [editor, neetoKbArticleState?.active, handleSelectionUpdate]);\n};\n\nexport default useEditorState;\n","import classnames from \"classnames\";\n// TODO: switch to neetomolecules/v2/DynamicVariables once molecules ships v2 of\n// this component (not present as of @bigbinary/neeto-molecules@4.1.74).\nimport DynamicVariables from \"neetomolecules/v2/DynamicVariables\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuDynamicVariables = ({\n editor,\n variables = [],\n standalone = false,\n}) => {\n const { t } = useTranslation();\n\n if (isEmpty(variables)) return null;\n\n const handleVariableClick = item => {\n const { category, categoryLabel, key, label } = item;\n const variableName = category ? `${category}.${key}` : key;\n const variableLabel = category\n ? `${categoryLabel || category}:${label}`\n : label;\n\n editor\n .chain()\n .focus()\n .setVariable({ id: variableName, label: variableLabel })\n .run();\n };\n\n return (\n <div\n data-testid=\"neeto-editor-fixed-menu-variables\"\n className={classnames(\"neeto-editor-fixed-menu__variables\", {\n \"neeto-editor-fixed-menu__variables--standalone\": standalone,\n })}\n >\n <DynamicVariables\n {...{ variables }}\n buttonSize=\"small\"\n dropdownProps={{ classNames: \"ne-editor-variables-popup\" }}\n buttonProps={{\n tooltipProps: {\n content: t(\"neetoEditor.menu.dynamicVariables\"),\n position: \"bottom\",\n },\n }}\n onVariableClick={handleVariableClick}\n />\n </div>\n );\n};\n\nexport default MenuDynamicVariables;\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport LinkAddPopOver from \"./components/LinkAddPopOver\";\nimport MoreMenu from \"./components/MoreMenu\";\nimport { MENU_ELEMENTS } from \"./constants\";\nimport useEditorState from \"./hooks/useEditorState\";\nimport { reGroupMenuItems, buildMenuOptions } from \"./utils\";\n\nimport MenuDynamicVariables from \"../DynamicVariables\";\n\nconst Fixed = ({\n editor,\n options,\n mentions,\n variables = [],\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n isIndependant = true,\n className,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n openLinkInNewTab,\n setIsNeetoKbArticleActive,\n neetoKbArticleState,\n showAssetLibrary = true,\n containerRef,\n}) => {\n const [focusedButtonIndex, setFocusedButtonIndex] = useState(0);\n const [isAddLinkActive, setIsAddLinkActive] = useState(false);\n const [menuItems, setMenuItems] = useState([]);\n const [moreMenuItems, setMoreMenuItems] = useState([]);\n\n useEditorState({ editor, neetoKbArticleState });\n\n const editorRef = useRef(editor);\n\n useEffect(() => {\n editorRef.current = editor;\n }, [editor]);\n\n const menuRef = useRef(null);\n const menuContainerRef = useRef(null);\n\n const runEditorCommand = useCallback(\n command => () => command(editorRef.current),\n []\n );\n\n const handleArrowNavigation = event => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n setFocusedButtonIndex(prevIndex => (prevIndex + 1) % menuButtons.length);\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setFocusedButtonIndex(\n prevIndex => (prevIndex - 1 + menuButtons.length) % menuButtons.length\n );\n }\n };\n\n const menuButtons = useMemo(\n () => menuRef.current?.querySelectorAll(\".ne-toolbar-item\"),\n [menuRef.current]\n );\n\n useEffect(() => {\n menuButtons?.[focusedButtonIndex].focus();\n }, [focusedButtonIndex]);\n\n useEffect(() => {\n menuButtons?.forEach(menuItem =>\n menuItem.addEventListener(\"keydown\", handleArrowNavigation)\n );\n\n return () =>\n menuButtons?.forEach(menuItem =>\n menuItem.removeEventListener(\"keydown\", handleArrowNavigation)\n );\n }, [menuButtons]);\n\n const menuGroups = useMemo(\n () =>\n buildMenuOptions({\n tooltips,\n runEditorCommand,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions,\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n editor,\n setIsNeetoKbArticleActive,\n }),\n [isEmojiPickerActive, mentions]\n );\n\n const handleResize = useCallback(() => {\n if (!menuRef.current) return;\n const { visibleMenuGroups, invisibleMenuGroups } = reGroupMenuItems(\n menuRef,\n menuGroups\n );\n setMenuItems(visibleMenuGroups);\n setMoreMenuItems(invisibleMenuGroups);\n }, [setMenuItems, menuGroups, menuRef.current]);\n\n useEffect(() => {\n handleResize();\n\n const menuContainer = menuContainerRef.current;\n const resizeObserver = new ResizeObserver(handleResize);\n if (menuContainer) {\n resizeObserver.observe(menuContainer);\n }\n\n return () => {\n if (menuContainer) resizeObserver.unobserve(menuContainer);\n };\n }, [menuContainerRef.current, handleResize, menuGroups]);\n\n if (!editor) return null;\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n return (\n <div\n ref={menuContainerRef}\n className={classNames(\"neeto-editor-fixed-menu\", {\n \"neeto-editor-fixed-menu--independant\": isIndependant,\n [className]: className,\n })}\n >\n <div\n className=\"neeto-editor-fixed-menu__wrapper ne-fixed-menu--v2\"\n data-testid=\"neeto-editor-fixed-menu-wrapper\"\n ref={menuRef}\n >\n {menuItems.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (!Component) return null;\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, options }}\n />\n );\n })\n )}\n {isNotEmpty(moreMenuItems) && (\n <MoreMenu {...{ editor }} groups={moreMenuItems} />\n )}\n </div>\n <MenuDynamicVariables {...{ editor, variables }} />\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n containerRef,\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n />\n )}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Fixed;\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nconst Button = ({\n icon = null,\n onClick = noop,\n disabled = false,\n className,\n tooltipProps,\n ...otherProps\n}) => {\n const Icon = icon;\n\n return (\n <Tooltip\n disabled={!tooltipProps}\n onClick={() => onClick()}\n {...tooltipProps}\n >\n <button\n className={classnames(\"ne-headless-btn\", { [className]: className })}\n type=\"button\"\n {...{ disabled, onClick, ...otherProps }}\n >\n {icon && <Icon aria-hidden=\"true\" key=\"2\" size={18} />}\n </button>\n </Tooltip>\n );\n};\n\nexport default Button;\n","import { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nimport Button from \"./Button\";\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc, onClose } }) {\n function onKeyDown(event) {\n if (!(event.key.toLowerCase() === \"escape\" && hideOnEsc)) return;\n onClose();\n hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst Dropdown = ({\n icon,\n isOpen,\n onClose = noop,\n children,\n className,\n onClick,\n buttonProps = {},\n ...otherProps\n}) => {\n const [mounted, setMounted] = useState(false);\n\n return (\n <Tippy\n {...{ onClose }}\n hideOnEsc\n interactive\n animation={false}\n arrow={false}\n duration={0}\n hideOnClick={false}\n maxWidth=\"none\"\n offset={0}\n plugins={[hideOnEsc]}\n popperOptions={{ strategy: \"fixed\" }}\n role=\"dropdown\"\n theme=\"light\"\n trigger=\"click\"\n visible={isOpen}\n className={classnames(\"ne-headless-dropdown\", {\n [className]: className,\n })}\n content={\n mounted && <div className=\"ne-headless-dropdown__popup\">{children}</div>\n }\n onClickOutside={onClose}\n onHidden={() => setMounted(false)}\n onMount={() => setMounted(true)}\n {...otherProps}\n >\n <span>\n <Button {...{ icon, onClick, ...buttonProps }} />\n </span>\n </Tippy>\n );\n};\n\nexport default Dropdown;\n","import { Smile } from \"lucide-react\";\n\nimport EmojiPicker from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nimport Dropdown from \"./UI/Dropdown\";\n\nconst Emoji = ({ editor, isActive, setActive, tooltipContent }) => (\n <Dropdown\n className=\"ne-headless__emoji\"\n icon={Smile}\n isOpen={isActive}\n buttonProps={{\n tooltipProps: {\n content: tooltipContent,\n delay: [500],\n position: \"bottom\",\n },\n \"data-testid\": \"ne-emoji-picker\",\n }}\n onClick={() => setActive(active => !active)}\n onClose={() => setActive(false)}\n >\n <EmojiPicker {...{ editor, setActive }} />\n </Dropdown>\n);\nexport default Emoji;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport Emoji from \"./Emoji\";\nimport Button from \"./UI/Button\";\n\nconst Option = ({\n editor,\n optionName,\n command,\n disabled,\n Icon,\n isActive,\n setActive,\n tooltip,\n}) => {\n if (optionName === EDITOR_OPTIONS.EMOJI) {\n return (\n <Emoji\n {...{ editor, isActive, setActive }}\n tooltipContent={tooltip || \"Emoji\"}\n />\n );\n }\n\n return (\n <Button\n {...{ disabled }}\n className={classnames({ \"ne-headless-btn--active\": isActive })}\n data-testid={hyphenate(optionName)}\n icon={Icon}\n tooltipProps={{\n content: tooltip,\n delay: [500],\n position: \"bottom\",\n }}\n onClick={command}\n />\n );\n};\n\nexport default Option;\n","import i18n from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n List,\n ListOrdered,\n Quote,\n Redo,\n Smile,\n SquareCode,\n Strikethrough,\n Table,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { findBy, noop } from \"neetocist\";\nimport { assoc } from \"ramda\";\n\nconst { t } = i18n;\n\nconst createMenuOptions = ({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n {\n Icon: FileText,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n Icon: Smile,\n command: noop,\n optionName: \"emoji\",\n tooltip: tooltips.emoji || t(\"neetoEditor.menu.emoji\"),\n isActive: isEmojiPickerActive,\n setActive: setIsEmojiPickerActive,\n },\n {\n Icon: Table,\n command: () =>\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n optionName: \"table\",\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n },\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n];\n\nexport const buildOptionsFromAddonCommands = ({ editor, commands }) => {\n const { to } = editor.state.selection;\n\n return commands.map(option => ({\n ...option,\n active: option.active?.({ editor }),\n command: () => option.command?.({ editor, range: { from: to, to } }),\n }));\n};\n\nexport const buildMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const menuOptions = createMenuOptions({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n return options\n .map(option => findBy({ optionName: option }, menuOptions))\n .filter(Boolean);\n};\n","import classnames from \"classnames\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport Option from \"./Option\";\nimport { buildOptionsFromAddonCommands, buildMenuOptions } from \"./utils\";\n\nconst Headless = ({\n editor,\n options,\n tooltips = {},\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n className,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n showAssetLibrary = true,\n}) => {\n if (!editor) {\n return null;\n }\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n const menuOptions = buildMenuOptions({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n const addonCommandOptions = buildOptionsFromAddonCommands({\n editor,\n commands: addonCommands,\n });\n const allOptions = [...menuOptions, ...addonCommandOptions];\n\n return (\n <div\n className={classnames(\"ne-headless ne-headless--v2\", {\n [className]: className,\n })}\n >\n {allOptions.map(option => (\n <Option {...{ editor }} key={option.optionName} {...option} />\n ))}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Headless;\n","import { t } from \"i18next\";\nimport {\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Pilcrow,\n} from \"lucide-react\";\n\nimport BubbleMenu from \"./Bubble\";\nimport EmptyMenu from \"./EmptyMenu\";\nimport FixedMenu from \"./Fixed\";\nimport HeadlessMenu from \"./Headless\";\n\nexport const FONT_SIZE_OPTIONS = [\n {\n label: t(\"neetoEditor.menu.heading1\"),\n value: 1,\n key: \"h1\",\n icon: Heading1,\n },\n {\n label: t(\"neetoEditor.menu.heading2\"),\n value: 2,\n key: \"h2\",\n icon: Heading2,\n },\n {\n label: t(\"neetoEditor.menu.heading3\"),\n value: 3,\n key: \"h3\",\n icon: Heading3,\n },\n {\n label: t(\"neetoEditor.menu.heading4\"),\n value: 4,\n key: \"h4\",\n icon: Heading4,\n },\n {\n label: t(\"neetoEditor.menu.heading5\"),\n value: 5,\n key: \"h5\",\n icon: Heading5,\n },\n {\n label: t(\"neetoEditor.menu.normalText\"),\n value: 0,\n key: \"body2\",\n icon: Pilcrow,\n },\n];\n\nexport const MENU_COMPONENTS = {\n fixed: FixedMenu,\n bubble: BubbleMenu,\n headless: HeadlessMenu,\n none: EmptyMenu,\n};\n","import { memo, useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { filterBy } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst FontSizeOption = ({\n runEditorCommand,\n tooltipContent,\n label,\n options = [],\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n\n const lastOption = last(FONT_SIZE_OPTIONS);\n const { fontSizeOption: activeOption = lastOption } =\n useEditorStore.pick(\"marksState\");\n\n const handleClick = level =>\n level\n ? runEditorCommand(editor =>\n editor.chain().focus().toggleHeading({ level }).run()\n )()\n : runEditorCommand(editor =>\n editor.chain().focus().setNode(\"paragraph\").run()\n )();\n\n const menuOptions = [\n ...filterBy({ key: key => options.includes(key) }, FONT_SIZE_OPTIONS),\n FONT_SIZE_OPTIONS[FONT_SIZE_OPTIONS.length - 1],\n ];\n\n const renderItems = menuOptions.map(\n ({ label: itemLabel, icon: Icon, value, key }) => (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-font-size-option-${key}`}\n isActive={activeOption?.value === value}\n key={value}\n prefix={<Icon size={16} />}\n onClick={() => handleClick(value)}\n >\n {itemLabel}\n </MenuItem>\n )\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n }}\n >\n {renderItems}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className:\n \"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\",\n }}\n >\n <Menu>{renderItems}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(FontSizeOption);\n","import classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nconst ColorDot = ({ colorVar, isSelected, onClick, isTextColor }) => {\n const dotClass = classNames(\"neeto-editor-highlight-dropdown__color-dot\", {\n \"neeto-editor-highlight-dropdown__color-dot--selected\": isSelected,\n });\n\n const dotStyle = { backgroundColor: `var(${colorVar})` };\n\n const colorNumber = colorVar.match(/\\d+$/)?.[0] || colorVar;\n\n return (\n <div\n {...{ onClick }}\n className={dotClass}\n style={dotStyle}\n data-testid={`neeto-editor-highlight-${hyphenize(\n isTextColor ? \"text\" : \"background\"\n )}-color-dot-${colorNumber}`}\n />\n );\n};\n\nexport default ColorDot;\n","export const COLORS = {\n recent: [\"--neeto-editor-highlight-bg-yellow-light\"],\n text: [\n \"--neeto-editor-highlight-text-1\",\n \"--neeto-editor-highlight-text-2\",\n \"--neeto-editor-highlight-text-3\",\n \"--neeto-editor-highlight-text-4\",\n \"--neeto-editor-highlight-text-5\",\n \"--neeto-editor-highlight-text-6\",\n \"--neeto-editor-highlight-text-7\",\n \"--neeto-editor-highlight-text-8\",\n \"--neeto-editor-highlight-text-9\",\n \"--neeto-editor-highlight-text-10\",\n \"--neeto-editor-highlight-text-11\",\n \"--neeto-editor-highlight-text-12\",\n \"--neeto-editor-highlight-text-13\",\n \"--neeto-editor-highlight-text-14\",\n \"--neeto-editor-highlight-text-15\",\n \"--neeto-editor-highlight-text-16\",\n ],\n background: [\n \"--neeto-editor-highlight-bg-1\",\n \"--neeto-editor-highlight-bg-2\",\n \"--neeto-editor-highlight-bg-3\",\n \"--neeto-editor-highlight-bg-4\",\n \"--neeto-editor-highlight-bg-5\",\n \"--neeto-editor-highlight-bg-6\",\n \"--neeto-editor-highlight-bg-7\",\n \"--neeto-editor-highlight-bg-8\",\n \"--neeto-editor-highlight-bg-9\",\n \"--neeto-editor-highlight-bg-10\",\n \"--neeto-editor-highlight-bg-11\",\n \"--neeto-editor-highlight-bg-12\",\n \"--neeto-editor-highlight-bg-13\",\n \"--neeto-editor-highlight-bg-14\",\n \"--neeto-editor-highlight-bg-15\",\n \"--neeto-editor-highlight-bg-16\",\n ],\n};\n","import { useRef } from \"react\";\n\nimport { DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Highlighter } from \"lucide-react\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nimport ColorDot from \"./ColorDot\";\nimport { COLORS } from \"./constants\";\n\nconst colorSections = [\n { title: \"Text color\", colors: COLORS.text, isTextColor: true },\n { title: \"Background color\", colors: COLORS.background, isTextColor: false },\n];\n\nconst HighlightDropdown = ({\n editor,\n label,\n tooltipContent,\n runEditorCommand,\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n const textColor = editor.getAttributes(\"textStyle\").color;\n const backgroundColor = editor.getAttributes(\"textStyle\").backgroundColor;\n\n const updateBackgroundColor = value => {\n runEditorCommand(editor =>\n editor\n .chain()\n .focus()\n .setMark(\"textStyle\", { backgroundColor: value })\n .run()\n )();\n };\n\n const handleBackgroundColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (backgroundColor === `var(${colorVar})`) {\n updateBackgroundColor(null);\n } else {\n updateBackgroundColor(`var(${colorVar})`);\n }\n };\n\n const handleTextColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (textColor === `var(${colorVar})`) {\n editor.chain().focus().unsetColor().run();\n } else {\n editor.chain().focus().setColor(`var(${colorVar})`).run();\n }\n };\n\n const renderColorDots = (colorList, isTextColor = false) =>\n colorList.map((colorVar, idx) => (\n <ColorDot\n {...{ colorVar, isTextColor }}\n key={idx}\n isSelected={\n isTextColor\n ? textColor === `var(${colorVar})`\n : backgroundColor === `var(${colorVar})`\n }\n onClick={event =>\n isTextColor\n ? handleTextColorClick(colorVar, event)\n : handleBackgroundColorClick(colorVar, event)\n }\n />\n ));\n\n const renderSections = colorSections.map(({ title, colors, isTextColor }) => (\n <div className=\"neeto-editor-highlight-dropdown__section\" key={title}>\n <Typography\n className=\"neeto-editor-highlight-dropdown__section-title\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n <div\n className=\"neeto-editor-highlight-dropdown__color-grid\"\n data-testid={`neeto-editor-highlight-${hyphenize(title)}-grid`}\n >\n {renderColorDots(colors, isTextColor)}\n </div>\n </div>\n ));\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Highlighter}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-highlight-dropdown w-[280px] p-3\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n }}\n >\n {renderSections}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown w-[280px] p-3\" }}\n icon={Highlighter}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <DropdownMenu.Menu className=\"neeto-editor-highlight-dropdown\">\n {renderSections}\n </DropdownMenu.Menu>\n </DropdownMenu>\n );\n};\n\nexport default HighlightDropdown;\n","import { memo, useState } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { Table } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst { Menu } = DropdownMenu;\n\nconst TableOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n // Bumping this key remounts DropdownMenu, which closes it after submit.\n // The wrapper exposes onClose for the close direction but no programmatic\n // open control: passing controlled isOpen breaks open clicks (the wrapper's\n // handleOpenChange ignores open events when controlled), and passing\n // onClick to drive isOpen flips the wrapper into SplitTrigger mode\n // (a two-button ButtonGroup) which we don't want here.\n const [resetKey, setResetKey] = useState(0);\n\n const handleClose = () => {\n setRows(3);\n setColumns(3);\n };\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run();\n handleClose();\n setResetKey(k => k + 1);\n };\n\n const formContent = (\n <>\n <Input\n autoFocus\n data-testid=\"neeto-editor-fixed-menu-table-rows-input\"\n label={t(\"neetoEditor.menu.rows\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.rows\")}\n size=\"small\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n <Input\n data-testid=\"neeto-editor-fixed-menu-table-columns-input\"\n label={t(\"neetoEditor.menu.columns\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.columns\")}\n size=\"small\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n <div className=\"neeto-editor-table-menu__button\">\n <Button\n className=\"mt-auto\"\n data-testid=\"neeto-editor-fixed-menu-table-option-create-button\"\n label={t(\"neetoEditor.common.create\")}\n size=\"sm\"\n onClick={handleSubmit}\n />\n </div>\n </>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Table}\n key={resetKey}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-table__item w-auto p-2 flex flex-col\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n >\n {formContent}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-auto p-2\" }}\n icon={Table}\n key={resetKey}\n position=\"bottom\"\n buttonProps={{\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n onClose={handleClose}\n >\n <Menu className=\"neeto-editor-table__item\">{formContent}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(TableOption);\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\n\nimport MenuButton from \"./components/Button\";\nimport CalloutDropdown from \"./components/CalloutDropdown\";\nimport EmojiOption from \"./components/EmojiOption\";\nimport FontSizeOption from \"./components/FontSizeOption\";\nimport HighlightDropdown from \"./components/HighlightDropdown/index.jsx\";\nimport TableOption from \"./components/TableOption\";\nimport TextColorOption from \"./components/TextColorOption\";\n\nexport const MENU_ELEMENT_TYPES = {\n BUTTON: \"button\",\n CALLOUT: \"callout\",\n FONT_SIZE: \"fontSize\",\n TABLE: \"table\",\n TEXT_COLOR: \"textColor\",\n EMOJI: \"emoji\",\n MENTIONS: \"mentions\",\n HIGHLIGHT: \"highlight\",\n};\n\nexport const MENU_TYPES = {\n HISTORY: \"history\",\n FONT: \"font\",\n LIST: \"list\",\n BLOCK: \"block\",\n MISC: \"misc\",\n EXTRAS: \"extras\",\n CUSTOM: \"custom\",\n};\n\nexport const SHORTCUTS = {\n [EDITOR_OPTIONS.BOLD]: { mac: \"⌘B\", win: \"Ctrl+B\" },\n [EDITOR_OPTIONS.ITALIC]: { mac: \"⌘I\", win: \"Ctrl+I\" },\n [EDITOR_OPTIONS.UNDERLINE]: { mac: \"⌘U\", win: \"Ctrl+U\" },\n [EDITOR_OPTIONS.STRIKETHROUGH]: {\n mac: \"⌘⇧S or ⌘⇧X\",\n win: \"Ctrl+Shift+S or Ctrl+Shift+X\",\n },\n [EDITOR_OPTIONS.CODE]: { mac: \"⌘E\", win: \"Ctrl+E\" },\n [EDITOR_OPTIONS.UNDO]: { mac: \"⌘Z\", win: \"Ctrl+Z\" },\n [EDITOR_OPTIONS.REDO]: { mac: \"⌘⇧Z\", win: \"Ctrl+Shift+Z\" },\n [EDITOR_OPTIONS.LINK]: { mac: \"⌘K\", win: \"Ctrl+K\" },\n [EDITOR_OPTIONS.HIGHLIGHT]: { mac: \"⌘⇧H\", win: \"Ctrl+Shift+H\" },\n bulletList: { mac: \"⌘⇧8\", win: \"Ctrl+Shift+8\" },\n orderedList: { mac: \"⌘⇧7\", win: \"Ctrl+Shift+7\" },\n todoList: { mac: \"⌘⇧9\", win: \"Ctrl+Shift+9\" },\n};\n\nexport const MENU_ELEMENTS = {\n [MENU_ELEMENT_TYPES.BUTTON]: MenuButton,\n [MENU_ELEMENT_TYPES.CALLOUT]: CalloutDropdown,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: FontSizeOption,\n [MENU_ELEMENT_TYPES.TABLE]: TableOption,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: TextColorOption,\n [MENU_ELEMENT_TYPES.EMOJI]: EmojiOption,\n [MENU_ELEMENT_TYPES.MENTIONS]: Mentions,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: HighlightDropdown,\n};\n\nexport const MENU_ELEMENT_WIDTHS = {\n [MENU_ELEMENT_TYPES.BUTTON]: 36,\n [MENU_ELEMENT_TYPES.CALLOUT]: 23,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: 103,\n [MENU_ELEMENT_TYPES.TABLE]: 36,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: 36,\n [MENU_ELEMENT_TYPES.EMOJI]: 36,\n [MENU_ELEMENT_TYPES.MENTIONS]: 36,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: 103,\n};\n","import { t } from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListChecks,\n ListOrdered,\n Paperclip,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport { prop, not, assoc } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\n\nimport {\n MENU_ELEMENT_WIDTHS,\n MENU_ELEMENT_TYPES,\n SHORTCUTS,\n} from \"./constants.js\";\n\nconst createMenuOptions = ({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const fontSizeOptions = options.filter(option => option.match(/^h[1-6]$/));\n\n return [\n [\n {\n type: MENU_ELEMENT_TYPES.FONT_SIZE,\n options: fontSizeOptions,\n label: tooltips.fontSize ?? t(\"neetoEditor.menu.fontSize\"),\n isEnabled: isNotEmpty(fontSizeOptions),\n optionName: \"fontSizeOptions\",\n runEditorCommand,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Bold,\n isEnabled: options.includes(EDITOR_OPTIONS.BOLD),\n command: runEditorCommand(editor =>\n editor?.chain().focus().toggleBold().run()\n ),\n optionName: EDITOR_OPTIONS.BOLD,\n label: tooltips.bold ?? t(\"neetoEditor.menu.bold\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Italic,\n isEnabled: options.includes(EDITOR_OPTIONS.ITALIC),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleItalic().run()\n ),\n optionName: EDITOR_OPTIONS.ITALIC,\n label: tooltips.italic ?? t(\"neetoEditor.menu.italic\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Link,\n isEnabled: options.includes(EDITOR_OPTIONS.LINK),\n command: () => setIsAddLinkActive(not),\n optionName: EDITOR_OPTIONS.LINK,\n label: tooltips.link ?? t(\"neetoEditor.menu.link\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Strikethrough,\n isEnabled: options.includes(EDITOR_OPTIONS.STRIKETHROUGH),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleStrike().run()\n ),\n optionName: EDITOR_OPTIONS.STRIKETHROUGH,\n label: tooltips.strike ?? t(\"neetoEditor.menu.strike\"),\n },\n {\n type: MENU_ELEMENT_TYPES.HIGHLIGHT,\n icon: Highlighter,\n label: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n isEnabled: options.includes(EDITOR_OPTIONS.HIGHLIGHT),\n optionName: EDITOR_OPTIONS.HIGHLIGHT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: List,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBulletList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_BULLETS),\n optionName: \"bulletList\",\n highlight: true,\n label: tooltips.bulletList ?? t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListOrdered,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleOrderedList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_ORDERED),\n optionName: \"orderedList\",\n highlight: true,\n label: tooltips.orderedList ?? t(\"neetoEditor.menu.orderedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListChecks,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleTaskList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.TODO_LIST),\n optionName: \"todoList\",\n highlight: true,\n label: tooltips.todoList ?? t(\"neetoEditor.menu.todoList\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Quote,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBlockquote().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n optionName: \"blockquote\",\n highlight: true,\n label: tooltips.blockQuote ?? t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n type: MENU_ELEMENT_TYPES.CALLOUT,\n label: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n isEnabled: options.includes(EDITOR_OPTIONS.CALLOUT),\n optionName: EDITOR_OPTIONS.CALLOUT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TABLE,\n label: tooltips.table ?? t(\"neetoEditor.menu.table\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TABLE),\n optionName: EDITOR_OPTIONS.TABLE,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Paperclip,\n command: () => attachmentProps?.handleUploadAttachments(),\n disabled: attachmentProps?.isDisabled,\n isEnabled: options.includes(EDITOR_OPTIONS.ATTACHMENTS),\n optionName: EDITOR_OPTIONS.ATTACHMENTS,\n label: tooltips.attachments ?? t(\"neetoEditor.menu.attachments\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: FileText,\n command: () => {\n if (!editor || !setIsNeetoKbArticleActive) return;\n\n const { from, to } = editor.state.selection;\n const cursorPos = editor.view.coordsAtPos(from);\n\n setIsNeetoKbArticleActive({\n active: true,\n editor,\n range: { from, to },\n cursorPos,\n });\n },\n isEnabled: options.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE),\n optionName: EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n label:\n tooltips.neetoKbArticle ?? t(\"neetoEditor.menu.linkToNeetoKbArticle\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD),\n optionName: EDITOR_OPTIONS.IMAGE_UPLOAD,\n label: tooltips.imageUpload ?? t(\"neetoEditor.menu.imageUpload\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TEXT_COLOR,\n label: tooltips.textColor ?? t(\"neetoEditor.menu.textColor\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TEXT_COLOR),\n optionName: EDITOR_OPTIONS.TEXT_COLOR,\n },\n {\n type: MENU_ELEMENT_TYPES.EMOJI,\n label: tooltips.emoji ?? t(\"neetoEditor.menu.emoji\"),\n isEnabled: options.includes(EDITOR_OPTIONS.EMOJI),\n optionName: EDITOR_OPTIONS.EMOJI,\n setActive: setIsEmojiPickerActive,\n isActive: isEmojiPickerActive,\n },\n {\n type: MENU_ELEMENT_TYPES.MENTIONS,\n label: tooltips.mention ?? t(\"neetoEditor.menu.mention\"),\n isEnabled: isNotEmpty(mentions),\n optionName: \"mentions\",\n mentions,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Code,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCode().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE),\n optionName: EDITOR_OPTIONS.CODE,\n label: tooltips.code ?? t(\"neetoEditor.menu.code\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: SquareCode,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCodeBlock().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE_BLOCK),\n optionName: \"codeBlock\",\n label: tooltips.codeBlock ?? t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD),\n optionName: EDITOR_OPTIONS.VIDEO_UPLOAD,\n label: tooltips.videoUpload ?? t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Underline,\n isEnabled: options.includes(EDITOR_OPTIONS.UNDERLINE),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleUnderline().run()\n ),\n optionName: EDITOR_OPTIONS.UNDERLINE,\n label: tooltips.underline ?? t(\"neetoEditor.menu.underline\"),\n },\n ],\n [...addonCommandOptions],\n [\n {\n icon: Undo,\n command: runEditorCommand(editor =>\n editor.chain().focus().undo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.UNDO),\n optionName: EDITOR_OPTIONS.UNDO,\n label: tooltips.undo ?? t(\"neetoEditor.menu.undo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n {\n icon: Redo,\n command: runEditorCommand(editor =>\n editor.chain().focus().redo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.REDO),\n optionName: EDITOR_OPTIONS.REDO,\n label: tooltips.redo ?? t(\"neetoEditor.menu.redo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n ],\n ];\n};\n\nexport const buildOptionsFromAddonCommands = ({ commands, runEditorCommand }) =>\n commands.map(option => ({\n ...option,\n type: MENU_ELEMENT_TYPES.BUTTON,\n command: runEditorCommand(editor =>\n option.command?.({\n editor,\n range: {\n from: editor.state?.selection?.to,\n to: editor.state?.selection.to,\n },\n })\n ),\n }));\n\nexport const buildMenuOptions = ({\n tooltips,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions = [],\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const addonCommandOptions = buildOptionsFromAddonCommands({\n commands: addonCommands,\n runEditorCommand,\n });\n\n const menuOptions = createMenuOptions({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n });\n\n return menuOptions.map(option => option.filter(prop(\"isEnabled\")));\n};\n\nexport const getCursorPos = (editor, to) => editor?.view.coordsAtPos(to);\n\nexport const reGroupMenuItems = (menuRef, menuGroups) => {\n const toolbarWidth = menuRef.current.offsetWidth;\n let totalWidth = 0;\n const visibleMenuGroups = [];\n const invisibleMenuGroups = [];\n menuGroups.forEach((group, groupIndex) => {\n group.forEach((item, itemIndex) => {\n const width = MENU_ELEMENT_WIDTHS[item.type];\n if (totalWidth + width < toolbarWidth) {\n totalWidth += width;\n visibleMenuGroups[groupIndex] = visibleMenuGroups[groupIndex] ?? [];\n visibleMenuGroups[groupIndex][itemIndex] = item;\n } else {\n const visibleMenuGroupsLength = visibleMenuGroups.length;\n const index = groupIndex - visibleMenuGroupsLength + 1;\n invisibleMenuGroups[index] = invisibleMenuGroups[index] ?? [];\n invisibleMenuGroups[index][itemIndex] = item;\n }\n });\n });\n\n return { visibleMenuGroups, invisibleMenuGroups };\n};\n\nexport const getLinkPopoverPosition = (editor, popoverRef) => {\n const {\n selection: {\n $to: { pos: selectionEnd },\n $from: { pos: selectionStart },\n },\n } = editor.view.state;\n const selectionLength = selectionEnd - selectionStart;\n let offset = 0;\n if (selectionLength > 1) offset = Math.round(selectionLength / 2);\n\n if (selectionLength === 1) offset = 1;\n\n const arrowCoords = editor.view.coordsAtPos(selectionStart + offset);\n const arrowPosition = {\n top: `${arrowCoords.top + 21}px`,\n left: `${arrowCoords.left - 8.5}px`,\n };\n\n const popoverCoords = editor.view.coordsAtPos(selectionStart);\n let adjustedLeft = popoverCoords?.left,\n adjustedTop = popoverCoords?.top;\n if (popoverRef?.current) {\n const popoverRect = popoverRef.current?.getBoundingClientRect();\n\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n\n const maxLeft = screenWidth - popoverRect.width;\n const maxTop = screenHeight - popoverRect.height - 50;\n\n adjustedLeft = popoverCoords?.left\n ? Math.min(popoverCoords.left - 50, maxLeft)\n : 0;\n\n adjustedTop = popoverCoords?.top\n ? Math.min(popoverCoords.top - 22, maxTop)\n : 0;\n } else {\n adjustedLeft = popoverCoords.left - 50;\n adjustedTop = popoverCoords.top - 22;\n }\n\n const popoverPosition = {\n top: `${adjustedTop}px`,\n left: `${adjustedLeft}px`,\n };\n\n return { arrowPosition, popoverPosition };\n};\n\nexport function renderTooltipContent(label, optionName) {\n const shortcut = SHORTCUTS[optionName];\n if (!shortcut) return label;\n\n const isMac = () =>\n typeof window !== \"undefined\" &&\n /Mac|iPod|iPhone|iPad/.test(window.navigator.userAgent);\n\n const key = isMac() ? shortcut.mac : shortcut.win;\n\n return `${label} (${key})`;\n}\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { assoc, isEmpty, not } from \"ramda\";\n\nimport { DEFAULT_EDITOR_OPTIONS } from \"src/v2/components/Editor/constants\";\n\nimport { MENU_COMPONENTS } from \"./constants\";\n\nconst Menu = props => {\n const [isEmojiPickerActive, setIsEmojiPickerActive] = useState(false);\n const [mediaUploader, setMediaUploader] = useState({\n image: false,\n video: false,\n });\n\n const {\n menuType = \"fixed\",\n addons = [],\n options = [],\n editorSecrets = {},\n attachmentProps,\n defaults = DEFAULT_EDITOR_OPTIONS,\n } = props;\n\n const MenuComponent = useMemo(() => MENU_COMPONENTS[menuType], [menuType]);\n const menuOptions = isEmpty(options) ? [...defaults, ...addons] : options;\n\n useEffect(() => {\n const handleKeyDown = e => {\n if ((e.metaKey || e.ctrlKey) && e.altKey) {\n if (e.code === \"KeyE\") {\n setIsEmojiPickerActive(prevState => !prevState);\n } else if (e.code === \"KeyA\") {\n not(attachmentProps?.isDisabled) &&\n attachmentProps?.handleUploadAttachments();\n } else if (e.code === \"KeyK\") {\n setMediaUploader(assoc(\"image\", true));\n } else if (e.code === \"KeyV\") {\n setMediaUploader(assoc(\"video\", true));\n }\n }\n };\n if (menuType !== \"none\") {\n document.addEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n return (\n <MenuComponent\n {...{\n ...props,\n attachmentProps,\n isEmojiPickerActive,\n mediaUploader,\n setIsEmojiPickerActive,\n setMediaUploader,\n }}\n options={menuOptions}\n unsplashApiKey={editorSecrets.unsplash}\n />\n );\n};\n\nexport default Menu;\n"],"names":["DEFAULT_EDITOR_OPTIONS","EDITOR_OPTIONS","BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","LINK","PARAGRAPH","H1","H2","H3","H4","H5","H6","LIST_BULLETS","LIST_ORDERED","CODE","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","EDITOR_LINE_HEIGHT","IMAGE_REGEX","RegExp","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","TRAILING_BR_REGEX","LINK_VALIDATION_SCHEMA","yup","object","shape","textContent","string","required","t","urlString","matches","ALL_PROTOCOL_URL_REGEXP","getEditorStyles","_ref","rows","editorHeight","concat","clipboardTextParser","text","context","plain","view","isMarkdown","markdownToSlice","state","schema","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","endPosition","Selection","atEnd","transaction","tr","setSelection","dispatch","isEditorOverlaysActive","document","querySelector","validateAndFormatUrl","url","test","transformEditorContent","_content$replaceAll","replaceAll","replace","isEmojiSuggestionsMenuActive","transformPastedHTML","contentWithoutBr","DOMParser","parseFromString","isInternalPaste","querySelectorAll","el","style","color","backgroundColor","body","innerHTML","handlePaste","event","slice","replaceSelection","_unused","_event$clipboardData","clipboardData","getData","textBetween","size","trim","insertText","scrollIntoView","buildLevelsFromOptions","options","levels","_defineProperty","Object","entries","filter","heading","includes","map","getSuggestionAppendTo","_editor$storage","_container$containerR","_container$containerR2","container","storage","editorContainer","appendSuggestionsToBody","containerRef","current","CALLOUT_TYPES","label","icon","Megaphone","bgColor","Info","iconColor","AlertTriangle","AlertOctagon","CheckCircle2","_regenerator","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","valueOf","EmojiPickerMenu","_React$Component","_this","_classCallCheck","_len","arguments","args","Array","_key","React","createRef","_asyncToGenerator","_callee","_yield$emojiPickerApi","data","_context","emojiPickerApi","fetch","_ref2","key","props","chain","focus","deleteRange","range","run","emoji","_this$props$setActive","_this$props","setEmoji","setActive","_inherits","_createClass","componentDidMount","Picker","_objectSpread","onEmojiSelect","handleSelect","maxWidth","theme","previewPosition","showSkinTones","fetchEmojiData","ref","render","_jsx","minWidth","Component","defaultProps","validateUrl","_i","_Object$values","values","URL_VALIDATORS","validator","result","Menu","DropdownMenu","MenuItem","Mentions","mentions","tooltipContent","_ref$isSecondaryMenu","isSecondaryMenu","isEmpty","renderItems","name","imageUrl","prefix","Avatar","user","onClick","commands","setMention","id","children","SubMenu","contentProps","className","AtSign","triggerProps","dropdownProps","position","buttonProps","variant","tooltipProps","memo","MenuButton","command","optionName","highlight","_ref$disabled","disabled","isButtonDisabled","_useEditorStore","useEditorStore","useShallow","store","_store$marksState","_store$marksState2","isActive","_useEditorStore$disab","Button","tabIndex","renderTooltipContent","generateFocusProps","CalloutIcon","_currentType$icon","currentType","Icon","Flag","CalloutTypeOption","calloutType","isSelected","stroke","RenderCalloutOptions","isInCallout","currentCalloutAttrs","handleCalloutTypeClick","idx","_createElement","CalloutDropdown","_useTranslation","useTranslation","dropdownRef","useRef","getAttributes","findBy","editorChain","isSameType","lift","updateAttributes","setCallout","renderOptions","_jsxs","_Fragment","Label","triggerRef","onKeyDown","_dropdownRef$current","click","EmojiOption","_useState","useState","_useState2","_slicedToArray","resetKey","setResetKey","handlePicked","k","Smile","closeOnSelect","onClose","TextColorOption","setColor","_useState3","_useState4","closeMenu","handleSave","handleUnset","unsetColor","useEffect","pickerContent","stopPropagation","HexColorPicker","onChange","Input","autoFocus","placeholder","withEventTargetValue","Check","X","RotateCw","Baseline","LinkOption","handleClose","handleAnimateInvalidLink","link","setLink","href","handleKeyDown","handleSubmit","isNotPresent","unsetLink","handleReset","target","TableOption","setRows","columns","setColumns","insertTable","cols","withHeaderRow","min","createMenuOptions","tooltips","setMediaUploader","attachmentProps","setIsAddLinkActive","font","Bold","toggleBold","active","tooltip","bold","Italic","toggleItalic","italic","Underline","toggleUnderline","underline","Link","not","Strikethrough","toggleStrike","strike","Highlighter","toggleHighlight","block","Quote","toggleBlockquote","blockQuote","Code","toggleCode","code","SquareCode","toggleCodeBlock","codeBlock","list","List","toggleBulletList","bulletList","ListOrdered","toggleOrderedList","orderedList","misc","Paperclip","handleUploadAttachments","isDisabled","attachments","ImageUp","assoc","imageUpload","Video","videoUpload","right","Undo","undo","can","Redo","redo","buildBubbleMenuOptions","menuOptions","fromPairs","option","item","getTextMenuDropdownOptions","_ref3","textOptions","Heading1","level","setNode","Heading2","Heading3","Pilcrow","getNodeIcon","_options$find","find","prop","renderOptionButton","_ref4","Options","setIsInvalidLink","isLinkOptionActive","isTableOptionActive","setIsLinkOptionActive","setIsTableOptionActive","isEmojiPickerActive","setIsEmojiPickerActive","dropdownOptions","isEmojiActive","EMOJI","isTextColorOptionActive","TEXT_COLOR","isLinkActive","isTableActive","TABLE","_buildBubbleMenuOptio","fontStyleOptions","blockStyleOptions","listStyleOptions","setTimeout","Popover","PopoverTrigger","asChild","iconPosition","trailing","ChevronDown","PopoverContent","align","side","onOpenAutoFocus","preventDefault","fullWidth","textColor","Table","table","mention","Bubble","_ref$mentions","_ref$tooltips","isInvalidLink","_useState5","_useState6","selectedNode","selection","isImageNodeSelected","bubbleMenuOptions","noTextOptions","BubbleMenuTipTap","zIndex","classnames","offset","onHide","EmptyMenu","Progress","withT","queuedFiles","cancelUpload","filename","_ref2$progress","progress","FileIcon","fileName","Typography","width","Tooltip","LocalUploader","isImage","insertMediaToEditor","setIsUploading","uploadConfig","DEFAULT_IMAGE_UPLOAD_CONFIG","DEFAULT_VIDEO_UPLOAD_CONFIG","fileInputRef","dropTargetRef","_useFileUploader","useFileUploader","config","setIsUploadingOnHost","addFiles","uploadFiles","isUploading","handleFilesDrop","files","uploadedFiles","_x","useDropFiles","onDrop","handleAddFile","_callee2","_context2","_x2","_fileInputRef$current","multiple","accept","ALLOWED_IMAGE_TYPES","join","ALLOWED_VIDEO_TYPES","entity","convertToFileSize","restrictions","maxFileSize","VideoEmbedForm","onEmbedVideo","onAttachVideo","initialValues","onSubmit","embedUrl","Form","formikProps","validationSchema","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","dirty","isSubmitting","resetForm","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","loading","MediaUploader","mediaUploader","_ref$showAssetLibrary","showAssetLibrary","activeTab","setActiveTab","isOpen","image","video","tabs","setTabs","getTabs","file","_file$filename","_file$caption","caption","mediaAttrs","src","alt","setMedia","setFigure","setVideo","resolve","to","end","safePosition","Math","insertContentAt","onUploadComplete","_t","signedId","directUploadsApi","attach","signed_id","Toastr","error","originalUrl","setExternalVideo","allowDismiss","Dialog","closeButton","undefined","Tabs","onValueChange","title","Item","ImageUploader","LinkAddPopOver","_containerRef$current","isAddLinkActive","openLinkInNewTab","_editor$state$selecti","from","linkText","setLinkText","linkUrl","setLinkUrl","openInNewTab","setOpenInNewTab","_useState7","_useState8","setError","_useState9","getCursorPos","_useState0","popoverPosition","setPopoverPosition","_useState1","top","left","_useState10","arrowPosition","setArrowPosition","popoverRef","isLinkTextPresent","isLinlUrlPresent","isSubmitDisabled","popoverStyle","display","transform","handleAddLink","_editor$view","_state$selection","formattedUrl","attrs","linkMark","marks","linkTextWithMark","replaceWith","removePopover","updatePopoverPosition","_getLinkPopoverPositi","getLinkPopoverPosition","useOnClickOutside","window","addEventListener","removeEventListener","createPortal","onFocus","Checkbox","checked","onCheckedChange","MoreMenu","groups","customTarget","Ellipsis","group","_objectWithoutProperties","_excluded","MENU_ELEMENTS","MENU_ELEMENT_TYPES","BUTTON","EDITOR_MARKS","UNDO","REDO","HIGHLIGHT","CALLOUT","ATTACHMENTS","IMAGE_UPLOAD","VIDEO_UPLOAD","NEETO_KB_ARTICLE","useEditorState","neetoKbArticleState","setMarksState","marksState","handleSelectionUpdate","useCallback","activeMarks","mark","activeFontSizeOption","FONT_SIZE_OPTIONS","last","updateHistoryOptionsState","undoOptionState","redoOptionState","updatedMarksState","noop","on","off","MenuDynamicVariables","_ref$variables","variables","_ref$standalone","standalone","handleVariableClick","category","categoryLabel","variableName","variableLabel","setVariable","DynamicVariables","buttonSize","classNames","onVariableClick","Fixed","_ref$addonCommands","addonCommands","_ref$isIndependant","isIndependant","setIsNeetoKbArticleActive","focusedButtonIndex","setFocusedButtonIndex","menuItems","setMenuItems","moreMenuItems","setMoreMenuItems","editorRef","menuRef","menuContainerRef","runEditorCommand","handleArrowNavigation","prevIndex","menuButtons","useMemo","_menuRef$current","menuItem","menuGroups","buildMenuOptions","handleResize","_reGroupMenuItems","reGroupMenuItems","visibleMenuGroups","invisibleMenuGroups","menuContainer","resizeObserver","ResizeObserver","observe","unobserve","isMediaUploaderActive","_ref$icon","_ref$onClick","otherProps","hideOnEsc","defaultValue","fn","hide","_ref$props","toLowerCase","onShow","Dropdown","_ref2$onClose","_ref2$buttonProps","mounted","setMounted","Tippy","interactive","animation","arrow","duration","hideOnClick","plugins","popperOptions","strategy","role","trigger","visible","onClickOutside","onHidden","onMount","Emoji","delay","EmojiPicker","Option","hyphenate","i18n","FileText","buildOptionsFromAddonCommands","_option$active","_option$command","Headless","addonCommandOptions","allOptions","_toConsumableArray","Heading4","Heading5","MENU_COMPONENTS","fixed","FixedMenu","bubble","BubbleMenu","headless","HeadlessMenu","none","FontSizeOption","_ref$options","lastOption","fontSizeOption","_useEditorStore$fontS","activeOption","handleClick","toggleHeading","filterBy","itemLabel","ColorDot","_colorVar$match","colorVar","isTextColor","dotClass","dotStyle","colorNumber","match","hyphenize","COLORS","background","colorSections","colors","HighlightDropdown","updateBackgroundColor","setMark","handleBackgroundColorClick","handleTextColorClick","renderColorDots","colorList","renderSections","weight","formContent","FONT_SIZE","MENTIONS","SHORTCUTS","_SHORTCUTS","mac","win","MENU_ELEMENT_WIDTHS","_tooltips$fontSize","_tooltips$bold","_tooltips$italic","_tooltips$link","_tooltips$strike","_tooltips$highlight","_tooltips$highlight2","_tooltips$bulletList","_tooltips$orderedList","_tooltips$todoList","_tooltips$blockQuote","_tooltips$callout","_tooltips$callout2","_tooltips$table","_tooltips$attachments","_tooltips$neetoKbArti","_tooltips$imageUpload","_tooltips$textColor","_tooltips$emoji","_tooltips$mention","_tooltips$code","_tooltips$codeBlock","_tooltips$videoUpload","_tooltips$underline","_tooltips$undo","_tooltips$redo","fontSizeOptions","fontSize","isEnabled","ListChecks","toggleTaskList","TODO_LIST","todoList","BLOCKQUOTE","callout","cursorPos","coordsAtPos","neetoKbArticle","CODE_BLOCK","_editor$state","_editor$state2","_ref3$mentions","toolbarWidth","offsetWidth","totalWidth","groupIndex","itemIndex","_visibleMenuGroups$gr","_invisibleMenuGroups$","visibleMenuGroupsLength","index","_editor$view$state$se","selectionEnd","$to","pos","selectionStart","$from","selectionLength","round","arrowCoords","popoverCoords","adjustedLeft","adjustedTop","_popoverRef$current","popoverRect","getBoundingClientRect","screenWidth","innerWidth","screenHeight","innerHeight","maxLeft","maxTop","height","shortcut","isMac","navigator","userAgent","_props$menuType","menuType","_props$addons","addons","_props$options","_props$editorSecrets","editorSecrets","_props$defaults","defaults","MenuComponent","metaKey","ctrlKey","altKey","prevState","unsplashApiKey","unsplash"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-hjJXR4bM.cjs.js","sources":["../../app/javascript/src/v2/components/Editor/constants.js","../../app/javascript/src/v2/components/Editor/utils.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/constants.js","../../app/javascript/src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu.jsx","../../app/javascript/src/v2/components/Editor/CustomExtensions/Embeds/utils.js","../../app/javascript/src/v2/components/Editor/CustomExtensions/Mention/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/Button.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutIcon.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/CalloutTypeOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/RenderCalloutOptions.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/CalloutDropdown/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/EmojiOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/TextColorOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/LinkOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/TableOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/utils.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/Options.jsx","../../app/javascript/src/v2/components/Editor/Menu/Bubble/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/EmptyMenu.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/Progress.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/LocalUploader.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/VideoEmbedForm.jsx","../../app/javascript/src/v2/components/Editor/MediaUploader/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/LinkAddPopOver.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/MoreMenu.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/hooks/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/hooks/useEditorState.js","../../app/javascript/src/v2/components/Editor/Menu/DynamicVariables.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/UI/Button.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/UI/Dropdown.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/Emoji.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/Option/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Headless/utils.js","../../app/javascript/src/v2/components/Editor/Menu/Headless/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/FontSizeOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/ColorDot.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/HighlightDropdown/index.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/components/TableOption.jsx","../../app/javascript/src/v2/components/Editor/Menu/Fixed/constants.js","../../app/javascript/src/v2/components/Editor/Menu/Fixed/utils.js","../../app/javascript/src/v2/components/Editor/Menu/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"common/constants\";\n\nexport const DEFAULT_EDITOR_OPTIONS = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.PARAGRAPH,\n EDITOR_OPTIONS.H1,\n EDITOR_OPTIONS.H2,\n EDITOR_OPTIONS.H3,\n EDITOR_OPTIONS.H4,\n EDITOR_OPTIONS.H5,\n EDITOR_OPTIONS.H6,\n EDITOR_OPTIONS.LIST_BULLETS,\n EDITOR_OPTIONS.LIST_ORDERED,\n EDITOR_OPTIONS.CODE,\n];\nexport const EDITOR_PADDING_SIZE = 12;\n\nexport const EDITOR_BORDER_SIZE = 1;\n\nexport const EDITOR_LINE_HEIGHT = 21;\n\nexport const IMAGE_REGEX = new RegExp(/(<img[^>]*?>)(?![\\s\\S]*<\\/figure>)/g);\nexport const IMAGE_REPLACEMENT_PATTERN = \"<figure>$1</figure>\";\nexport const EMPTY_DIV_REGEX = new RegExp(\n /<div[^>]*?>\\s*(?:<br[^>]*?>)\\s*<\\/div>/g\n);\nexport const TRAILING_BR_REGEX = new RegExp(/\\s*(?:<br[^>]*?>)+\\s*$/);\n\nexport const LINK_VALIDATION_SCHEMA = yup.object().shape({\n textContent: yup.string().required(t(\"neetoEditor.error.textRequired\")),\n urlString: yup\n .string()\n .matches(ALL_PROTOCOL_URL_REGEXP, t(\"neetoEditor.error.invalidUrl\"))\n .required(t(\"neetoEditor.error.urlRequired\")),\n});\n","import { Slice, Fragment, Node } from \"@tiptap/pm/model\";\nimport { Selection } from \"@tiptap/pm/state\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"src/common/constants\";\nimport { isMarkdown, markdownToSlice } from \"src/utils/markdown\";\n\nimport {\n EDITOR_LINE_HEIGHT,\n EDITOR_BORDER_SIZE,\n EDITOR_PADDING_SIZE,\n IMAGE_REGEX,\n IMAGE_REPLACEMENT_PATTERN,\n EMPTY_DIV_REGEX,\n TRAILING_BR_REGEX,\n} from \"./constants\";\n\nexport const getEditorStyles = ({ rows }) => {\n const editorHeight =\n rows * EDITOR_LINE_HEIGHT + 2 * (EDITOR_PADDING_SIZE + EDITOR_BORDER_SIZE);\n\n return `min-height: ${editorHeight}px;`;\n};\n\nexport const clipboardTextParser = (text, context, plain, view) => {\n if (!plain && isMarkdown(text)) {\n return markdownToSlice(text, view.state.schema, context);\n }\n\n const nodes = [];\n const blocks = text.split(/\\n/);\n\n blocks.forEach(line => {\n const nodeJson = { type: \"paragraph\" };\n if (isNotEmpty(line)) {\n nodeJson.content = [{ type: \"text\", text: line }];\n }\n const node = Node.fromJSON(context.doc.type.schema, nodeJson);\n nodes.push(node);\n });\n\n const fragment = Fragment.fromArray(nodes);\n\n return Slice.maxOpen(fragment);\n};\n\nexport const setInitialPosition = editor => {\n const { state, view } = editor;\n const endPosition = Selection.atEnd(state.doc);\n const transaction = state.tr;\n transaction.setSelection(endPosition);\n view.dispatch(transaction);\n};\n\nexport const isEditorOverlaysActive = () =>\n document.querySelector(\n \".ne-media-uploader,.ne-embed-modal,.tippy-content,.ne-link-popover\"\n );\n\nexport const validateAndFormatUrl = url => {\n if (!ALL_PROTOCOL_URL_REGEXP.test(url)) {\n return null;\n }\n\n if (!/^[a-zA-Z]\\w*:/i.test(url)) {\n return `https://${url}`;\n }\n\n return url;\n};\n\nexport const transformEditorContent = content =>\n content\n ?.replaceAll(IMAGE_REGEX, IMAGE_REPLACEMENT_PATTERN)\n ?.replaceAll(EMPTY_DIV_REGEX, \"\")\n ?.replace(TRAILING_BR_REGEX, \"\");\n\nexport const isEmojiSuggestionsMenuActive = () =>\n !!document.querySelector(\".neeto-editor-emoji-suggestion\");\n\nexport const transformPastedHTML = content => {\n const contentWithoutBr = content.replaceAll(\"<br />\", \"<p></p>\");\n const doc = new DOMParser().parseFromString(contentWithoutBr, \"text/html\");\n\n // ProseMirror tags clipboard output from any TipTap/ProseMirror editor with\n // `data-pm-slice`. When present, the paste is coming from another\n // neeto-editor instance and we preserve the author's color choices. When\n // absent, the source is external (Word, websites, customer messages) and we\n // strip inline colors so foreign theming does not bleed into the editor.\n const isInternalPaste = doc.querySelector(\"[data-pm-slice]\") !== null;\n\n if (!isInternalPaste) {\n doc.querySelectorAll(\"[style]\").forEach(el => {\n el.style.color = \"\";\n el.style.backgroundColor = \"\";\n });\n }\n\n return doc.body.innerHTML;\n};\n\nexport const handlePaste = (view, event, slice) => {\n try {\n view.state.tr.replaceSelection(slice);\n\n return false;\n } catch {\n const text =\n event.clipboardData?.getData(\"text/plain\") ||\n slice.content.textBetween(0, slice.content.size, \"\\n\").trim();\n if (text) view.dispatch(view.state.tr.insertText(text).scrollIntoView());\n\n return true;\n }\n};\n\nexport const buildLevelsFromOptions = options => {\n const levels = {\n [EDITOR_OPTIONS.H1]: 1,\n [EDITOR_OPTIONS.H2]: 2,\n [EDITOR_OPTIONS.H3]: 3,\n [EDITOR_OPTIONS.H4]: 4,\n [EDITOR_OPTIONS.H5]: 5,\n [EDITOR_OPTIONS.H6]: 6,\n };\n\n return Object.entries(levels)\n .filter(heading => options.includes(heading[0]))\n .map(heading => heading[1]);\n};\n\n// Suggestion popups (slash, mention, emoji) append to the editor container by\n// default so they stay usable inside a Radix Dialog, whose focus trap excludes\n// document.body. An editor docked at the viewport bottom (e.g. a chat composer)\n// can opt into appending to body via the Editor `appendSuggestionsToBody` prop,\n// so the popup escapes the container's clipping and stacking context and can\n// flip upward into the available space.\nexport const getSuggestionAppendTo = editor => () => {\n const container = editor?.storage?.editorContainer;\n\n return container?.appendSuggestionsToBody\n ? document.body\n : (container?.containerRef?.current ?? document.body);\n};\n","import { t } from \"i18next\";\nimport {\n Info,\n AlertTriangle,\n AlertOctagon,\n Megaphone,\n CheckCircle2,\n} from \"lucide-react\";\n\nexport const CALLOUT_TYPES = [\n {\n type: \"default\",\n label: t(\"neetoEditor.menu.calloutDefault\"),\n icon: Megaphone,\n bgColor: \"--neeto-editor-gray-100\",\n },\n {\n type: \"info\",\n label: t(\"neetoEditor.menu.calloutInfo\"),\n icon: Info,\n bgColor: \"--neeto-editor-info-100\",\n iconColor: \"var(--ne-editor-content-callout-info-foreground-color)\",\n },\n {\n type: \"warning\",\n label: t(\"neetoEditor.menu.calloutWarning\"),\n icon: AlertTriangle,\n bgColor: \"--neeto-editor-warning-100\",\n iconColor: \"var(--ne-editor-content-callout-warning-foreground-color)\",\n },\n {\n type: \"error\",\n label: t(\"neetoEditor.menu.calloutError\"),\n icon: AlertOctagon,\n bgColor: \"--neeto-editor-error-100\",\n iconColor: \"var(--ne-editor-content-callout-error-foreground-color)\",\n },\n {\n type: \"success\",\n label: t(\"neetoEditor.menu.calloutSuccess\"),\n icon: CheckCircle2,\n bgColor: \"--neeto-editor-success-100\",\n iconColor: \"var(--ne-editor-content-callout-success-foreground-color)\",\n },\n];\n","import React from \"react\";\n\nimport { Picker } from \"emoji-mart\";\nimport PropTypes from \"prop-types\";\n\nimport emojiPickerApi from \"apis/emoji_picker\";\n\nclass EmojiPickerMenu extends React.Component {\n ref = React.createRef();\n\n componentDidMount() {\n new Picker({\n ...this.props,\n onEmojiSelect: this.handleSelect,\n style: { maxWidth: \"100%\" },\n theme: \"light\",\n native: true,\n previewPosition: \"none\",\n showSkinTones: false,\n data: this.fetchEmojiData,\n ref: this.ref,\n });\n }\n\n fetchEmojiData = async () => {\n try {\n const { data } = await emojiPickerApi.fetch();\n\n return data;\n } catch {\n return {};\n }\n };\n\n onKeyDown = ({ event }) => {\n if (event.key === \"Escape\") {\n this.props.editor.chain().focus().deleteRange(this.props.range).run();\n\n return true;\n }\n\n return false;\n };\n\n handleSelect = emoji => {\n this.props.editor\n .chain()\n .focus()\n .deleteRange(this.props.range)\n .setEmoji(emoji)\n .run();\n this.props.setActive?.(false);\n };\n\n render() {\n return (\n <div\n data-testid=\"neeto-editor-emoji-picker\"\n ref={this.ref}\n style={{ minWidth: \"350px\" }}\n />\n );\n }\n}\n\nEmojiPickerMenu.defaultProps = { editor: {}, range: {} };\n\nEmojiPickerMenu.propTypes = {\n editor: PropTypes.object.isRequired,\n range: PropTypes.object,\n};\n\nexport default EmojiPickerMenu;\n","import { URL_VALIDATORS } from \"common/constants\";\n\nexport const validateUrl = url => {\n if (!url) return false;\n\n for (const validator of Object.values(URL_VALIDATORS)) {\n const result = validator(url);\n if (result) return result;\n }\n\n return false;\n};\n","import { memo } from \"react\";\n\nimport { Avatar, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { AtSign } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst Mentions = ({\n editor,\n mentions,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n if (isEmpty(mentions)) return null;\n\n const renderItems = mentions.map(({ key, name, imageUrl }) => (\n <MenuItem\n data-testid={`neeto-editor-mention-option-${key}`}\n key={key}\n prefix={<Avatar size=\"sm\" user={{ name, imageUrl }} />}\n onClick={() => editor.commands.setMention({ id: key, label: name })}\n >\n {name}\n </MenuItem>\n ));\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown min-w-56\" }}\n icon={AtSign}\n triggerProps={{ \"data-testid\": \"neeto-editor-mention-option\" }}\n >\n {renderItems}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n data-testid=\"neeto-editor-mention-option\"\n dropdownProps={{ className: \"ne-editor-dropdown min-w-56\" }}\n icon={AtSign}\n position=\"bottom-start\"\n buttonProps={{\n variant: \"ghost\",\n size: \"sm\",\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <Menu>{renderItems}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(Mentions);\n","import { memo } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { renderTooltipContent } from \"../utils\";\n\nconst MenuButton = ({\n icon,\n command,\n optionName,\n highlight,\n disabled: isButtonDisabled = false,\n label,\n}) => {\n const { isActive, disabled = isButtonDisabled } = useEditorStore.pick([\n \"marksState\",\n optionName,\n ]);\n\n return (\n <Button\n {...{ disabled, icon }}\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-fixed-menu-${optionName}-option`}\n tabIndex=\"-1\"\n variant={isActive ? \"secondary\" : \"ghost\"}\n tooltipProps={{\n content: renderTooltipContent(label, optionName),\n position: \"bottom\",\n }}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n );\n};\n\nexport default memo(MenuButton);\n","import { Flag } from \"lucide-react\";\n\nconst CalloutIcon = ({ currentType }) => {\n const Icon = currentType?.icon ?? Flag;\n\n return <Icon size={16} />;\n};\n\nexport default CalloutIcon;\n","import { DropdownMenu } from \"@bigbinary/neeto-atoms\";\n\nconst { MenuItem } = DropdownMenu;\n\nconst CalloutTypeOption = ({ calloutType, isSelected, onClick }) => {\n const Icon = calloutType.icon;\n\n return (\n <MenuItem\n {...{ onClick }}\n data-testid=\"callout-type-option\"\n isActive={isSelected}\n prefix={\n <Icon\n data-testid=\"callout-type-emoji\"\n size={16}\n style={{ stroke: calloutType.iconColor }}\n />\n }\n >\n {calloutType.label}\n </MenuItem>\n );\n};\n\nexport default CalloutTypeOption;\n","import CalloutTypeOption from \"./CalloutTypeOption\";\nimport { CALLOUT_TYPES } from \"./constants\";\n\nconst RenderCalloutOptions = ({\n isInCallout,\n currentCalloutAttrs,\n handleCalloutTypeClick,\n}) =>\n CALLOUT_TYPES.map((calloutType, idx) => (\n <CalloutTypeOption\n {...{ calloutType }}\n isSelected={isInCallout && currentCalloutAttrs?.type === calloutType.type}\n key={idx}\n onClick={() => handleCalloutTypeClick(calloutType)}\n />\n ));\n\nexport default RenderCalloutOptions;\n","import { useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Flag } from \"lucide-react\";\nimport { findBy } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport CalloutIcon from \"./CalloutIcon\";\nimport { CALLOUT_TYPES } from \"./constants\";\nimport RenderCalloutOptions from \"./RenderCalloutOptions\";\n\nconst CalloutDropdown = ({\n editor,\n label,\n tooltipContent,\n isSecondaryMenu = false,\n}) => {\n const { t } = useTranslation();\n const dropdownRef = useRef(null);\n\n const isInCallout = editor.isActive(\"callout\");\n const currentCalloutAttrs = isInCallout\n ? editor.getAttributes(\"callout\")\n : null;\n\n const currentType =\n findBy({ type: currentCalloutAttrs?.type }, CALLOUT_TYPES) ||\n CALLOUT_TYPES[0];\n\n const handleCalloutTypeClick = calloutType => {\n const editorChain = editor.chain().focus();\n const isSameType =\n isInCallout && currentCalloutAttrs?.type === calloutType.type;\n\n if (isSameType) {\n editorChain.lift(\"callout\").run();\n } else if (isInCallout) {\n editorChain\n .updateAttributes(\"callout\", {\n type: calloutType.type,\n emoji: calloutType.emoji,\n })\n .run();\n } else {\n editorChain\n .setCallout({ type: calloutType.type, emoji: calloutType.emoji })\n .run();\n }\n };\n\n const renderOptions = (\n <>\n <DropdownMenu.Label>\n {t(\"neetoEditor.menu.selectCalloutType\")}\n </DropdownMenu.Label>\n <RenderCalloutOptions\n {...{ currentCalloutAttrs, handleCalloutTypeClick, isInCallout }}\n />\n </>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown w-[200px] p-2\" }}\n icon={isInCallout ? currentType.icon : Flag}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-callout-option\",\n }}\n >\n {renderOptions}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown w-[200px] p-2\" }}\n icon={<CalloutIcon currentType={isInCallout ? currentType : null} />}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-callout-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: isInCallout ? \"secondary\" : \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <DropdownMenu.Menu>{renderOptions}</DropdownMenu.Menu>\n </DropdownMenu>\n );\n};\n\nexport default CalloutDropdown;\n","import { memo, useState } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Smile } from \"lucide-react\";\n\nimport EmojiPickerMenu from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nconst EmojiOption = ({\n editor,\n setActive,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n // Bumping this key remounts the DropdownMenu, which closes it after an\n // emoji is picked. The wrapper exposes onClose for the close direction\n // but no programmatic close, and going controlled via isOpen + onClick\n // flips the wrapper into SplitTrigger mode (a two-button ButtonGroup).\n const [resetKey, setResetKey] = useState(0);\n\n const handlePicked = () => {\n setActive(false);\n setResetKey(k => k + 1);\n };\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Smile}\n key={resetKey}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-fixed-menu__emoji-dropdown min-w-[350px] p-0\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-emoji-option\",\n }}\n >\n <EmojiPickerMenu {...{ editor }} setActive={handlePicked} />\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n icon={Smile}\n key={resetKey}\n position=\"bottom-start\"\n buttonProps={{\n variant: \"ghost\",\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n \"data-testid\": \"neeto-editor-fixed-menu-emoji-option\",\n }}\n dropdownProps={{\n className:\n \"ne-editor-dropdown neeto-editor-fixed-menu__emoji-dropdown min-w-[350px] p-0\",\n }}\n onClose={() => setActive(false)}\n >\n <EmojiPickerMenu {...{ editor }} setActive={handlePicked} />\n </DropdownMenu>\n );\n};\n\nexport default memo(EmojiOption);\n","import { useEffect, useState } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { Baseline, Check, RotateCw, X } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { HexColorPicker } from \"react-colorful\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TextColorOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const [color, setColor] = useState(null);\n // Bumping this key remounts the DropdownMenu, which closes it after the\n // user clicks Save / Reset / Cancel. See the analogous comment in\n // TableOption for why we close via remount instead of controlled isOpen.\n const [resetKey, setResetKey] = useState(0);\n\n const { t } = useTranslation();\n\n const closeMenu = () => setResetKey(k => k + 1);\n\n const handleSave = () => {\n editor.chain().focus().setColor(color).run();\n closeMenu();\n };\n\n const handleUnset = () => {\n editor.chain().focus().unsetColor().run();\n setColor(null);\n closeMenu();\n };\n\n useEffect(() => {\n setColor(editor.getAttributes(\"textStyle\").color);\n }, [resetKey, editor.getAttributes(\"textStyle\").color]);\n\n const pickerContent = (\n <div\n style={{ minWidth: \"236px\" }}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <HexColorPicker color={color || \"#000000\"} onChange={setColor} />\n <div className=\"neeto-editor-text-color-option__options-group\">\n <Input\n autoFocus\n className=\"neeto-editor-text-color-option__options-group__input\"\n placeholder={t(\"neetoEditor.placeholders.pickColor\")}\n size=\"small\"\n value={color}\n onChange={withEventTargetValue(setColor)}\n onClick={event => event.stopPropagation()}\n />\n <Button icon={Check} size=\"sm\" onClick={handleSave} />\n <Button\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => {\n editor.commands.focus();\n closeMenu();\n }}\n />\n <Button\n icon={RotateCw}\n size=\"sm\"\n variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoEditor.common.resetToDefault\"),\n position: \"top\",\n }}\n onClick={handleUnset}\n />\n </div>\n </div>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown w-[260px] p-2\" }}\n icon={Baseline}\n key={resetKey}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-text-color-option\",\n }}\n >\n {pickerContent}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-[260px] p-2\" }}\n icon={Baseline}\n key={resetKey}\n position=\"bottom-start\"\n buttonProps={{\n variant: color ? \"secondary\" : \"ghost\",\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n className:\n \"ne-toolbar-item ne-toolbar-dropdown neeto-editor-text-color-option\",\n \"data-testid\": \"neeto-editor-fixed-menu-text-color-option\",\n }}\n >\n {pickerContent}\n </DropdownMenu>\n );\n};\n\nexport default TextColorOption;\n","import { useEffect, useState } from \"react\";\n\nimport { Button } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { isNotPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_PROTOCOL_URL_REGEXP } from \"common/constants\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nconst LinkOption = ({ editor, handleClose, handleAnimateInvalidLink }) => {\n const { t } = useTranslation();\n\n const [link, setLink] = useState(\"\");\n\n useEffect(() => {\n setLink(editor.getAttributes(\"link\").href || \"\");\n }, [editor]);\n\n const handleKeyDown = event => {\n if (event.key === \"Escape\") {\n handleClose();\n } else if (event.key === \"Enter\") {\n handleSubmit();\n }\n };\n\n const handleSubmit = () => {\n if (ALL_PROTOCOL_URL_REGEXP.test(link)) {\n editor.chain().focus().setLink({ href: link }).run();\n handleClose();\n } else if (isNotPresent(link)) {\n editor.chain().focus().unsetLink().run();\n handleClose();\n } else {\n setLink(\"\");\n handleAnimateInvalidLink();\n }\n };\n\n const handleReset = () => {\n if (link) {\n setLink(\"\");\n editor.chain().focus().unsetLink().run();\n } else {\n handleClose();\n }\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__link\" onKeyDown={handleKeyDown}>\n <input\n autoFocus\n className=\"neeto-editor-bubble-menu-link__input\"\n data-testid=\"neeto-editor-link-input\"\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.linkInput\")}\n value={link}\n onChange={({ target: { value } }) =>\n setLink(validateAndFormatUrl(value))\n }\n />\n <Button\n data-testid=\"neeto-editor-link-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleReset}\n />\n </div>\n );\n};\n\nexport default LinkOption;\n","import { useState } from \"react\";\n\nimport { Button, Label } from \"@bigbinary/neeto-atoms\";\nimport { Check, X } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst TableOption = ({ editor, handleClose }) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run(),\n setRows(3);\n setColumns(3);\n handleClose();\n };\n\n return (\n <div className=\"neeto-editor-bubble-menu__table\">\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.rows\")}\n </Label>\n <input\n autoFocus\n data-testid=\"neeto-editor-bubble-menu-table-rows-input\"\n min=\"1\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__menu-item\">\n <Label className=\"neeto-editor-bubble-menu__table__input-label\">\n {t(\"neetoEditor.menu.columns\")}\n </Label>\n <input\n data-testid=\"neeto-editor-bubble-menu-table-option-input\"\n min=\"1\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n </div>\n <div className=\"neeto-editor-bubble-menu__table__buttons\">\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-create-button\"\n icon={Check}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleSubmit}\n />\n <Button\n data-testid=\"neeto-editor-bubble-menu-table-option-close-button\"\n icon={X}\n size=\"sm\"\n variant=\"secondary\"\n onClick={handleClose}\n />\n </div>\n </div>\n );\n};\n\nexport default TableOption;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport {\n Bold,\n Code,\n Heading1,\n Heading2,\n Heading3,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListOrdered,\n Paperclip,\n Pilcrow,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { assoc, fromPairs, not, prop } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nexport const createMenuOptions = ({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => ({\n font: [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Link,\n command: () => setIsAddLinkActive(not),\n optionName: \"link\",\n tooltip: \"Link\",\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n ],\n block: [\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n highlight: true,\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n ],\n list: [\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n highlight: true,\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n highlight: true,\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n ],\n misc: [\n {\n Icon: Paperclip,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n active: false,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n ],\n right: [\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n active: false,\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n active: false,\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n ],\n});\n\nexport const buildBubbleMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n}) => {\n const menuOptions = createMenuOptions({\n tooltips,\n editor,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n });\n\n return fromPairs(\n [\"font\", \"block\", \"list\", \"misc\", \"right\"].map(option => [\n option,\n menuOptions[option].filter(item => options.includes(item.optionName)),\n ])\n );\n};\n\nexport const getTextMenuDropdownOptions = ({ editor, options }) => {\n const textOptions = {\n [EDITOR_OPTIONS.H1]: {\n optionName: \"Heading 1\",\n icon: Heading1,\n active: editor.isActive(\"heading\", { level: 1 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 1 }).run(),\n },\n [EDITOR_OPTIONS.H2]: {\n optionName: \"Heading 2\",\n icon: Heading2,\n active: editor.isActive(\"heading\", { level: 2 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 2 }).run(),\n },\n [EDITOR_OPTIONS.H3]: {\n optionName: \"Heading 3\",\n icon: Heading3,\n active: editor.isActive(\"heading\", { level: 3 }),\n command: () =>\n editor.chain().focus().setNode(\"heading\", { level: 3 }).run(),\n },\n [EDITOR_OPTIONS.PARAGRAPH]: {\n optionName: \"Text\",\n icon: Pilcrow,\n active: editor.isActive(\"paragraph\"),\n command: () => editor.chain().focus().setNode(\"paragraph\").run(),\n },\n };\n\n const result = [];\n options.forEach(option => {\n if (!textOptions[option]) return;\n result.push(textOptions[option]);\n });\n\n return result;\n};\n\nexport const getNodeIcon = options =>\n options.find(prop(\"active\"))?.icon || Pilcrow;\n\nexport const renderOptionButton = ({\n tooltip,\n Icon,\n command,\n active,\n optionName,\n highlight,\n}) => (\n <Button\n className=\"ne-toolbar-item\"\n data-testid={`neeto-editor-bubble-menu-${optionName}-option`}\n icon={Icon}\n key={optionName}\n size=\"default\"\n tooltipProps={{ content: tooltip, position: \"bottom\" }}\n variant={active ? \"secondary\" : \"ghost\"}\n onClick={command}\n {...generateFocusProps(highlight)}\n />\n);\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives/Popover\";\nimport { ChevronDown, Link, Table } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\nimport EmojiOption from \"src/v2/components/Editor/Menu/Fixed/components/EmojiOption\";\nimport TextColorOption from \"src/v2/components/Editor/Menu/Fixed/components/TextColorOption\";\n\nimport LinkOption from \"./LinkOption\";\nimport TableOption from \"./TableOption\";\nimport {\n buildBubbleMenuOptions,\n getNodeIcon,\n getTextMenuDropdownOptions,\n renderOptionButton,\n} from \"./utils\";\n\nconst Options = ({\n editor,\n options,\n mentions,\n tooltips,\n setIsInvalidLink,\n isLinkOptionActive,\n isTableOptionActive,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const { t } = useTranslation();\n\n const dropdownOptions = getTextMenuDropdownOptions({ editor, options });\n const Icon = getNodeIcon(dropdownOptions);\n const isEmojiActive = options.includes(EDITOR_OPTIONS.EMOJI);\n const isTextColorOptionActive = options.includes(EDITOR_OPTIONS.TEXT_COLOR);\n const isLinkActive = options.includes(EDITOR_OPTIONS.LINK);\n const isTableActive = options.includes(EDITOR_OPTIONS.TABLE);\n\n const {\n font: fontStyleOptions,\n block: blockStyleOptions,\n list: listStyleOptions,\n } = buildBubbleMenuOptions({\n editor,\n options,\n setMediaUploader,\n tooltips,\n attachmentProps,\n setIsAddLinkActive: setIsLinkOptionActive,\n });\n\n const handleAnimateInvalidLink = () => {\n setIsInvalidLink(true);\n setTimeout(() => {\n setIsInvalidLink(false);\n }, 1000);\n };\n\n if (isLinkOptionActive) {\n return (\n <LinkOption\n {...{ editor, handleAnimateInvalidLink }}\n handleClose={() => setIsLinkOptionActive(false)}\n />\n );\n }\n\n if (isTableOptionActive) {\n return (\n <TableOption\n {...{ editor }}\n handleClose={() => setIsTableOptionActive(false)}\n />\n );\n }\n\n return (\n <>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n className=\"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\"\n data-testid=\"neeto-editor-fixed-menu-font-size-option\"\n icon={Icon}\n iconPosition=\"left\"\n trailing={<ChevronDown />}\n variant=\"ghost\"\n />\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"ne-editor-dropdown w-32 gap-0 p-1 data-[state=closed]:hidden\"\n side=\"bottom\"\n onOpenAutoFocus={e => e.preventDefault()}\n >\n {dropdownOptions.map(({ optionName, command, icon: Icon }) => (\n <Button\n fullWidth\n className=\"justify-start\"\n icon={<Icon size={16} />}\n iconPosition=\"left\"\n key={optionName}\n label={optionName}\n size=\"sm\"\n variant=\"ghost\"\n onClick={command}\n />\n ))}\n </PopoverContent>\n </Popover>\n {fontStyleOptions.map(renderOptionButton)}\n {blockStyleOptions.map(renderOptionButton)}\n {isTextColorOptionActive && (\n <TextColorOption\n {...{ editor }}\n tooltipContent={tooltips.textColor || t(\"neetoEditor.menu.textColor\")}\n />\n )}\n {isEmojiActive && (\n <EmojiOption\n {...{ editor }}\n isActive={isEmojiPickerActive}\n setActive={setIsEmojiPickerActive}\n tooltipContent={tooltips.emoji || t(\"neetoEditor.menu.emoji\")}\n />\n )}\n {listStyleOptions.map(renderOptionButton)}\n {isLinkActive &&\n renderOptionButton({\n Icon: Link,\n command: () => setIsLinkOptionActive(true),\n active: editor.isActive(\"link\"),\n optionName: \"link\",\n highlight: false,\n tooltip: tooltips.link || t(\"neetoEditor.menu.link\"),\n })}\n {isTableActive &&\n renderOptionButton({\n Icon: Table,\n command: () => setIsTableOptionActive(true),\n active: editor.isActive(\"table\"),\n optionName: \"table\",\n highlight: false,\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n })}\n <Mentions\n {...{ editor, mentions }}\n tooltipContent={tooltips.mention || t(\"neetoEditor.menu.mention\")}\n />\n </>\n );\n};\n\nexport default Options;\n","import { useState } from \"react\";\n\nimport { BubbleMenu as BubbleMenuTipTap } from \"@tiptap/react/menus\";\nimport classnames from \"classnames\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport Options from \"./Options\";\n\nconst Bubble = ({\n editor,\n options: textOptions,\n mentions = [],\n setMediaUploader,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const [isInvalidLink, setIsInvalidLink] = useState(false);\n const [isLinkOptionActive, setIsLinkOptionActive] = useState(false);\n const [isTableOptionActive, setIsTableOptionActive] = useState(false);\n const selectedNode = editor && editor.view.state.selection.node;\n const isImageNodeSelected =\n selectedNode && selectedNode.type.name === \"image\";\n\n const bubbleMenuOptions = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n ];\n\n const noTextOptions = isNotPresent(\n textOptions.filter(option => bubbleMenuOptions.includes(option))\n );\n\n if (!editor || (!isImageNodeSelected && noTextOptions)) {\n return null;\n }\n\n return (\n <div>\n <BubbleMenuTipTap\n {...{ editor }}\n style={{ zIndex: 99999, maxWidth: 500 }}\n className={classnames(\"neeto-editor-bubble-menu\", {\n \"neeto-editor-bubble-menu-animate-shake\": isInvalidLink,\n })}\n options={{\n offset: 10,\n onHide: () => {\n setIsLinkOptionActive(false);\n setIsTableOptionActive(false);\n },\n }}\n >\n <Options\n {...{\n attachmentProps,\n editor,\n isEmojiPickerActive,\n isLinkOptionActive,\n isTableOptionActive,\n mentions,\n setIsEmojiPickerActive,\n setIsInvalidLink,\n setIsLinkOptionActive,\n setIsTableOptionActive,\n setMediaUploader,\n tooltips,\n }}\n options={textOptions}\n />\n </BubbleMenuTipTap>\n </div>\n );\n};\n\nexport default Bubble;\n","const EmptyMenu = () => <div />;\n\nexport default EmptyMenu;\n","import { Button, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nconst Progress = withT(({ t, queuedFiles, cancelUpload }) => (\n <div className=\"ne-media-uploader__wrapper\">\n {queuedFiles.map(({ id, filename, progress = 0 }) => (\n <div className=\"ne-media-uploader__media\" key={id}>\n <div className=\"ne-media-uploader__media__cancel-button-wrapper\">\n <Button\n data-testid=\"neeto-editor-image-upload-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => cancelUpload(id)}\n />\n </div>\n <FileIcon\n className=\"ne-media-uploader__media__info__icon\"\n fileName={filename}\n />\n <div className=\"ne-media-uploader__media__info\">\n <Typography variant=\"body3\">\n {progress === 100 && t(\"neetoEditor.localUploader.completed\")}\n {progress !== 100 && <>{progress}%</>}\n </Typography>\n <div className=\"ne-media-uploader__media__progress\">\n <div\n className=\"ne-media-uploader__media__progress-bar\"\n style={{ width: `${progress}%` }}\n />\n </div>\n <Tooltip content={filename} position=\"top\">\n <Typography variant=\"body3\">{filename}</Typography>\n </Tooltip>\n </div>\n </div>\n ))}\n </div>\n));\n\nexport default Progress;\n","import { useRef } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ImageUp } from \"lucide-react\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport {\n ALLOWED_IMAGE_TYPES,\n ALLOWED_VIDEO_TYPES,\n DEFAULT_IMAGE_UPLOAD_CONFIG,\n DEFAULT_VIDEO_UPLOAD_CONFIG,\n} from \"src/v2/components/Editor/MediaUploader/constants\";\nimport { convertToFileSize } from \"src/v2/components/Editor/MediaUploader/utils\";\nimport useFileUploader from \"src/v2/hooks/useFileUploader\";\n\nimport Progress from \"./Progress\";\n\nconst LocalUploader = ({\n isImage,\n onClose,\n insertMediaToEditor,\n setIsUploading,\n}) => {\n const { t } = useTranslation();\n\n const uploadConfig = isImage\n ? DEFAULT_IMAGE_UPLOAD_CONFIG\n : DEFAULT_VIDEO_UPLOAD_CONFIG;\n\n const fileInputRef = useRef(null);\n const dropTargetRef = useRef(null);\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: uploadConfig,\n setIsUploadingOnHost: setIsUploading,\n });\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n useDropFiles({ dropTargetRef, onDrop: handleFilesDrop });\n\n setIsUploading(isUploading);\n\n const handleAddFile = async ({ target: { files } }) => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n uploadedFiles.forEach(insertMediaToEditor);\n onClose();\n };\n\n return !isEmpty(queuedFiles) || isUploading ? (\n <Progress {...{ cancelUpload, queuedFiles }} />\n ) : (\n <div\n className=\"ne-media-uploader__dnd\"\n data-testid=\"neeto-editor-media-uploader-dnd\"\n ref={dropTargetRef}\n tabIndex={0}\n onClick={() => fileInputRef.current?.click()}\n >\n <input\n multiple\n className=\"ne-media-uploader__dnd-input\"\n data-testid=\"neeto-editor-media-uploader-input\"\n ref={fileInputRef}\n type=\"file\"\n accept={\n isImage\n ? ALLOWED_IMAGE_TYPES.join(\",\")\n : ALLOWED_VIDEO_TYPES.join(\",\")\n }\n onChange={handleAddFile}\n />\n <ImageUp className=\"ne-media-uploader__dnd-icon\" size={24} />\n <Typography variant=\"body2\">\n {t(\"neetoEditor.localUploader.dropFilesHere\")}\n </Typography>\n <Typography variant=\"body3\">\n {t(\"neetoEditor.localUploader.maxFileSize\", {\n entity: convertToFileSize(uploadConfig.restrictions.maxFileSize),\n })}\n </Typography>\n </div>\n );\n};\n\nexport default LocalUploader;\n","import { ActionBlock, Form, Input } from \"@bigbinary/neeto-atoms/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { validateUrl } from \"src/v2/components/Editor/CustomExtensions/Embeds/utils\";\nimport { VIDEO_EMBED_FORM_VALIDATION_SCHEMA } from \"src/v2/components/Editor/MediaUploader/constants\";\n\nconst VideoEmbedForm = ({ onEmbedVideo, onAttachVideo, onClose }) => {\n const { t } = useTranslation();\n\n const initialValues = { url: \"\" };\n\n const onSubmit = ({ url }) => {\n const embedUrl = validateUrl(url);\n if (embedUrl) onEmbedVideo(url, embedUrl);\n else onAttachVideo(url);\n onClose();\n };\n\n return (\n <div className=\"ne-video-embed-form\">\n <Form\n formikProps={{\n initialValues,\n validationSchema: VIDEO_EMBED_FORM_VALIDATION_SCHEMA,\n onSubmit,\n }}\n >\n {({ dirty, isSubmitting, resetForm }) => (\n <>\n <div className=\"ne-video-embed-form__content\">\n <Input\n autoFocus\n unlimitedChars\n data-testid=\"neeto-editor-video-embed-input\"\n label={t(\"neetoEditor.common.videoUrl\")}\n name=\"url\"\n placeholder={t(\"neetoEditor.placeholders.embedUrl\")}\n size=\"medium\"\n type=\"text\"\n />\n </div>\n <ActionBlock\n cancelButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-cancel\",\n label: t(\"neetoEditor.common.cancel\"),\n size: \"sm\",\n onClick: () => {\n resetForm();\n onClose();\n },\n }}\n submitButtonProps={{\n \"data-testid\": \"neeto-editor-video-embed-submit\",\n disabled: !dirty,\n label: t(\"neetoEditor.common.saveChanges\"),\n loading: isSubmitting,\n size: \"sm\",\n }}\n />\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default VideoEmbedForm;\n","import { useEffect, useState } from \"react\";\n\nimport { Dialog, Tabs, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { ImageUploader } from \"neetoimageuploader/v2\";\nimport { not } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { getTabs } from \"src/v2/components/Editor/MediaUploader/utils\";\n\nimport LocalUploader from \"./LocalUploader\";\nimport VideoEmbedForm from \"./VideoEmbedForm\";\n\nconst MediaUploader = ({\n mediaUploader,\n onClose,\n editor,\n showAssetLibrary = true,\n}) => {\n const { t } = useTranslation();\n\n const [activeTab, setActiveTab] = useState(\"local\");\n const [isUploading, setIsUploading] = useState(false);\n const isOpen = mediaUploader.image || mediaUploader.video;\n const [tabs, setTabs] = useState([]);\n\n useEffect(() => {\n isOpen && setTabs(getTabs(mediaUploader));\n }, [mediaUploader]);\n\n const handleClose = () => {\n onClose();\n setActiveTab(\"local\");\n editor.commands.focus();\n };\n\n const insertMediaToEditor = file => {\n if (!editor) return;\n const { url, filename = \"image\", caption = \"\" } = file;\n const mediaAttrs = { src: url, caption, alt: filename };\n const setMedia = mediaUploader.image\n ? editor.chain().setFigure(mediaAttrs)\n : editor.chain().setVideo(mediaAttrs);\n\n setMedia\n .focus()\n .command(({ tr, commands }) => {\n const { doc, selection } = tr;\n const position = doc.resolve(selection.to).end() + 1;\n const safePosition = Math.min(position, doc.content.size);\n\n return commands.insertContentAt(safePosition, \"<p></p>\");\n })\n .run();\n };\n\n const onUploadComplete = async file => {\n if (isNotPresent(file.id) && isNotPresent(file.signedId)) return;\n\n try {\n await directUploadsApi.attach({ id: file.id, signed_id: file.signedId });\n insertMediaToEditor(file);\n handleClose();\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const onAttachVideo = url => {\n const file = { url, alt: \"image\" };\n insertMediaToEditor(file);\n };\n\n const onEmbedVideo = (originalUrl, embedUrl) => {\n if (!editor) return;\n editor\n .chain()\n .focus()\n .setExternalVideo({ src: embedUrl, originalUrl })\n .run();\n };\n\n const allowDismiss = not(isUploading);\n\n return (\n <Dialog\n {...{ isOpen }}\n className=\"ne-media-uploader-modal\"\n closeButton={allowDismiss}\n onClose={allowDismiss ? handleClose : undefined}\n >\n <div className=\"ne-media-uploader\">\n {(mediaUploader.video || mediaUploader.image) && (\n <div className=\"ne-media-uploader__header\">\n <h2 className=\"ne-media-uploader__header-title\">\n {mediaUploader.video && t(\"neetoEditor.menu.addVideo\")}\n {mediaUploader.image && t(\"neetoEditor.menu.addImage\")}\n </h2>\n </div>\n )}\n {!isNotPresent(tabs) && (\n <Tabs value={activeTab} onValueChange={setActiveTab}>\n <Tabs.List>\n {tabs.map(({ key, title }) => (\n <Tabs.Item\n data-testid={`neeto-editor-media-uploader-${key}-tab`}\n key={key}\n value={key}\n >\n {title}\n </Tabs.Item>\n ))}\n </Tabs.List>\n </Tabs>\n )}\n <div className=\"ne-media-uploader__content\">\n {mediaUploader.image && (\n <ImageUploader\n {...{ onUploadComplete, showAssetLibrary }}\n className=\"ne-media-uploader__image-uploader\"\n />\n )}\n {mediaUploader.video && (\n <>\n {activeTab === \"local\" && (\n <LocalUploader\n {...{ insertMediaToEditor, setIsUploading }}\n isImage={false}\n onClose={handleClose}\n />\n )}\n {activeTab === \"embed\" && (\n <VideoEmbedForm\n {...{ onAttachVideo, onEmbedVideo }}\n onClose={handleClose}\n />\n )}\n </>\n )}\n </div>\n </div>\n </Dialog>\n );\n};\n\nexport default MediaUploader;\n","import { useState, useEffect, useRef } from \"react\";\n\nimport { Button, Checkbox, Input } from \"@bigbinary/neeto-atoms\";\nimport { isNotPresent } from \"neetocist\";\nimport { useOnClickOutside } from \"neetocommons/v2/react-utils\";\nimport { not } from \"ramda\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ALL_PROTOCOL_URL_REGEXP } from \"src/common/constants\";\nimport { validateAndFormatUrl } from \"src/v2/components/Editor/utils\";\n\nimport { getLinkPopoverPosition, getCursorPos } from \"../utils\";\n\nconst LinkAddPopOver = ({\n isAddLinkActive,\n setIsAddLinkActive,\n editor,\n openLinkInNewTab,\n containerRef,\n}) => {\n const { from, to } = editor.state.selection;\n const text = editor.state.doc.textBetween(from, to, \"\");\n\n const [linkText, setLinkText] = useState(text);\n const [linkUrl, setLinkUrl] = useState(\"\");\n const [openInNewTab, setOpenInNewTab] = useState(openLinkInNewTab);\n const [error, setError] = useState(\"\");\n const [popoverPosition, setPopoverPosition] = useState(\n getCursorPos(editor, to)\n );\n const [arrowPosition, setArrowPosition] = useState({ top: 0, left: 0 });\n\n const popoverRef = useRef(null);\n\n const { t } = useTranslation();\n\n const isLinkTextPresent = !isNotPresent(linkText);\n const isLinlUrlPresent = !isNotPresent(linkUrl);\n const isSubmitDisabled = !isLinkTextPresent || !isLinlUrlPresent;\n\n const popoverStyle = {\n display: \"block\",\n position: \"fixed\",\n top: popoverPosition.top,\n left: popoverPosition.left,\n transform: \"translateY(52px) translateX(8px)\",\n };\n\n const handleAddLink = () => {\n const { state, dispatch } = editor.view;\n const { from, to } = state.selection;\n const formattedUrl = validateAndFormatUrl(linkUrl);\n\n if (!ALL_PROTOCOL_URL_REGEXP.test(formattedUrl)) {\n setError(t(\"neetoEditor.error.invalidUrl\"));\n\n return;\n }\n\n const attrs = {\n href: formattedUrl,\n target: openInNewTab ? \"_blank\" : \"_self\",\n };\n\n const linkMark = state.schema.marks.link.create(attrs);\n const linkTextWithMark = state.schema.text(linkText, [linkMark]);\n\n const tr = state.tr.replaceWith(from, to, linkTextWithMark);\n dispatch(tr);\n removePopover();\n };\n\n const removePopover = () => {\n editor.view.focus();\n setIsAddLinkActive(false);\n };\n\n const handleKeyDown = e => {\n e.stopPropagation();\n if (e.key === \"Enter\") {\n e.preventDefault();\n handleAddLink();\n } else if (e.key === \"Escape\") {\n removePopover();\n }\n };\n\n const updatePopoverPosition = () => {\n const { arrowPosition, popoverPosition } = getLinkPopoverPosition(\n editor,\n popoverRef\n );\n setPopoverPosition(popoverPosition);\n setArrowPosition(arrowPosition);\n };\n\n useOnClickOutside(popoverRef, removePopover);\n\n useEffect(() => {\n if (editor && isAddLinkActive) {\n updatePopoverPosition();\n }\n window.addEventListener(\"resize\", removePopover);\n window.addEventListener(\"wheel\", removePopover);\n\n return () => {\n window.removeEventListener(\"resize\", removePopover);\n window.removeEventListener(\"wheel\", removePopover);\n };\n }, []);\n\n return isAddLinkActive\n ? createPortal(\n <>\n <div\n className=\"ne-link-arrow fade-in\"\n style={{ top: arrowPosition.top, left: arrowPosition.left }}\n />\n <div\n className=\"ne-link-popover fade-in\"\n id=\"ne-link-add-popover\"\n ref={popoverRef}\n style={popoverStyle}\n >\n <Input\n required\n autoFocus={!isLinkTextPresent}\n data-testid=\"neeto-editor-add-link-text-input\"\n label={t(\"neetoEditor.common.text\")}\n placeholder={t(\"neetoEditor.placeholders.enterText\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkText}\n onChange={({ target: { value } }) => setLinkText(value)}\n onKeyDown={handleKeyDown}\n />\n <Input\n {...{ error }}\n required\n autoFocus={isLinkTextPresent}\n className=\"ne-link-popover__url-input\"\n data-testid=\"neeto-editor-add-link-url-input\"\n label={t(\"neetoEditor.common.url\")}\n placeholder={t(\"neetoEditor.placeholders.url\")}\n size=\"small\"\n style={{ width: \"250px\" }}\n value={linkUrl}\n onChange={({ target: { value } }) => setLinkUrl(value)}\n onFocus={() => setError(\"\")}\n onKeyDown={handleKeyDown}\n />\n <Checkbox\n checked={openInNewTab}\n className=\"ne-link-popover__checkbox\"\n data-testid=\"neeto-editor-add-link-open-in-new-tab-switch\"\n label={t(\"neetoEditor.common.openInNewTab\")}\n onCheckedChange={() => setOpenInNewTab(not)}\n />\n <div className=\"ne-link-popover__edit-prompt-buttons\">\n <Button\n data-testid=\"neeto-editor-add-link\"\n disabled={isSubmitDisabled}\n label={t(\"neetoEditor.common.done\")}\n size=\"sm\"\n onClick={handleAddLink}\n />\n <Button\n data-testid=\"neeto-editor-link-popover-cancel\"\n label={t(\"neetoEditor.common.cancel\")}\n size=\"sm\"\n variant=\"ghost\"\n onClick={removePopover}\n />\n </div>\n </div>\n </>,\n containerRef?.current ?? document.body\n )\n : null;\n};\n\nexport default LinkAddPopOver;\n","import { Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { Ellipsis } from \"lucide-react\";\n\nimport { generateFocusProps } from \"utils/focusHighlighter\";\n\nimport { MENU_ELEMENTS, MENU_ELEMENT_TYPES } from \"../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst MoreMenu = ({ groups, editor }) => (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button\n className=\"flex-shrink-0\"\n data-testid=\"neeto-editor-fixed-menu-more-option\"\n icon={Ellipsis}\n variant=\"ghost\"\n />\n }\n >\n <Menu>\n {groups.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (type === MENU_ELEMENT_TYPES.BUTTON) {\n const { icon: Icon } = props;\n\n return (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-${props.optionName}-option`}\n isActive={editor.isActive(props.optionName)}\n key={props.optionName}\n prefix={<Icon size={16} />}\n tabIndex=\"-1\"\n onClick={props.command}\n {...{\n ...generateFocusProps(props.highlight),\n ...props,\n editor,\n }}\n >\n {props.label}\n </MenuItem>\n );\n }\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, ...generateFocusProps(props.highlight) }}\n isSecondaryMenu\n />\n );\n })\n )}\n </Menu>\n </DropdownMenu>\n);\n\nexport default MoreMenu;\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\n\nexport const EDITOR_MARKS = [\n EDITOR_OPTIONS.UNDO,\n EDITOR_OPTIONS.REDO,\n \"fontSizeOptions\",\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.HIGHLIGHT,\n EDITOR_OPTIONS.CALLOUT,\n \"bulletList\",\n \"orderedList\",\n \"todoList\",\n \"blockquote\",\n EDITOR_OPTIONS.CODE,\n \"codeBlock\",\n EDITOR_OPTIONS.TABLE,\n EDITOR_OPTIONS.ATTACHMENTS,\n EDITOR_OPTIONS.IMAGE_UPLOAD,\n EDITOR_OPTIONS.VIDEO_UPLOAD,\n EDITOR_OPTIONS.TEXT_COLOR,\n EDITOR_OPTIONS.EMOJI,\n EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n \"mentions\",\n];\n","import { useCallback, useEffect } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { EDITOR_MARKS } from \"./constants\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst useEditorState = ({ editor, neetoKbArticleState }) => {\n const { setMarksState, marksState } = useEditorStore.pick();\n\n const handleSelectionUpdate = useCallback(\n ({ editor }) => {\n const activeMarks = {};\n\n EDITOR_MARKS.forEach(mark => {\n if (mark === EDITOR_OPTIONS.NEETO_KB_ARTICLE) {\n activeMarks[mark] = {\n isActive: neetoKbArticleState?.active || false,\n };\n } else {\n activeMarks[mark] = { isActive: editor.isActive(mark) };\n }\n });\n\n const activeFontSizeOption =\n FONT_SIZE_OPTIONS.find(({ value: level }) =>\n editor.isActive(\"heading\", { level })\n ) || last(FONT_SIZE_OPTIONS);\n\n activeMarks[\"fontSizeOption\"] = activeFontSizeOption;\n\n setMarksState(activeMarks);\n },\n [setMarksState, neetoKbArticleState?.active]\n );\n\n const updateHistoryOptionsState = useCallback(\n ({ editor }) => {\n const undoOptionState = { disabled: !editor.can().undo() };\n const redoOptionState = { disabled: !editor.can().redo() };\n\n const updatedMarksState = {\n ...marksState,\n [EDITOR_OPTIONS.UNDO]: undoOptionState,\n [EDITOR_OPTIONS.REDO]: redoOptionState,\n };\n setMarksState(updatedMarksState);\n },\n [marksState, setMarksState]\n );\n\n useEffect(() => {\n if (!editor) return noop;\n\n updateHistoryOptionsState({ editor });\n\n editor.on(\"selectionUpdate\", handleSelectionUpdate);\n editor.on(\"update\", handleSelectionUpdate);\n editor.on(\"transaction\", handleSelectionUpdate);\n\n return () => {\n editor.off(\"selectionUpdate\", handleSelectionUpdate);\n editor.off(\"update\", handleSelectionUpdate);\n editor.off(\"transaction\", handleSelectionUpdate);\n };\n }, [editor, handleSelectionUpdate]);\n\n useEffect(() => {\n if (!editor) return;\n\n handleSelectionUpdate({ editor });\n }, [editor, neetoKbArticleState?.active, handleSelectionUpdate]);\n};\n\nexport default useEditorState;\n","import classnames from \"classnames\";\n// TODO: switch to neetomolecules/v2/DynamicVariables once molecules ships v2 of\n// this component (not present as of @bigbinary/neeto-molecules@4.1.74).\nimport DynamicVariables from \"neetomolecules/v2/DynamicVariables\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst MenuDynamicVariables = ({\n editor,\n variables = [],\n standalone = false,\n}) => {\n const { t } = useTranslation();\n\n if (isEmpty(variables)) return null;\n\n const handleVariableClick = item => {\n const { category, categoryLabel, key, label } = item;\n const variableName = category ? `${category}.${key}` : key;\n const variableLabel = category\n ? `${categoryLabel || category}:${label}`\n : label;\n\n editor\n .chain()\n .focus()\n .setVariable({ id: variableName, label: variableLabel })\n .run();\n };\n\n return (\n <div\n data-testid=\"neeto-editor-fixed-menu-variables\"\n className={classnames(\"neeto-editor-fixed-menu__variables\", {\n \"neeto-editor-fixed-menu__variables--standalone\": standalone,\n })}\n >\n <DynamicVariables\n {...{ variables }}\n buttonSize=\"small\"\n dropdownProps={{ classNames: \"ne-editor-variables-popup\" }}\n buttonProps={{\n tooltipProps: {\n content: t(\"neetoEditor.menu.dynamicVariables\"),\n position: \"bottom\",\n },\n }}\n onVariableClick={handleVariableClick}\n />\n </div>\n );\n};\n\nexport default MenuDynamicVariables;\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport LinkAddPopOver from \"./components/LinkAddPopOver\";\nimport MoreMenu from \"./components/MoreMenu\";\nimport { MENU_ELEMENTS } from \"./constants\";\nimport useEditorState from \"./hooks/useEditorState\";\nimport { reGroupMenuItems, buildMenuOptions } from \"./utils\";\n\nimport MenuDynamicVariables from \"../DynamicVariables\";\n\nconst Fixed = ({\n editor,\n options,\n mentions,\n variables = [],\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n isIndependant = true,\n className,\n tooltips = {},\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n openLinkInNewTab,\n setIsNeetoKbArticleActive,\n neetoKbArticleState,\n showAssetLibrary = true,\n containerRef,\n}) => {\n const [focusedButtonIndex, setFocusedButtonIndex] = useState(0);\n const [isAddLinkActive, setIsAddLinkActive] = useState(false);\n const [menuItems, setMenuItems] = useState([]);\n const [moreMenuItems, setMoreMenuItems] = useState([]);\n\n useEditorState({ editor, neetoKbArticleState });\n\n const editorRef = useRef(editor);\n\n useEffect(() => {\n editorRef.current = editor;\n }, [editor]);\n\n const menuRef = useRef(null);\n const menuContainerRef = useRef(null);\n\n const runEditorCommand = useCallback(\n command => () => command(editorRef.current),\n []\n );\n\n const handleArrowNavigation = event => {\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n setFocusedButtonIndex(prevIndex => (prevIndex + 1) % menuButtons.length);\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setFocusedButtonIndex(\n prevIndex => (prevIndex - 1 + menuButtons.length) % menuButtons.length\n );\n }\n };\n\n const menuButtons = useMemo(\n () => menuRef.current?.querySelectorAll(\".ne-toolbar-item\"),\n [menuRef.current]\n );\n\n useEffect(() => {\n menuButtons?.[focusedButtonIndex].focus();\n }, [focusedButtonIndex]);\n\n useEffect(() => {\n menuButtons?.forEach(menuItem =>\n menuItem.addEventListener(\"keydown\", handleArrowNavigation)\n );\n\n return () =>\n menuButtons?.forEach(menuItem =>\n menuItem.removeEventListener(\"keydown\", handleArrowNavigation)\n );\n }, [menuButtons]);\n\n const menuGroups = useMemo(\n () =>\n buildMenuOptions({\n tooltips,\n runEditorCommand,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions,\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n editor,\n setIsNeetoKbArticleActive,\n }),\n [isEmojiPickerActive, mentions]\n );\n\n const handleResize = useCallback(() => {\n if (!menuRef.current) return;\n const { visibleMenuGroups, invisibleMenuGroups } = reGroupMenuItems(\n menuRef,\n menuGroups\n );\n setMenuItems(visibleMenuGroups);\n setMoreMenuItems(invisibleMenuGroups);\n }, [setMenuItems, menuGroups, menuRef.current]);\n\n useEffect(() => {\n handleResize();\n\n const menuContainer = menuContainerRef.current;\n const resizeObserver = new ResizeObserver(handleResize);\n if (menuContainer) {\n resizeObserver.observe(menuContainer);\n }\n\n return () => {\n if (menuContainer) resizeObserver.unobserve(menuContainer);\n };\n }, [menuContainerRef.current, handleResize, menuGroups]);\n\n if (!editor) return null;\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n return (\n <div\n ref={menuContainerRef}\n className={classNames(\"neeto-editor-fixed-menu\", {\n \"neeto-editor-fixed-menu--independant\": isIndependant,\n [className]: className,\n })}\n >\n <div\n className=\"neeto-editor-fixed-menu__wrapper ne-fixed-menu--v2\"\n data-testid=\"neeto-editor-fixed-menu-wrapper\"\n ref={menuRef}\n >\n {menuItems.map(group =>\n group.map(({ type, ...props }) => {\n const Component = MENU_ELEMENTS[type];\n\n if (!Component) return null;\n\n return (\n <Component\n key={props.optionName}\n {...{ ...props, editor, options }}\n />\n );\n })\n )}\n {isNotEmpty(moreMenuItems) && (\n <MoreMenu {...{ editor }} groups={moreMenuItems} />\n )}\n </div>\n <MenuDynamicVariables {...{ editor, variables }} />\n {isAddLinkActive && (\n <LinkAddPopOver\n {...{\n containerRef,\n editor,\n isAddLinkActive,\n openLinkInNewTab,\n setIsAddLinkActive,\n }}\n />\n )}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Fixed;\n","import { Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nconst Button = ({\n icon = null,\n onClick = noop,\n disabled = false,\n className,\n tooltipProps,\n ...otherProps\n}) => {\n const Icon = icon;\n\n return (\n <Tooltip\n disabled={!tooltipProps}\n onClick={() => onClick()}\n {...tooltipProps}\n >\n <button\n className={classnames(\"ne-headless-btn\", { [className]: className })}\n type=\"button\"\n {...{ disabled, onClick, ...otherProps }}\n >\n {icon && <Icon aria-hidden=\"true\" key=\"2\" size={18} />}\n </button>\n </Tooltip>\n );\n};\n\nexport default Button;\n","import { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\n\nimport Button from \"./Button\";\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc, onClose } }) {\n function onKeyDown(event) {\n if (!(event.key.toLowerCase() === \"escape\" && hideOnEsc)) return;\n onClose();\n hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst Dropdown = ({\n icon,\n isOpen,\n onClose = noop,\n children,\n className,\n onClick,\n buttonProps = {},\n ...otherProps\n}) => {\n const [mounted, setMounted] = useState(false);\n\n return (\n <Tippy\n {...{ onClose }}\n hideOnEsc\n interactive\n animation={false}\n arrow={false}\n duration={0}\n hideOnClick={false}\n maxWidth=\"none\"\n offset={0}\n plugins={[hideOnEsc]}\n popperOptions={{ strategy: \"fixed\" }}\n role=\"dropdown\"\n theme=\"light\"\n trigger=\"click\"\n visible={isOpen}\n className={classnames(\"ne-headless-dropdown\", {\n [className]: className,\n })}\n content={\n mounted && <div className=\"ne-headless-dropdown__popup\">{children}</div>\n }\n onClickOutside={onClose}\n onHidden={() => setMounted(false)}\n onMount={() => setMounted(true)}\n {...otherProps}\n >\n <span>\n <Button {...{ icon, onClick, ...buttonProps }} />\n </span>\n </Tippy>\n );\n};\n\nexport default Dropdown;\n","import { Smile } from \"lucide-react\";\n\nimport EmojiPicker from \"src/v2/components/Editor/CustomExtensions/Emoji/EmojiPicker/EmojiPickerMenu\";\n\nimport Dropdown from \"./UI/Dropdown\";\n\nconst Emoji = ({ editor, isActive, setActive, tooltipContent }) => (\n <Dropdown\n className=\"ne-headless__emoji\"\n icon={Smile}\n isOpen={isActive}\n buttonProps={{\n tooltipProps: {\n content: tooltipContent,\n delay: [500],\n position: \"bottom\",\n },\n \"data-testid\": \"ne-emoji-picker\",\n }}\n onClick={() => setActive(active => !active)}\n onClose={() => setActive(false)}\n >\n <EmojiPicker {...{ editor, setActive }} />\n </Dropdown>\n);\nexport default Emoji;\n","import classnames from \"classnames\";\nimport { hyphenate } from \"neetocist\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\n\nimport Emoji from \"./Emoji\";\nimport Button from \"./UI/Button\";\n\nconst Option = ({\n editor,\n optionName,\n command,\n disabled,\n Icon,\n isActive,\n setActive,\n tooltip,\n}) => {\n if (optionName === EDITOR_OPTIONS.EMOJI) {\n return (\n <Emoji\n {...{ editor, isActive, setActive }}\n tooltipContent={tooltip || \"Emoji\"}\n />\n );\n }\n\n return (\n <Button\n {...{ disabled }}\n className={classnames({ \"ne-headless-btn--active\": isActive })}\n data-testid={hyphenate(optionName)}\n icon={Icon}\n tooltipProps={{\n content: tooltip,\n delay: [500],\n position: \"bottom\",\n }}\n onClick={command}\n />\n );\n};\n\nexport default Option;\n","import i18n from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n List,\n ListOrdered,\n Quote,\n Redo,\n Smile,\n SquareCode,\n Strikethrough,\n Table,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { findBy, noop } from \"neetocist\";\nimport { assoc } from \"ramda\";\n\nconst { t } = i18n;\n\nconst createMenuOptions = ({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => [\n {\n Icon: Bold,\n command: () => editor.chain().focus().toggleBold().run(),\n active: editor.isActive(\"bold\"),\n optionName: \"bold\",\n tooltip: tooltips.bold || t(\"neetoEditor.menu.bold\"),\n },\n {\n Icon: Italic,\n command: () => editor.chain().focus().toggleItalic().run(),\n active: editor.isActive(\"italic\"),\n optionName: \"italic\",\n tooltip: tooltips.italic || t(\"neetoEditor.menu.italic\"),\n },\n {\n Icon: Underline,\n command: () => editor.chain().focus().toggleUnderline().run(),\n active: editor.isActive(\"underline\"),\n optionName: \"underline\",\n tooltip: tooltips.underline || t(\"neetoEditor.menu.underline\"),\n },\n {\n Icon: Strikethrough,\n command: () => editor.chain().focus().toggleStrike().run(),\n active: editor.isActive(\"strike\"),\n optionName: \"strike\",\n tooltip: tooltips.strike || t(\"neetoEditor.menu.strike\"),\n },\n {\n Icon: Highlighter,\n command: () => editor.chain().focus().toggleHighlight().run(),\n active: editor.isActive(\"highlight\"),\n optionName: \"highlight\",\n tooltip: tooltips.highlight || t(\"neetoEditor.menu.highlight\"),\n },\n {\n Icon: Quote,\n command: () => editor.chain().focus().toggleBlockquote().run(),\n active: editor.isActive(\"blockquote\"),\n optionName: \"block-quote\",\n tooltip: tooltips.blockQuote || t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n Icon: Code,\n command: () => editor.chain().focus().toggleCode().run(),\n active: editor.isActive(\"code\"),\n optionName: \"code\",\n tooltip: tooltips.code || t(\"neetoEditor.menu.code\"),\n },\n {\n Icon: SquareCode,\n command: () => editor.chain().focus().toggleCodeBlock().run(),\n active: editor.isActive(\"codeBlock\"),\n optionName: \"code-block\",\n tooltip: tooltips.codeBlock || t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n Icon: List,\n command: () => editor.chain().focus().toggleBulletList().run(),\n active: editor.isActive(\"bulletList\"),\n optionName: \"bullet-list\",\n tooltip: tooltips.bulletList || t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n Icon: ListOrdered,\n command: () => editor.chain().focus().toggleOrderedList().run(),\n active: editor.isActive(\"orderedList\"),\n optionName: \"ordered-list\",\n tooltip: tooltips.orderedList || t(\"neetoEditor.menu.orderedList\"),\n },\n {\n Icon: FileText,\n command: attachmentProps?.handleUploadAttachments,\n disabled: attachmentProps?.isDisabled,\n optionName: \"attachments\",\n tooltip: tooltips.attachments || t(\"neetoEditor.menu.attachments\"),\n },\n {\n Icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n optionName: \"image-upload\",\n tooltip: tooltips.imageUpload || t(\"neetoEditor.menu.imageUpload\"),\n },\n {\n Icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n optionName: \"video-upload\",\n tooltip: tooltips.videoUpload || t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n Icon: Smile,\n command: noop,\n optionName: \"emoji\",\n tooltip: tooltips.emoji || t(\"neetoEditor.menu.emoji\"),\n isActive: isEmojiPickerActive,\n setActive: setIsEmojiPickerActive,\n },\n {\n Icon: Table,\n command: () =>\n editor\n .chain()\n .focus()\n .insertTable({ rows: 3, cols: 3, withHeaderRow: true })\n .run(),\n optionName: \"table\",\n tooltip: tooltips.table || t(\"neetoEditor.menu.table\"),\n },\n {\n Icon: Undo,\n command: () => editor.chain().focus().undo().run(),\n disabled: !editor.can().undo(),\n optionName: \"undo\",\n tooltip: tooltips.undo || t(\"neetoEditor.menu.undo\"),\n },\n {\n Icon: Redo,\n command: () => editor.chain().focus().redo().run(),\n disabled: !editor.can().redo(),\n optionName: \"redo\",\n tooltip: tooltips.redo || t(\"neetoEditor.menu.redo\"),\n },\n];\n\nexport const buildOptionsFromAddonCommands = ({ editor, commands }) => {\n const { to } = editor.state.selection;\n\n return commands.map(option => ({\n ...option,\n active: option.active?.({ editor }),\n command: () => option.command?.({ editor, range: { from: to, to } }),\n }));\n};\n\nexport const buildMenuOptions = ({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n}) => {\n const menuOptions = createMenuOptions({\n editor,\n tooltips,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n return options\n .map(option => findBy({ optionName: option }, menuOptions))\n .filter(Boolean);\n};\n","import classnames from \"classnames\";\n\nimport { EDITOR_OPTIONS } from \"common/constants\";\nimport MediaUploader from \"src/v2/components/Editor/MediaUploader\";\n\nimport Option from \"./Option\";\nimport { buildOptionsFromAddonCommands, buildMenuOptions } from \"./utils\";\n\nconst Headless = ({\n editor,\n options,\n tooltips = {},\n setMediaUploader,\n mediaUploader,\n addonCommands = [],\n className,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n showAssetLibrary = true,\n}) => {\n if (!editor) {\n return null;\n }\n\n const isMediaUploaderActive =\n options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD) ||\n options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD);\n\n const menuOptions = buildMenuOptions({\n tooltips,\n editor,\n options,\n setMediaUploader,\n attachmentProps,\n isEmojiPickerActive,\n setIsEmojiPickerActive,\n });\n\n const addonCommandOptions = buildOptionsFromAddonCommands({\n editor,\n commands: addonCommands,\n });\n const allOptions = [...menuOptions, ...addonCommandOptions];\n\n return (\n <div\n className={classnames(\"ne-headless ne-headless--v2\", {\n [className]: className,\n })}\n >\n {allOptions.map(option => (\n <Option {...{ editor }} key={option.optionName} {...option} />\n ))}\n {isMediaUploaderActive && (\n <MediaUploader\n {...{ editor, mediaUploader, showAssetLibrary }}\n onClose={() => setMediaUploader({ image: false, video: false })}\n />\n )}\n </div>\n );\n};\n\nexport default Headless;\n","import { t } from \"i18next\";\nimport {\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Pilcrow,\n} from \"lucide-react\";\n\nimport BubbleMenu from \"./Bubble\";\nimport EmptyMenu from \"./EmptyMenu\";\nimport FixedMenu from \"./Fixed\";\nimport HeadlessMenu from \"./Headless\";\n\nexport const FONT_SIZE_OPTIONS = [\n {\n label: t(\"neetoEditor.menu.heading1\"),\n value: 1,\n key: \"h1\",\n icon: Heading1,\n },\n {\n label: t(\"neetoEditor.menu.heading2\"),\n value: 2,\n key: \"h2\",\n icon: Heading2,\n },\n {\n label: t(\"neetoEditor.menu.heading3\"),\n value: 3,\n key: \"h3\",\n icon: Heading3,\n },\n {\n label: t(\"neetoEditor.menu.heading4\"),\n value: 4,\n key: \"h4\",\n icon: Heading4,\n },\n {\n label: t(\"neetoEditor.menu.heading5\"),\n value: 5,\n key: \"h5\",\n icon: Heading5,\n },\n {\n label: t(\"neetoEditor.menu.normalText\"),\n value: 0,\n key: \"body2\",\n icon: Pilcrow,\n },\n];\n\nexport const MENU_COMPONENTS = {\n fixed: FixedMenu,\n bubble: BubbleMenu,\n headless: HeadlessMenu,\n none: EmptyMenu,\n};\n","import { memo, useRef } from \"react\";\n\nimport { DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { filterBy } from \"neetocist\";\nimport { last } from \"ramda\";\n\nimport useEditorStore from \"src/stores/useEditorStore\";\n\nimport { FONT_SIZE_OPTIONS } from \"../../constants\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst FontSizeOption = ({\n runEditorCommand,\n tooltipContent,\n label,\n options = [],\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n\n const lastOption = last(FONT_SIZE_OPTIONS);\n const { fontSizeOption: activeOption = lastOption } =\n useEditorStore.pick(\"marksState\");\n\n const handleClick = level =>\n level\n ? runEditorCommand(editor =>\n editor.chain().focus().toggleHeading({ level }).run()\n )()\n : runEditorCommand(editor =>\n editor.chain().focus().setNode(\"paragraph\").run()\n )();\n\n const menuOptions = [\n ...filterBy({ key: key => options.includes(key) }, FONT_SIZE_OPTIONS),\n FONT_SIZE_OPTIONS[FONT_SIZE_OPTIONS.length - 1],\n ];\n\n const renderItems = menuOptions.map(\n ({ label: itemLabel, icon: Icon, value, key }) => (\n <MenuItem\n data-testid={`neeto-editor-fixed-menu-font-size-option-${key}`}\n isActive={activeOption?.value === value}\n key={value}\n prefix={<Icon size={16} />}\n onClick={() => handleClick(value)}\n >\n {itemLabel}\n </MenuItem>\n )\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n contentProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n }}\n >\n {renderItems}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n icon={activeOption?.icon}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-font-size-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className:\n \"ne-toolbar-item ne-toolbar-dropdown neeto-editor-font-size__wrapper\",\n }}\n >\n <Menu>{renderItems}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(FontSizeOption);\n","import classNames from \"classnames\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nconst ColorDot = ({ colorVar, isSelected, onClick, isTextColor }) => {\n const dotClass = classNames(\"neeto-editor-highlight-dropdown__color-dot\", {\n \"neeto-editor-highlight-dropdown__color-dot--selected\": isSelected,\n });\n\n const dotStyle = { backgroundColor: `var(${colorVar})` };\n\n const colorNumber = colorVar.match(/\\d+$/)?.[0] || colorVar;\n\n return (\n <div\n {...{ onClick }}\n className={dotClass}\n style={dotStyle}\n data-testid={`neeto-editor-highlight-${hyphenize(\n isTextColor ? \"text\" : \"background\"\n )}-color-dot-${colorNumber}`}\n />\n );\n};\n\nexport default ColorDot;\n","export const COLORS = {\n recent: [\"--neeto-editor-highlight-bg-yellow-light\"],\n text: [\n \"--neeto-editor-highlight-text-1\",\n \"--neeto-editor-highlight-text-2\",\n \"--neeto-editor-highlight-text-3\",\n \"--neeto-editor-highlight-text-4\",\n \"--neeto-editor-highlight-text-5\",\n \"--neeto-editor-highlight-text-6\",\n \"--neeto-editor-highlight-text-7\",\n \"--neeto-editor-highlight-text-8\",\n \"--neeto-editor-highlight-text-9\",\n \"--neeto-editor-highlight-text-10\",\n \"--neeto-editor-highlight-text-11\",\n \"--neeto-editor-highlight-text-12\",\n \"--neeto-editor-highlight-text-13\",\n \"--neeto-editor-highlight-text-14\",\n \"--neeto-editor-highlight-text-15\",\n \"--neeto-editor-highlight-text-16\",\n ],\n background: [\n \"--neeto-editor-highlight-bg-1\",\n \"--neeto-editor-highlight-bg-2\",\n \"--neeto-editor-highlight-bg-3\",\n \"--neeto-editor-highlight-bg-4\",\n \"--neeto-editor-highlight-bg-5\",\n \"--neeto-editor-highlight-bg-6\",\n \"--neeto-editor-highlight-bg-7\",\n \"--neeto-editor-highlight-bg-8\",\n \"--neeto-editor-highlight-bg-9\",\n \"--neeto-editor-highlight-bg-10\",\n \"--neeto-editor-highlight-bg-11\",\n \"--neeto-editor-highlight-bg-12\",\n \"--neeto-editor-highlight-bg-13\",\n \"--neeto-editor-highlight-bg-14\",\n \"--neeto-editor-highlight-bg-15\",\n \"--neeto-editor-highlight-bg-16\",\n ],\n};\n","import { useRef } from \"react\";\n\nimport { DropdownMenu, Typography } from \"@bigbinary/neeto-atoms\";\nimport { Highlighter } from \"lucide-react\";\nimport { hyphenize } from \"neetocommons/v2/utils\";\n\nimport ColorDot from \"./ColorDot\";\nimport { COLORS } from \"./constants\";\n\nconst colorSections = [\n { title: \"Text color\", colors: COLORS.text, isTextColor: true },\n { title: \"Background color\", colors: COLORS.background, isTextColor: false },\n];\n\nconst HighlightDropdown = ({\n editor,\n label,\n tooltipContent,\n runEditorCommand,\n isSecondaryMenu = false,\n}) => {\n const dropdownRef = useRef(null);\n const textColor = editor.getAttributes(\"textStyle\").color;\n const backgroundColor = editor.getAttributes(\"textStyle\").backgroundColor;\n\n const updateBackgroundColor = value => {\n runEditorCommand(editor =>\n editor\n .chain()\n .focus()\n .setMark(\"textStyle\", { backgroundColor: value })\n .run()\n )();\n };\n\n const handleBackgroundColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (backgroundColor === `var(${colorVar})`) {\n updateBackgroundColor(null);\n } else {\n updateBackgroundColor(`var(${colorVar})`);\n }\n };\n\n const handleTextColorClick = (colorVar, event) => {\n event.stopPropagation();\n if (textColor === `var(${colorVar})`) {\n editor.chain().focus().unsetColor().run();\n } else {\n editor.chain().focus().setColor(`var(${colorVar})`).run();\n }\n };\n\n const renderColorDots = (colorList, isTextColor = false) =>\n colorList.map((colorVar, idx) => (\n <ColorDot\n {...{ colorVar, isTextColor }}\n key={idx}\n isSelected={\n isTextColor\n ? textColor === `var(${colorVar})`\n : backgroundColor === `var(${colorVar})`\n }\n onClick={event =>\n isTextColor\n ? handleTextColorClick(colorVar, event)\n : handleBackgroundColorClick(colorVar, event)\n }\n />\n ));\n\n const renderSections = colorSections.map(({ title, colors, isTextColor }) => (\n <div className=\"neeto-editor-highlight-dropdown__section\" key={title}>\n <Typography\n className=\"neeto-editor-highlight-dropdown__section-title\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {title}\n </Typography>\n <div\n className=\"neeto-editor-highlight-dropdown__color-grid\"\n data-testid={`neeto-editor-highlight-${hyphenize(title)}-grid`}\n >\n {renderColorDots(colors, isTextColor)}\n </div>\n </div>\n ));\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Highlighter}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-highlight-dropdown w-[280px] p-3\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n }}\n >\n {renderSections}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n dropdownProps={{ className: \"ne-editor-dropdown w-[280px] p-3\" }}\n icon={Highlighter}\n position=\"bottom-start\"\n triggerRef={dropdownRef}\n buttonProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-highlight-option\",\n onKeyDown: event =>\n event.key === \"ArrowDown\" && dropdownRef.current?.click(),\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n }}\n >\n <DropdownMenu.Menu className=\"neeto-editor-highlight-dropdown\">\n {renderSections}\n </DropdownMenu.Menu>\n </DropdownMenu>\n );\n};\n\nexport default HighlightDropdown;\n","import { memo, useState } from \"react\";\n\nimport { Button, DropdownMenu, Input } from \"@bigbinary/neeto-atoms\";\nimport { Table } from \"lucide-react\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\n\nconst { Menu } = DropdownMenu;\n\nconst TableOption = ({\n editor,\n tooltipContent,\n isSecondaryMenu = false,\n label,\n}) => {\n const { t } = useTranslation();\n\n const [rows, setRows] = useState(3);\n const [columns, setColumns] = useState(3);\n // Bumping this key remounts DropdownMenu, which closes it after submit.\n // The wrapper exposes onClose for the close direction but no programmatic\n // open control: passing controlled isOpen breaks open clicks (the wrapper's\n // handleOpenChange ignores open events when controlled), and passing\n // onClick to drive isOpen flips the wrapper into SplitTrigger mode\n // (a two-button ButtonGroup) which we don't want here.\n const [resetKey, setResetKey] = useState(0);\n\n const handleClose = () => {\n setRows(3);\n setColumns(3);\n };\n\n const handleSubmit = () => {\n editor\n .chain()\n .focus()\n .insertTable({ rows, cols: columns, withHeaderRow: true })\n .run();\n handleClose();\n setResetKey(k => k + 1);\n };\n\n const formContent = (\n <>\n <Input\n autoFocus\n data-testid=\"neeto-editor-fixed-menu-table-rows-input\"\n label={t(\"neetoEditor.menu.rows\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.rows\")}\n size=\"small\"\n type=\"number\"\n value={rows}\n onChange={withEventTargetValue(setRows)}\n />\n <Input\n data-testid=\"neeto-editor-fixed-menu-table-columns-input\"\n label={t(\"neetoEditor.menu.columns\")}\n min=\"1\"\n placeholder={t(\"neetoEditor.placeholders.columns\")}\n size=\"small\"\n type=\"number\"\n value={columns}\n onChange={withEventTargetValue(setColumns)}\n />\n <div className=\"neeto-editor-table-menu__button\">\n <Button\n className=\"mt-auto\"\n data-testid=\"neeto-editor-fixed-menu-table-option-create-button\"\n label={t(\"neetoEditor.common.create\")}\n size=\"sm\"\n onClick={handleSubmit}\n />\n </div>\n </>\n );\n\n if (isSecondaryMenu) {\n return (\n <DropdownMenu.SubMenu\n {...{ label }}\n icon={Table}\n key={resetKey}\n contentProps={{\n className:\n \"ne-editor-dropdown neeto-editor-table__item w-auto p-2 flex flex-col\",\n }}\n triggerProps={{\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n >\n {formContent}\n </DropdownMenu.SubMenu>\n );\n }\n\n return (\n <DropdownMenu\n closeOnSelect={false}\n dropdownProps={{ className: \"ne-editor-dropdown w-auto p-2\" }}\n icon={Table}\n key={resetKey}\n position=\"bottom\"\n buttonProps={{\n tabIndex: -1,\n tooltipProps: { content: tooltipContent ?? label, position: \"bottom\" },\n variant: \"ghost\",\n className: \"ne-toolbar-item ne-toolbar-dropdown\",\n \"data-testid\": \"neeto-editor-fixed-menu-table-option\",\n }}\n onClose={handleClose}\n >\n <Menu className=\"neeto-editor-table__item\">{formContent}</Menu>\n </DropdownMenu>\n );\n};\n\nexport default memo(TableOption);\n","import { EDITOR_OPTIONS } from \"src/common/constants\";\nimport Mentions from \"src/v2/components/Editor/CustomExtensions/Mention\";\n\nimport MenuButton from \"./components/Button\";\nimport CalloutDropdown from \"./components/CalloutDropdown\";\nimport EmojiOption from \"./components/EmojiOption\";\nimport FontSizeOption from \"./components/FontSizeOption\";\nimport HighlightDropdown from \"./components/HighlightDropdown/index.jsx\";\nimport TableOption from \"./components/TableOption\";\nimport TextColorOption from \"./components/TextColorOption\";\n\nexport const MENU_ELEMENT_TYPES = {\n BUTTON: \"button\",\n CALLOUT: \"callout\",\n FONT_SIZE: \"fontSize\",\n TABLE: \"table\",\n TEXT_COLOR: \"textColor\",\n EMOJI: \"emoji\",\n MENTIONS: \"mentions\",\n HIGHLIGHT: \"highlight\",\n};\n\nexport const MENU_TYPES = {\n HISTORY: \"history\",\n FONT: \"font\",\n LIST: \"list\",\n BLOCK: \"block\",\n MISC: \"misc\",\n EXTRAS: \"extras\",\n CUSTOM: \"custom\",\n};\n\nexport const SHORTCUTS = {\n [EDITOR_OPTIONS.BOLD]: { mac: \"⌘B\", win: \"Ctrl+B\" },\n [EDITOR_OPTIONS.ITALIC]: { mac: \"⌘I\", win: \"Ctrl+I\" },\n [EDITOR_OPTIONS.UNDERLINE]: { mac: \"⌘U\", win: \"Ctrl+U\" },\n [EDITOR_OPTIONS.STRIKETHROUGH]: {\n mac: \"⌘⇧S or ⌘⇧X\",\n win: \"Ctrl+Shift+S or Ctrl+Shift+X\",\n },\n [EDITOR_OPTIONS.CODE]: { mac: \"⌘E\", win: \"Ctrl+E\" },\n [EDITOR_OPTIONS.UNDO]: { mac: \"⌘Z\", win: \"Ctrl+Z\" },\n [EDITOR_OPTIONS.REDO]: { mac: \"⌘⇧Z\", win: \"Ctrl+Shift+Z\" },\n [EDITOR_OPTIONS.LINK]: { mac: \"⌘K\", win: \"Ctrl+K\" },\n [EDITOR_OPTIONS.HIGHLIGHT]: { mac: \"⌘⇧H\", win: \"Ctrl+Shift+H\" },\n bulletList: { mac: \"⌘⇧8\", win: \"Ctrl+Shift+8\" },\n orderedList: { mac: \"⌘⇧7\", win: \"Ctrl+Shift+7\" },\n todoList: { mac: \"⌘⇧9\", win: \"Ctrl+Shift+9\" },\n};\n\nexport const MENU_ELEMENTS = {\n [MENU_ELEMENT_TYPES.BUTTON]: MenuButton,\n [MENU_ELEMENT_TYPES.CALLOUT]: CalloutDropdown,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: FontSizeOption,\n [MENU_ELEMENT_TYPES.TABLE]: TableOption,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: TextColorOption,\n [MENU_ELEMENT_TYPES.EMOJI]: EmojiOption,\n [MENU_ELEMENT_TYPES.MENTIONS]: Mentions,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: HighlightDropdown,\n};\n\nexport const MENU_ELEMENT_WIDTHS = {\n [MENU_ELEMENT_TYPES.BUTTON]: 36,\n [MENU_ELEMENT_TYPES.CALLOUT]: 23,\n [MENU_ELEMENT_TYPES.FONT_SIZE]: 103,\n [MENU_ELEMENT_TYPES.TABLE]: 36,\n [MENU_ELEMENT_TYPES.TEXT_COLOR]: 36,\n [MENU_ELEMENT_TYPES.EMOJI]: 36,\n [MENU_ELEMENT_TYPES.MENTIONS]: 36,\n [MENU_ELEMENT_TYPES.HIGHLIGHT]: 103,\n};\n","import { t } from \"i18next\";\nimport {\n Bold,\n Code,\n FileText,\n Highlighter,\n ImageUp,\n Italic,\n Link,\n List,\n ListChecks,\n ListOrdered,\n Paperclip,\n Quote,\n Redo,\n SquareCode,\n Strikethrough,\n Underline,\n Undo,\n Video,\n} from \"lucide-react\";\nimport { isNotEmpty } from \"neetocist\";\nimport { prop, not, assoc } from \"ramda\";\n\nimport { EDITOR_OPTIONS } from \"src/common/constants\";\n\nimport {\n MENU_ELEMENT_WIDTHS,\n MENU_ELEMENT_TYPES,\n SHORTCUTS,\n} from \"./constants.js\";\n\nconst createMenuOptions = ({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const fontSizeOptions = options.filter(option => option.match(/^h[1-6]$/));\n\n return [\n [\n {\n type: MENU_ELEMENT_TYPES.FONT_SIZE,\n options: fontSizeOptions,\n label: tooltips.fontSize ?? t(\"neetoEditor.menu.fontSize\"),\n isEnabled: isNotEmpty(fontSizeOptions),\n optionName: \"fontSizeOptions\",\n runEditorCommand,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Bold,\n isEnabled: options.includes(EDITOR_OPTIONS.BOLD),\n command: runEditorCommand(editor =>\n editor?.chain().focus().toggleBold().run()\n ),\n optionName: EDITOR_OPTIONS.BOLD,\n label: tooltips.bold ?? t(\"neetoEditor.menu.bold\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Italic,\n isEnabled: options.includes(EDITOR_OPTIONS.ITALIC),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleItalic().run()\n ),\n optionName: EDITOR_OPTIONS.ITALIC,\n label: tooltips.italic ?? t(\"neetoEditor.menu.italic\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Link,\n isEnabled: options.includes(EDITOR_OPTIONS.LINK),\n command: () => setIsAddLinkActive(not),\n optionName: EDITOR_OPTIONS.LINK,\n label: tooltips.link ?? t(\"neetoEditor.menu.link\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Strikethrough,\n isEnabled: options.includes(EDITOR_OPTIONS.STRIKETHROUGH),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleStrike().run()\n ),\n optionName: EDITOR_OPTIONS.STRIKETHROUGH,\n label: tooltips.strike ?? t(\"neetoEditor.menu.strike\"),\n },\n {\n type: MENU_ELEMENT_TYPES.HIGHLIGHT,\n icon: Highlighter,\n label: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n isEnabled: options.includes(EDITOR_OPTIONS.HIGHLIGHT),\n optionName: EDITOR_OPTIONS.HIGHLIGHT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.highlight ?? t(\"neetoEditor.menu.highlight\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: List,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBulletList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_BULLETS),\n optionName: \"bulletList\",\n highlight: true,\n label: tooltips.bulletList ?? t(\"neetoEditor.menu.bulletedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListOrdered,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleOrderedList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.LIST_ORDERED),\n optionName: \"orderedList\",\n highlight: true,\n label: tooltips.orderedList ?? t(\"neetoEditor.menu.orderedList\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ListChecks,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleTaskList().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.TODO_LIST),\n optionName: \"todoList\",\n highlight: true,\n label: tooltips.todoList ?? t(\"neetoEditor.menu.todoList\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Quote,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleBlockquote().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.BLOCKQUOTE),\n optionName: \"blockquote\",\n highlight: true,\n label: tooltips.blockQuote ?? t(\"neetoEditor.menu.blockQuote\"),\n },\n {\n type: MENU_ELEMENT_TYPES.CALLOUT,\n label: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n isEnabled: options.includes(EDITOR_OPTIONS.CALLOUT),\n optionName: EDITOR_OPTIONS.CALLOUT,\n editor,\n runEditorCommand,\n tooltipContent: tooltips.callout ?? t(\"neetoEditor.menu.callout\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TABLE,\n label: tooltips.table ?? t(\"neetoEditor.menu.table\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TABLE),\n optionName: EDITOR_OPTIONS.TABLE,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Paperclip,\n command: () => attachmentProps?.handleUploadAttachments(),\n disabled: attachmentProps?.isDisabled,\n isEnabled: options.includes(EDITOR_OPTIONS.ATTACHMENTS),\n optionName: EDITOR_OPTIONS.ATTACHMENTS,\n label: tooltips.attachments ?? t(\"neetoEditor.menu.attachments\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: FileText,\n command: () => {\n if (!editor || !setIsNeetoKbArticleActive) return;\n\n const { from, to } = editor.state.selection;\n const cursorPos = editor.view.coordsAtPos(from);\n\n setIsNeetoKbArticleActive({\n active: true,\n editor,\n range: { from, to },\n cursorPos,\n });\n },\n isEnabled: options.includes(EDITOR_OPTIONS.NEETO_KB_ARTICLE),\n optionName: EDITOR_OPTIONS.NEETO_KB_ARTICLE,\n label:\n tooltips.neetoKbArticle ?? t(\"neetoEditor.menu.linkToNeetoKbArticle\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: ImageUp,\n command: () => setMediaUploader(assoc(\"image\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.IMAGE_UPLOAD),\n optionName: EDITOR_OPTIONS.IMAGE_UPLOAD,\n label: tooltips.imageUpload ?? t(\"neetoEditor.menu.imageUpload\"),\n },\n ],\n [\n {\n type: MENU_ELEMENT_TYPES.TEXT_COLOR,\n label: tooltips.textColor ?? t(\"neetoEditor.menu.textColor\"),\n isEnabled: options.includes(EDITOR_OPTIONS.TEXT_COLOR),\n optionName: EDITOR_OPTIONS.TEXT_COLOR,\n },\n {\n type: MENU_ELEMENT_TYPES.EMOJI,\n label: tooltips.emoji ?? t(\"neetoEditor.menu.emoji\"),\n isEnabled: options.includes(EDITOR_OPTIONS.EMOJI),\n optionName: EDITOR_OPTIONS.EMOJI,\n setActive: setIsEmojiPickerActive,\n isActive: isEmojiPickerActive,\n },\n {\n type: MENU_ELEMENT_TYPES.MENTIONS,\n label: tooltips.mention ?? t(\"neetoEditor.menu.mention\"),\n isEnabled: isNotEmpty(mentions),\n optionName: \"mentions\",\n mentions,\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Code,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCode().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE),\n optionName: EDITOR_OPTIONS.CODE,\n label: tooltips.code ?? t(\"neetoEditor.menu.code\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: SquareCode,\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleCodeBlock().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.CODE_BLOCK),\n optionName: \"codeBlock\",\n label: tooltips.codeBlock ?? t(\"neetoEditor.menu.codeBlock\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Video,\n command: () => setMediaUploader(assoc(\"video\", true)),\n isEnabled: options.includes(EDITOR_OPTIONS.VIDEO_UPLOAD),\n optionName: EDITOR_OPTIONS.VIDEO_UPLOAD,\n label: tooltips.videoUpload ?? t(\"neetoEditor.menu.videoUpload\"),\n },\n {\n type: MENU_ELEMENT_TYPES.BUTTON,\n icon: Underline,\n isEnabled: options.includes(EDITOR_OPTIONS.UNDERLINE),\n command: runEditorCommand(editor =>\n editor.chain().focus().toggleUnderline().run()\n ),\n optionName: EDITOR_OPTIONS.UNDERLINE,\n label: tooltips.underline ?? t(\"neetoEditor.menu.underline\"),\n },\n ],\n [...addonCommandOptions],\n [\n {\n icon: Undo,\n command: runEditorCommand(editor =>\n editor.chain().focus().undo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.UNDO),\n optionName: EDITOR_OPTIONS.UNDO,\n label: tooltips.undo ?? t(\"neetoEditor.menu.undo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n {\n icon: Redo,\n command: runEditorCommand(editor =>\n editor.chain().focus().redo().run()\n ),\n isEnabled: options.includes(EDITOR_OPTIONS.REDO),\n optionName: EDITOR_OPTIONS.REDO,\n label: tooltips.redo ?? t(\"neetoEditor.menu.redo\"),\n type: MENU_ELEMENT_TYPES.BUTTON,\n },\n ],\n ];\n};\n\nexport const buildOptionsFromAddonCommands = ({ commands, runEditorCommand }) =>\n commands.map(option => ({\n ...option,\n type: MENU_ELEMENT_TYPES.BUTTON,\n command: runEditorCommand(editor =>\n option.command?.({\n editor,\n range: {\n from: editor.state?.selection?.to,\n to: editor.state?.selection.to,\n },\n })\n ),\n }));\n\nexport const buildMenuOptions = ({\n tooltips,\n options,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n mentions = [],\n addonCommands,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n}) => {\n const addonCommandOptions = buildOptionsFromAddonCommands({\n commands: addonCommands,\n runEditorCommand,\n });\n\n const menuOptions = createMenuOptions({\n tooltips,\n setMediaUploader,\n attachmentProps,\n setIsAddLinkActive,\n options,\n mentions,\n addonCommandOptions,\n setIsEmojiPickerActive,\n isEmojiPickerActive,\n runEditorCommand,\n editor,\n setIsNeetoKbArticleActive,\n });\n\n return menuOptions.map(option => option.filter(prop(\"isEnabled\")));\n};\n\nexport const getCursorPos = (editor, to) => editor?.view.coordsAtPos(to);\n\nexport const reGroupMenuItems = (menuRef, menuGroups) => {\n const toolbarWidth = menuRef.current.offsetWidth;\n let totalWidth = 0;\n const visibleMenuGroups = [];\n const invisibleMenuGroups = [];\n menuGroups.forEach((group, groupIndex) => {\n group.forEach((item, itemIndex) => {\n const width = MENU_ELEMENT_WIDTHS[item.type];\n if (totalWidth + width < toolbarWidth) {\n totalWidth += width;\n visibleMenuGroups[groupIndex] = visibleMenuGroups[groupIndex] ?? [];\n visibleMenuGroups[groupIndex][itemIndex] = item;\n } else {\n const visibleMenuGroupsLength = visibleMenuGroups.length;\n const index = groupIndex - visibleMenuGroupsLength + 1;\n invisibleMenuGroups[index] = invisibleMenuGroups[index] ?? [];\n invisibleMenuGroups[index][itemIndex] = item;\n }\n });\n });\n\n return { visibleMenuGroups, invisibleMenuGroups };\n};\n\nexport const getLinkPopoverPosition = (editor, popoverRef) => {\n const {\n selection: {\n $to: { pos: selectionEnd },\n $from: { pos: selectionStart },\n },\n } = editor.view.state;\n const selectionLength = selectionEnd - selectionStart;\n let offset = 0;\n if (selectionLength > 1) offset = Math.round(selectionLength / 2);\n\n if (selectionLength === 1) offset = 1;\n\n const arrowCoords = editor.view.coordsAtPos(selectionStart + offset);\n const arrowPosition = {\n top: `${arrowCoords.top + 21}px`,\n left: `${arrowCoords.left - 8.5}px`,\n };\n\n const popoverCoords = editor.view.coordsAtPos(selectionStart);\n let adjustedLeft = popoverCoords?.left,\n adjustedTop = popoverCoords?.top;\n if (popoverRef?.current) {\n const popoverRect = popoverRef.current?.getBoundingClientRect();\n\n const screenWidth = window.innerWidth;\n const screenHeight = window.innerHeight;\n\n const maxLeft = screenWidth - popoverRect.width;\n const maxTop = screenHeight - popoverRect.height - 50;\n\n adjustedLeft = popoverCoords?.left\n ? Math.min(popoverCoords.left - 50, maxLeft)\n : 0;\n\n adjustedTop = popoverCoords?.top\n ? Math.min(popoverCoords.top - 22, maxTop)\n : 0;\n } else {\n adjustedLeft = popoverCoords.left - 50;\n adjustedTop = popoverCoords.top - 22;\n }\n\n const popoverPosition = {\n top: `${adjustedTop}px`,\n left: `${adjustedLeft}px`,\n };\n\n return { arrowPosition, popoverPosition };\n};\n\nexport function renderTooltipContent(label, optionName) {\n const shortcut = SHORTCUTS[optionName];\n if (!shortcut) return label;\n\n const isMac = () =>\n typeof window !== \"undefined\" &&\n /Mac|iPod|iPhone|iPad/.test(window.navigator.userAgent);\n\n const key = isMac() ? shortcut.mac : shortcut.win;\n\n return `${label} (${key})`;\n}\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { assoc, isEmpty, not } from \"ramda\";\n\nimport { DEFAULT_EDITOR_OPTIONS } from \"src/v2/components/Editor/constants\";\n\nimport { MENU_COMPONENTS } from \"./constants\";\n\nconst Menu = props => {\n const [isEmojiPickerActive, setIsEmojiPickerActive] = useState(false);\n const [mediaUploader, setMediaUploader] = useState({\n image: false,\n video: false,\n });\n\n const {\n menuType = \"fixed\",\n addons = [],\n options = [],\n editorSecrets = {},\n attachmentProps,\n defaults = DEFAULT_EDITOR_OPTIONS,\n } = props;\n\n const MenuComponent = useMemo(() => MENU_COMPONENTS[menuType], [menuType]);\n const menuOptions = isEmpty(options) ? [...defaults, ...addons] : options;\n\n useEffect(() => {\n const handleKeyDown = e => {\n if ((e.metaKey || e.ctrlKey) && e.altKey) {\n if (e.code === \"KeyE\") {\n setIsEmojiPickerActive(prevState => !prevState);\n } else if (e.code === \"KeyA\") {\n not(attachmentProps?.isDisabled) &&\n attachmentProps?.handleUploadAttachments();\n } else if (e.code === \"KeyK\") {\n setMediaUploader(assoc(\"image\", true));\n } else if (e.code === \"KeyV\") {\n setMediaUploader(assoc(\"video\", true));\n }\n }\n };\n if (menuType !== \"none\") {\n document.addEventListener(\"keydown\", handleKeyDown);\n }\n\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n\n return (\n <MenuComponent\n {...{\n ...props,\n attachmentProps,\n isEmojiPickerActive,\n mediaUploader,\n setIsEmojiPickerActive,\n setMediaUploader,\n }}\n options={menuOptions}\n unsplashApiKey={editorSecrets.unsplash}\n />\n );\n};\n\nexport default Menu;\n"],"names":["DEFAULT_EDITOR_OPTIONS","EDITOR_OPTIONS","BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","LINK","PARAGRAPH","H1","H2","H3","H4","H5","H6","LIST_BULLETS","LIST_ORDERED","CODE","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","EDITOR_LINE_HEIGHT","IMAGE_REGEX","RegExp","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","TRAILING_BR_REGEX","LINK_VALIDATION_SCHEMA","yup","object","shape","textContent","string","required","t","urlString","matches","ALL_PROTOCOL_URL_REGEXP","getEditorStyles","_ref","rows","editorHeight","concat","clipboardTextParser","text","context","plain","view","isMarkdown","markdownToSlice","state","schema","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","endPosition","Selection","atEnd","transaction","tr","setSelection","dispatch","isEditorOverlaysActive","document","querySelector","validateAndFormatUrl","url","test","transformEditorContent","_content$replaceAll","replaceAll","replace","isEmojiSuggestionsMenuActive","transformPastedHTML","contentWithoutBr","DOMParser","parseFromString","isInternalPaste","querySelectorAll","el","style","color","backgroundColor","body","innerHTML","handlePaste","event","slice","replaceSelection","_unused","_event$clipboardData","clipboardData","getData","textBetween","size","trim","insertText","scrollIntoView","buildLevelsFromOptions","options","levels","_defineProperty","Object","entries","filter","heading","includes","map","getSuggestionAppendTo","_editor$storage","_container$containerR","_container$containerR2","container","storage","editorContainer","appendSuggestionsToBody","containerRef","current","CALLOUT_TYPES","label","icon","Megaphone","bgColor","Info","iconColor","AlertTriangle","AlertOctagon","CheckCircle2","_regenerator","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","valueOf","EmojiPickerMenu","_React$Component","_this","_classCallCheck","_len","arguments","args","Array","_key","React","createRef","_asyncToGenerator","_callee","_yield$emojiPickerApi","data","_context","emojiPickerApi","fetch","_ref2","key","props","chain","focus","deleteRange","range","run","emoji","_this$props$setActive","_this$props","setEmoji","setActive","_inherits","_createClass","componentDidMount","Picker","_objectSpread","onEmojiSelect","handleSelect","maxWidth","theme","previewPosition","showSkinTones","fetchEmojiData","ref","render","_jsx","minWidth","Component","defaultProps","validateUrl","_i","_Object$values","values","URL_VALIDATORS","validator","result","Menu","DropdownMenu","MenuItem","Mentions","mentions","tooltipContent","_ref$isSecondaryMenu","isSecondaryMenu","isEmpty","renderItems","name","imageUrl","prefix","Avatar","user","onClick","commands","setMention","id","children","SubMenu","contentProps","className","AtSign","triggerProps","dropdownProps","position","buttonProps","variant","tooltipProps","memo","MenuButton","command","optionName","highlight","_ref$disabled","disabled","isButtonDisabled","_useEditorStore","useEditorStore","useShallow","store","_store$marksState","_store$marksState2","isActive","_useEditorStore$disab","Button","tabIndex","renderTooltipContent","generateFocusProps","CalloutIcon","_currentType$icon","currentType","Icon","Flag","CalloutTypeOption","calloutType","isSelected","stroke","RenderCalloutOptions","isInCallout","currentCalloutAttrs","handleCalloutTypeClick","idx","_createElement","CalloutDropdown","_useTranslation","useTranslation","dropdownRef","useRef","getAttributes","findBy","editorChain","isSameType","lift","updateAttributes","setCallout","renderOptions","_jsxs","_Fragment","Label","triggerRef","onKeyDown","_dropdownRef$current","click","EmojiOption","_useState","useState","_useState2","_slicedToArray","resetKey","setResetKey","handlePicked","k","Smile","closeOnSelect","onClose","TextColorOption","setColor","_useState3","_useState4","closeMenu","handleSave","handleUnset","unsetColor","useEffect","pickerContent","stopPropagation","HexColorPicker","onChange","Input","autoFocus","placeholder","withEventTargetValue","Check","X","RotateCw","Baseline","LinkOption","handleClose","handleAnimateInvalidLink","link","setLink","href","handleKeyDown","handleSubmit","isNotPresent","unsetLink","handleReset","target","TableOption","setRows","columns","setColumns","insertTable","cols","withHeaderRow","min","createMenuOptions","tooltips","setMediaUploader","attachmentProps","setIsAddLinkActive","font","Bold","toggleBold","active","tooltip","bold","Italic","toggleItalic","italic","Underline","toggleUnderline","underline","Link","not","Strikethrough","toggleStrike","strike","Highlighter","toggleHighlight","block","Quote","toggleBlockquote","blockQuote","Code","toggleCode","code","SquareCode","toggleCodeBlock","codeBlock","list","List","toggleBulletList","bulletList","ListOrdered","toggleOrderedList","orderedList","misc","Paperclip","handleUploadAttachments","isDisabled","attachments","ImageUp","assoc","imageUpload","Video","videoUpload","right","Undo","undo","can","Redo","redo","buildBubbleMenuOptions","menuOptions","fromPairs","option","item","getTextMenuDropdownOptions","_ref3","textOptions","Heading1","level","setNode","Heading2","Heading3","Pilcrow","getNodeIcon","_options$find","find","prop","renderOptionButton","_ref4","Options","setIsInvalidLink","isLinkOptionActive","isTableOptionActive","setIsLinkOptionActive","setIsTableOptionActive","isEmojiPickerActive","setIsEmojiPickerActive","dropdownOptions","isEmojiActive","EMOJI","isTextColorOptionActive","TEXT_COLOR","isLinkActive","isTableActive","TABLE","_buildBubbleMenuOptio","fontStyleOptions","blockStyleOptions","listStyleOptions","setTimeout","Popover","PopoverTrigger","asChild","iconPosition","trailing","ChevronDown","PopoverContent","align","side","onOpenAutoFocus","preventDefault","fullWidth","textColor","Table","table","mention","Bubble","_ref$mentions","_ref$tooltips","isInvalidLink","_useState5","_useState6","selectedNode","selection","isImageNodeSelected","bubbleMenuOptions","noTextOptions","BubbleMenuTipTap","zIndex","classnames","offset","onHide","EmptyMenu","Progress","withT","queuedFiles","cancelUpload","filename","_ref2$progress","progress","FileIcon","fileName","Typography","width","Tooltip","LocalUploader","isImage","insertMediaToEditor","setIsUploading","uploadConfig","DEFAULT_IMAGE_UPLOAD_CONFIG","DEFAULT_VIDEO_UPLOAD_CONFIG","fileInputRef","dropTargetRef","_useFileUploader","useFileUploader","config","setIsUploadingOnHost","addFiles","uploadFiles","isUploading","handleFilesDrop","files","uploadedFiles","_x","useDropFiles","onDrop","handleAddFile","_callee2","_context2","_x2","_fileInputRef$current","multiple","accept","ALLOWED_IMAGE_TYPES","join","ALLOWED_VIDEO_TYPES","entity","convertToFileSize","restrictions","maxFileSize","VideoEmbedForm","onEmbedVideo","onAttachVideo","initialValues","onSubmit","embedUrl","Form","formikProps","validationSchema","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","dirty","isSubmitting","resetForm","unlimitedChars","ActionBlock","cancelButtonProps","submitButtonProps","loading","MediaUploader","mediaUploader","_ref$showAssetLibrary","showAssetLibrary","activeTab","setActiveTab","isOpen","image","video","tabs","setTabs","getTabs","file","_file$filename","_file$caption","caption","mediaAttrs","src","alt","setMedia","setFigure","setVideo","resolve","to","end","safePosition","Math","insertContentAt","onUploadComplete","_t","signedId","directUploadsApi","attach","signed_id","Toastr","error","originalUrl","setExternalVideo","allowDismiss","Dialog","closeButton","undefined","Tabs","onValueChange","title","Item","ImageUploader","LinkAddPopOver","_containerRef$current","isAddLinkActive","openLinkInNewTab","_editor$state$selecti","from","linkText","setLinkText","linkUrl","setLinkUrl","openInNewTab","setOpenInNewTab","_useState7","_useState8","setError","_useState9","getCursorPos","_useState0","popoverPosition","setPopoverPosition","_useState1","top","left","_useState10","arrowPosition","setArrowPosition","popoverRef","isLinkTextPresent","isLinlUrlPresent","isSubmitDisabled","popoverStyle","display","transform","handleAddLink","_editor$view","_state$selection","formattedUrl","attrs","linkMark","marks","linkTextWithMark","replaceWith","removePopover","updatePopoverPosition","_getLinkPopoverPositi","getLinkPopoverPosition","useOnClickOutside","window","addEventListener","removeEventListener","createPortal","onFocus","Checkbox","checked","onCheckedChange","MoreMenu","groups","customTarget","Ellipsis","group","_objectWithoutProperties","_excluded","MENU_ELEMENTS","MENU_ELEMENT_TYPES","BUTTON","EDITOR_MARKS","UNDO","REDO","HIGHLIGHT","CALLOUT","ATTACHMENTS","IMAGE_UPLOAD","VIDEO_UPLOAD","NEETO_KB_ARTICLE","useEditorState","neetoKbArticleState","setMarksState","marksState","handleSelectionUpdate","useCallback","activeMarks","mark","activeFontSizeOption","FONT_SIZE_OPTIONS","last","updateHistoryOptionsState","undoOptionState","redoOptionState","updatedMarksState","noop","on","off","MenuDynamicVariables","_ref$variables","variables","_ref$standalone","standalone","handleVariableClick","category","categoryLabel","variableName","variableLabel","setVariable","DynamicVariables","buttonSize","classNames","onVariableClick","Fixed","_ref$addonCommands","addonCommands","_ref$isIndependant","isIndependant","setIsNeetoKbArticleActive","focusedButtonIndex","setFocusedButtonIndex","menuItems","setMenuItems","moreMenuItems","setMoreMenuItems","editorRef","menuRef","menuContainerRef","runEditorCommand","handleArrowNavigation","prevIndex","menuButtons","useMemo","_menuRef$current","menuItem","menuGroups","buildMenuOptions","handleResize","_reGroupMenuItems","reGroupMenuItems","visibleMenuGroups","invisibleMenuGroups","menuContainer","resizeObserver","ResizeObserver","observe","unobserve","isMediaUploaderActive","_ref$icon","_ref$onClick","otherProps","hideOnEsc","defaultValue","fn","hide","_ref$props","toLowerCase","onShow","Dropdown","_ref2$onClose","_ref2$buttonProps","mounted","setMounted","Tippy","interactive","animation","arrow","duration","hideOnClick","plugins","popperOptions","strategy","role","trigger","visible","onClickOutside","onHidden","onMount","Emoji","delay","EmojiPicker","Option","hyphenate","i18n","FileText","buildOptionsFromAddonCommands","_option$active","_option$command","Headless","addonCommandOptions","allOptions","_toConsumableArray","Heading4","Heading5","MENU_COMPONENTS","fixed","FixedMenu","bubble","BubbleMenu","headless","HeadlessMenu","none","FontSizeOption","_ref$options","lastOption","fontSizeOption","_useEditorStore$fontS","activeOption","handleClick","toggleHeading","filterBy","itemLabel","ColorDot","_colorVar$match","colorVar","isTextColor","dotClass","dotStyle","colorNumber","match","hyphenize","COLORS","background","colorSections","colors","HighlightDropdown","updateBackgroundColor","setMark","handleBackgroundColorClick","handleTextColorClick","renderColorDots","colorList","renderSections","weight","formContent","FONT_SIZE","MENTIONS","SHORTCUTS","_SHORTCUTS","mac","win","MENU_ELEMENT_WIDTHS","_tooltips$fontSize","_tooltips$bold","_tooltips$italic","_tooltips$link","_tooltips$strike","_tooltips$highlight","_tooltips$highlight2","_tooltips$bulletList","_tooltips$orderedList","_tooltips$todoList","_tooltips$blockQuote","_tooltips$callout","_tooltips$callout2","_tooltips$table","_tooltips$attachments","_tooltips$neetoKbArti","_tooltips$imageUpload","_tooltips$textColor","_tooltips$emoji","_tooltips$mention","_tooltips$code","_tooltips$codeBlock","_tooltips$videoUpload","_tooltips$underline","_tooltips$undo","_tooltips$redo","fontSizeOptions","fontSize","isEnabled","ListChecks","toggleTaskList","TODO_LIST","todoList","BLOCKQUOTE","callout","cursorPos","coordsAtPos","neetoKbArticle","CODE_BLOCK","_editor$state","_editor$state2","_ref3$mentions","toolbarWidth","offsetWidth","totalWidth","groupIndex","itemIndex","_visibleMenuGroups$gr","_invisibleMenuGroups$","visibleMenuGroupsLength","index","_editor$view$state$se","selectionEnd","$to","pos","selectionStart","$from","selectionLength","round","arrowCoords","popoverCoords","adjustedLeft","adjustedTop","_popoverRef$current","popoverRect","getBoundingClientRect","screenWidth","innerWidth","screenHeight","innerHeight","maxLeft","maxTop","height","shortcut","isMac","navigator","userAgent","_props$menuType","menuType","_props$addons","addons","_props$options","_props$editorSecrets","editorSecrets","_props$defaults","defaults","MenuComponent","metaKey","ctrlKey","altKey","prevState","unsplashApiKey","unsplash"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAMA,sBAAsB,GAAG,CACpCC,wBAAc,CAACC,IAAI,EACnBD,wBAAc,CAACE,MAAM,EACrBF,wBAAc,CAACG,SAAS,EACxBH,wBAAc,CAACI,aAAa,EAC5BJ,wBAAc,CAACK,IAAI,EACnBL,wBAAc,CAACM,SAAS,EACxBN,wBAAc,CAACO,EAAE,EACjBP,wBAAc,CAACQ,EAAE,EACjBR,wBAAc,CAACS,EAAE,EACjBT,wBAAc,CAACU,EAAE,EACjBV,wBAAc,CAACW,EAAE,EACjBX,wBAAc,CAACY,EAAE,EACjBZ,wBAAc,CAACa,YAAY,EAC3Bb,wBAAc,CAACc,YAAY,EAC3Bd,wBAAc,CAACe,IAAI;AAEd,IAAMC,mBAAmB,GAAG,EAAE;AAE9B,IAAMC,kBAAkB,GAAG,CAAC;AAE5B,IAAMC,kBAAkB,GAAG,EAAE;AAE7B,IAAMC,WAAW,GAAG,IAAIC,MAAM,CAAC,qCAAqC,CAAC;AACrE,IAAMC,yBAAyB,GAAG,qBAAqB;AACvD,IAAMC,eAAe,GAAG,IAAIF,MAAM,CACvC,yCACF,CAAC;AACM,IAAMG,iBAAiB,GAAG,IAAIH,MAAM,CAAC,wBAAwB,CAAC;AAE9D,IAAMI,sBAAsB,GAAGC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACvDC,EAAAA,WAAW,EAAEH,cAAG,CAACI,MAAM,EAAE,CAACC,QAAQ,CAACC,MAAC,CAAC,gCAAgC,CAAC,CAAC;EACvEC,SAAS,EAAEP,cAAG,CACXI,MAAM,EAAE,CACRI,OAAO,CAACC,iCAAuB,EAAEH,MAAC,CAAC,8BAA8B,CAAC,CAAC,CACnED,QAAQ,CAACC,MAAC,CAAC,+BAA+B,CAAC;AAChD,CAAC;;ICxBYI,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAiB;AAAA,EAAA,IAAXC,IAAI,GAAAD,IAAA,CAAJC,IAAI;EACpC,IAAMC,YAAY,GAChBD,IAAI,GAAGnB,kBAAkB,GAAG,CAAC,IAAIF,mBAAmB,GAAGC,kBAAkB,CAAC;EAE5E,OAAA,cAAA,CAAAsB,MAAA,CAAsBD,YAAY,EAAA,KAAA,CAAA;AACpC;AAEO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAI,EAAEC,OAAO,EAAEC,KAAK,EAAEC,IAAI,EAAK;AACjE,EAAA,IAAI,CAACD,KAAK,IAAIE,mBAAU,CAACJ,IAAI,CAAC,EAAE;IAC9B,OAAOK,wBAAe,CAACL,IAAI,EAAEG,IAAI,CAACG,KAAK,CAACC,MAAM,EAAEN,OAAO,CAAC;AAC1D,EAAA;EAEA,IAAMO,KAAK,GAAG,EAAE;AAChB,EAAA,IAAMC,MAAM,GAAGT,IAAI,CAACU,KAAK,CAAC,IAAI,CAAC;AAE/BD,EAAAA,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAI,EAAI;AACrB,IAAA,IAAMC,QAAQ,GAAG;AAAEC,MAAAA,IAAI,EAAE;KAAa;AACtC,IAAA,IAAIC,oBAAU,CAACH,IAAI,CAAC,EAAE;MACpBC,QAAQ,CAACG,OAAO,GAAG,CAAC;AAAEF,QAAAA,IAAI,EAAE,MAAM;AAAEd,QAAAA,IAAI,EAAEY;AAAK,OAAC,CAAC;AACnD,IAAA;AACA,IAAA,IAAMK,IAAI,GAAGC,aAAI,CAACC,QAAQ,CAAClB,OAAO,CAACmB,GAAG,CAACN,IAAI,CAACP,MAAM,EAAEM,QAAQ,CAAC;AAC7DL,IAAAA,KAAK,CAACa,IAAI,CAACJ,IAAI,CAAC;AAClB,EAAA,CAAC,CAAC;AAEF,EAAA,IAAMK,QAAQ,GAAGC,iBAAQ,CAACC,SAAS,CAAChB,KAAK,CAAC;AAE1C,EAAA,OAAOiB,cAAK,CAACC,OAAO,CAACJ,QAAQ,CAAC;AAChC;IAEaK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,MAAM,EAAI;AAC1C,EAAA,IAAQtB,KAAK,GAAWsB,MAAM,CAAtBtB,KAAK;IAAEH,IAAI,GAAKyB,MAAM,CAAfzB,IAAI;EACnB,IAAM0B,WAAW,GAAGC,eAAS,CAACC,KAAK,CAACzB,KAAK,CAACc,GAAG,CAAC;AAC9C,EAAA,IAAMY,WAAW,GAAG1B,KAAK,CAAC2B,EAAE;AAC5BD,EAAAA,WAAW,CAACE,YAAY,CAACL,WAAW,CAAC;AACrC1B,EAAAA,IAAI,CAACgC,QAAQ,CAACH,WAAW,CAAC;AAC5B;AAEO,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAA;AAAA,EAAA,OACjCC,QAAQ,CAACC,aAAa,CACpB,oEACF,CAAC;AAAA;IAEUC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,GAAG,EAAI;AACzC,EAAA,IAAI,CAAC/C,iCAAuB,CAACgD,IAAI,CAACD,GAAG,CAAC,EAAE;AACtC,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAI,CAAC,gBAAgB,CAACC,IAAI,CAACD,GAAG,CAAC,EAAE;IAC/B,OAAA,UAAA,CAAA1C,MAAA,CAAkB0C,GAAG,CAAA;AACvB,EAAA;AAEA,EAAA,OAAOA,GAAG;AACZ;IAEaE,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAG1B,OAAO,EAAA;AAAA,EAAA,IAAA2B,mBAAA;AAAA,EAAA,OAC3C3B,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,IAAA,CAAA2B,mBAAA,GAAP3B,OAAO,CACH4B,UAAU,CAAClE,WAAW,EAAEE,yBAAyB,CAAC,MAAA,IAAA,IAAA+D,mBAAA,KAAA,MAAA,IAAA,CAAAA,mBAAA,GADtDA,mBAAA,CAEIC,UAAU,CAAC/D,eAAe,EAAE,EAAE,CAAC,MAAA,IAAA,IAAA8D,mBAAA,KAAA,MAAA,GAAA,MAAA,GAFnCA,mBAAA,CAGIE,OAAO,CAAC/D,iBAAiB,EAAE,EAAE,CAAC;AAAA;AAE7B,IAAMgE,4BAA4B,GAAG,SAA/BA,4BAA4BA,GAAA;AAAA,EAAA,OACvC,CAAC,CAACT,QAAQ,CAACC,aAAa,CAAC,gCAAgC,CAAC;AAAA;IAE/CS,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAG/B,OAAO,EAAI;EAC5C,IAAMgC,gBAAgB,GAAGhC,OAAO,CAAC4B,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;AAChE,EAAA,IAAMxB,GAAG,GAAG,IAAI6B,SAAS,EAAE,CAACC,eAAe,CAACF,gBAAgB,EAAE,WAAW,CAAC;;AAE1E;AACA;AACA;AACA;AACA;EACA,IAAMG,eAAe,GAAG/B,GAAG,CAACkB,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI;EAErE,IAAI,CAACa,eAAe,EAAE;IACpB/B,GAAG,CAACgC,gBAAgB,CAAC,SAAS,CAAC,CAACzC,OAAO,CAAC,UAAA0C,EAAE,EAAI;AAC5CA,MAAAA,EAAE,CAACC,KAAK,CAACC,KAAK,GAAG,EAAE;AACnBF,MAAAA,EAAE,CAACC,KAAK,CAACE,eAAe,GAAG,EAAE;AAC/B,IAAA,CAAC,CAAC;AACJ,EAAA;AAEA,EAAA,OAAOpC,GAAG,CAACqC,IAAI,CAACC,SAAS;AAC3B;AAEO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIxD,IAAI,EAAEyD,KAAK,EAAEC,KAAK,EAAK;EACjD,IAAI;IACF1D,IAAI,CAACG,KAAK,CAAC2B,EAAE,CAAC6B,gBAAgB,CAACD,KAAK,CAAC;AAErC,IAAA,OAAO,KAAK;EACd,CAAC,CAAC,OAAAE,OAAA,EAAM;AAAA,IAAA,IAAAC,oBAAA;AACN,IAAA,IAAMhE,IAAI,GACR,CAAA,CAAAgE,oBAAA,GAAAJ,KAAK,CAACK,aAAa,MAAA,IAAA,IAAAD,oBAAA,uBAAnBA,oBAAA,CAAqBE,OAAO,CAAC,YAAY,CAAC,KAC1CL,KAAK,CAAC7C,OAAO,CAACmD,WAAW,CAAC,CAAC,EAAEN,KAAK,CAAC7C,OAAO,CAACoD,IAAI,EAAE,IAAI,CAAC,CAACC,IAAI,EAAE;IAC/D,IAAIrE,IAAI,EAAEG,IAAI,CAACgC,QAAQ,CAAChC,IAAI,CAACG,KAAK,CAAC2B,EAAE,CAACqC,UAAU,CAACtE,IAAI,CAAC,CAACuE,cAAc,EAAE,CAAC;AAExE,IAAA,OAAO,IAAI;AACb,EAAA;AACF;IAEaC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGC,OAAO,EAAI;EAC/C,IAAMC,MAAM,GAAAC,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAA,EAAA,EACTpH,wBAAc,CAACO,EAAE,EAAG,CAAC,CAAA,EACrBP,wBAAc,CAACQ,EAAE,EAAG,CAAC,CAAA,EACrBR,wBAAc,CAACS,EAAE,EAAG,CAAC,CAAA,EACrBT,wBAAc,CAACU,EAAE,EAAG,CAAC,GACrBV,wBAAc,CAACW,EAAE,EAAG,CAAC,CAAA,EACrBX,wBAAc,CAACY,EAAE,EAAG,CAAC,CACvB;EAED,OAAOyG,MAAM,CAACC,OAAO,CAACH,MAAM,CAAC,CAC1BI,MAAM,CAAC,UAAAC,OAAO,EAAA;IAAA,OAAIN,OAAO,CAACO,QAAQ,CAACD,OAAO,CAAC,CAAC,CAAC,CAAC;AAAA,EAAA,CAAA,CAAC,CAC/CE,GAAG,CAAC,UAAAF,OAAO,EAAA;IAAA,OAAIA,OAAO,CAAC,CAAC,CAAC;EAAA,CAAA,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;IACaG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGtD,MAAM,EAAA;AAAA,EAAA,OAAI,YAAM;AAAA,IAAA,IAAAuD,eAAA,EAAAC,qBAAA,EAAAC,sBAAA;AACnD,IAAA,IAAMC,SAAS,GAAG1D,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAuD,eAAA,GAANvD,MAAM,CAAE2D,OAAO,MAAA,IAAA,IAAAJ,eAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAA,CAAiBK,eAAe;AAElD,IAAA,OAAOF,SAAS,KAAA,IAAA,IAATA,SAAS,KAAA,MAAA,IAATA,SAAS,CAAEG,uBAAuB,GACrCpD,QAAQ,CAACoB,IAAI,GAAA,CAAA2B,qBAAA,GACZE,SAAS,aAATA,SAAS,KAAA,MAAA,IAAA,CAAAD,sBAAA,GAATC,SAAS,CAAEI,YAAY,MAAA,IAAA,IAAAL,sBAAA,uBAAvBA,sBAAA,CAAyBM,OAAO,MAAA,IAAA,IAAAP,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI/C,QAAQ,CAACoB,IAAK;EACzD,CAAC;AAAA;;ACtIM,IAAMmC,aAAa,GAAG,CAC3B;AACE9E,EAAAA,IAAI,EAAE,SAAS;AACf+E,EAAAA,KAAK,EAAEvG,MAAC,CAAC,iCAAiC,CAAC;AAC3CwG,EAAAA,IAAI,EAAEC,qBAAS;AACfC,EAAAA,OAAO,EAAE;AACX,CAAC,EACD;AACElF,EAAAA,IAAI,EAAE,MAAM;AACZ+E,EAAAA,KAAK,EAAEvG,MAAC,CAAC,8BAA8B,CAAC;AACxCwG,EAAAA,IAAI,EAAEG,gBAAI;AACVD,EAAAA,OAAO,EAAE,yBAAyB;AAClCE,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEpF,EAAAA,IAAI,EAAE,SAAS;AACf+E,EAAAA,KAAK,EAAEvG,MAAC,CAAC,iCAAiC,CAAC;AAC3CwG,EAAAA,IAAI,EAAEK,yBAAa;AACnBH,EAAAA,OAAO,EAAE,4BAA4B;AACrCE,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEpF,EAAAA,IAAI,EAAE,OAAO;AACb+E,EAAAA,KAAK,EAAEvG,MAAC,CAAC,+BAA+B,CAAC;AACzCwG,EAAAA,IAAI,EAAEM,wBAAY;AAClBJ,EAAAA,OAAO,EAAE,0BAA0B;AACnCE,EAAAA,SAAS,EAAE;AACb,CAAC,EACD;AACEpF,EAAAA,IAAI,EAAE,SAAS;AACf+E,EAAAA,KAAK,EAAEvG,MAAC,CAAC,iCAAiC,CAAC;AAC3CwG,EAAAA,IAAI,EAAEO,wBAAY;AAClBL,EAAAA,OAAO,EAAE,4BAA4B;AACrCE,EAAAA,SAAS,EAAE;AACb,CAAC;;;;AC1CH,SAAAI,cAAA,GAAA,qKAAA,IAAAC,CAAA,EAAAjH,CAAA,EAAAkH,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAtC,MAAA,CAAAuC,MAAA,CAAAJ,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAI,qBAAA,CAAAF,CAAA,EAAA,SAAA,EAAA,UAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAG,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAV,CAAA,IAAA,EAAA,EAAAW,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAZ,CAAA,EAAA,CAAA,EAAAe,CAAA,EAAAlB,CAAA,EAAAmB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAArB,CAAA,EAAA,CAAA,CAAA,EAAAoB,CAAA,WAAAA,CAAAA,CAAArI,CAAA,EAAAkH,CAAA,WAAAM,CAAA,GAAAxH,CAAA,EAAAyH,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAX,CAAA,EAAAiB,CAAA,CAAAd,CAAA,GAAAF,CAAA,EAAAkB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAC,EAAAnB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAApH,CAAA,OAAAiI,CAAA,IAAAF,CAAA,IAAA,CAAAT,CAAA,IAAAtH,CAAA,GAAAgI,CAAA,CAAAO,MAAA,EAAAvI,CAAA,UAAAsH,CAAA,EAAAE,CAAA,GAAAQ,CAAA,CAAAhI,CAAA,CAAA,EAAAqI,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAQ,CAAA,GAAAhB,CAAA,KAAAN,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAkB,CAAA,KAAApB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,CAAA,CAAAC,CAAA,GAAAD,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAC,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAD,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAAP,CAAA,IAAAO,CAAA,CAAA,CAAA,CAAA,IAAAa,CAAA,KAAA,CAAAf,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAmB,CAAA,GAAAb,CAAA,CAAA,CAAA,CAAA,KAAAC,CAAA,MAAAS,CAAA,CAAAC,CAAA,GAAAf,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAAI,CAAA,CAAA,CAAA,CAAA,IAAAa,CAAA,GAAAG,CAAA,KAAAlB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,IAAAA,CAAA,GAAAoB,CAAA,MAAAhB,CAAA,CAAA,CAAA,CAAA,GAAAN,CAAA,EAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAAoB,CAAA,EAAAf,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAH,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAkB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAb,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAU,CAAA,EAAAQ,CAAA,EAAA,EAAA,IAAAT,CAAA,GAAA,CAAA,EAAA,MAAAU,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAR,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAQ,CAAA,CAAA,EAAAf,CAAA,GAAAO,CAAA,EAAAJ,CAAA,GAAAY,CAAA,EAAA,CAAAxI,CAAA,GAAAyH,CAAA,GAAA,CAAA,GAAAR,CAAA,GAAAW,CAAA,KAAA,CAAAK,CAAA,GAAA,EAAAT,CAAA,KAAAC,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAS,CAAA,CAAAd,CAAA,GAAA,EAAA,CAAA,EAAAiB,CAAA,CAAAZ,CAAA,EAAAG,CAAA,CAAA,IAAAM,CAAA,CAAAd,CAAA,GAAAQ,CAAA,GAAAM,CAAA,CAAAC,CAAA,GAAAP,CAAA,aAAAG,CAAA,GAAA,CAAA,EAAAP,CAAA,EAAA,EAAA,IAAAC,CAAA,KAAAH,CAAA,GAAA,MAAA,CAAA,EAAAtH,CAAA,GAAAwH,CAAA,CAAAF,CAAA,WAAAtH,CAAA,GAAAA,CAAA,CAAA0I,IAAA,CAAAlB,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA,MAAAa,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAAzI,CAAA,CAAA2I,IAAA,EAAA,OAAA3I,CAAA,CAAA,CAAA4H,CAAA,GAAA5H,CAAA,CAAA4I,KAAA,EAAAnB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAAzH,CAAA,GAAAwH,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAxH,CAAA,CAAA0I,IAAA,CAAAlB,CAAA,CAAA,EAAAC,CAAA,SAAAG,CAAA,GAAAa,SAAA,CAAA,mCAAA,GAAAnB,CAAA,GAAA,UAAA,CAAA,EAAAG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAD,CAAA,GAAAP,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAAjH,CAAA,IAAAiI,CAAA,GAAAC,CAAA,CAAAd,CAAA,GAAA,CAAA,IAAAQ,CAAA,GAAAV,CAAA,CAAAwB,IAAA,CAAAtB,CAAA,EAAAc,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAApI,CAAA,EAAA,EAAAwH,CAAA,GAAAP,CAAA,EAAAQ,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAA5H,CAAA,CAAA,CAAA,CAAA,SAAA,EAAA+H,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAa,KAAA,EAAA5I,CAAA,EAAA2I,IAAA,EAAAV,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAf,CAAA,EAAAI,CAAA,EAAAE,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAI,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAQ,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAT,SAAAA,eAAAkB,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAA9I,CAAA,GAAAsF,MAAA,CAAAyD,cAAA,CAAA,CAAA,IAAAtB,CAAA,GAAA,EAAA,CAAAL,CAAA,CAAA,GAAApH,CAAA,CAAAA,CAAA,IAAAoH,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAU,qBAAA,CAAA9H,CAAA,GAAA,EAAA,EAAAoH,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAApH,CAAA,GAAA4H,CAAA,GAAAkB,0BAAA,CAAApB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAApC,MAAA,CAAAuC,MAAA,CAAAJ,CAAA,CAAA,CAAA,CAAA,SAAAM,CAAAA,CAAAd,CAAA,WAAA3B,MAAA,CAAA0D,cAAA,GAAA1D,MAAA,CAAA0D,cAAA,CAAA/B,CAAA,EAAA6B,0BAAA,CAAA,IAAA7B,CAAA,CAAAgC,SAAA,GAAAH,0BAAA,EAAAhB,qBAAA,CAAAb,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAS,SAAA,GAAApC,MAAA,CAAAuC,MAAA,CAAAD,CAAA,CAAA,EAAAX,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA4B,iBAAA,CAAAnB,SAAA,GAAAoB,0BAAA,EAAAhB,qBAAA,CAAAF,CAAA,iBAAAkB,0BAAA,CAAA,EAAAhB,qBAAA,CAAAgB,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAApB,qBAAA,CAAAgB,0BAAA,EAAAxB,CAAA,EAAA,mBAAA,CAAA,EAAAQ,qBAAA,CAAAF,CAAA,CAAA,EAAAE,qBAAA,CAAAF,CAAA,EAAAN,CAAA,EAAA,WAAA,CAAA,EAAAQ,qBAAA,CAAAF,CAAA,EAAAR,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAU,qBAAA,CAAAF,CAAA,8DAAAZ,cAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAAmC,CAAA,EAAA3B,CAAA,EAAA4B,CAAA,EAAArB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,qBAAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,EAAA,EAAA,IAAAwH,CAAA,GAAAlC,MAAA,CAAA+D,cAAA,CAAA,CAAA,IAAA,EAAA7B,CAAA,uBAAAP,CAAA,EAAA,EAAAO,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAM,qBAAA,GAAA,SAAAwB,mBAAArC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,EAAA,EAAA,SAAAsH,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAU,qBAAA,CAAAb,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAsC,OAAA,CAAArC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAAM,CAAA,GAAAA,CAAA,CAAAP,CAAA,EAAAC,CAAA,IAAA0B,KAAA,EAAAxB,CAAA,EAAAoC,UAAA,GAAAxJ,CAAA,EAAAyJ,YAAA,EAAA,CAAAzJ,CAAA,EAAA0J,QAAA,EAAA,CAAA1J,CAAA,MAAAiH,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAQ,qBAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,CAAA,CAAA,CAAA;AAAA,SAAA2J,WAAA3J,CAAA,EAAAsH,CAAA,EAAAL,CAAA,EAAA,EAAA,OAAAK,CAAA,GAAAsC,gCAAA,CAAAtC,CAAA,CAAA,EAAAuC,2CAAA,CAAA7J,CAAA,EAAA8J,yBAAA,EAAA,GAAAC,OAAA,CAAAC,SAAA,CAAA1C,CAAA,EAAAL,CAAA,IAAA,EAAA,EAAA2C,gCAAA,CAAA5J,CAAA,CAAA,CAAAiK,WAAA,IAAA3C,CAAA,CAAA4C,KAAA,CAAAlK,CAAA,EAAAiH,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAAA6C,yBAAAA,GAAA,EAAA,IAAA,EAAA,IAAA9J,CAAA,GAAA,CAAAmK,OAAA,CAAAzC,SAAA,CAAA0C,OAAA,CAAA1B,IAAA,CAAAqB,OAAA,CAAAC,SAAA,CAAAG,OAAA,EAAA,EAAA,EAAA,YAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAAnK,CAAA,aAAA8J,yBAAA,GAAA,SAAAA,yBAAAA,GAAA,EAAA,OAAA,CAAA,CAAA9J,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAI+C,IAEzCqK,eAAe,0BAAAC,gBAAA,EAAA;AAAA,EAAA,SAAAD,eAAAA,GAAA;AAAA,IAAA,IAAAE,KAAA;AAAAC,IAAAA,gCAAA,OAAAH,eAAA,CAAA;AAAA,IAAA,KAAA,IAAAI,IAAA,GAAAC,SAAA,CAAAnC,MAAA,EAAAoC,IAAA,GAAA,IAAAC,KAAA,CAAAH,IAAA,GAAAI,IAAA,GAAA,CAAA,EAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA,EAAA,EAAA;AAAAF,MAAAA,IAAA,CAAAE,IAAA,CAAA,GAAAH,SAAA,CAAAG,IAAA,CAAA;AAAA,IAAA;AAAAN,IAAAA,KAAA,GAAAZ,UAAA,CAAA,IAAA,EAAAU,eAAA,EAAA,EAAA,CAAA7J,MAAA,CAAAmK,IAAA,CAAA,CAAA;AAAAtF,IAAAA,gCAAA,CAAAkF,KAAA,EAAA,KAAA,eACbO,sBAAK,CAACC,SAAS,EAAE,CAAA;IAAA1F,gCAAA,CAAAkF,KAAA,EAAA,gBAAA,eAAAS,kCAAA,cAAAhE,cAAA,EAAA,CAAAoC,CAAA,CAgBN,SAAA6B,OAAAA,GAAA;AAAA,MAAA,IAAAC,qBAAA,CAAA,CAAAC,IAAA;AAAA,MAAA,OAAAnE,cAAA,EAAA,CAAAmC,CAAA,CAAA,UAAAiC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAApD,CAAA,GAAAoD,QAAA,CAAAhE,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAgE,YAAAA,QAAA,CAAApD,CAAA,GAAA,CAAA;AAAAoD,YAAAA,QAAA,CAAAhE,CAAA,GAAA,CAAA;AAAA,YAAA,OAEUiE,6BAAc,CAACC,KAAK,EAAE;AAAA,UAAA,KAAA,CAAA;YAAAJ,qBAAA,GAAAE,QAAA,CAAAjD,CAAA;YAArCgD,IAAI,GAAAD,qBAAA,CAAJC,IAAI;AAAA,YAAA,OAAAC,QAAA,CAAAhD,CAAA,CAAA,CAAA,EAEL+C,IAAI,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAC,YAAAA,QAAA,CAAApD,CAAA,GAAA,CAAA;YAAAoD,QAAA,CAAAjD,CAAA;AAAA,YAAA,OAAAiD,QAAA,CAAAhD,CAAA,CAAA,CAAA,EAEJ,EAAE,CAAA;AAAA;AAAA,MAAA,CAAA,EAAA6C,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAEZ,CAAA,CAAA,CAAA;AAAA5F,IAAAA,gCAAA,CAAAkF,KAAA,EAAA,WAAA,EAEW,UAAAgB,KAAA,EAAe;AAAA,MAAA,IAAZjH,KAAK,GAAAiH,KAAA,CAALjH,KAAK;AAClB,MAAA,IAAIA,KAAK,CAACkH,GAAG,KAAK,QAAQ,EAAE;QAC1BjB,KAAA,CAAKkB,KAAK,CAACnJ,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACC,WAAW,CAACrB,KAAA,CAAKkB,KAAK,CAACI,KAAK,CAAC,CAACC,GAAG,EAAE;AAErE,QAAA,OAAO,IAAI;AACb,MAAA;AAEA,MAAA,OAAO,KAAK;IACd,CAAC,CAAA;AAAAzG,IAAAA,gCAAA,CAAAkF,KAAA,EAAA,cAAA,EAEc,UAAAwB,KAAK,EAAI;MAAA,IAAAC,qBAAA,EAAAC,WAAA;AACtB1B,MAAAA,KAAA,CAAKkB,KAAK,CAACnJ,MAAM,CACdoJ,KAAK,EAAE,CACPC,KAAK,EAAE,CACPC,WAAW,CAACrB,KAAA,CAAKkB,KAAK,CAACI,KAAK,CAAC,CAC7BK,QAAQ,CAACH,KAAK,CAAC,CACfD,GAAG,EAAE;AACR,MAAA,CAAAE,qBAAA,GAAA,CAAAC,WAAA,GAAA1B,KAAA,CAAKkB,KAAK,EAACU,SAAS,cAAAH,qBAAA,KAAA,MAAA,IAApBA,qBAAA,CAAAtD,IAAA,CAAAuD,WAAA,EAAuB,KAAK,CAAC;IAC/B,CAAC,CAAA;AAAA,IAAA,OAAA1B,KAAA;AAAA,EAAA;EAAA6B,0BAAA,CAAA/B,eAAA,EAAAC,gBAAA,CAAA;EAAA,OAAA+B,6BAAA,CAAAhC,eAAA,EAAA,CAAA;IAAAmB,GAAA,EAAA,mBAAA;AAAA5C,IAAAA,KAAA,EA1CD,SAAA0D,iBAAiBA,GAAG;MAClB,IAAIC,gBAAM,CAAAC,eAAA,CAAAA,eAAA,CAAA,EAAA,EACL,IAAI,CAACf,KAAK,CAAA,EAAA,EAAA,EAAA;QACbgB,aAAa,EAAE,IAAI,CAACC,YAAY;AAChC1I,QAAAA,KAAK,EAAE;AAAE2I,UAAAA,QAAQ,EAAE;SAAQ;AAC3BC,QAAAA,KAAK,EAAE,OAAO;AACd,QAAA,QAAA,EAAQ,IAAI;AACZC,QAAAA,eAAe,EAAE,MAAM;AACvBC,QAAAA,aAAa,EAAE,KAAK;QACpB3B,IAAI,EAAE,IAAI,CAAC4B,cAAc;QACzBC,GAAG,EAAE,IAAI,CAACA;AAAG,OAAA,CACd,CAAC;AACJ,IAAA;AAAC,GAAA,EAAA;IAAAxB,GAAA,EAAA,QAAA;AAAA5C,IAAAA,KAAA,EAgCD,SAAAqE,MAAMA,GAAG;AACP,MAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AACE,QAAA,aAAA,EAAY,2BAA2B;QACvCF,GAAG,EAAE,IAAI,CAACA,GAAI;AACdhJ,QAAAA,KAAK,EAAE;AAAEmJ,UAAAA,QAAQ,EAAE;AAAQ;AAAE,OAC9B,CAAC;AAEN,IAAA;AAAC,GAAA,CAAA,CAAA;AAAA,CAAA,CAvD2BrC,sBAAK,CAACsC,SAAS;AA0D7C/C,eAAe,CAACgD,YAAY,GAAG;EAAE/K,MAAM,EAAE,EAAE;AAAEuJ,EAAAA,KAAK,EAAE;AAAG,CAAC;;IC/D3CyB,WAAW,GAAG,SAAdA,WAAWA,CAAGpK,GAAG,EAAI;AAChC,EAAA,IAAI,CAACA,GAAG,EAAE,OAAO,KAAK;AAEtB,EAAA,KAAA,IAAAqK,EAAA,GAAA,CAAA,EAAAC,cAAA,GAAwBlI,MAAM,CAACmI,MAAM,CAACC,wBAAc,CAAC,EAAAH,EAAA,GAAAC,cAAA,CAAAjF,MAAA,EAAAgF,EAAA,EAAA,EAAE;AAAlD,IAAA,IAAMI,SAAS,GAAAH,cAAA,CAAAD,EAAA,CAAA;AAClB,IAAA,IAAMK,MAAM,GAAGD,SAAS,CAACzK,GAAG,CAAC;IAC7B,IAAI0K,MAAM,EAAE,OAAOA,MAAM;AAC3B,EAAA;AAEA,EAAA,OAAO,KAAK;AACd;;ACLA,IAAQC,MAAI,GAAeC,uBAAY,CAA/BD,IAAI;EAAEE,UAAQ,GAAKD,uBAAY,CAAzBC,QAAQ;AAEtB,IAAMC,UAAQ,GAAG,SAAXA,QAAQA,CAAA3N,IAAA,EAMR;AAAA,EAAA,IALJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACN2L,QAAQ,GAAA5N,IAAA,CAAR4N,QAAQ;IACRC,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IAAAC,oBAAA,GAAA9N,IAAA,CACd+N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IACvB5H,KAAK,GAAAlG,IAAA,CAALkG,KAAK;AAEL,EAAA,IAAI8H,aAAO,CAACJ,QAAQ,CAAC,EAAE,OAAO,IAAI;AAElC,EAAA,IAAMK,WAAW,GAAGL,QAAQ,CAACtI,GAAG,CAAC,UAAA4F,KAAA,EAAA;AAAA,IAAA,IAAGC,GAAG,GAAAD,KAAA,CAAHC,GAAG;MAAE+C,IAAI,GAAAhD,KAAA,CAAJgD,IAAI;MAAEC,QAAQ,GAAAjD,KAAA,CAARiD,QAAQ;IAAA,oBACrDtB,cAAA,CAACa,UAAQ,EAAA;MACP,aAAA,EAAA,8BAAA,CAAAvN,MAAA,CAA4CgL,GAAG,CAAG;MAElDiD,MAAM,eAAEvB,cAAA,CAACwB,iBAAM,EAAA;AAAC5J,QAAAA,IAAI,EAAC,IAAI;AAAC6J,QAAAA,IAAI,EAAE;AAAEJ,UAAAA,IAAI,EAAJA,IAAI;AAAEC,UAAAA,QAAQ,EAARA;AAAS;AAAE,OAAE,CAAE;MACvDI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQtM,MAAM,CAACuM,QAAQ,CAACC,UAAU,CAAC;AAAEC,UAAAA,EAAE,EAAEvD,GAAG;AAAEjF,UAAAA,KAAK,EAAEgI;AAAK,SAAC,CAAC;MAAA,CAAC;AAAAS,MAAAA,QAAA,EAEnET;AAAI,KAAA,EAJA/C,GAKG,CAAC;AAAA,EAAA,CACZ,CAAC;AAEF,EAAA,IAAI4C,eAAe,EAAE;AACnB,IAAA,oBACElB,cAAA,CAACY,uBAAY,CAACmB,OAAO,EAAA;AACb1I,MAAAA,KAAK,EAALA,KAAK;AACX2I,MAAAA,YAAY,EAAE;AAAEC,QAAAA,SAAS,EAAE;OAAgC;AAC3D3I,MAAAA,IAAI,EAAE4I,kBAAO;AACbC,MAAAA,YAAY,EAAE;AAAE,QAAA,aAAa,EAAE;OAAgC;AAAAL,MAAAA,QAAA,EAE9DV;AAAW,KACQ,CAAC;AAE3B,EAAA;EAEA,oBACEpB,cAAA,CAACY,uBAAY,EAAA;AACX,IAAA,aAAA,EAAY,6BAA6B;AACzCwB,IAAAA,aAAa,EAAE;AAAEH,MAAAA,SAAS,EAAE;KAAgC;AAC5D3I,IAAAA,IAAI,EAAE4I,kBAAO;AACbG,IAAAA,QAAQ,EAAC,cAAc;AACvBC,IAAAA,WAAW,EAAE;AACXC,MAAAA,OAAO,EAAE,OAAO;AAChB3K,MAAAA,IAAI,EAAE,IAAI;AACV4K,MAAAA,YAAY,EAAE;AAAEhO,QAAAA,OAAO,EAAEwM,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAdA,cAAc,GAAI3H,KAAK;AAAEgJ,QAAAA,QAAQ,EAAE;OAAU;AACtEJ,MAAAA,SAAS,EAAE;KACX;IAAAH,QAAA,eAEF9B,cAAA,CAACW,MAAI,EAAA;AAAAmB,MAAAA,QAAA,EAAEV;KAAkB;AAAC,GACd,CAAC;AAEnB,CAAC;AAED,eAAA,aAAeqB,UAAI,CAAC3B,UAAQ,CAAC;;;;AClD7B,IAAM4B,YAAU,GAAG,SAAbA,UAAUA,CAAAvP,IAAA,EAOV;AAAA,EAAA,IANJmG,IAAI,GAAAnG,IAAA,CAAJmG,IAAI;IACJqJ,OAAO,GAAAxP,IAAA,CAAPwP,OAAO;IACPC,UAAU,GAAAzP,IAAA,CAAVyP,UAAU;IACVC,SAAS,GAAA1P,IAAA,CAAT0P,SAAS;IAAAC,aAAA,GAAA3P,IAAA,CACT4P,QAAQ;AAAEC,IAAAA,gBAAgB,GAAAF,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAClCzJ,KAAK,GAAAlG,IAAA,CAALkG,KAAK;AAEL,EAAA,IAAA4J,eAAA,GAAAC,6BAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;MAAA,IAAAC,iBAAA,EAAAC,kBAAA;AAAA,MAAA,OAAA;AAAQC,QAAAA,QAAQ,GAAAF,iBAAA,GAAAD,KAAA,CACd,YAAY,CAAA,MAAA,IAAA,IAAAC,iBAAA,KAAA,MAAA,IAAA,CAAAA,iBAAA,GAAAA,iBAAA,CACZT,UAAU,CAAA,MAAA,IAAA,IAAAS,iBAAA,uBAAAA,iBAAA,CAAA,UAAA,CAAA;AAFMN,QAAAA,QAAQ,GAAAO,kBAAA,GAAAF,KAAA,CACxB,YAAY,CAAA,MAAA,IAAA,IAAAE,kBAAA,KAAA,MAAA,IAAA,CAAAA,kBAAA,GAAAA,kBAAA,CACZV,UAAU,CAAA,MAAA,IAAA,IAAAU,kBAAA,uBAAAA,kBAAA,CAAA,UAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAFJC,QAAQ,GAAAN,eAAA,CAARM,QAAQ;IAAAC,qBAAA,GAAAP,eAAA,CAAEF,QAAQ;AAARA,IAAAA,QAAQ,GAAAS,qBAAA,KAAA,MAAA,GAAGR,gBAAgB,GAAAQ,qBAAA;AAK7C,EAAA,oBACExD,cAAA,CAACyD,iBAAM,EAAAnE,eAAA,CAAA;AACCyD,IAAAA,QAAQ,EAARA,QAAQ;AAAEzJ,IAAAA,IAAI,EAAJA,IAAI;AACpB2I,IAAAA,SAAS,EAAC,iBAAiB;IAC3B,aAAA,EAAA,0BAAA,CAAA3O,MAAA,CAAwCsP,UAAU,EAAA,SAAA,CAAU;AAC5Dc,IAAAA,QAAQ,EAAC,IAAI;AACbnB,IAAAA,OAAO,EAAEgB,QAAQ,GAAG,WAAW,GAAG,OAAQ;AAC1Cf,IAAAA,YAAY,EAAE;AACZhO,MAAAA,OAAO,EAAEmP,oBAAoB,CAACtK,KAAK,EAAEuJ,UAAU,CAAC;AAChDP,MAAAA,QAAQ,EAAE;KACV;AACFX,IAAAA,OAAO,EAAEiB;AAAQ,GAAA,EACbiB,iCAAkB,CAACf,SAAS,CAAC,CAClC,CAAC;AAEN,CAAC;AAED,iBAAA,aAAeJ,UAAI,CAACC,YAAU,CAAC;;ACrC/B,IAAMmB,WAAW,GAAG,SAAdA,WAAWA,CAAA1Q,IAAA,EAAwB;AAAA,EAAA,IAAA2Q,iBAAA;AAAA,EAAA,IAAlBC,WAAW,GAAA5Q,IAAA,CAAX4Q,WAAW;AAChC,EAAA,IAAMC,IAAI,GAAA,CAAAF,iBAAA,GAAGC,WAAW,aAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEzK,IAAI,MAAA,IAAA,IAAAwK,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAIG,gBAAI;EAEtC,oBAAOjE,cAAA,CAACgE,IAAI,EAAA;AAACpM,IAAAA,IAAI,EAAE;AAAG,GAAE,CAAC;AAC3B,CAAC;;ACJD,IAAQiJ,UAAQ,GAAKD,uBAAY,CAAzBC,QAAQ;AAEhB,IAAMqD,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA/Q,IAAA,EAA6C;AAAA,EAAA,IAAvCgR,WAAW,GAAAhR,IAAA,CAAXgR,WAAW;IAAEC,UAAU,GAAAjR,IAAA,CAAViR,UAAU;IAAE1C,OAAO,GAAAvO,IAAA,CAAPuO,OAAO;AAC3D,EAAA,IAAMsC,IAAI,GAAGG,WAAW,CAAC7K,IAAI;EAE7B,oBACE0G,cAAA,CAACa,UAAQ,EAAA;AACDa,IAAAA,OAAO,EAAPA,OAAO;AACb,IAAA,aAAA,EAAY,qBAAqB;AACjC6B,IAAAA,QAAQ,EAAEa,UAAW;IACrB7C,MAAM,eACJvB,cAAA,CAACgE,IAAI,EAAA;AACH,MAAA,aAAA,EAAY,oBAAoB;AAChCpM,MAAAA,IAAI,EAAE,EAAG;AACTd,MAAAA,KAAK,EAAE;QAAEuN,MAAM,EAAEF,WAAW,CAACzK;AAAU;AAAE,KAC1C,CACF;IAAAoI,QAAA,EAEAqC,WAAW,CAAC9K;AAAK,GACV,CAAC;AAEf,CAAC;;ACpBD,IAAMiL,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAnR,IAAA,EAAA;AAAA,EAAA,IACxBoR,WAAW,GAAApR,IAAA,CAAXoR,WAAW;IACXC,mBAAmB,GAAArR,IAAA,CAAnBqR,mBAAmB;IACnBC,sBAAsB,GAAAtR,IAAA,CAAtBsR,sBAAsB;AAAA,EAAA,OAEtBrL,aAAa,CAACX,GAAG,CAAC,UAAC0L,WAAW,EAAEO,GAAG,EAAA;IAAA,oBACjCC,mBAAA,CAACT,iBAAiB,EAAA;AACVC,MAAAA,WAAW,EAAXA,WAAW;AACjBC,MAAAA,UAAU,EAAEG,WAAW,IAAI,CAAAC,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAElQ,IAAI,MAAK6P,WAAW,CAAC7P,IAAK;AAC1EgK,MAAAA,GAAG,EAAEoG,GAAI;MACThD,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ+C,sBAAsB,CAACN,WAAW,CAAC;AAAA,MAAA;AAAC,KACpD,CAAC;AAAA,EAAA,CACH,CAAC;AAAA,CAAA;;ACJJ,IAAMS,eAAe,GAAG,SAAlBA,eAAeA,CAAAzR,IAAA,EAKf;AAAA,EAAA,IAJJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNiE,KAAK,GAAAlG,IAAA,CAALkG,KAAK;IACL2H,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IAAAC,oBAAA,GAAA9N,IAAA,CACd+N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;AAEvB,EAAA,IAAA4D,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AACT,EAAA,IAAMiS,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC;AAEhC,EAAA,IAAMT,WAAW,GAAGnP,MAAM,CAACmO,QAAQ,CAAC,SAAS,CAAC;EAC9C,IAAMiB,mBAAmB,GAAGD,WAAW,GACnCnP,MAAM,CAAC6P,aAAa,CAAC,SAAS,CAAC,GAC/B,IAAI;EAER,IAAMlB,WAAW,GACfmB,gBAAM,CAAC;AAAE5Q,IAAAA,IAAI,EAAEkQ,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAElQ;AAAK,GAAC,EAAE8E,aAAa,CAAC,IAC1DA,aAAa,CAAC,CAAC,CAAC;AAElB,EAAA,IAAMqL,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGN,WAAW,EAAI;IAC5C,IAAMgB,WAAW,GAAG/P,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE;AAC1C,IAAA,IAAM2G,UAAU,GACdb,WAAW,IAAI,CAAAC,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAElQ,IAAI,MAAK6P,WAAW,CAAC7P,IAAI;AAE/D,IAAA,IAAI8Q,UAAU,EAAE;MACdD,WAAW,CAACE,IAAI,CAAC,SAAS,CAAC,CAACzG,GAAG,EAAE;IACnC,CAAC,MAAM,IAAI2F,WAAW,EAAE;AACtBY,MAAAA,WAAW,CACRG,gBAAgB,CAAC,SAAS,EAAE;QAC3BhR,IAAI,EAAE6P,WAAW,CAAC7P,IAAI;QACtBuK,KAAK,EAAEsF,WAAW,CAACtF;AACrB,OAAC,CAAC,CACDD,GAAG,EAAE;AACV,IAAA,CAAC,MAAM;MACLuG,WAAW,CACRI,UAAU,CAAC;QAAEjR,IAAI,EAAE6P,WAAW,CAAC7P,IAAI;QAAEuK,KAAK,EAAEsF,WAAW,CAACtF;AAAM,OAAC,CAAC,CAChED,GAAG,EAAE;AACV,IAAA;EACF,CAAC;AAED,EAAA,IAAM4G,aAAa,gBACjBC,eAAA,CAAAC,mBAAA,EAAA;AAAA5D,IAAAA,QAAA,EAAA,cACE9B,cAAA,CAACY,uBAAY,CAAC+E,KAAK,EAAA;MAAA7D,QAAA,EAChBhP,CAAC,CAAC,oCAAoC;AAAC,KACtB,CAAC,eACrBkN,cAAA,CAACsE,oBAAoB,EAAA;AACbE,MAAAA,mBAAmB,EAAnBA,mBAAmB;AAAEC,MAAAA,sBAAsB,EAAtBA,sBAAsB;AAAEF,MAAAA,WAAW,EAAXA;AAAW,KAC/D,CAAC;AAAA,GACF,CACH;AAED,EAAA,IAAIrD,eAAe,EAAE;AACnB,IAAA,oBACElB,cAAA,CAACY,uBAAY,CAACmB,OAAO,EAAA;AACb1I,MAAAA,KAAK,EAALA,KAAK;AACX2I,MAAAA,YAAY,EAAE;AAAEC,QAAAA,SAAS,EAAE;OAAqC;AAChE3I,MAAAA,IAAI,EAAEiL,WAAW,GAAGR,WAAW,CAACzK,IAAI,GAAG2K,gBAAK;AAC5C9B,MAAAA,YAAY,EAAE;AACZ,QAAA,aAAa,EAAE;OACf;AAAAL,MAAAA,QAAA,EAED0D;AAAa,KACM,CAAC;AAE3B,EAAA;EAEA,oBACExF,cAAA,CAACY,uBAAY,EAAA;AACXwB,IAAAA,aAAa,EAAE;AAAEH,MAAAA,SAAS,EAAE;KAAqC;IACjE3I,IAAI,eAAE0G,cAAA,CAAC6D,WAAW,EAAA;AAACE,MAAAA,WAAW,EAAEQ,WAAW,GAAGR,WAAW,GAAG;AAAK,KAAE,CAAE;AACrE1B,IAAAA,QAAQ,EAAC,cAAc;AACvBuD,IAAAA,UAAU,EAAEb,WAAY;AACxBzC,IAAAA,WAAW,EAAE;AACX,MAAA,aAAa,EAAE,wCAAwC;AACvDuD,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEzO,KAAK,EAAA;AAAA,QAAA,IAAA0O,oBAAA;AAAA,QAAA,OACd1O,KAAK,CAACkH,GAAG,KAAK,WAAW,KAAA,CAAAwH,oBAAA,GAAIf,WAAW,CAAC5L,OAAO,cAAA2M,oBAAA,KAAA,MAAA,GAAA,MAAA,GAAnBA,oBAAA,CAAqBC,KAAK,EAAE,CAAA;AAAA,MAAA,CAAA;AAC3DvD,MAAAA,YAAY,EAAE;AAAEhO,QAAAA,OAAO,EAAEwM,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAdA,cAAc,GAAI3H,KAAK;AAAEgJ,QAAAA,QAAQ,EAAE;OAAU;AACtEE,MAAAA,OAAO,EAAEgC,WAAW,GAAG,WAAW,GAAG,OAAO;AAC5CtC,MAAAA,SAAS,EAAE;KACX;AAAAH,IAAAA,QAAA,eAEF9B,cAAA,CAACY,uBAAY,CAACD,IAAI,EAAA;AAAAmB,MAAAA,QAAA,EAAE0D;KAAiC;AAAC,GAC1C,CAAC;AAEnB,CAAC;;ACvFD,IAAMQ,aAAW,GAAG,SAAdA,WAAWA,CAAA7S,IAAA,EAMX;AAAA,EAAA,IALJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACN6J,SAAS,GAAA9L,IAAA,CAAT8L,SAAS;IACT+B,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IAAAC,oBAAA,GAAA9N,IAAA,CACd+N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IACvB5H,KAAK,GAAAlG,IAAA,CAALkG,KAAK;AAEL;AACA;AACA;AACA;AACA,EAAA,IAAA4M,SAAA,GAAgCC,cAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApCI,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAMI,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBtH,SAAS,CAAC,KAAK,CAAC;IAChBqH,WAAW,CAAC,UAAAE,CAAC,EAAA;MAAA,OAAIA,CAAC,GAAG,CAAC;IAAA,CAAA,CAAC;EACzB,CAAC;AAED,EAAA,IAAItF,eAAe,EAAE;AACnB,IAAA,oBACEyD,mBAAA,CAAC/D,uBAAY,CAACmB,OAAO,EAAA;AACb1I,MAAAA,KAAK,EAALA,KAAK;AACXC,MAAAA,IAAI,EAAEmN,iBAAM;AACZnI,MAAAA,GAAG,EAAE+H,QAAS;AACdrE,MAAAA,YAAY,EAAE;AACZC,QAAAA,SAAS,EACP;OACF;AACFE,MAAAA,YAAY,EAAE;AACZ,QAAA,aAAa,EAAE;AACjB;KAAE,eAEFnC,cAAA,CAAC7C,eAAe,EAAA;AAAO/H,MAAAA,MAAM,EAANA,MAAM;AAAI6J,MAAAA,SAAS,EAAEsH;AAAa,KAAE,CACvC,CAAC;AAE3B,EAAA;EAEA,oBACEvG,cAAA,CAACY,uBAAY,EAAA;AACX8F,IAAAA,aAAa,EAAE,KAAM;AACrBpN,IAAAA,IAAI,EAAEmN,iBAAM;AAEZpE,IAAAA,QAAQ,EAAC,cAAc;AACvBC,IAAAA,WAAW,EAAE;AACXC,MAAAA,OAAO,EAAE,OAAO;MAChBmB,QAAQ,EAAE,EAAE;AACZlB,MAAAA,YAAY,EAAE;AAAEhO,QAAAA,OAAO,EAAEwM,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAdA,cAAc,GAAI3H,KAAK;AAAEgJ,QAAAA,QAAQ,EAAE;OAAU;AACtEJ,MAAAA,SAAS,EAAE,qCAAqC;AAChD,MAAA,aAAa,EAAE;KACf;AACFG,IAAAA,aAAa,EAAE;AACbH,MAAAA,SAAS,EACP;KACF;IACF0E,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ1H,SAAS,CAAC,KAAK,CAAC;IAAA,CAAC;IAAA6C,QAAA,eAEhC9B,cAAA,CAAC7C,eAAe,EAAA;AAAO/H,MAAAA,MAAM,EAANA,MAAM;AAAI6J,MAAAA,SAAS,EAAEsH;KAAe;AAAC,GAAA,EAfvDF,QAgBO,CAAC;AAEnB,CAAC;AAED,kBAAA,aAAe5D,UAAI,CAACuD,aAAW,CAAC;;AC5DhC,IAAMY,eAAe,GAAG,SAAlBA,eAAeA,CAAAzT,IAAA,EAKf;AAAA,EAAA,IAJJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACN4L,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IAAAC,oBAAA,GAAA9N,IAAA,CACd+N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IACvB5H,KAAK,GAAAlG,IAAA,CAALkG,KAAK;AAEL,EAAA,IAAA4M,SAAA,GAA0BC,cAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjClP,IAAAA,KAAK,GAAAoP,UAAA,CAAA,CAAA,CAAA;AAAEU,IAAAA,QAAQ,GAAAV,UAAA,CAAA,CAAA,CAAA;AACtB;AACA;AACA;AACA,EAAA,IAAAW,UAAA,GAAgCZ,cAAQ,CAAC,CAAC,CAAC;IAAAa,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAApCT,IAAAA,QAAQ,GAAAU,UAAA,CAAA,CAAA,CAAA;AAAET,IAAAA,WAAW,GAAAS,UAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAAlC,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAMkU,SAAS,GAAG,SAAZA,SAASA,GAAA;IAAA,OAASV,WAAW,CAAC,UAAAE,CAAC,EAAA;MAAA,OAAIA,CAAC,GAAG,CAAC;IAAA,CAAA,CAAC;AAAA,EAAA,CAAA;AAE/C,EAAA,IAAMS,UAAU,GAAG,SAAbA,UAAUA,GAAS;AACvB7R,IAAAA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACoI,QAAQ,CAAC9P,KAAK,CAAC,CAAC6H,GAAG,EAAE;AAC5CoI,IAAAA,SAAS,EAAE;EACb,CAAC;AAED,EAAA,IAAME,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACxB9R,IAAAA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC0I,UAAU,EAAE,CAACvI,GAAG,EAAE;IACzCiI,QAAQ,CAAC,IAAI,CAAC;AACdG,IAAAA,SAAS,EAAE;EACb,CAAC;AAEDI,EAAAA,eAAS,CAAC,YAAM;IACdP,QAAQ,CAACzR,MAAM,CAAC6P,aAAa,CAAC,WAAW,CAAC,CAAClO,KAAK,CAAC;AACnD,EAAA,CAAC,EAAE,CAACsP,QAAQ,EAAEjR,MAAM,CAAC6P,aAAa,CAAC,WAAW,CAAC,CAAClO,KAAK,CAAC,CAAC;EAEvD,IAAMsQ,aAAa,gBACjB5B,eAAA,CAAA,KAAA,EAAA;AACE3O,IAAAA,KAAK,EAAE;AAAEmJ,MAAAA,QAAQ,EAAE;KAAU;AAC7ByB,IAAAA,OAAO,EAAE,SAATA,OAAOA,CAAE3H,CAAC,EAAI;MACZA,CAAC,CAACuN,eAAe,EAAE;IACrB,CAAE;IAAAxF,QAAA,EAAA,cAEF9B,cAAA,CAACuH,4BAAc,EAAA;MAACxQ,KAAK,EAAEA,KAAK,IAAI,SAAU;AAACyQ,MAAAA,QAAQ,EAAEX;KAAW,CAAC,eACjEpB,eAAA,CAAA,KAAA,EAAA;AAAKxD,MAAAA,SAAS,EAAC,+CAA+C;MAAAH,QAAA,EAAA,cAC5D9B,cAAA,CAACyH,gBAAK,EAAA;QACJC,SAAS,EAAA,IAAA;AACTzF,QAAAA,SAAS,EAAC,sDAAsD;AAChE0F,QAAAA,WAAW,EAAE7U,CAAC,CAAC,oCAAoC,CAAE;AACrD8E,QAAAA,IAAI,EAAC,OAAO;AACZ8D,QAAAA,KAAK,EAAE3E,KAAM;AACbyQ,QAAAA,QAAQ,EAAEI,0BAAoB,CAACf,QAAQ,CAAE;AACzCnF,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEtK,KAAK,EAAA;AAAA,UAAA,OAAIA,KAAK,CAACkQ,eAAe,EAAE;AAAA,QAAA;AAAC,OAC3C,CAAC,eACFtH,cAAA,CAACyD,iBAAM,EAAA;AAACnK,QAAAA,IAAI,EAAEuO,iBAAM;AAACjQ,QAAAA,IAAI,EAAC,IAAI;AAAC8J,QAAAA,OAAO,EAAEuF;AAAW,OAAE,CAAC,eACtDjH,cAAA,CAACyD,iBAAM,EAAA;AACLnK,QAAAA,IAAI,EAAEwO,aAAE;AACRlQ,QAAAA,IAAI,EAAC,IAAI;AACT2K,QAAAA,OAAO,EAAC,OAAO;AACfb,QAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACbtM,UAAAA,MAAM,CAACuM,QAAQ,CAAClD,KAAK,EAAE;AACvBuI,UAAAA,SAAS,EAAE;AACb,QAAA;AAAE,OACH,CAAC,eACFhH,cAAA,CAACyD,iBAAM,EAAA;AACLnK,QAAAA,IAAI,EAAEyO,oBAAS;AACfnQ,QAAAA,IAAI,EAAC,IAAI;AACT2K,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,YAAY,EAAE;AACZhO,UAAAA,OAAO,EAAE1B,CAAC,CAAC,mCAAmC,CAAC;AAC/CuP,UAAAA,QAAQ,EAAE;SACV;AACFX,QAAAA,OAAO,EAAEwF;AAAY,OACtB,CAAC;AAAA,KACC,CAAC;AAAA,GACH,CACN;AAED,EAAA,IAAIhG,eAAe,EAAE;AACnB,IAAA,oBACEyD,mBAAA,CAAC/D,uBAAY,CAACmB,OAAO,EAAA;AACb1I,MAAAA,KAAK,EAALA,KAAK;AACX2I,MAAAA,YAAY,EAAE;AAAEC,QAAAA,SAAS,EAAE;OAAqC;AAChE3I,MAAAA,IAAI,EAAE0O,oBAAS;AACf1J,MAAAA,GAAG,EAAE+H,QAAS;AACdlE,MAAAA,YAAY,EAAE;AACZ,QAAA,aAAa,EAAE;AACjB;AAAE,KAAA,EAEDkF,aACmB,CAAC;AAE3B,EAAA;EAEA,oBACErH,cAAA,CAACY,uBAAY,EAAA;AACX8F,IAAAA,aAAa,EAAE,KAAM;AACrBtE,IAAAA,aAAa,EAAE;AAAEH,MAAAA,SAAS,EAAE;KAAqC;AACjE3I,IAAAA,IAAI,EAAE0O,oBAAS;AAEf3F,IAAAA,QAAQ,EAAC,cAAc;AACvBC,IAAAA,WAAW,EAAE;AACXC,MAAAA,OAAO,EAAExL,KAAK,GAAG,WAAW,GAAG,OAAO;MACtC2M,QAAQ,EAAE,EAAE;AACZlB,MAAAA,YAAY,EAAE;AAAEhO,QAAAA,OAAO,EAAEwM,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAdA,cAAc,GAAI3H,KAAK;AAAEgJ,QAAAA,QAAQ,EAAE;OAAU;AACtEJ,MAAAA,SAAS,EACP,oEAAoE;AACtE,MAAA,aAAa,EAAE;KACf;AAAAH,IAAAA,QAAA,EAEDuF;AAAa,GAAA,EAXThB,QAYO,CAAC;AAEnB,CAAC;;AC1GD,IAAM4B,UAAU,GAAG,SAAbA,UAAUA,CAAA9U,IAAA,EAA0D;AAAA,EAAA,IAApDiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IAAE8S,WAAW,GAAA/U,IAAA,CAAX+U,WAAW;IAAEC,wBAAwB,GAAAhV,IAAA,CAAxBgV,wBAAwB;AACjE,EAAA,IAAAtD,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAAmT,SAAA,GAAwBC,cAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA7BmC,IAAAA,IAAI,GAAAjC,UAAA,CAAA,CAAA,CAAA;AAAEkC,IAAAA,OAAO,GAAAlC,UAAA,CAAA,CAAA,CAAA;AAEpBiB,EAAAA,eAAS,CAAC,YAAM;IACdiB,OAAO,CAACjT,MAAM,CAAC6P,aAAa,CAAC,MAAM,CAAC,CAACqD,IAAI,IAAI,EAAE,CAAC;AAClD,EAAA,CAAC,EAAE,CAAClT,MAAM,CAAC,CAAC;AAEZ,EAAA,IAAMmT,aAAa,GAAG,SAAhBA,aAAaA,CAAGnR,KAAK,EAAI;AAC7B,IAAA,IAAIA,KAAK,CAACkH,GAAG,KAAK,QAAQ,EAAE;AAC1B4J,MAAAA,WAAW,EAAE;AACf,IAAA,CAAC,MAAM,IAAI9Q,KAAK,CAACkH,GAAG,KAAK,OAAO,EAAE;AAChCkK,MAAAA,YAAY,EAAE;AAChB,IAAA;EACF,CAAC;AAED,EAAA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAIvV,iCAAuB,CAACgD,IAAI,CAACmS,IAAI,CAAC,EAAE;MACtChT,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC4J,OAAO,CAAC;AAAEC,QAAAA,IAAI,EAAEF;AAAK,OAAC,CAAC,CAACxJ,GAAG,EAAE;AACpDsJ,MAAAA,WAAW,EAAE;AACf,IAAA,CAAC,MAAM,IAAIO,sBAAY,CAACL,IAAI,CAAC,EAAE;AAC7BhT,MAAAA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACiK,SAAS,EAAE,CAAC9J,GAAG,EAAE;AACxCsJ,MAAAA,WAAW,EAAE;AACf,IAAA,CAAC,MAAM;MACLG,OAAO,CAAC,EAAE,CAAC;AACXF,MAAAA,wBAAwB,EAAE;AAC5B,IAAA;EACF,CAAC;AAED,EAAA,IAAMQ,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACxB,IAAA,IAAIP,IAAI,EAAE;MACRC,OAAO,CAAC,EAAE,CAAC;AACXjT,MAAAA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACiK,SAAS,EAAE,CAAC9J,GAAG,EAAE;AAC1C,IAAA,CAAC,MAAM;AACLsJ,MAAAA,WAAW,EAAE;AACf,IAAA;EACF,CAAC;AAED,EAAA,oBACEzC,eAAA,CAAA,KAAA,EAAA;AAAKxD,IAAAA,SAAS,EAAC,gCAAgC;AAAC4D,IAAAA,SAAS,EAAE0C,aAAc;AAAAzG,IAAAA,QAAA,gBACvE9B,cAAA,CAAA,OAAA,EAAA;MACE0H,SAAS,EAAA,IAAA;AACTzF,MAAAA,SAAS,EAAC,sCAAsC;AAChD,MAAA,aAAA,EAAY,yBAAyB;AACrCZ,MAAAA,IAAI,EAAC,KAAK;AACVsG,MAAAA,WAAW,EAAE7U,CAAC,CAAC,oCAAoC,CAAE;AACrD4I,MAAAA,KAAK,EAAE0M,IAAK;AACZZ,MAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAnJ,KAAA,EAAA;AAAA,QAAA,IAAe3C,KAAK,GAAA2C,KAAA,CAAfuK,MAAM,CAAIlN,KAAK;AAAA,QAAA,OAC1B2M,OAAO,CAACtS,oBAAoB,CAAC2F,KAAK,CAAC,CAAC;AAAA,MAAA;AACrC,KACF,CAAC,eACFsE,cAAA,CAACyD,iBAAM,EAAA;AACL,MAAA,aAAA,EAAY,iCAAiC;AAC7CnK,MAAAA,IAAI,EAAEwO,aAAE;AACRlQ,MAAAA,IAAI,EAAC,IAAI;AACT2K,MAAAA,OAAO,EAAC,WAAW;AACnBb,MAAAA,OAAO,EAAEiH;AAAY,KACtB,CAAC;AAAA,GACC,CAAC;AAEV,CAAC;;AChED,IAAME,aAAW,GAAG,SAAdA,WAAWA,CAAA1V,IAAA,EAAgC;AAAA,EAAA,IAA1BiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IAAE8S,WAAW,GAAA/U,IAAA,CAAX+U,WAAW;AACxC,EAAA,IAAArD,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAAmT,SAAA,GAAwBC,cAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5B7S,IAAAA,IAAI,GAAA+S,UAAA,CAAA,CAAA,CAAA;AAAE2C,IAAAA,OAAO,GAAA3C,UAAA,CAAA,CAAA,CAAA;AACpB,EAAA,IAAAW,UAAA,GAA8BZ,cAAQ,CAAC,CAAC,CAAC;IAAAa,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAlCiC,IAAAA,OAAO,GAAAhC,UAAA,CAAA,CAAA,CAAA;AAAEiC,IAAAA,UAAU,GAAAjC,UAAA,CAAA,CAAA,CAAA;AAE1B,EAAA,IAAMyB,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBpT,MAAM,CACHoJ,KAAK,EAAE,CACPC,KAAK,EAAE,CACPwK,WAAW,CAAC;AAAE7V,MAAAA,IAAI,EAAJA,IAAI;AAAE8V,MAAAA,IAAI,EAAEH,OAAO;AAAEI,MAAAA,aAAa,EAAE;KAAM,CAAC,CACzDvK,GAAG,EAAE,EACNkK,OAAO,CAAC,CAAC,CAAC;IACZE,UAAU,CAAC,CAAC,CAAC;AACbd,IAAAA,WAAW,EAAE;EACf,CAAC;AAED,EAAA,oBACEzC,eAAA,CAAA,KAAA,EAAA;AAAKxD,IAAAA,SAAS,EAAC,iCAAiC;AAAAH,IAAAA,QAAA,gBAC9C2D,eAAA,CAAA,KAAA,EAAA;AAAKxD,MAAAA,SAAS,EAAC,4CAA4C;MAAAH,QAAA,EAAA,cACzD9B,cAAA,CAAC2F,gBAAK,EAAA;AAAC1D,QAAAA,SAAS,EAAC,8CAA8C;QAAAH,QAAA,EAC5DhP,CAAC,CAAC,uBAAuB;OACrB,CAAC,eACRkN,cAAA,CAAA,OAAA,EAAA;QACE0H,SAAS,EAAA,IAAA;AACT,QAAA,aAAA,EAAY,2CAA2C;AACvD0B,QAAAA,GAAG,EAAC,GAAG;AACP9U,QAAAA,IAAI,EAAC,QAAQ;AACboH,QAAAA,KAAK,EAAEtI,IAAK;QACZoU,QAAQ,EAAEI,0BAAoB,CAACkB,OAAO;AAAE,OACzC,CAAC;KACC,CAAC,eACNrD,eAAA,CAAA,KAAA,EAAA;AAAKxD,MAAAA,SAAS,EAAC,4CAA4C;MAAAH,QAAA,EAAA,cACzD9B,cAAA,CAAC2F,gBAAK,EAAA;AAAC1D,QAAAA,SAAS,EAAC,8CAA8C;QAAAH,QAAA,EAC5DhP,CAAC,CAAC,0BAA0B;OACxB,CAAC,eACRkN,cAAA,CAAA,OAAA,EAAA;AACE,QAAA,aAAA,EAAY,6CAA6C;AACzDoJ,QAAAA,GAAG,EAAC,GAAG;AACP9U,QAAAA,IAAI,EAAC,QAAQ;AACboH,QAAAA,KAAK,EAAEqN,OAAQ;QACfvB,QAAQ,EAAEI,0BAAoB,CAACoB,UAAU;AAAE,OAC5C,CAAC;KACC,CAAC,eACNvD,eAAA,CAAA,KAAA,EAAA;AAAKxD,MAAAA,SAAS,EAAC,0CAA0C;MAAAH,QAAA,EAAA,cACvD9B,cAAA,CAACyD,iBAAM,EAAA;AACL,QAAA,aAAA,EAAY,qDAAqD;AACjEnK,QAAAA,IAAI,EAAEuO,iBAAM;AACZjQ,QAAAA,IAAI,EAAC,IAAI;AACT2K,QAAAA,OAAO,EAAC,WAAW;AACnBb,QAAAA,OAAO,EAAE8G;AAAa,OACvB,CAAC,eACFxI,cAAA,CAACyD,iBAAM,EAAA;AACL,QAAA,aAAA,EAAY,oDAAoD;AAChEnK,QAAAA,IAAI,EAAEwO,aAAE;AACRlQ,QAAAA,IAAI,EAAC,IAAI;AACT2K,QAAAA,OAAO,EAAC,WAAW;AACnBb,QAAAA,OAAO,EAAEwG;AAAY,OACtB,CAAC;AAAA,KACC,CAAC;AAAA,GACH,CAAC;AAEV,CAAC;;;;ACxCM,IAAMmB,mBAAiB,GAAG,SAApBA,iBAAiBA,CAAAlW,IAAA,EAAA;AAAA,EAAA,IAC5BmW,QAAQ,GAAAnW,IAAA,CAARmW,QAAQ;IACRlU,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNmU,gBAAgB,GAAApW,IAAA,CAAhBoW,gBAAgB;IAChBC,eAAe,GAAArW,IAAA,CAAfqW,eAAe;IACfC,kBAAkB,GAAAtW,IAAA,CAAlBsW,kBAAkB;EAAA,OACb;AACLC,IAAAA,IAAI,EAAE,CACJ;AACE1F,MAAAA,IAAI,EAAE2F,gBAAI;MACVhH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmL,UAAU,EAAE,CAAChL,GAAG,EAAE;AAAA,MAAA,CAAA;AACxDiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,MAAM,CAAC;AAC/BX,MAAAA,UAAU,EAAE,MAAM;AAClBkH,MAAAA,OAAO,EAAER,QAAQ,CAACS,IAAI,IAAIjX,MAAC,CAAC,uBAAuB;AACrD,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAEgG,kBAAM;MACZrH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACwL,YAAY,EAAE,CAACrL,GAAG,EAAE;AAAA,MAAA,CAAA;AAC1DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,QAAQ,CAAC;AACjCX,MAAAA,UAAU,EAAE,QAAQ;AACpBkH,MAAAA,OAAO,EAAER,QAAQ,CAACY,MAAM,IAAIpX,MAAC,CAAC,yBAAyB;AACzD,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAEmG,qBAAS;MACfxH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC2L,eAAe,EAAE,CAACxL,GAAG,EAAE;AAAA,MAAA,CAAA;AAC7DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,WAAW,CAAC;AACpCX,MAAAA,UAAU,EAAE,WAAW;AACvBkH,MAAAA,OAAO,EAAER,QAAQ,CAACe,SAAS,IAAIvX,MAAC,CAAC,4BAA4B;AAC/D,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAEsG,gBAAI;MACV3H,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ8G,kBAAkB,CAACc,SAAG,CAAC;AAAA,MAAA,CAAA;AACtC3H,MAAAA,UAAU,EAAE,MAAM;AAClBkH,MAAAA,OAAO,EAAE;AACX,KAAC,EACD;AACE9F,MAAAA,IAAI,EAAEwG,yBAAa;MACnB7H,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACgM,YAAY,EAAE,CAAC7L,GAAG,EAAE;AAAA,MAAA,CAAA;AAC1DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,QAAQ,CAAC;AACjCX,MAAAA,UAAU,EAAE,QAAQ;AACpBkH,MAAAA,OAAO,EAAER,QAAQ,CAACoB,MAAM,IAAI5X,MAAC,CAAC,yBAAyB;AACzD,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAE2G,uBAAW;MACjBhI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmM,eAAe,EAAE,CAAChM,GAAG,EAAE;AAAA,MAAA,CAAA;AAC7DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,WAAW,CAAC;AACpCX,MAAAA,UAAU,EAAE,WAAW;AACvBkH,MAAAA,OAAO,EAAER,QAAQ,CAACzG,SAAS,IAAI/P,MAAC,CAAC,4BAA4B;AAC/D,KAAC,CACF;AACD+X,IAAAA,KAAK,EAAE,CACL;AACE7G,MAAAA,IAAI,EAAE8G,iBAAK;MACXnI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACsM,gBAAgB,EAAE,CAACnM,GAAG,EAAE;AAAA,MAAA,CAAA;AAC9DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,YAAY,CAAC;AACrCX,MAAAA,UAAU,EAAE,aAAa;AACzBC,MAAAA,SAAS,EAAE,IAAI;AACfiH,MAAAA,OAAO,EAAER,QAAQ,CAAC0B,UAAU,IAAIlY,MAAC,CAAC,6BAA6B;AACjE,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAEiH,gBAAI;MACVtI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACyM,UAAU,EAAE,CAACtM,GAAG,EAAE;AAAA,MAAA,CAAA;AACxDiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,MAAM,CAAC;AAC/BX,MAAAA,UAAU,EAAE,MAAM;AAClBkH,MAAAA,OAAO,EAAER,QAAQ,CAAC6B,IAAI,IAAIrY,MAAC,CAAC,uBAAuB;AACrD,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAEoH,sBAAU;MAChBzI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC4M,eAAe,EAAE,CAACzM,GAAG,EAAE;AAAA,MAAA,CAAA;AAC7DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,WAAW,CAAC;AACpCX,MAAAA,UAAU,EAAE,YAAY;AACxBkH,MAAAA,OAAO,EAAER,QAAQ,CAACgC,SAAS,IAAIxY,MAAC,CAAC,4BAA4B;AAC/D,KAAC,CACF;AACDyY,IAAAA,IAAI,EAAE,CACJ;AACEvH,MAAAA,IAAI,EAAEwH,gBAAI;MACV7I,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACgN,gBAAgB,EAAE,CAAC7M,GAAG,EAAE;AAAA,MAAA,CAAA;AAC9DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,YAAY,CAAC;AACrCX,MAAAA,UAAU,EAAE,aAAa;AACzBC,MAAAA,SAAS,EAAE,IAAI;AACfiH,MAAAA,OAAO,EAAER,QAAQ,CAACoC,UAAU,IAAI5Y,MAAC,CAAC,+BAA+B;AACnE,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAE2H,uBAAW;MACjBhJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmN,iBAAiB,EAAE,CAAChN,GAAG,EAAE;AAAA,MAAA,CAAA;AAC/DiL,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,aAAa,CAAC;AACtCX,MAAAA,UAAU,EAAE,cAAc;AAC1BC,MAAAA,SAAS,EAAE,IAAI;AACfiH,MAAAA,OAAO,EAAER,QAAQ,CAACuC,WAAW,IAAI/Y,MAAC,CAAC,8BAA8B;AACnE,KAAC,CACF;AACDgZ,IAAAA,IAAI,EAAE,CACJ;AACE9H,MAAAA,IAAI,EAAE+H,qBAAS;AACfpJ,MAAAA,OAAO,EAAE6G,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEwC,uBAAuB;AACjDjJ,MAAAA,QAAQ,EAAEyG,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEyC,UAAU;AACrCpC,MAAAA,MAAM,EAAE,KAAK;AACbjH,MAAAA,UAAU,EAAE,aAAa;AACzBkH,MAAAA,OAAO,EAAER,QAAQ,CAAC4C,WAAW,IAAIpZ,MAAC,CAAC,8BAA8B;AACnE,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAEmI,mBAAO;MACbxJ,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ4G,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAAA,MAAA,CAAA;AACrDxJ,MAAAA,UAAU,EAAE,cAAc;AAC1BkH,MAAAA,OAAO,EAAER,QAAQ,CAAC+C,WAAW,IAAIvZ,MAAC,CAAC,8BAA8B;AACnE,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAEsI,iBAAK;MACX3J,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ4G,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAAA,MAAA,CAAA;AACrDxJ,MAAAA,UAAU,EAAE,cAAc;AAC1BkH,MAAAA,OAAO,EAAER,QAAQ,CAACiD,WAAW,IAAIzZ,MAAC,CAAC,8BAA8B;AACnE,KAAC,CACF;AACD0Z,IAAAA,KAAK,EAAE,CACL;AACExI,MAAAA,IAAI,EAAEyI,gBAAI;MACV9J,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACiO,IAAI,EAAE,CAAC9N,GAAG,EAAE;AAAA,MAAA,CAAA;AAClDiL,MAAAA,MAAM,EAAE,KAAK;MACb9G,QAAQ,EAAE,CAAC3N,MAAM,CAACuX,GAAG,EAAE,CAACD,IAAI,EAAE;AAC9B9J,MAAAA,UAAU,EAAE,MAAM;AAClBkH,MAAAA,OAAO,EAAER,QAAQ,CAACoD,IAAI,IAAI5Z,MAAC,CAAC,uBAAuB;AACrD,KAAC,EACD;AACEkR,MAAAA,IAAI,EAAE4I,gBAAI;MACVjK,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACoO,IAAI,EAAE,CAACjO,GAAG,EAAE;AAAA,MAAA,CAAA;AAClDiL,MAAAA,MAAM,EAAE,KAAK;MACb9G,QAAQ,EAAE,CAAC3N,MAAM,CAACuX,GAAG,EAAE,CAACE,IAAI,EAAE;AAC9BjK,MAAAA,UAAU,EAAE,MAAM;AAClBkH,MAAAA,OAAO,EAAER,QAAQ,CAACuD,IAAI,IAAI/Z,MAAC,CAAC,uBAAuB;KACpD;GAEJ;AAAA,CAAC;AAEK,IAAMga,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAAzO,KAAA,EAO7B;AAAA,EAAA,IANJiL,QAAQ,GAAAjL,KAAA,CAARiL,QAAQ;IACRlU,MAAM,GAAAiJ,KAAA,CAANjJ,MAAM;IACN6C,OAAO,GAAAoG,KAAA,CAAPpG,OAAO;IACPsR,gBAAgB,GAAAlL,KAAA,CAAhBkL,gBAAgB;IAChBC,eAAe,GAAAnL,KAAA,CAAfmL,eAAe;IACfC,kBAAkB,GAAApL,KAAA,CAAlBoL,kBAAkB;EAElB,IAAMsD,WAAW,GAAG1D,mBAAiB,CAAC;AACpCC,IAAAA,QAAQ,EAARA,QAAQ;AACRlU,IAAAA,MAAM,EAANA,MAAM;AACNmU,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,IAAAA,eAAe,EAAfA,eAAe;AACfC,IAAAA,kBAAkB,EAAlBA;AACF,GAAC,CAAC;AAEF,EAAA,OAAOuD,eAAS,CACd,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAACvU,GAAG,CAAC,UAAAwU,MAAM,EAAA;IAAA,OAAI,CACvDA,MAAM,EACNF,WAAW,CAACE,MAAM,CAAC,CAAC3U,MAAM,CAAC,UAAA4U,IAAI,EAAA;AAAA,MAAA,OAAIjV,OAAO,CAACO,QAAQ,CAAC0U,IAAI,CAACtK,UAAU,CAAC;AAAA,IAAA,CAAA,CAAC,CACtE;AAAA,EAAA,CAAA,CACH,CAAC;AACH,CAAC;AAEM,IAAMuK,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAA4B;AAAA,EAAA,IAAtBhY,MAAM,GAAAgY,KAAA,CAANhY,MAAM;IAAE6C,OAAO,GAAAmV,KAAA,CAAPnV,OAAO;AAC1D,EAAA,IAAMoV,WAAW,GAAAlV,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAA,EAAA,EACdpH,wBAAc,CAACO,EAAE,EAAG;AACnBsR,IAAAA,UAAU,EAAE,WAAW;AACvBtJ,IAAAA,IAAI,EAAEgU,oBAAQ;AACdzD,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,SAAS,EAAE;AAAEgK,MAAAA,KAAK,EAAE;AAAE,KAAC,CAAC;IAChD5K,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OACLvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC+O,OAAO,CAAC,SAAS,EAAE;AAAED,QAAAA,KAAK,EAAE;AAAE,OAAC,CAAC,CAAC3O,GAAG,EAAE;AAAA,IAAA;AACjE,GAAC,CAAA,EACA7N,wBAAc,CAACQ,EAAE,EAAG;AACnBqR,IAAAA,UAAU,EAAE,WAAW;AACvBtJ,IAAAA,IAAI,EAAEmU,oBAAQ;AACd5D,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,SAAS,EAAE;AAAEgK,MAAAA,KAAK,EAAE;AAAE,KAAC,CAAC;IAChD5K,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OACLvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC+O,OAAO,CAAC,SAAS,EAAE;AAAED,QAAAA,KAAK,EAAE;AAAE,OAAC,CAAC,CAAC3O,GAAG,EAAE;AAAA,IAAA;AACjE,GAAC,CAAA,EACA7N,wBAAc,CAACS,EAAE,EAAG;AACnBoR,IAAAA,UAAU,EAAE,WAAW;AACvBtJ,IAAAA,IAAI,EAAEoU,oBAAQ;AACd7D,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,SAAS,EAAE;AAAEgK,MAAAA,KAAK,EAAE;AAAE,KAAC,CAAC;IAChD5K,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OACLvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC+O,OAAO,CAAC,SAAS,EAAE;AAAED,QAAAA,KAAK,EAAE;AAAE,OAAC,CAAC,CAAC3O,GAAG,EAAE;AAAA,IAAA;AACjE,GAAC,CAAA,EACA7N,wBAAc,CAACM,SAAS,EAAG;AAC1BuR,IAAAA,UAAU,EAAE,MAAM;AAClBtJ,IAAAA,IAAI,EAAEqU,mBAAO;AACb9D,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,WAAW,CAAC;IACpCZ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC+O,OAAO,CAAC,WAAW,CAAC,CAAC5O,GAAG,EAAE;AAAA,IAAA;AAClE,GAAC,CACF;EAED,IAAM8B,MAAM,GAAG,EAAE;AACjBzI,EAAAA,OAAO,CAAC9D,OAAO,CAAC,UAAA8Y,MAAM,EAAI;AACxB,IAAA,IAAI,CAACI,WAAW,CAACJ,MAAM,CAAC,EAAE;AAC1BvM,IAAAA,MAAM,CAAC7L,IAAI,CAACwY,WAAW,CAACJ,MAAM,CAAC,CAAC;AAClC,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOvM,MAAM;AACf,CAAC;AAEM,IAAMkN,WAAW,GAAG,SAAdA,WAAWA,CAAG3V,OAAO,EAAA;AAAA,EAAA,IAAA4V,aAAA;AAAA,EAAA,OAChC,EAAAA,aAAA,GAAA5V,OAAO,CAAC6V,IAAI,CAACC,UAAI,CAAC,QAAQ,CAAC,CAAC,cAAAF,aAAA,KAAA,MAAA,GAAA,MAAA,GAA5BA,aAAA,CAA8BvU,IAAI,KAAIqU,mBAAO;AAAA,CAAA;AAExC,IAAMK,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAAA;AAAA,EAAA,IAC7BnE,OAAO,GAAAmE,KAAA,CAAPnE,OAAO;IACP9F,IAAI,GAAAiK,KAAA,CAAJjK,IAAI;IACJrB,OAAO,GAAAsL,KAAA,CAAPtL,OAAO;IACPkH,MAAM,GAAAoE,KAAA,CAANpE,MAAM;IACNjH,UAAU,GAAAqL,KAAA,CAAVrL,UAAU;IACVC,SAAS,GAAAoL,KAAA,CAATpL,SAAS;AAAA,EAAA,oBAET7C,cAAA,CAACyD,iBAAM,EAAAnE,eAAA,CAAA;AACL2C,IAAAA,SAAS,EAAC,iBAAiB;IAC3B,aAAA,EAAA,2BAAA,CAAA3O,MAAA,CAAyCsP,UAAU,EAAA,SAAA,CAAU;AAC7DtJ,IAAAA,IAAI,EAAE0K,IAAK;AAEXpM,IAAAA,IAAI,EAAC,SAAS;AACd4K,IAAAA,YAAY,EAAE;AAAEhO,MAAAA,OAAO,EAAEsV,OAAO;AAAEzH,MAAAA,QAAQ,EAAE;KAAW;AACvDE,IAAAA,OAAO,EAAEsH,MAAM,GAAG,WAAW,GAAG,OAAQ;AACxCnI,IAAAA,OAAO,EAAEiB;AAAQ,GAAA,EACbiB,iCAAkB,CAACf,SAAS,CAAC,CAAA,EAL5BD,UAMN,CAAC;AAAA,CACH;;AClOD,IAAMsL,OAAO,GAAG,SAAVA,OAAOA,CAAA/a,IAAA,EAcP;AAAA,EAAA,IAbJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACN6C,OAAO,GAAA9E,IAAA,CAAP8E,OAAO;IACP8I,QAAQ,GAAA5N,IAAA,CAAR4N,QAAQ;IACRuI,QAAQ,GAAAnW,IAAA,CAARmW,QAAQ;IACR6E,gBAAgB,GAAAhb,IAAA,CAAhBgb,gBAAgB;IAChBC,kBAAkB,GAAAjb,IAAA,CAAlBib,kBAAkB;IAClBC,mBAAmB,GAAAlb,IAAA,CAAnBkb,mBAAmB;IACnBC,qBAAqB,GAAAnb,IAAA,CAArBmb,qBAAqB;IACrBC,sBAAsB,GAAApb,IAAA,CAAtBob,sBAAsB;IACtBhF,gBAAgB,GAAApW,IAAA,CAAhBoW,gBAAgB;IAChBC,eAAe,GAAArW,IAAA,CAAfqW,eAAe;IACfgF,mBAAmB,GAAArb,IAAA,CAAnBqb,mBAAmB;IACnBC,sBAAsB,GAAAtb,IAAA,CAAtBsb,sBAAsB;AAEtB,EAAA,IAAA5J,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;EAET,IAAM4b,eAAe,GAAGvB,0BAA0B,CAAC;AAAE/X,IAAAA,MAAM,EAANA,MAAM;AAAE6C,IAAAA,OAAO,EAAPA;AAAQ,GAAC,CAAC;AACvE,EAAA,IAAM+L,IAAI,GAAG4J,WAAW,CAACc,eAAe,CAAC;EACzC,IAAMC,aAAa,GAAG1W,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC6d,KAAK,CAAC;EAC5D,IAAMC,uBAAuB,GAAG5W,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC+d,UAAU,CAAC;EAC3E,IAAMC,YAAY,GAAG9W,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACK,IAAI,CAAC;EAC1D,IAAM4d,aAAa,GAAG/W,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACke,KAAK,CAAC;EAE5D,IAAAC,qBAAA,GAIIpC,sBAAsB,CAAC;AACzB1X,MAAAA,MAAM,EAANA,MAAM;AACN6C,MAAAA,OAAO,EAAPA,OAAO;AACPsR,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,MAAAA,QAAQ,EAARA,QAAQ;AACRE,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAE6E;AACtB,KAAC,CAAC;IAVMa,gBAAgB,GAAAD,qBAAA,CAAtBxF,IAAI;IACG0F,iBAAiB,GAAAF,qBAAA,CAAxBrE,KAAK;IACCwE,gBAAgB,GAAAH,qBAAA,CAAtB3D,IAAI;AAUN,EAAA,IAAMpD,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAS;IACrCgG,gBAAgB,CAAC,IAAI,CAAC;AACtBmB,IAAAA,UAAU,CAAC,YAAM;MACfnB,gBAAgB,CAAC,KAAK,CAAC;IACzB,CAAC,EAAE,IAAI,CAAC;EACV,CAAC;AAED,EAAA,IAAIC,kBAAkB,EAAE;IACtB,oBACEpO,cAAA,CAACiI,UAAU,EAAA;AACH7S,MAAAA,MAAM,EAANA,MAAM;AAAE+S,MAAAA,wBAAwB,EAAxBA,wBAAwB;MACtCD,WAAW,EAAE,SAAbA,WAAWA,GAAA;QAAA,OAAQoG,qBAAqB,CAAC,KAAK,CAAC;AAAA,MAAA;AAAC,KACjD,CAAC;AAEN,EAAA;AAEA,EAAA,IAAID,mBAAmB,EAAE;IACvB,oBACErO,cAAA,CAAC6I,aAAW,EAAA;AACJzT,MAAAA,MAAM,EAANA,MAAM;MACZ8S,WAAW,EAAE,SAAbA,WAAWA,GAAA;QAAA,OAAQqG,sBAAsB,CAAC,KAAK,CAAC;AAAA,MAAA;AAAC,KAClD,CAAC;AAEN,EAAA;EAEA,oBACE9I,eAAA,CAAAC,mBAAA,EAAA;IAAA5D,QAAA,EAAA,cACE2D,eAAA,CAAC8J,eAAO,EAAA;MAAAzN,QAAA,EAAA,cACN9B,cAAA,CAACwP,sBAAc,EAAA;QAACC,OAAO,EAAA,IAAA;QAAA3N,QAAA,eACrB9B,cAAA,CAACyD,iBAAM,EAAA;AACLxB,UAAAA,SAAS,EAAC,qEAAqE;AAC/E,UAAA,aAAA,EAAY,0CAA0C;AACtD3I,UAAAA,IAAI,EAAE0K,IAAK;AACX0L,UAAAA,YAAY,EAAC,MAAM;AACnBC,UAAAA,QAAQ,eAAE3P,cAAA,CAAC4P,uBAAW,IAAE,CAAE;AAC1BrN,UAAAA,OAAO,EAAC;SACT;AAAC,OACY,CAAC,eACjBvC,cAAA,CAAC6P,sBAAc,EAAA;AACbC,QAAAA,KAAK,EAAC,OAAO;AACb7N,QAAAA,SAAS,EAAC,8DAA8D;AACxE8N,QAAAA,IAAI,EAAC,QAAQ;AACbC,QAAAA,eAAe,EAAE,SAAjBA,eAAeA,CAAEjW,CAAC,EAAA;AAAA,UAAA,OAAIA,CAAC,CAACkW,cAAc,EAAE;QAAA,CAAC;AAAAnO,QAAAA,QAAA,EAExC4M,eAAe,CAACjW,GAAG,CAAC,UAAA4F,KAAA,EAAA;AAAA,UAAA,IAAGuE,UAAU,GAAAvE,KAAA,CAAVuE,UAAU;YAAED,OAAO,GAAAtE,KAAA,CAAPsE,OAAO;YAAQqB,IAAI,GAAA3F,KAAA,CAAV/E,IAAI;UAAA,oBAC/C0G,cAAA,CAACyD,iBAAM,EAAA;YACLyM,SAAS,EAAA,IAAA;AACTjO,YAAAA,SAAS,EAAC,eAAe;YACzB3I,IAAI,eAAE0G,cAAA,CAACgE,IAAI,EAAA;AAACpM,cAAAA,IAAI,EAAE;AAAG,aAAE,CAAE;AACzB8X,YAAAA,YAAY,EAAC,MAAM;AAEnBrW,YAAAA,KAAK,EAAEuJ,UAAW;AAClBhL,YAAAA,IAAI,EAAC,IAAI;AACT2K,YAAAA,OAAO,EAAC,OAAO;AACfb,YAAAA,OAAO,EAAEiB;AAAQ,WAAA,EAJZC,UAKN,CAAC;QAAA,CACH;AAAC,OACY,CAAC;KACV,CAAC,EACTuM,gBAAgB,CAAC1W,GAAG,CAACuV,kBAAkB,CAAC,EACxCoB,iBAAiB,CAAC3W,GAAG,CAACuV,kBAAkB,CAAC,EACzCa,uBAAuB,iBACtB7O,cAAA,CAAC4G,eAAe,EAAA;AACRxR,MAAAA,MAAM,EAANA,MAAM;AACZ4L,MAAAA,cAAc,EAAEsI,QAAQ,CAAC6G,SAAS,IAAIrd,CAAC,CAAC,4BAA4B;AAAE,KACvE,CACF,EACA6b,aAAa,iBACZ3O,cAAA,CAACgG,WAAW,EAAA;AACJ5Q,MAAAA,MAAM,EAANA,MAAM;AACZmO,MAAAA,QAAQ,EAAEiL,mBAAoB;AAC9BvP,MAAAA,SAAS,EAAEwP,sBAAuB;AAClCzN,MAAAA,cAAc,EAAEsI,QAAQ,CAACzK,KAAK,IAAI/L,CAAC,CAAC,wBAAwB;AAAE,KAC/D,CACF,EACAuc,gBAAgB,CAAC5W,GAAG,CAACuV,kBAAkB,CAAC,EACxCe,YAAY,IACXf,kBAAkB,CAAC;AACjBhK,MAAAA,IAAI,EAAEsG,gBAAI;MACV3H,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ2L,qBAAqB,CAAC,IAAI,CAAC;AAAA,MAAA,CAAA;AAC1CzE,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,MAAM,CAAC;AAC/BX,MAAAA,UAAU,EAAE,MAAM;AAClBC,MAAAA,SAAS,EAAE,KAAK;AAChBiH,MAAAA,OAAO,EAAER,QAAQ,CAAClB,IAAI,IAAItV,CAAC,CAAC,uBAAuB;AACrD,KAAC,CAAC,EACHkc,aAAa,IACZhB,kBAAkB,CAAC;AACjBhK,MAAAA,IAAI,EAAEoM,iBAAK;MACXzN,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ4L,sBAAsB,CAAC,IAAI,CAAC;AAAA,MAAA,CAAA;AAC3C1E,MAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,OAAO,CAAC;AAChCX,MAAAA,UAAU,EAAE,OAAO;AACnBC,MAAAA,SAAS,EAAE,KAAK;AAChBiH,MAAAA,OAAO,EAAER,QAAQ,CAAC+G,KAAK,IAAIvd,CAAC,CAAC,wBAAwB;AACvD,KAAC,CAAC,eACJkN,cAAA,CAACc,QAAQ,EAAA;AACD1L,MAAAA,MAAM,EAANA,MAAM;AAAE2L,MAAAA,QAAQ,EAARA,QAAQ;AACtBC,MAAAA,cAAc,EAAEsI,QAAQ,CAACgH,OAAO,IAAIxd,CAAC,CAAC,0BAA0B;AAAE,KACnE,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;ACtJD,IAAMyd,MAAM,GAAG,SAATA,MAAMA,CAAApd,IAAA,EASN;AAAA,EAAA,IARJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACGiY,WAAW,GAAAla,IAAA,CAApB8E,OAAO;IAAAuY,aAAA,GAAArd,IAAA,CACP4N,QAAQ;AAARA,IAAAA,QAAQ,GAAAyP,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACbjH,gBAAgB,GAAApW,IAAA,CAAhBoW,gBAAgB;IAAAkH,aAAA,GAAAtd,IAAA,CAChBmW,QAAQ;AAARA,IAAAA,QAAQ,GAAAmH,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACbjH,eAAe,GAAArW,IAAA,CAAfqW,eAAe;IACfgF,mBAAmB,GAAArb,IAAA,CAAnBqb,mBAAmB;IACnBC,sBAAsB,GAAAtb,IAAA,CAAtBsb,sBAAsB;AAEtB,EAAA,IAAAxI,SAAA,GAA0CC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlDyK,IAAAA,aAAa,GAAAvK,UAAA,CAAA,CAAA,CAAA;AAAEgI,IAAAA,gBAAgB,GAAAhI,UAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAW,UAAA,GAAoDZ,cAAQ,CAAC,KAAK,CAAC;IAAAa,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAA5DsH,IAAAA,kBAAkB,GAAArH,UAAA,CAAA,CAAA,CAAA;AAAEuH,IAAAA,qBAAqB,GAAAvH,UAAA,CAAA,CAAA,CAAA;AAChD,EAAA,IAAA4J,UAAA,GAAsDzK,cAAQ,CAAC,KAAK,CAAC;IAAA0K,UAAA,GAAAxK,+BAAA,CAAAuK,UAAA,EAAA,CAAA,CAAA;AAA9DtC,IAAAA,mBAAmB,GAAAuC,UAAA,CAAA,CAAA,CAAA;AAAErC,IAAAA,sBAAsB,GAAAqC,UAAA,CAAA,CAAA,CAAA;AAClD,EAAA,IAAMC,YAAY,GAAGzb,MAAM,IAAIA,MAAM,CAACzB,IAAI,CAACG,KAAK,CAACgd,SAAS,CAACrc,IAAI;EAC/D,IAAMsc,mBAAmB,GACvBF,YAAY,IAAIA,YAAY,CAACvc,IAAI,CAAC+M,IAAI,KAAK,OAAO;EAEpD,IAAM2P,iBAAiB,GAAG,CACxBjgB,wBAAc,CAACC,IAAI,EACnBD,wBAAc,CAACE,MAAM,EACrBF,wBAAc,CAACG,SAAS,EACxBH,wBAAc,CAACI,aAAa,EAC5BJ,wBAAc,CAACK,IAAI,CACpB;EAED,IAAM6f,aAAa,GAAGxI,sBAAY,CAChC4E,WAAW,CAAC/U,MAAM,CAAC,UAAA2U,MAAM,EAAA;AAAA,IAAA,OAAI+D,iBAAiB,CAACxY,QAAQ,CAACyU,MAAM,CAAC;AAAA,EAAA,CAAA,CACjE,CAAC;AAED,EAAA,IAAI,CAAC7X,MAAM,IAAK,CAAC2b,mBAAmB,IAAIE,aAAc,EAAE;AACtD,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,oBACEjR,cAAA,CAAA,KAAA,EAAA;IAAA8B,QAAA,eACE9B,cAAA,CAACkR,yBAAgB,EAAA;AACT9b,MAAAA,MAAM,EAANA,MAAM;AACZ0B,MAAAA,KAAK,EAAE;AAAEqa,QAAAA,MAAM,EAAE,KAAK;AAAE1R,QAAAA,QAAQ,EAAE;OAAM;AACxCwC,MAAAA,SAAS,EAAEmP,2BAAU,CAAC,0BAA0B,EAAE;AAChD,QAAA,wCAAwC,EAAEV;AAC5C,OAAC,CAAE;AACHzY,MAAAA,OAAO,EAAE;AACPoZ,QAAAA,MAAM,EAAE,EAAE;AACVC,QAAAA,MAAM,EAAE,SAARA,MAAMA,GAAQ;UACZhD,qBAAqB,CAAC,KAAK,CAAC;UAC5BC,sBAAsB,CAAC,KAAK,CAAC;AAC/B,QAAA;OACA;MAAAzM,QAAA,eAEF9B,cAAA,CAACkO,OAAO,EAAA;AAEJ1E,QAAAA,eAAe,EAAfA,eAAe;AACfpU,QAAAA,MAAM,EAANA,MAAM;AACNoZ,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBJ,QAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBC,QAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBtN,QAAAA,QAAQ,EAARA,QAAQ;AACR0N,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBN,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBG,QAAAA,qBAAqB,EAArBA,qBAAqB;AACrBC,QAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBhF,QAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBD,QAAAA,QAAQ,EAARA,QAAQ;AAEVrR,QAAAA,OAAO,EAAEoV;OACV;KACe;AAAC,GAChB,CAAC;AAEV,CAAC;;AC/ED,IAAMkE,SAAS,GAAG,SAAZA,SAASA,GAAA;EAAA,oBAASvR,cAAA,UAAM,CAAC;AAAA,CAAA;;ACM/B,IAAMwR,QAAQ,GAAGC,gBAAK,CAAC,UAAAte,IAAA,EAAA;AAAA,EAAA,IAAGL,CAAC,GAAAK,IAAA,CAADL,CAAC;IAAE4e,WAAW,GAAAve,IAAA,CAAXue,WAAW;IAAEC,YAAY,GAAAxe,IAAA,CAAZwe,YAAY;AAAA,EAAA,oBACpD3R,cAAA,CAAA,KAAA,EAAA;AAAKiC,IAAAA,SAAS,EAAC,4BAA4B;AAAAH,IAAAA,QAAA,EACxC4P,WAAW,CAACjZ,GAAG,CAAC,UAAA4F,KAAA,EAAA;AAAA,MAAA,IAAGwD,EAAE,GAAAxD,KAAA,CAAFwD,EAAE;QAAE+P,QAAQ,GAAAvT,KAAA,CAARuT,QAAQ;QAAAC,cAAA,GAAAxT,KAAA,CAAEyT,QAAQ;AAARA,QAAAA,QAAQ,GAAAD,cAAA,KAAA,MAAA,GAAG,CAAC,GAAAA,cAAA;AAAA,MAAA,oBAC5CpM,eAAA,CAAA,KAAA,EAAA;AAAKxD,QAAAA,SAAS,EAAC,0BAA0B;AAAAH,QAAAA,QAAA,gBACvC9B,cAAA,CAAA,KAAA,EAAA;AAAKiC,UAAAA,SAAS,EAAC,iDAAiD;UAAAH,QAAA,eAC9D9B,cAAA,CAACyD,iBAAM,EAAA;AACL,YAAA,aAAA,EAAY,yCAAyC;AACrDnK,YAAAA,IAAI,EAAEwO,aAAE;AACRlQ,YAAAA,IAAI,EAAC,IAAI;AACT2K,YAAAA,OAAO,EAAC,OAAO;YACfb,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQiQ,YAAY,CAAC9P,EAAE,CAAC;AAAA,YAAA;WAChC;AAAC,SACC,CAAC,eACN7B,cAAA,CAAC+R,aAAQ,EAAA;AACP9P,UAAAA,SAAS,EAAC,sCAAsC;AAChD+P,UAAAA,QAAQ,EAAEJ;SACX,CAAC,eACFnM,eAAA,CAAA,KAAA,EAAA;AAAKxD,UAAAA,SAAS,EAAC,gCAAgC;UAAAH,QAAA,EAAA,cAC7C2D,eAAA,CAACwM,qBAAU,EAAA;AAAC1P,YAAAA,OAAO,EAAC,OAAO;AAAAT,YAAAA,QAAA,GACxBgQ,QAAQ,KAAK,GAAG,IAAIhf,CAAC,CAAC,qCAAqC,CAAC,EAC5Dgf,QAAQ,KAAK,GAAG,iBAAIrM,eAAA,CAAAC,mBAAA,EAAA;cAAA5D,QAAA,EAAA,CAAGgQ,QAAQ,EAAC,GAAC;AAAA,aAAE,CAAC;WAC3B,CAAC,eACb9R,cAAA,CAAA,KAAA,EAAA;AAAKiC,YAAAA,SAAS,EAAC,oCAAoC;AAAAH,YAAAA,QAAA,eACjD9B,cAAA,CAAA,KAAA,EAAA;AACEiC,cAAAA,SAAS,EAAC,wCAAwC;AAClDnL,cAAAA,KAAK,EAAE;gBAAEob,KAAK,EAAA,EAAA,CAAA5e,MAAA,CAAKwe,QAAQ,EAAA,GAAA;AAAI;aAChC;AAAC,WACC,CAAC,eACN9R,cAAA,CAACmS,kBAAO,EAAA;AAAC3d,YAAAA,OAAO,EAAEod,QAAS;AAACvP,YAAAA,QAAQ,EAAC,KAAK;YAAAP,QAAA,eACxC9B,cAAA,CAACiS,qBAAU,EAAA;AAAC1P,cAAAA,OAAO,EAAC,OAAO;AAAAT,cAAAA,QAAA,EAAE8P;aAAqB;AAAC,WAC5C,CAAC;AAAA,SACP,CAAC;AAAA,OAAA,EA5BuC/P,EA6B1C,CAAC;IAAA,CACP;AAAC,GACC,CAAC;AAAA,CACP,CAAC;;ACxCF,SAAA/H,cAAA,GAAA,qKAAA,IAAAC,CAAA,EAAAjH,CAAA,EAAAkH,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAtC,MAAA,CAAAuC,MAAA,CAAAJ,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAI,qBAAA,CAAAF,CAAA,EAAA,SAAA,EAAA,UAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAG,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAV,CAAA,IAAA,EAAA,EAAAW,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAZ,CAAA,EAAA,CAAA,EAAAe,CAAA,EAAAlB,CAAA,EAAAmB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAArB,CAAA,EAAA,CAAA,CAAA,EAAAoB,CAAA,WAAAA,CAAAA,CAAArI,CAAA,EAAAkH,CAAA,WAAAM,CAAA,GAAAxH,CAAA,EAAAyH,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAX,CAAA,EAAAiB,CAAA,CAAAd,CAAA,GAAAF,CAAA,EAAAkB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAC,EAAAnB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAApH,CAAA,OAAAiI,CAAA,IAAAF,CAAA,IAAA,CAAAT,CAAA,IAAAtH,CAAA,GAAAgI,CAAA,CAAAO,MAAA,EAAAvI,CAAA,UAAAsH,CAAA,EAAAE,CAAA,GAAAQ,CAAA,CAAAhI,CAAA,CAAA,EAAAqI,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAQ,CAAA,GAAAhB,CAAA,KAAAN,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAkB,CAAA,KAAApB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,CAAA,CAAAC,CAAA,GAAAD,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAC,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAD,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAAP,CAAA,IAAAO,CAAA,CAAA,CAAA,CAAA,IAAAa,CAAA,KAAA,CAAAf,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAmB,CAAA,GAAAb,CAAA,CAAA,CAAA,CAAA,KAAAC,CAAA,MAAAS,CAAA,CAAAC,CAAA,GAAAf,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAAI,CAAA,CAAA,CAAA,CAAA,IAAAa,CAAA,GAAAG,CAAA,KAAAlB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,IAAAA,CAAA,GAAAoB,CAAA,MAAAhB,CAAA,CAAA,CAAA,CAAA,GAAAN,CAAA,EAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAAoB,CAAA,EAAAf,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAH,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAkB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAb,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAU,CAAA,EAAAQ,CAAA,EAAA,EAAA,IAAAT,CAAA,GAAA,CAAA,EAAA,MAAAU,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAR,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAQ,CAAA,CAAA,EAAAf,CAAA,GAAAO,CAAA,EAAAJ,CAAA,GAAAY,CAAA,EAAA,CAAAxI,CAAA,GAAAyH,CAAA,GAAA,CAAA,GAAAR,CAAA,GAAAW,CAAA,KAAA,CAAAK,CAAA,GAAA,EAAAT,CAAA,KAAAC,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAS,CAAA,CAAAd,CAAA,GAAA,EAAA,CAAA,EAAAiB,CAAA,CAAAZ,CAAA,EAAAG,CAAA,CAAA,IAAAM,CAAA,CAAAd,CAAA,GAAAQ,CAAA,GAAAM,CAAA,CAAAC,CAAA,GAAAP,CAAA,aAAAG,CAAA,GAAA,CAAA,EAAAP,CAAA,EAAA,EAAA,IAAAC,CAAA,KAAAH,CAAA,GAAA,MAAA,CAAA,EAAAtH,CAAA,GAAAwH,CAAA,CAAAF,CAAA,WAAAtH,CAAA,GAAAA,CAAA,CAAA0I,IAAA,CAAAlB,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA,MAAAa,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAAzI,CAAA,CAAA2I,IAAA,EAAA,OAAA3I,CAAA,CAAA,CAAA4H,CAAA,GAAA5H,CAAA,CAAA4I,KAAA,EAAAnB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAAzH,CAAA,GAAAwH,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAxH,CAAA,CAAA0I,IAAA,CAAAlB,CAAA,CAAA,EAAAC,CAAA,SAAAG,CAAA,GAAAa,SAAA,CAAA,mCAAA,GAAAnB,CAAA,GAAA,UAAA,CAAA,EAAAG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAD,CAAA,GAAAP,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAAjH,CAAA,IAAAiI,CAAA,GAAAC,CAAA,CAAAd,CAAA,GAAA,CAAA,IAAAQ,CAAA,GAAAV,CAAA,CAAAwB,IAAA,CAAAtB,CAAA,EAAAc,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAApI,CAAA,EAAA,EAAAwH,CAAA,GAAAP,CAAA,EAAAQ,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAA5H,CAAA,CAAA,CAAA,CAAA,SAAA,EAAA+H,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAa,KAAA,EAAA5I,CAAA,EAAA2I,IAAA,EAAAV,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAf,CAAA,EAAAI,CAAA,EAAAE,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAI,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAQ,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAT,SAAAA,eAAAkB,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAA9I,CAAA,GAAAsF,MAAA,CAAAyD,cAAA,CAAA,CAAA,IAAAtB,CAAA,GAAA,EAAA,CAAAL,CAAA,CAAA,GAAApH,CAAA,CAAAA,CAAA,IAAAoH,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAU,qBAAA,CAAA9H,CAAA,GAAA,EAAA,EAAAoH,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAApH,CAAA,GAAA4H,CAAA,GAAAkB,0BAAA,CAAApB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAApC,MAAA,CAAAuC,MAAA,CAAAJ,CAAA,CAAA,CAAA,CAAA,SAAAM,CAAAA,CAAAd,CAAA,WAAA3B,MAAA,CAAA0D,cAAA,GAAA1D,MAAA,CAAA0D,cAAA,CAAA/B,CAAA,EAAA6B,0BAAA,CAAA,IAAA7B,CAAA,CAAAgC,SAAA,GAAAH,0BAAA,EAAAhB,qBAAA,CAAAb,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAS,SAAA,GAAApC,MAAA,CAAAuC,MAAA,CAAAD,CAAA,CAAA,EAAAX,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA4B,iBAAA,CAAAnB,SAAA,GAAAoB,0BAAA,EAAAhB,qBAAA,CAAAF,CAAA,iBAAAkB,0BAAA,CAAA,EAAAhB,qBAAA,CAAAgB,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAApB,qBAAA,CAAAgB,0BAAA,EAAAxB,CAAA,EAAA,mBAAA,CAAA,EAAAQ,qBAAA,CAAAF,CAAA,CAAA,EAAAE,qBAAA,CAAAF,CAAA,EAAAN,CAAA,EAAA,WAAA,CAAA,EAAAQ,qBAAA,CAAAF,CAAA,EAAAR,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAU,qBAAA,CAAAF,CAAA,8DAAAZ,cAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAAmC,CAAA,EAAA3B,CAAA,EAAA4B,CAAA,EAAArB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,qBAAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,EAAA,EAAA,IAAAwH,CAAA,GAAAlC,MAAA,CAAA+D,cAAA,CAAA,CAAA,IAAA,EAAA7B,CAAA,uBAAAP,CAAA,EAAA,EAAAO,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAM,qBAAA,GAAA,SAAAwB,mBAAArC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,EAAA,EAAA,SAAAsH,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAU,qBAAA,CAAAb,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAsC,OAAA,CAAArC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAAM,CAAA,GAAAA,CAAA,CAAAP,CAAA,EAAAC,CAAA,IAAA0B,KAAA,EAAAxB,CAAA,EAAAoC,UAAA,GAAAxJ,CAAA,EAAAyJ,YAAA,EAAA,CAAAzJ,CAAA,EAAA0J,QAAA,EAAA,CAAA1J,CAAA,MAAAiH,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAQ,qBAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,CAAA,CAAA,CAAA;AAkBA,IAAMsf,aAAa,GAAG,SAAhBA,aAAaA,CAAAjf,IAAA,EAKb;AAAA,EAAA,IAJJkf,OAAO,GAAAlf,IAAA,CAAPkf,OAAO;IACP1L,OAAO,GAAAxT,IAAA,CAAPwT,OAAO;IACP2L,mBAAmB,GAAAnf,IAAA,CAAnBmf,mBAAmB;IACnBC,cAAc,GAAApf,IAAA,CAAdof,cAAc;AAEd,EAAA,IAAA1N,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAM0f,YAAY,GAAGH,OAAO,GACxBI,oCAA2B,GAC3BC,oCAA2B;AAE/B,EAAA,IAAMC,YAAY,GAAG3N,YAAM,CAAC,IAAI,CAAC;AACjC,EAAA,IAAM4N,aAAa,GAAG5N,YAAM,CAAC,IAAI,CAAC;EAElC,IAAA6N,gBAAA,GACEC,wBAAe,CAAC;AACdC,MAAAA,MAAM,EAAEP,YAAY;AACpBQ,MAAAA,oBAAoB,EAAET;AACxB,KAAC,CAAC;IAJIU,QAAQ,GAAAJ,gBAAA,CAARI,QAAQ;IAAEC,WAAW,GAAAL,gBAAA,CAAXK,WAAW;IAAExB,WAAW,GAAAmB,gBAAA,CAAXnB,WAAW;IAAEC,YAAY,GAAAkB,gBAAA,CAAZlB,YAAY;IAAEwB,WAAW,GAAAN,gBAAA,CAAXM,WAAW;AAMrE,EAAA,IAAMC,eAAe,gBAAA,YAAA;IAAA,IAAA/U,KAAA,GAAAP,kCAAA,cAAAhE,cAAA,GAAAoC,CAAA,CAAG,SAAA6B,OAAAA,CAAMsV,KAAK,EAAA;AAAA,MAAA,IAAAC,aAAA;AAAA,MAAA,OAAAxZ,cAAA,EAAA,CAAAmC,CAAA,CAAA,UAAAiC,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAhE,CAAA;AAAA,UAAA,KAAA,CAAA;YACjC+Y,QAAQ,CAACI,KAAK,CAAC;AAACnV,YAAAA,QAAA,CAAAhE,CAAA,GAAA,CAAA;YAAA,OACYgZ,WAAW,EAAE;AAAA,UAAA,KAAA,CAAA;YAAnCI,aAAa,GAAApV,QAAA,CAAAjD,CAAA;AACnBqY,YAAAA,aAAa,CAACnf,OAAO,CAACme,mBAAmB,CAAC;AAC1C3L,YAAAA,OAAO,EAAE;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAzI,QAAA,CAAAhD,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAA6C,OAAA,CAAA;IAAA,CACX,CAAA,CAAA;IAAA,OAAA,SALKqV,eAAeA,CAAAG,EAAA,EAAA;AAAA,MAAA,OAAAlV,KAAA,CAAArB,KAAA,CAAA,IAAA,EAAAQ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAKpB;AAEDgW,EAAAA,8BAAY,CAAC;AAAEZ,IAAAA,aAAa,EAAbA,aAAa;AAAEa,IAAAA,MAAM,EAAEL;AAAgB,GAAC,CAAC;EAExDb,cAAc,CAACY,WAAW,CAAC;AAE3B,EAAA,IAAMO,aAAa,gBAAA,YAAA;IAAA,IAAAzF,KAAA,GAAAnQ,kCAAA,cAAAhE,cAAA,GAAAoC,CAAA,CAAG,SAAAyX,QAAAA,CAAAvG,KAAA,EAAA;MAAA,IAAAiG,KAAA,EAAAC,aAAA;AAAA,MAAA,OAAAxZ,cAAA,EAAA,CAAAmC,CAAA,CAAA,UAAA2X,SAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA1Z,CAAA;AAAA,UAAA,KAAA,CAAA;AAAmBmZ,YAAAA,KAAK,GAAAjG,KAAA,CAAfxE,MAAM,CAAIyK,KAAK;YAC5CJ,QAAQ,CAACI,KAAK,CAAC;AAACO,YAAAA,SAAA,CAAA1Z,CAAA,GAAA,CAAA;YAAA,OACYgZ,WAAW,EAAE;AAAA,UAAA,KAAA,CAAA;YAAnCI,aAAa,GAAAM,SAAA,CAAA3Y,CAAA;AACnBqY,YAAAA,aAAa,CAACnf,OAAO,CAACme,mBAAmB,CAAC;AAC1C3L,YAAAA,OAAO,EAAE;AAAC,UAAA,KAAA,CAAA;YAAA,OAAAiN,SAAA,CAAA1Y,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAyY,QAAA,CAAA;IAAA,CACX,CAAA,CAAA;IAAA,OAAA,SALKD,aAAaA,CAAAG,GAAA,EAAA;AAAA,MAAA,OAAA5F,KAAA,CAAAjR,KAAA,CAAA,IAAA,EAAAQ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAKlB;EAED,OAAO,CAAC2D,aAAO,CAACuQ,WAAW,CAAC,IAAIyB,WAAW,gBACzCnT,cAAA,CAACwR,QAAQ,EAAA;AAAOG,IAAAA,YAAY,EAAZA,YAAY;AAAED,IAAAA,WAAW,EAAXA;GAAgB,CAAC,gBAE/CjM,eAAA,CAAA,KAAA,EAAA;AACExD,IAAAA,SAAS,EAAC,wBAAwB;AAClC,IAAA,aAAA,EAAY,iCAAiC;AAC7CnC,IAAAA,GAAG,EAAE8S,aAAc;AACnBlP,IAAAA,QAAQ,EAAE,CAAE;IACZhC,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,IAAAoS,qBAAA;AAAA,MAAA,OAAA,CAAAA,qBAAA,GAAQnB,YAAY,CAACxZ,OAAO,MAAA,IAAA,IAAA2a,qBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,qBAAA,CAAsB/N,KAAK,EAAE;IAAA,CAAC;AAAAjE,IAAAA,QAAA,gBAE7C9B,cAAA,CAAA,OAAA,EAAA;MACE+T,QAAQ,EAAA,IAAA;AACR9R,MAAAA,SAAS,EAAC,8BAA8B;AACxC,MAAA,aAAA,EAAY,mCAAmC;AAC/CnC,MAAAA,GAAG,EAAE6S,YAAa;AAClBre,MAAAA,IAAI,EAAC,MAAM;AACX0f,MAAAA,MAAM,EACJ3B,OAAO,GACH4B,4BAAmB,CAACC,IAAI,CAAC,GAAG,CAAC,GAC7BC,4BAAmB,CAACD,IAAI,CAAC,GAAG,CACjC;AACD1M,MAAAA,QAAQ,EAAEkM;AAAc,KACzB,CAAC,eACF1T,cAAA,CAACmM,mBAAO,EAAA;AAAClK,MAAAA,SAAS,EAAC,6BAA6B;AAACrK,MAAAA,IAAI,EAAE;AAAG,KAAE,CAAC,eAC7DoI,cAAA,CAACiS,qBAAU,EAAA;AAAC1P,MAAAA,OAAO,EAAC,OAAO;MAAAT,QAAA,EACxBhP,CAAC,CAAC,yCAAyC;AAAC,KACnC,CAAC,eACbkN,cAAA,CAACiS,qBAAU,EAAA;AAAC1P,MAAAA,OAAO,EAAC,OAAO;AAAAT,MAAAA,QAAA,EACxBhP,CAAC,CAAC,uCAAuC,EAAE;AAC1CshB,QAAAA,MAAM,EAAEC,0BAAiB,CAAC7B,YAAY,CAAC8B,YAAY,CAACC,WAAW;OAChE;AAAC,KACQ,CAAC;AAAA,GACV,CACN;AACH,CAAC;;ACtFD,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAArhB,IAAA,EAAiD;AAAA,EAAA,IAA3CshB,YAAY,GAAAthB,IAAA,CAAZshB,YAAY;IAAEC,aAAa,GAAAvhB,IAAA,CAAbuhB,aAAa;IAAE/N,OAAO,GAAAxT,IAAA,CAAPwT,OAAO;AAC5D,EAAA,IAAA9B,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAM6hB,aAAa,GAAG;AAAE3e,IAAAA,GAAG,EAAE;GAAI;AAEjC,EAAA,IAAM4e,QAAQ,GAAG,SAAXA,QAAQA,CAAAvW,KAAA,EAAgB;AAAA,IAAA,IAAVrI,GAAG,GAAAqI,KAAA,CAAHrI,GAAG;AACrB,IAAA,IAAM6e,QAAQ,GAAGzU,WAAW,CAACpK,GAAG,CAAC;AACjC,IAAA,IAAI6e,QAAQ,EAAEJ,YAAY,CAACze,GAAG,EAAE6e,QAAQ,CAAC,CAAC,KACrCH,aAAa,CAAC1e,GAAG,CAAC;AACvB2Q,IAAAA,OAAO,EAAE;EACX,CAAC;AAED,EAAA,oBACE3G,cAAA,CAAA,KAAA,EAAA;AAAKiC,IAAAA,SAAS,EAAC,qBAAqB;IAAAH,QAAA,eAClC9B,cAAA,CAAC8U,WAAI,EAAA;AACHC,MAAAA,WAAW,EAAE;AACXJ,QAAAA,aAAa,EAAbA,aAAa;AACbK,QAAAA,gBAAgB,EAAEC,2CAAkC;AACpDL,QAAAA,QAAQ,EAARA;OACA;MAAA9S,QAAA,EAED,SAAAA,QAAAA,CAAAsL,KAAA,EAAA;AAAA,QAAA,IAAG8H,KAAK,GAAA9H,KAAA,CAAL8H,KAAK;UAAEC,YAAY,GAAA/H,KAAA,CAAZ+H,YAAY;UAAEC,SAAS,GAAAhI,KAAA,CAATgI,SAAS;QAAA,oBAChC3P,eAAA,CAAAC,mBAAA,EAAA;AAAA5D,UAAAA,QAAA,gBACE9B,cAAA,CAAA,KAAA,EAAA;AAAKiC,YAAAA,SAAS,EAAC,8BAA8B;YAAAH,QAAA,eAC3C9B,cAAA,CAACyH,YAAK,EAAA;cACJC,SAAS,EAAA,IAAA;cACT2N,cAAc,EAAA,IAAA;AACd,cAAA,aAAA,EAAY,gCAAgC;AAC5Chc,cAAAA,KAAK,EAAEvG,CAAC,CAAC,6BAA6B,CAAE;AACxCuO,cAAAA,IAAI,EAAC,KAAK;AACVsG,cAAAA,WAAW,EAAE7U,CAAC,CAAC,mCAAmC,CAAE;AACpD8E,cAAAA,IAAI,EAAC,QAAQ;AACbtD,cAAAA,IAAI,EAAC;aACN;AAAC,WACC,CAAC,eACN0L,cAAA,CAACsV,kBAAW,EAAA;AACVC,YAAAA,iBAAiB,EAAE;AACjB,cAAA,aAAa,EAAE,iCAAiC;AAChDlc,cAAAA,KAAK,EAAEvG,CAAC,CAAC,2BAA2B,CAAC;AACrC8E,cAAAA,IAAI,EAAE,IAAI;AACV8J,cAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACb0T,gBAAAA,SAAS,EAAE;AACXzO,gBAAAA,OAAO,EAAE;AACX,cAAA;aACA;AACF6O,YAAAA,iBAAiB,EAAE;AACjB,cAAA,aAAa,EAAE,iCAAiC;cAChDzS,QAAQ,EAAE,CAACmS,KAAK;AAChB7b,cAAAA,KAAK,EAAEvG,CAAC,CAAC,gCAAgC,CAAC;AAC1C2iB,cAAAA,OAAO,EAAEN,YAAY;AACrBvd,cAAAA,IAAI,EAAE;AACR;AAAE,WACH,CAAC;AAAA,SACF,CAAC;AAAA,MAAA;KAED;AAAC,GACJ,CAAC;AAEV,CAAC;;AC/DD,SAAA,YAAA,GAAA,qKAAA,IAAAmC,CAAA,EAAAjH,CAAA,EAAAkH,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAC,EAAAN,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAC,CAAA,GAAAL,CAAA,IAAAA,CAAA,CAAAM,SAAA,YAAAC,SAAA,GAAAP,CAAA,GAAAO,SAAA,EAAAC,CAAA,GAAAtC,MAAA,CAAAuC,MAAA,CAAAJ,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAI,mBAAA,CAAAF,CAAA,EAAA,SAAA,EAAA,UAAAV,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAAE,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAG,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAV,CAAA,IAAA,EAAA,EAAAW,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAZ,CAAA,EAAA,CAAA,EAAAe,CAAA,EAAAlB,CAAA,EAAAmB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAArB,CAAA,EAAA,CAAA,CAAA,EAAAoB,CAAA,WAAAA,CAAAA,CAAArI,CAAA,EAAAkH,CAAA,WAAAM,CAAA,GAAAxH,CAAA,EAAAyH,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAX,CAAA,EAAAiB,CAAA,CAAAd,CAAA,GAAAF,CAAA,EAAAkB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAC,EAAAnB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAK,CAAA,GAAAP,CAAA,EAAAU,CAAA,GAAAR,CAAA,EAAApH,CAAA,OAAAiI,CAAA,IAAAF,CAAA,IAAA,CAAAT,CAAA,IAAAtH,CAAA,GAAAgI,CAAA,CAAAO,MAAA,EAAAvI,CAAA,UAAAsH,CAAA,EAAAE,CAAA,GAAAQ,CAAA,CAAAhI,CAAA,CAAA,EAAAqI,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAQ,CAAA,GAAAhB,CAAA,KAAAN,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAkB,CAAA,KAAApB,CAAA,MAAAQ,CAAA,GAAAJ,CAAA,CAAA,CAAAC,CAAA,GAAAD,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAC,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAD,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAAP,CAAA,IAAAO,CAAA,CAAA,CAAA,CAAA,IAAAa,CAAA,KAAA,CAAAf,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAmB,CAAA,GAAAb,CAAA,CAAA,CAAA,CAAA,KAAAC,CAAA,MAAAS,CAAA,CAAAC,CAAA,GAAAf,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAAI,CAAA,CAAA,CAAA,CAAA,IAAAa,CAAA,GAAAG,CAAA,KAAAlB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,IAAAA,CAAA,GAAAoB,CAAA,MAAAhB,CAAA,CAAA,CAAA,CAAA,GAAAN,CAAA,EAAAM,CAAA,CAAA,CAAA,CAAA,GAAAJ,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAAoB,CAAA,EAAAf,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAH,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAkB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAb,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAU,CAAA,EAAAQ,CAAA,EAAA,EAAA,IAAAT,CAAA,GAAA,CAAA,EAAA,MAAAU,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAR,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAQ,CAAA,CAAA,EAAAf,CAAA,GAAAO,CAAA,EAAAJ,CAAA,GAAAY,CAAA,EAAA,CAAAxI,CAAA,GAAAyH,CAAA,GAAA,CAAA,GAAAR,CAAA,GAAAW,CAAA,KAAA,CAAAK,CAAA,GAAA,EAAAT,CAAA,KAAAC,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAS,CAAA,CAAAd,CAAA,GAAA,EAAA,CAAA,EAAAiB,CAAA,CAAAZ,CAAA,EAAAG,CAAA,CAAA,IAAAM,CAAA,CAAAd,CAAA,GAAAQ,CAAA,GAAAM,CAAA,CAAAC,CAAA,GAAAP,CAAA,aAAAG,CAAA,GAAA,CAAA,EAAAP,CAAA,EAAA,EAAA,IAAAC,CAAA,KAAAH,CAAA,GAAA,MAAA,CAAA,EAAAtH,CAAA,GAAAwH,CAAA,CAAAF,CAAA,WAAAtH,CAAA,GAAAA,CAAA,CAAA0I,IAAA,CAAAlB,CAAA,EAAAI,CAAA,CAAA,CAAA,EAAA,MAAAa,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAAzI,CAAA,CAAA2I,IAAA,EAAA,OAAA3I,CAAA,CAAA,CAAA4H,CAAA,GAAA5H,CAAA,CAAA4I,KAAA,EAAAnB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAAzH,CAAA,GAAAwH,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAxH,CAAA,CAAA0I,IAAA,CAAAlB,CAAA,CAAA,EAAAC,CAAA,SAAAG,CAAA,GAAAa,SAAA,CAAA,mCAAA,GAAAnB,CAAA,GAAA,UAAA,CAAA,EAAAG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAD,CAAA,GAAAP,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAAjH,CAAA,IAAAiI,CAAA,GAAAC,CAAA,CAAAd,CAAA,GAAA,CAAA,IAAAQ,CAAA,GAAAV,CAAA,CAAAwB,IAAA,CAAAtB,CAAA,EAAAc,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAApI,CAAA,EAAA,EAAAwH,CAAA,GAAAP,CAAA,EAAAQ,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAA5H,CAAA,CAAA,CAAA,CAAA,SAAA,EAAA+H,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAa,KAAA,EAAA5I,CAAA,EAAA2I,IAAA,EAAAV,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAf,CAAA,EAAAI,CAAA,EAAAE,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAI,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAQ,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAT,SAAAA,eAAAkB,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAA9I,CAAA,GAAAsF,MAAA,CAAAyD,cAAA,CAAA,CAAA,IAAAtB,CAAA,GAAA,EAAA,CAAAL,CAAA,CAAA,GAAApH,CAAA,CAAAA,CAAA,IAAAoH,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAU,mBAAA,CAAA9H,CAAA,GAAA,EAAA,EAAAoH,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAApH,CAAA,GAAA4H,CAAA,GAAAkB,0BAAA,CAAApB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAApC,MAAA,CAAAuC,MAAA,CAAAJ,CAAA,CAAA,CAAA,CAAA,SAAAM,CAAAA,CAAAd,CAAA,WAAA3B,MAAA,CAAA0D,cAAA,GAAA1D,MAAA,CAAA0D,cAAA,CAAA/B,CAAA,EAAA6B,0BAAA,CAAA,IAAA7B,CAAA,CAAAgC,SAAA,GAAAH,0BAAA,EAAAhB,mBAAA,CAAAb,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAS,SAAA,GAAApC,MAAA,CAAAuC,MAAA,CAAAD,CAAA,CAAA,EAAAX,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA4B,iBAAA,CAAAnB,SAAA,GAAAoB,0BAAA,EAAAhB,mBAAA,CAAAF,CAAA,iBAAAkB,0BAAA,CAAA,EAAAhB,mBAAA,CAAAgB,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAApB,mBAAA,CAAAgB,0BAAA,EAAAxB,CAAA,EAAA,mBAAA,CAAA,EAAAQ,mBAAA,CAAAF,CAAA,CAAA,EAAAE,mBAAA,CAAAF,CAAA,EAAAN,CAAA,EAAA,WAAA,CAAA,EAAAQ,mBAAA,CAAAF,CAAA,EAAAR,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAU,mBAAA,CAAAF,CAAA,8DAAAZ,YAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAAmC,CAAA,EAAA3B,CAAA,EAAA4B,CAAA,EAAArB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,mBAAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,EAAA,EAAA,IAAAwH,CAAA,GAAAlC,MAAA,CAAA+D,cAAA,CAAA,CAAA,IAAA,EAAA7B,CAAA,uBAAAP,CAAA,EAAA,EAAAO,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAM,mBAAA,GAAA,SAAAwB,mBAAArC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,EAAA,EAAA,SAAAsH,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAU,mBAAA,CAAAb,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAsC,OAAA,CAAArC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAAM,CAAA,GAAAA,CAAA,CAAAP,CAAA,EAAAC,CAAA,IAAA0B,KAAA,EAAAxB,CAAA,EAAAoC,UAAA,GAAAxJ,CAAA,EAAAyJ,YAAA,EAAA,CAAAzJ,CAAA,EAAA0J,QAAA,EAAA,CAAA1J,CAAA,MAAAiH,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAQ,mBAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAApH,CAAA,CAAA,CAAA,CAAA;AAaA,IAAM4iB,aAAa,GAAG,SAAhBA,aAAaA,CAAAviB,IAAA,EAKb;AAAA,EAAA,IAJJwiB,aAAa,GAAAxiB,IAAA,CAAbwiB,aAAa;IACbhP,OAAO,GAAAxT,IAAA,CAAPwT,OAAO;IACPvR,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IAAAwgB,qBAAA,GAAAziB,IAAA,CACN0iB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;AAEvB,EAAA,IAAA/Q,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAAmT,SAAA,GAAkCC,cAAQ,CAAC,OAAO,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5C6P,IAAAA,SAAS,GAAA3P,UAAA,CAAA,CAAA,CAAA;AAAE4P,IAAAA,YAAY,GAAA5P,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAW,UAAA,GAAsCZ,cAAQ,CAAC,KAAK,CAAC;IAAAa,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAA9CqM,IAAAA,WAAW,GAAApM,UAAA,CAAA,CAAA,CAAA;AAAEwL,IAAAA,cAAc,GAAAxL,UAAA,CAAA,CAAA,CAAA;EAClC,IAAMiP,MAAM,GAAGL,aAAa,CAACM,KAAK,IAAIN,aAAa,CAACO,KAAK;AACzD,EAAA,IAAAvF,UAAA,GAAwBzK,cAAQ,CAAC,EAAE,CAAC;IAAA0K,UAAA,GAAAxK,+BAAA,CAAAuK,UAAA,EAAA,CAAA,CAAA;AAA7BwF,IAAAA,IAAI,GAAAvF,UAAA,CAAA,CAAA,CAAA;AAAEwF,IAAAA,OAAO,GAAAxF,UAAA,CAAA,CAAA,CAAA;AAEpBxJ,EAAAA,eAAS,CAAC,YAAM;AACd4O,IAAAA,MAAM,IAAII,OAAO,CAACC,gBAAO,CAACV,aAAa,CAAC,CAAC;AAC3C,EAAA,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;AAEnB,EAAA,IAAMzN,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACxBvB,IAAAA,OAAO,EAAE;IACToP,YAAY,CAAC,OAAO,CAAC;AACrB3gB,IAAAA,MAAM,CAACuM,QAAQ,CAAClD,KAAK,EAAE;EACzB,CAAC;AAED,EAAA,IAAM6T,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGgE,IAAI,EAAI;IAClC,IAAI,CAAClhB,MAAM,EAAE;AACb,IAAA,IAAQY,GAAG,GAAuCsgB,IAAI,CAA9CtgB,GAAG;MAAAugB,cAAA,GAAuCD,IAAI,CAAzC1E,QAAQ;AAARA,MAAAA,QAAQ,GAAA2E,cAAA,KAAA,MAAA,GAAG,OAAO,GAAAA,cAAA;MAAAC,aAAA,GAAmBF,IAAI,CAArBG,OAAO;AAAPA,MAAAA,OAAO,GAAAD,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;AAC7C,IAAA,IAAME,UAAU,GAAG;AAAEC,MAAAA,GAAG,EAAE3gB,GAAG;AAAEygB,MAAAA,OAAO,EAAPA,OAAO;AAAEG,MAAAA,GAAG,EAAEhF;KAAU;IACvD,IAAMiF,QAAQ,GAAGlB,aAAa,CAACM,KAAK,GAChC7gB,MAAM,CAACoJ,KAAK,EAAE,CAACsY,SAAS,CAACJ,UAAU,CAAC,GACpCthB,MAAM,CAACoJ,KAAK,EAAE,CAACuY,QAAQ,CAACL,UAAU,CAAC;IAEvCG,QAAQ,CACLpY,KAAK,EAAE,CACPkE,OAAO,CAAC,UAAAtE,KAAA,EAAsB;AAAA,MAAA,IAAnB5I,EAAE,GAAA4I,KAAA,CAAF5I,EAAE;QAAEkM,QAAQ,GAAAtD,KAAA,CAARsD,QAAQ;AACtB,MAAA,IAAQ/M,GAAG,GAAgBa,EAAE,CAArBb,GAAG;QAAEkc,SAAS,GAAKrb,EAAE,CAAhBqb,SAAS;AACtB,MAAA,IAAMzO,QAAQ,GAAGzN,GAAG,CAACoiB,OAAO,CAAClG,SAAS,CAACmG,EAAE,CAAC,CAACC,GAAG,EAAE,GAAG,CAAC;AACpD,MAAA,IAAMC,YAAY,GAAGC,IAAI,CAAChO,GAAG,CAAC/G,QAAQ,EAAEzN,GAAG,CAACJ,OAAO,CAACoD,IAAI,CAAC;AAEzD,MAAA,OAAO+J,QAAQ,CAAC0V,eAAe,CAACF,YAAY,EAAE,SAAS,CAAC;AAC1D,IAAA,CAAC,CAAC,CACDvY,GAAG,EAAE;EACV,CAAC;AAED,EAAA,IAAM0Y,gBAAgB,gBAAA,YAAA;IAAA,IAAAlK,KAAA,GAAAtP,kCAAA,cAAAhE,YAAA,GAAAoC,CAAA,CAAG,SAAA6B,OAAAA,CAAMuY,IAAI,EAAA;AAAA,MAAA,IAAAiB,EAAA;AAAA,MAAA,OAAAzd,YAAA,EAAA,CAAAmC,CAAA,CAAA,UAAAiC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAApD,CAAA,GAAAoD,QAAA,CAAAhE,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,EAC7BuO,sBAAY,CAAC6N,IAAI,CAACzU,EAAE,CAAC,IAAI4G,sBAAY,CAAC6N,IAAI,CAACkB,QAAQ,CAAC,CAAA,EAAA;AAAAtZ,cAAAA,QAAA,CAAAhE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;YAAA,OAAAgE,QAAA,CAAAhD,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAgD,YAAAA,QAAA,CAAApD,CAAA,GAAA,CAAA;AAAAoD,YAAAA,QAAA,CAAAhE,CAAA,GAAA,CAAA;YAAA,OAGhDud,kCAAgB,CAACC,MAAM,CAAC;cAAE7V,EAAE,EAAEyU,IAAI,CAACzU,EAAE;cAAE8V,SAAS,EAAErB,IAAI,CAACkB;AAAS,aAAC,CAAC;AAAA,UAAA,KAAA,CAAA;YACxElF,mBAAmB,CAACgE,IAAI,CAAC;AACzBpO,YAAAA,WAAW,EAAE;AAAChK,YAAAA,QAAA,CAAAhE,CAAA,GAAA,CAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAAAgE,YAAAA,QAAA,CAAApD,CAAA,GAAA,CAAA;YAAAyc,EAAA,GAAArZ,QAAA,CAAAjD,CAAA;AAEd2c,YAAAA,iBAAM,CAACC,KAAK,CAAAN,EAAM,CAAC;AAAC,UAAA,KAAA,CAAA;YAAA,OAAArZ,QAAA,CAAAhD,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAA6C,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAEvB,CAAA,CAAA;IAAA,OAAA,SAVKuZ,gBAAgBA,CAAA/D,EAAA,EAAA;AAAA,MAAA,OAAAnG,KAAA,CAAApQ,KAAA,CAAA,IAAA,EAAAQ,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAUrB;AAED,EAAA,IAAMkX,aAAa,GAAG,SAAhBA,aAAaA,CAAG1e,GAAG,EAAI;AAC3B,IAAA,IAAMsgB,IAAI,GAAG;AAAEtgB,MAAAA,GAAG,EAAHA,GAAkB,CAAC;IAClCsc,mBAAmB,CAACgE,IAAI,CAAC;EAC3B,CAAC;EAED,IAAM7B,YAAY,GAAG,SAAfA,YAAYA,CAAIqD,WAAW,EAAEjD,QAAQ,EAAK;IAC9C,IAAI,CAACzf,MAAM,EAAE;IACbA,MAAM,CACHoJ,KAAK,EAAE,CACPC,KAAK,EAAE,CACPsZ,gBAAgB,CAAC;AAAEpB,MAAAA,GAAG,EAAE9B,QAAQ;AAAEiD,MAAAA,WAAW,EAAXA;AAAY,KAAC,CAAC,CAChDlZ,GAAG,EAAE;EACV,CAAC;AAED,EAAA,IAAMoZ,YAAY,GAAGzN,SAAG,CAAC4I,WAAW,CAAC;EAErC,oBACEnT,cAAA,CAACiY,iBAAM,EAAA;AACCjC,IAAAA,MAAM,EAANA,MAAM;AACZ/T,IAAAA,SAAS,EAAC,yBAAyB;AACnCiW,IAAAA,WAAW,EAAEF,YAAa;AAC1BrR,IAAAA,OAAO,EAAEqR,YAAY,GAAG9P,WAAW,GAAGiQ,SAAU;AAAArW,IAAAA,QAAA,eAEhD2D,eAAA,CAAA,KAAA,EAAA;AAAKxD,MAAAA,SAAS,EAAC,mBAAmB;MAAAH,QAAA,EAAA,CAC/B,CAAC6T,aAAa,CAACO,KAAK,IAAIP,aAAa,CAACM,KAAK,kBAC1CjW,cAAA,CAAA,KAAA,EAAA;AAAKiC,QAAAA,SAAS,EAAC,2BAA2B;AAAAH,QAAAA,QAAA,eACxC2D,eAAA,CAAA,IAAA,EAAA;AAAIxD,UAAAA,SAAS,EAAC,iCAAiC;AAAAH,UAAAA,QAAA,GAC5C6T,aAAa,CAACO,KAAK,IAAIpjB,CAAC,CAAC,2BAA2B,CAAC,EACrD6iB,aAAa,CAACM,KAAK,IAAInjB,CAAC,CAAC,2BAA2B,CAAC;SACpD;OACD,CACN,EACA,CAAC2V,sBAAY,CAAC0N,IAAI,CAAC,iBAClBnW,cAAA,CAACoY,eAAI,EAAA;AAAC1c,QAAAA,KAAK,EAAEoa,SAAU;AAACuC,QAAAA,aAAa,EAAEtC,YAAa;AAAAjU,QAAAA,QAAA,eAClD9B,cAAA,CAACoY,eAAI,CAAC5M,IAAI,EAAA;AAAA1J,UAAAA,QAAA,EACPqU,IAAI,CAAC1d,GAAG,CAAC,UAAAwV,KAAA,EAAA;AAAA,YAAA,IAAG3P,GAAG,GAAA2P,KAAA,CAAH3P,GAAG;cAAEga,KAAK,GAAArK,KAAA,CAALqK,KAAK;AAAA,YAAA,oBACrBtY,cAAA,CAACoY,eAAI,CAACG,IAAI,EAAA;cACR,aAAA,EAAA,8BAAA,CAAAjlB,MAAA,CAA4CgL,GAAG,EAAA,MAAA,CAAO;AAEtD5C,cAAAA,KAAK,EAAE4C,GAAI;AAAAwD,cAAAA,QAAA,EAEVwW;AAAK,aAAA,EAHDha,GAII,CAAC;UAAA,CACb;SACQ;OACP,CACP,eACDmH,eAAA,CAAA,KAAA,EAAA;AAAKxD,QAAAA,SAAS,EAAC,4BAA4B;AAAAH,QAAAA,QAAA,GACxC6T,aAAa,CAACM,KAAK,iBAClBjW,cAAA,CAACwY,8BAAa,EAAA;AACNlB,UAAAA,gBAAgB,EAAhBA,gBAAgB;AAAEzB,UAAAA,gBAAgB,EAAhBA,gBAAgB;AACxC5T,UAAAA,SAAS,EAAC;SACX,CACF,EACA0T,aAAa,CAACO,KAAK,iBAClBzQ,eAAA,CAAAC,mBAAA,EAAA;AAAA5D,UAAAA,QAAA,GACGgU,SAAS,KAAK,OAAO,iBACpB9V,cAAA,CAACoS,aAAa,EAAA;AACNE,YAAAA,mBAAmB,EAAnBA,mBAAmB;AAAEC,YAAAA,cAAc,EAAdA,cAAc;AACzCF,YAAAA,OAAO,EAAE,KAAM;AACf1L,YAAAA,OAAO,EAAEuB;WACV,CACF,EACA4N,SAAS,KAAK,OAAO,iBACpB9V,cAAA,CAACwU,cAAc,EAAA;AACPE,YAAAA,aAAa,EAAbA,aAAa;AAAED,YAAAA,YAAY,EAAZA,YAAY;AACjC9N,YAAAA,OAAO,EAAEuB;AAAY,WACtB,CACF;AAAA,SACD,CACH;AAAA,OACE,CAAC;KACH;AAAC,GACA,CAAC;AAEb;;AClIA,IAAMuQ,cAAc,GAAG,SAAjBA,cAAcA,CAAAtlB,IAAA,EAMd;AAAA,EAAA,IAAAulB,qBAAA;AAAA,EAAA,IALJC,eAAe,GAAAxlB,IAAA,CAAfwlB,eAAe;IACflP,kBAAkB,GAAAtW,IAAA,CAAlBsW,kBAAkB;IAClBrU,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNwjB,gBAAgB,GAAAzlB,IAAA,CAAhBylB,gBAAgB;IAChB1f,YAAY,GAAA/F,IAAA,CAAZ+F,YAAY;AAEZ,EAAA,IAAA2f,qBAAA,GAAqBzjB,MAAM,CAACtB,KAAK,CAACgd,SAAS;IAAnCgI,IAAI,GAAAD,qBAAA,CAAJC,IAAI;IAAE7B,EAAE,GAAA4B,qBAAA,CAAF5B,EAAE;AAChB,EAAA,IAAMzjB,IAAI,GAAG4B,MAAM,CAACtB,KAAK,CAACc,GAAG,CAAC+C,WAAW,CAACmhB,IAAI,EAAE7B,EAAE,EAAE,EAAE,CAAC;AAEvD,EAAA,IAAAhR,SAAA,GAAgCC,cAAQ,CAAC1S,IAAI,CAAC;IAAA2S,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvC8S,IAAAA,QAAQ,GAAA5S,UAAA,CAAA,CAAA,CAAA;AAAE6S,IAAAA,WAAW,GAAA7S,UAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAW,UAAA,GAA8BZ,cAAQ,CAAC,EAAE,CAAC;IAAAa,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAnCmS,IAAAA,OAAO,GAAAlS,UAAA,CAAA,CAAA,CAAA;AAAEmS,IAAAA,UAAU,GAAAnS,UAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAA4J,UAAA,GAAwCzK,cAAQ,CAAC0S,gBAAgB,CAAC;IAAAhI,UAAA,GAAAxK,+BAAA,CAAAuK,UAAA,EAAA,CAAA,CAAA;AAA3DwI,IAAAA,YAAY,GAAAvI,UAAA,CAAA,CAAA,CAAA;AAAEwI,IAAAA,eAAe,GAAAxI,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAyI,UAAA,GAA0BnT,cAAQ,CAAC,EAAE,CAAC;IAAAoT,UAAA,GAAAlT,+BAAA,CAAAiT,UAAA,EAAA,CAAA,CAAA;AAA/BxB,IAAAA,KAAK,GAAAyB,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;EACtB,IAAAE,UAAA,GAA8CtT,cAAQ,CACpDuT,YAAY,CAACrkB,MAAM,EAAE6hB,EAAE,CACzB,CAAC;IAAAyC,UAAA,GAAAtT,+BAAA,CAAAoT,UAAA,EAAA,CAAA,CAAA;AAFMG,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,kBAAkB,GAAAF,UAAA,CAAA,CAAA,CAAA;EAG1C,IAAAG,UAAA,GAA0C3T,cAAQ,CAAC;AAAE4T,MAAAA,GAAG,EAAE,CAAC;AAAEC,MAAAA,IAAI,EAAE;AAAE,KAAC,CAAC;IAAAC,WAAA,GAAA5T,+BAAA,CAAAyT,UAAA,EAAA,CAAA,CAAA;AAAhEI,IAAAA,aAAa,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,WAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAMG,UAAU,GAAGnV,YAAM,CAAC,IAAI,CAAC;AAE/B,EAAA,IAAAH,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAMsnB,iBAAiB,GAAG,CAAC3R,sBAAY,CAACsQ,QAAQ,CAAC;AACjD,EAAA,IAAMsB,gBAAgB,GAAG,CAAC5R,sBAAY,CAACwQ,OAAO,CAAC;AAC/C,EAAA,IAAMqB,gBAAgB,GAAG,CAACF,iBAAiB,IAAI,CAACC,gBAAgB;AAEhE,EAAA,IAAME,YAAY,GAAG;AACnBC,IAAAA,OAAO,EAAE,OAAO;AAChBnY,IAAAA,QAAQ,EAAE,OAAO;IACjByX,GAAG,EAAEH,eAAe,CAACG,GAAG;IACxBC,IAAI,EAAEJ,eAAe,CAACI,IAAI;AAC1BU,IAAAA,SAAS,EAAE;GACZ;AAED,EAAA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1B,IAAA,IAAAC,YAAA,GAA4BvlB,MAAM,CAACzB,IAAI;MAA/BG,KAAK,GAAA6mB,YAAA,CAAL7mB,KAAK;MAAE6B,QAAQ,GAAAglB,YAAA,CAARhlB,QAAQ;AACvB,IAAA,IAAAilB,gBAAA,GAAqB9mB,KAAK,CAACgd,SAAS;MAA5BgI,IAAI,GAAA8B,gBAAA,CAAJ9B,IAAI;MAAE7B,EAAE,GAAA2D,gBAAA,CAAF3D,EAAE;AAChB,IAAA,IAAM4D,YAAY,GAAG9kB,oBAAoB,CAACkjB,OAAO,CAAC;AAElD,IAAA,IAAI,CAAChmB,iCAAuB,CAACgD,IAAI,CAAC4kB,YAAY,CAAC,EAAE;AAC/CtB,MAAAA,QAAQ,CAACzmB,CAAC,CAAC,8BAA8B,CAAC,CAAC;AAE3C,MAAA;AACF,IAAA;AAEA,IAAA,IAAMgoB,KAAK,GAAG;AACZxS,MAAAA,IAAI,EAAEuS,YAAY;AAClBjS,MAAAA,MAAM,EAAEuQ,YAAY,GAAG,QAAQ,GAAG;KACnC;AAED,IAAA,IAAM4B,QAAQ,GAAGjnB,KAAK,CAACC,MAAM,CAACinB,KAAK,CAAC5S,IAAI,CAACzN,MAAM,CAACmgB,KAAK,CAAC;AACtD,IAAA,IAAMG,gBAAgB,GAAGnnB,KAAK,CAACC,MAAM,CAACP,IAAI,CAACulB,QAAQ,EAAE,CAACgC,QAAQ,CAAC,CAAC;AAEhE,IAAA,IAAMtlB,EAAE,GAAG3B,KAAK,CAAC2B,EAAE,CAACylB,WAAW,CAACpC,IAAI,EAAE7B,EAAE,EAAEgE,gBAAgB,CAAC;IAC3DtlB,QAAQ,CAACF,EAAE,CAAC;AACZ0lB,IAAAA,aAAa,EAAE;EACjB,CAAC;AAED,EAAA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1B/lB,IAAAA,MAAM,CAACzB,IAAI,CAAC8K,KAAK,EAAE;IACnBgL,kBAAkB,CAAC,KAAK,CAAC;EAC3B,CAAC;AAED,EAAA,IAAMlB,aAAa,GAAG,SAAhBA,aAAaA,CAAGxO,CAAC,EAAI;IACzBA,CAAC,CAACuN,eAAe,EAAE;AACnB,IAAA,IAAIvN,CAAC,CAACuE,GAAG,KAAK,OAAO,EAAE;MACrBvE,CAAC,CAACkW,cAAc,EAAE;AAClByK,MAAAA,aAAa,EAAE;AACjB,IAAA,CAAC,MAAM,IAAI3gB,CAAC,CAACuE,GAAG,KAAK,QAAQ,EAAE;AAC7B6c,MAAAA,aAAa,EAAE;AACjB,IAAA;EACF,CAAC;AAED,EAAA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AAClC,IAAA,IAAAC,qBAAA,GAA2CC,sBAAsB,CAC/DlmB,MAAM,EACN+kB,UACF,CAAC;MAHOF,aAAa,GAAAoB,qBAAA,CAAbpB,aAAa;MAAEN,eAAe,GAAA0B,qBAAA,CAAf1B,eAAe;IAItCC,kBAAkB,CAACD,eAAe,CAAC;IACnCO,gBAAgB,CAACD,aAAa,CAAC;EACjC,CAAC;AAEDsB,EAAAA,4BAAiB,CAACpB,UAAU,EAAEgB,aAAa,CAAC;AAE5C/T,EAAAA,eAAS,CAAC,YAAM;IACd,IAAIhS,MAAM,IAAIujB,eAAe,EAAE;AAC7ByC,MAAAA,qBAAqB,EAAE;AACzB,IAAA;AACAI,IAAAA,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAEN,aAAa,CAAC;AAChDK,IAAAA,MAAM,CAACC,gBAAgB,CAAC,OAAO,EAAEN,aAAa,CAAC;AAE/C,IAAA,OAAO,YAAM;AACXK,MAAAA,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAEP,aAAa,CAAC;AACnDK,MAAAA,MAAM,CAACE,mBAAmB,CAAC,OAAO,EAAEP,aAAa,CAAC;IACpD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,OAAOxC,eAAe,gBAClBgD,qBAAY,cACVlW,eAAA,CAAAC,mBAAA,EAAA;AAAA5D,IAAAA,QAAA,gBACE9B,cAAA,CAAA,KAAA,EAAA;AACEiC,MAAAA,SAAS,EAAC,uBAAuB;AACjCnL,MAAAA,KAAK,EAAE;QAAEgjB,GAAG,EAAEG,aAAa,CAACH,GAAG;QAAEC,IAAI,EAAEE,aAAa,CAACF;AAAK;KAC3D,CAAC,eACFtU,eAAA,CAAA,KAAA,EAAA;AACExD,MAAAA,SAAS,EAAC,yBAAyB;AACnCJ,MAAAA,EAAE,EAAC,qBAAqB;AACxB/B,MAAAA,GAAG,EAAEqa,UAAW;AAChBrjB,MAAAA,KAAK,EAAEyjB,YAAa;MAAAzY,QAAA,EAAA,cAEpB9B,cAAA,CAACyH,gBAAK,EAAA;QACJ5U,QAAQ,EAAA,IAAA;QACR6U,SAAS,EAAE,CAAC0S,iBAAkB;AAC9B,QAAA,aAAA,EAAY,kCAAkC;AAC9C/gB,QAAAA,KAAK,EAAEvG,CAAC,CAAC,yBAAyB,CAAE;AACpC6U,QAAAA,WAAW,EAAE7U,CAAC,CAAC,oCAAoC,CAAE;AACrD8E,QAAAA,IAAI,EAAC,OAAO;AACZd,QAAAA,KAAK,EAAE;AAAEob,UAAAA,KAAK,EAAE;SAAU;AAC1BxW,QAAAA,KAAK,EAAEqd,QAAS;AAChBvR,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAnJ,KAAA,EAAA;AAAA,UAAA,IAAe3C,KAAK,GAAA2C,KAAA,CAAfuK,MAAM,CAAIlN,KAAK;UAAA,OAASsd,WAAW,CAACtd,KAAK,CAAC;QAAA,CAAC;AACxDmK,QAAAA,SAAS,EAAE0C;AAAc,OAC1B,CAAC,eACFvI,cAAA,CAACyH,gBAAK,EAAA;AACEoQ,QAAAA,KAAK,EAALA,KAAK;QACXhlB,QAAQ,EAAA,IAAA;AACR6U,QAAAA,SAAS,EAAE0S,iBAAkB;AAC7BnY,QAAAA,SAAS,EAAC,4BAA4B;AACtC,QAAA,aAAA,EAAY,iCAAiC;AAC7C5I,QAAAA,KAAK,EAAEvG,CAAC,CAAC,wBAAwB,CAAE;AACnC6U,QAAAA,WAAW,EAAE7U,CAAC,CAAC,8BAA8B,CAAE;AAC/C8E,QAAAA,IAAI,EAAC,OAAO;AACZd,QAAAA,KAAK,EAAE;AAAEob,UAAAA,KAAK,EAAE;SAAU;AAC1BxW,QAAAA,KAAK,EAAEud,OAAQ;AACfzR,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAA4F,KAAA,EAAA;AAAA,UAAA,IAAe1R,KAAK,GAAA0R,KAAA,CAAfxE,MAAM,CAAIlN,KAAK;UAAA,OAASwd,UAAU,CAACxd,KAAK,CAAC;QAAA,CAAC;QACvDkgB,OAAO,EAAE,SAATA,OAAOA,GAAA;UAAA,OAAQrC,QAAQ,CAAC,EAAE,CAAC;QAAA,CAAC;AAC5B1T,QAAAA,SAAS,EAAE0C;AAAc,OAC1B,CAAC,eACFvI,cAAA,CAAC6b,mBAAQ,EAAA;AACPC,QAAAA,OAAO,EAAE3C,YAAa;AACtBlX,QAAAA,SAAS,EAAC,2BAA2B;AACrC,QAAA,aAAA,EAAY,8CAA8C;AAC1D5I,QAAAA,KAAK,EAAEvG,CAAC,CAAC,iCAAiC,CAAE;QAC5CipB,eAAe,EAAE,SAAjBA,eAAeA,GAAA;UAAA,OAAQ3C,eAAe,CAAC7O,SAAG,CAAC;AAAA,QAAA;OAC5C,CAAC,eACF9E,eAAA,CAAA,KAAA,EAAA;AAAKxD,QAAAA,SAAS,EAAC,sCAAsC;QAAAH,QAAA,EAAA,cACnD9B,cAAA,CAACyD,iBAAM,EAAA;AACL,UAAA,aAAA,EAAY,uBAAuB;AACnCV,UAAAA,QAAQ,EAAEuX,gBAAiB;AAC3BjhB,UAAAA,KAAK,EAAEvG,CAAC,CAAC,yBAAyB,CAAE;AACpC8E,UAAAA,IAAI,EAAC,IAAI;AACT8J,UAAAA,OAAO,EAAEgZ;AAAc,SACxB,CAAC,eACF1a,cAAA,CAACyD,iBAAM,EAAA;AACL,UAAA,aAAA,EAAY,kCAAkC;AAC9CpK,UAAAA,KAAK,EAAEvG,CAAC,CAAC,2BAA2B,CAAE;AACtC8E,UAAAA,IAAI,EAAC,IAAI;AACT2K,UAAAA,OAAO,EAAC,OAAO;AACfb,UAAAA,OAAO,EAAEyZ;AAAc,SACxB,CAAC;AAAA,OACC,CAAC;AAAA,KACH,CAAC;GACN,CAAC,GAAAzC,qBAAA,GACHxf,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAEC,OAAO,MAAA,IAAA,IAAAuf,qBAAA,cAAAA,qBAAA,GAAI7iB,QAAQ,CAACoB,IACpC,CAAC,GACD,IAAI;AACV;;;;;AC7KA,IAAQ0J,MAAI,GAAeC,uBAAY,CAA/BD,IAAI;EAAEE,UAAQ,GAAKD,uBAAY,CAAzBC,QAAQ;AAEtB,IAAMmb,QAAQ,GAAG,SAAXA,QAAQA,CAAA7oB,IAAA,EAAA;AAAA,EAAA,IAAM8oB,MAAM,GAAA9oB,IAAA,CAAN8oB,MAAM;IAAE7mB,MAAM,GAAAjC,IAAA,CAANiC,MAAM;EAAA,oBAChC4K,cAAA,CAACY,uBAAY,EAAA;AACXwB,IAAAA,aAAa,EAAE;AAAEH,MAAAA,SAAS,EAAE;KAAuB;IACnDia,YAAY,eACVlc,cAAA,CAACyD,iBAAM,EAAA;AACLxB,MAAAA,SAAS,EAAC,eAAe;AACzB,MAAA,aAAA,EAAY,qCAAqC;AACjD3I,MAAAA,IAAI,EAAE6iB,oBAAS;AACf5Z,MAAAA,OAAO,EAAC;AAAO,KAChB,CACF;IAAAT,QAAA,eAED9B,cAAA,CAACW,MAAI,EAAA;AAAAmB,MAAAA,QAAA,EACFma,MAAM,CAACxjB,GAAG,CAAC,UAAA2jB,KAAK,EAAA;AAAA,QAAA,OACfA,KAAK,CAAC3jB,GAAG,CAAC,UAAA4F,KAAA,EAAwB;AAAA,UAAA,IAArB/J,IAAI,GAAA+J,KAAA,CAAJ/J,IAAI;AAAKiK,YAAAA,KAAK,GAAA8d,yCAAA,CAAAhe,KAAA,EAAAie,WAAA,CAAA;AACzB,UAAA,IAAMpc,SAAS,GAAGqc,aAAa,CAACjoB,IAAI,CAAC;AAErC,UAAA,IAAIA,IAAI,KAAKkoB,kBAAkB,CAACC,MAAM,EAAE;AACtC,YAAA,IAAczY,IAAI,GAAKzF,KAAK,CAApBjF,IAAI;AAEZ,YAAA,oBACE0G,cAAA,CAACa,UAAQ,EAAAvB,eAAA,CAAAA,eAAA,CAAA;AACP,cAAA,aAAA,EAAA,0BAAA,CAAAhM,MAAA,CAAwCiL,KAAK,CAACqE,UAAU,EAAA,SAAA,CAAU;cAClEW,QAAQ,EAAEnO,MAAM,CAACmO,QAAQ,CAAChF,KAAK,CAACqE,UAAU,CAAE;cAE5CrB,MAAM,eAAEvB,cAAA,CAACgE,IAAI,EAAA;AAACpM,gBAAAA,IAAI,EAAE;AAAG,eAAE,CAAE;AAC3B8L,cAAAA,QAAQ,EAAC,IAAI;cACbhC,OAAO,EAAEnD,KAAK,CAACoE;AAAQ,aAAA,EAAArD,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAElBsE,iCAAkB,CAACrF,KAAK,CAACsE,SAAS,CAAC,GACnCtE,KAAK,CAAA,EAAA,EAAA,EAAA;AACRnJ,cAAAA,MAAM,EAANA;AAAM,aAAA,CAAA,CAAA,EAAA,EAAA,EAAA;cAAA0M,QAAA,EAGPvD,KAAK,CAAClF;aAAK,CAAA,EAVPkF,KAAK,CAACqE,UAWH,CAAC;AAEf,UAAA;AAEA,UAAA,oBACE5C,cAAA,CAACE,SAAS,EAAAZ,eAAA,CAAAA,eAAA,CAAA,EAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAECf,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEnJ,YAAAA,MAAM,EAANA;AAAM,WAAA,EAAKwO,iCAAkB,CAACrF,KAAK,CAACsE,SAAS,CAAC,CAAA,CAAA,EAAA,EAAA,EAAA;YAC9D3B,eAAe,EAAA;WAAA,CAAA,EAFV3C,KAAK,CAACqE,UAGZ,CAAC;AAEN,QAAA,CAAC,CAAC;MAAA,CACJ;KACI;AAAC,GACK,CAAC;AAAA,CAChB;;ACzDM,IAAM8Z,YAAY,GAAG,CAC1B3rB,wBAAc,CAAC4rB,IAAI,EACnB5rB,wBAAc,CAAC6rB,IAAI,EACnB,iBAAiB,EACjB7rB,wBAAc,CAACC,IAAI,EACnBD,wBAAc,CAACE,MAAM,EACrBF,wBAAc,CAACG,SAAS,EACxBH,wBAAc,CAACK,IAAI,EACnBL,wBAAc,CAACI,aAAa,EAC5BJ,wBAAc,CAAC8rB,SAAS,EACxB9rB,wBAAc,CAAC+rB,OAAO,EACtB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACZ/rB,wBAAc,CAACe,IAAI,EACnB,WAAW,EACXf,wBAAc,CAACke,KAAK,EACpBle,wBAAc,CAACgsB,WAAW,EAC1BhsB,wBAAc,CAACisB,YAAY,EAC3BjsB,wBAAc,CAACksB,YAAY,EAC3BlsB,wBAAc,CAAC+d,UAAU,EACzB/d,wBAAc,CAAC6d,KAAK,EACpB7d,wBAAc,CAACmsB,gBAAgB,EAC/B,UAAU,CACX;;;;ACfD,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAhqB,IAAA,EAAwC;AAAA,EAAA,IAAlCiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IAAEgoB,mBAAmB,GAAAjqB,IAAA,CAAnBiqB,mBAAmB;AACnD,EAAA,IAAAna,eAAA,GAAAC,6BAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQia,QAAAA,aAAa,EAAAja,KAAA,CAAA,eAAA,CAAA;AAAEka,QAAAA,UAAU,EAAAla,KAAA,CAAA,YAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAAzBia,aAAa,GAAApa,eAAA,CAAboa,aAAa;IAAEC,UAAU,GAAAra,eAAA,CAAVqa,UAAU;AAEjC,EAAA,IAAMC,qBAAqB,GAAGC,iBAAW,CACvC,UAAAnf,KAAA,EAAgB;AAAA,IAAA,IAAbjJ,MAAM,GAAAiJ,KAAA,CAANjJ,MAAM;IACP,IAAMqoB,WAAW,GAAG,EAAE;AAEtBf,IAAAA,YAAY,CAACvoB,OAAO,CAAC,UAAAupB,IAAI,EAAI;AAC3B,MAAA,IAAIA,IAAI,KAAK3sB,wBAAc,CAACmsB,gBAAgB,EAAE;QAC5CO,WAAW,CAACC,IAAI,CAAC,GAAG;UAClBna,QAAQ,EAAE,CAAA6Z,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEvT,MAAM,KAAI;SAC1C;AACH,MAAA,CAAC,MAAM;QACL4T,WAAW,CAACC,IAAI,CAAC,GAAG;AAAEna,UAAAA,QAAQ,EAAEnO,MAAM,CAACmO,QAAQ,CAACma,IAAI;SAAG;AACzD,MAAA;AACF,IAAA,CAAC,CAAC;AAEF,IAAA,IAAMC,oBAAoB,GACxBC,iBAAiB,CAAC9P,IAAI,CAAC,UAAAV,KAAA,EAAA;AAAA,MAAA,IAAUG,KAAK,GAAAH,KAAA,CAAZ1R,KAAK;AAAA,MAAA,OAC7BtG,MAAM,CAACmO,QAAQ,CAAC,SAAS,EAAE;AAAEgK,QAAAA,KAAK,EAALA;AAAM,OAAC,CAAC;AAAA,IAAA,CACvC,CAAC,IAAIsQ,UAAI,CAACD,iBAAiB,CAAC;AAE9BH,IAAAA,WAAW,CAAC,gBAAgB,CAAC,GAAGE,oBAAoB;IAEpDN,aAAa,CAACI,WAAW,CAAC;AAC5B,EAAA,CAAC,EACD,CAACJ,aAAa,EAAED,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEvT,MAAM,CAC7C,CAAC;AAED,EAAA,IAAMiU,yBAAyB,GAAGN,iBAAW,CAC3C,UAAAvP,KAAA,EAAgB;AAAA,IAAA,IAAb7Y,MAAM,GAAA6Y,KAAA,CAAN7Y,MAAM;AACP,IAAA,IAAM2oB,eAAe,GAAG;MAAEhb,QAAQ,EAAE,CAAC3N,MAAM,CAACuX,GAAG,EAAE,CAACD,IAAI;KAAI;AAC1D,IAAA,IAAMsR,eAAe,GAAG;MAAEjb,QAAQ,EAAE,CAAC3N,MAAM,CAACuX,GAAG,EAAE,CAACE,IAAI;KAAI;IAE1D,IAAMoR,iBAAiB,GAAA3e,eAAA,CAAAA,eAAA,CAAA,EAAA,EAClBge,UAAU,CAAA,EAAA,EAAA,EAAAnlB,gCAAA,CAAAA,gCAAA,KACZpH,wBAAc,CAAC4rB,IAAI,EAAGoB,eAAe,CAAA,EACrChtB,wBAAc,CAAC6rB,IAAI,EAAGoB,eAAe,CAAA,CACvC;IACDX,aAAa,CAACY,iBAAiB,CAAC;AAClC,EAAA,CAAC,EACD,CAACX,UAAU,EAAED,aAAa,CAC5B,CAAC;AAEDjW,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAI,CAAChS,MAAM,EAAE,OAAO8oB,cAAI;AAExBJ,IAAAA,yBAAyB,CAAC;AAAE1oB,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;AAErCA,IAAAA,MAAM,CAAC+oB,EAAE,CAAC,iBAAiB,EAAEZ,qBAAqB,CAAC;AACnDnoB,IAAAA,MAAM,CAAC+oB,EAAE,CAAC,QAAQ,EAAEZ,qBAAqB,CAAC;AAC1CnoB,IAAAA,MAAM,CAAC+oB,EAAE,CAAC,aAAa,EAAEZ,qBAAqB,CAAC;AAE/C,IAAA,OAAO,YAAM;AACXnoB,MAAAA,MAAM,CAACgpB,GAAG,CAAC,iBAAiB,EAAEb,qBAAqB,CAAC;AACpDnoB,MAAAA,MAAM,CAACgpB,GAAG,CAAC,QAAQ,EAAEb,qBAAqB,CAAC;AAC3CnoB,MAAAA,MAAM,CAACgpB,GAAG,CAAC,aAAa,EAAEb,qBAAqB,CAAC;IAClD,CAAC;AACH,EAAA,CAAC,EAAE,CAACnoB,MAAM,EAAEmoB,qBAAqB,CAAC,CAAC;AAEnCnW,EAAAA,eAAS,CAAC,YAAM;IACd,IAAI,CAAChS,MAAM,EAAE;AAEbmoB,IAAAA,qBAAqB,CAAC;AAAEnoB,MAAAA,MAAM,EAANA;AAAO,KAAC,CAAC;AACnC,EAAA,CAAC,EAAE,CAACA,MAAM,EAAEgoB,mBAAmB,KAAA,IAAA,IAAnBA,mBAAmB,KAAA,MAAA,GAAA,MAAA,GAAnBA,mBAAmB,CAAEvT,MAAM,EAAE0T,qBAAqB,CAAC,CAAC;AAClE,CAAC;;ACtED,IAAMc,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAlrB,IAAA,EAIpB;AAAA,EAAA,IAHJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IAAAkpB,cAAA,GAAAnrB,IAAA,CACNorB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,eAAA,GAAArrB,IAAA,CACdsrB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,eAAA;AAElB,EAAA,IAAA3Z,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAIqO,aAAO,CAACod,SAAS,CAAC,EAAE,OAAO,IAAI;AAEnC,EAAA,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGxR,IAAI,EAAI;AAClC,IAAA,IAAQyR,QAAQ,GAAgCzR,IAAI,CAA5CyR,QAAQ;MAAEC,aAAa,GAAiB1R,IAAI,CAAlC0R,aAAa;MAAEtgB,GAAG,GAAY4O,IAAI,CAAnB5O,GAAG;MAAEjF,KAAK,GAAK6T,IAAI,CAAd7T,KAAK;AAC3C,IAAA,IAAMwlB,YAAY,GAAGF,QAAQ,GAAA,EAAA,CAAArrB,MAAA,CAAMqrB,QAAQ,EAAA,GAAA,CAAA,CAAArrB,MAAA,CAAIgL,GAAG,CAAA,GAAKA,GAAG;AAC1D,IAAA,IAAMwgB,aAAa,GAAGH,QAAQ,GAAA,EAAA,CAAArrB,MAAA,CACvBsrB,aAAa,IAAID,QAAQ,EAAA,GAAA,CAAA,CAAArrB,MAAA,CAAI+F,KAAK,IACrCA,KAAK;IAETjE,MAAM,CACHoJ,KAAK,EAAE,CACPC,KAAK,EAAE,CACPsgB,WAAW,CAAC;AAAEld,MAAAA,EAAE,EAAEgd,YAAY;AAAExlB,MAAAA,KAAK,EAAEylB;AAAc,KAAC,CAAC,CACvDlgB,GAAG,EAAE;EACV,CAAC;AAED,EAAA,oBACEoB,cAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,mCAAmC;AAC/CiC,IAAAA,SAAS,EAAEmP,2BAAU,CAAC,oCAAoC,EAAE;AAC1D,MAAA,gDAAgD,EAAEqN;AACpD,KAAC,CAAE;IAAA3c,QAAA,eAEH9B,cAAA,CAACgf,iCAAgB,EAAA;AACTT,MAAAA,SAAS,EAATA,SAAS;AACfU,MAAAA,UAAU,EAAC,OAAO;AAClB7c,MAAAA,aAAa,EAAE;AAAE8c,QAAAA,UAAU,EAAE;OAA8B;AAC3D5c,MAAAA,WAAW,EAAE;AACXE,QAAAA,YAAY,EAAE;AACZhO,UAAAA,OAAO,EAAE1B,CAAC,CAAC,mCAAmC,CAAC;AAC/CuP,UAAAA,QAAQ,EAAE;AACZ;OACA;AACF8c,MAAAA,eAAe,EAAET;KAClB;AAAC,GACC,CAAC;AAEV;;;;;ACnCA,IAAMU,KAAK,GAAG,SAARA,KAAKA,CAAAjsB,IAAA,EAmBL;AAAA,EAAA,IAlBJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACN6C,OAAO,GAAA9E,IAAA,CAAP8E,OAAO;IACP8I,QAAQ,GAAA5N,IAAA,CAAR4N,QAAQ;IAAAud,cAAA,GAAAnrB,IAAA,CACRorB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IACd/U,gBAAgB,GAAApW,IAAA,CAAhBoW,gBAAgB;IAChBoM,aAAa,GAAAxiB,IAAA,CAAbwiB,aAAa;IAAA0J,kBAAA,GAAAlsB,IAAA,CACbmsB,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;IAAAE,kBAAA,GAAApsB,IAAA,CAClBqsB,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,kBAAA;IACpBtd,SAAS,GAAA9O,IAAA,CAAT8O,SAAS;IAAAwO,aAAA,GAAAtd,IAAA,CACTmW,QAAQ;AAARA,IAAAA,QAAQ,GAAAmH,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACbjH,eAAe,GAAArW,IAAA,CAAfqW,eAAe;IACfgF,mBAAmB,GAAArb,IAAA,CAAnBqb,mBAAmB;IACnBC,sBAAsB,GAAAtb,IAAA,CAAtBsb,sBAAsB;IACtBmK,gBAAgB,GAAAzlB,IAAA,CAAhBylB,gBAAgB;IAChB6G,yBAAyB,GAAAtsB,IAAA,CAAzBssB,yBAAyB;IACzBrC,mBAAmB,GAAAjqB,IAAA,CAAnBiqB,mBAAmB;IAAAxH,qBAAA,GAAAziB,IAAA,CACnB0iB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IACvB1c,YAAY,GAAA/F,IAAA,CAAZ+F,YAAY;AAEZ,EAAA,IAAA+M,SAAA,GAAoDC,cAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAxDyZ,IAAAA,kBAAkB,GAAAvZ,UAAA,CAAA,CAAA,CAAA;AAAEwZ,IAAAA,qBAAqB,GAAAxZ,UAAA,CAAA,CAAA,CAAA;AAChD,EAAA,IAAAW,UAAA,GAA8CZ,cAAQ,CAAC,KAAK,CAAC;IAAAa,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAtD6R,IAAAA,eAAe,GAAA5R,UAAA,CAAA,CAAA,CAAA;AAAE0C,IAAAA,kBAAkB,GAAA1C,UAAA,CAAA,CAAA,CAAA;AAC1C,EAAA,IAAA4J,UAAA,GAAkCzK,cAAQ,CAAC,EAAE,CAAC;IAAA0K,UAAA,GAAAxK,+BAAA,CAAAuK,UAAA,EAAA,CAAA,CAAA;AAAvCiP,IAAAA,SAAS,GAAAhP,UAAA,CAAA,CAAA,CAAA;AAAEiP,IAAAA,YAAY,GAAAjP,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAyI,UAAA,GAA0CnT,cAAQ,CAAC,EAAE,CAAC;IAAAoT,UAAA,GAAAlT,+BAAA,CAAAiT,UAAA,EAAA,CAAA,CAAA;AAA/CyG,IAAAA,aAAa,GAAAxG,UAAA,CAAA,CAAA,CAAA;AAAEyG,IAAAA,gBAAgB,GAAAzG,UAAA,CAAA,CAAA,CAAA;AAEtC6D,EAAAA,cAAc,CAAC;AAAE/nB,IAAAA,MAAM,EAANA,MAAM;AAAEgoB,IAAAA,mBAAmB,EAAnBA;AAAoB,GAAC,CAAC;AAE/C,EAAA,IAAM4C,SAAS,GAAGhb,YAAM,CAAC5P,MAAM,CAAC;AAEhCgS,EAAAA,eAAS,CAAC,YAAM;IACd4Y,SAAS,CAAC7mB,OAAO,GAAG/D,MAAM;AAC5B,EAAA,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;AAEZ,EAAA,IAAM6qB,OAAO,GAAGjb,YAAM,CAAC,IAAI,CAAC;AAC5B,EAAA,IAAMkb,gBAAgB,GAAGlb,YAAM,CAAC,IAAI,CAAC;AAErC,EAAA,IAAMmb,gBAAgB,GAAG3C,iBAAW,CAClC,UAAA7a,OAAO,EAAA;IAAA,OAAI,YAAA;AAAA,MAAA,OAAMA,OAAO,CAACqd,SAAS,CAAC7mB,OAAO,CAAC;AAAA,IAAA,CAAA;AAAA,EAAA,CAAA,EAC3C,EACF,CAAC;AAED,EAAA,IAAMinB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGhpB,KAAK,EAAI;AACrC,IAAA,IAAIA,KAAK,CAACkH,GAAG,KAAK,YAAY,EAAE;MAC9BlH,KAAK,CAAC6Y,cAAc,EAAE;MACtB0P,qBAAqB,CAAC,UAAAU,SAAS,EAAA;AAAA,QAAA,OAAI,CAACA,SAAS,GAAG,CAAC,IAAIC,WAAW,CAACjlB,MAAM;MAAA,CAAA,CAAC;AAC1E,IAAA,CAAC,MAAM,IAAIjE,KAAK,CAACkH,GAAG,KAAK,WAAW,EAAE;MACpClH,KAAK,CAAC6Y,cAAc,EAAE;MACtB0P,qBAAqB,CACnB,UAAAU,SAAS,EAAA;QAAA,OAAI,CAACA,SAAS,GAAG,CAAC,GAAGC,WAAW,CAACjlB,MAAM,IAAIilB,WAAW,CAACjlB,MAAM;AAAA,MAAA,CACxE,CAAC;AACH,IAAA;EACF,CAAC;EAED,IAAMilB,WAAW,GAAGC,aAAO,CACzB,YAAA;AAAA,IAAA,IAAAC,gBAAA;AAAA,IAAA,OAAA,CAAAA,gBAAA,GAAMP,OAAO,CAAC9mB,OAAO,MAAA,IAAA,IAAAqnB,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAfA,gBAAA,CAAiB5pB,gBAAgB,CAAC,kBAAkB,CAAC;AAAA,EAAA,CAAA,EAC3D,CAACqpB,OAAO,CAAC9mB,OAAO,CAClB,CAAC;AAEDiO,EAAAA,eAAS,CAAC,YAAM;IACdkZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAXA,WAAW,CAAGZ,kBAAkB,CAAC,CAACjhB,KAAK,EAAE;AAC3C,EAAA,CAAC,EAAE,CAACihB,kBAAkB,CAAC,CAAC;AAExBtY,EAAAA,eAAS,CAAC,YAAM;IACdkZ,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,IAAXA,WAAW,CAAEnsB,OAAO,CAAC,UAAAssB,QAAQ,EAAA;AAAA,MAAA,OAC3BA,QAAQ,CAAChF,gBAAgB,CAAC,SAAS,EAAE2E,qBAAqB,CAAC;AAAA,IAAA,CAC7D,CAAC;IAED,OAAO,YAAA;MAAA,OACLE,WAAW,aAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEnsB,OAAO,CAAC,UAAAssB,QAAQ,EAAA;AAAA,QAAA,OAC3BA,QAAQ,CAAC/E,mBAAmB,CAAC,SAAS,EAAE0E,qBAAqB,CAAC;AAAA,MAAA,CAChE,CAAC;AAAA,IAAA,CAAA;AACL,EAAA,CAAC,EAAE,CAACE,WAAW,CAAC,CAAC;EAEjB,IAAMI,UAAU,GAAGH,aAAO,CACxB,YAAA;AAAA,IAAA,OACEI,gBAAgB,CAAC;AACfrX,MAAAA,QAAQ,EAARA,QAAQ;AACR6W,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBloB,MAAAA,OAAO,EAAPA,OAAO;AACPsR,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB1I,MAAAA,QAAQ,EAARA,QAAQ;AACRue,MAAAA,aAAa,EAAbA,aAAa;AACb7Q,MAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBD,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBpZ,MAAAA,MAAM,EAANA,MAAM;AACNqqB,MAAAA,yBAAyB,EAAzBA;AACF,KAAC,CAAC;AAAA,EAAA,CAAA,EACJ,CAACjR,mBAAmB,EAAEzN,QAAQ,CAChC,CAAC;AAED,EAAA,IAAM6f,YAAY,GAAGpD,iBAAW,CAAC,YAAM;AACrC,IAAA,IAAI,CAACyC,OAAO,CAAC9mB,OAAO,EAAE;AACtB,IAAA,IAAA0nB,iBAAA,GAAmDC,gBAAgB,CACjEb,OAAO,EACPS,UACF,CAAC;MAHOK,iBAAiB,GAAAF,iBAAA,CAAjBE,iBAAiB;MAAEC,mBAAmB,GAAAH,iBAAA,CAAnBG,mBAAmB;IAI9CnB,YAAY,CAACkB,iBAAiB,CAAC;IAC/BhB,gBAAgB,CAACiB,mBAAmB,CAAC;EACvC,CAAC,EAAE,CAACnB,YAAY,EAAEa,UAAU,EAAET,OAAO,CAAC9mB,OAAO,CAAC,CAAC;AAE/CiO,EAAAA,eAAS,CAAC,YAAM;AACdwZ,IAAAA,YAAY,EAAE;AAEd,IAAA,IAAMK,aAAa,GAAGf,gBAAgB,CAAC/mB,OAAO;AAC9C,IAAA,IAAM+nB,cAAc,GAAG,IAAIC,cAAc,CAACP,YAAY,CAAC;AACvD,IAAA,IAAIK,aAAa,EAAE;AACjBC,MAAAA,cAAc,CAACE,OAAO,CAACH,aAAa,CAAC;AACvC,IAAA;AAEA,IAAA,OAAO,YAAM;AACX,MAAA,IAAIA,aAAa,EAAEC,cAAc,CAACG,SAAS,CAACJ,aAAa,CAAC;IAC5D,CAAC;EACH,CAAC,EAAE,CAACf,gBAAgB,CAAC/mB,OAAO,EAAEynB,YAAY,EAAEF,UAAU,CAAC,CAAC;AAExD,EAAA,IAAI,CAACtrB,MAAM,EAAE,OAAO,IAAI;AAExB,EAAA,IAAMksB,qBAAqB,GACzBrpB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACisB,YAAY,CAAC,IAC7C/kB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACksB,YAAY,CAAC;AAE/C,EAAA,oBACExX,eAAA,CAAA,KAAA,EAAA;AACE3F,IAAAA,GAAG,EAAEogB,gBAAiB;AACtBje,IAAAA,SAAS,EAAEid,2BAAU,CAAC,yBAAyB,EAAA/mB,gCAAA,CAAA;AAC7C,MAAA,sCAAsC,EAAEqnB;AAAa,KAAA,EACpDvd,SAAS,EAAGA,SAAS,CACvB,CAAE;AAAAH,IAAAA,QAAA,gBAEH2D,eAAA,CAAA,KAAA,EAAA;AACExD,MAAAA,SAAS,EAAC,oDAAoD;AAC9D,MAAA,aAAA,EAAY,iCAAiC;AAC7CnC,MAAAA,GAAG,EAAEmgB,OAAQ;AAAAne,MAAAA,QAAA,GAEZ8d,SAAS,CAACnnB,GAAG,CAAC,UAAA2jB,KAAK,EAAA;AAAA,QAAA,OAClBA,KAAK,CAAC3jB,GAAG,CAAC,UAAA4F,KAAA,EAAwB;AAAA,UAAA,IAArB/J,IAAI,GAAA+J,KAAA,CAAJ/J,IAAI;AAAKiK,YAAAA,KAAK,GAAA8d,yCAAA,CAAAhe,KAAA,EAAAie,WAAA,CAAA;AACzB,UAAA,IAAMpc,SAAS,GAAGqc,aAAa,CAACjoB,IAAI,CAAC;AAErC,UAAA,IAAI,CAAC4L,SAAS,EAAE,OAAO,IAAI;UAE3B,oBACEF,cAAA,CAACE,SAAS,EAAAZ,eAAA,KAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EAECf,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEnJ,YAAAA,MAAM,EAANA,MAAM;AAAE6C,YAAAA,OAAO,EAAPA;WAAO,CAAA,CAAA,EAD1BsG,KAAK,CAACqE,UAEZ,CAAC;AAEN,QAAA,CAAC,CAAC;MAAA,CACJ,CAAC,EACArO,oBAAU,CAACurB,aAAa,CAAC,iBACxB9f,cAAA,CAACgc,QAAQ,EAAA;AAAO5mB,QAAAA,MAAM,EAANA,MAAM;AAAI6mB,QAAAA,MAAM,EAAE6D;AAAc,OAAE,CACnD;AAAA,KACE,CAAC,eACN9f,cAAA,CAACqe,oBAAoB,EAAA;AAAOjpB,MAAAA,MAAM,EAANA,MAAM;AAAEmpB,MAAAA,SAAS,EAATA;AAAS,KAAK,CAAC,EAClD5F,eAAe,iBACd3Y,cAAA,CAACyY,cAAc,EAAA;AAEXvf,MAAAA,YAAY,EAAZA,YAAY;AACZ9D,MAAAA,MAAM,EAANA,MAAM;AACNujB,MAAAA,eAAe,EAAfA,eAAe;AACfC,MAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBnP,MAAAA,kBAAkB,EAAlBA;AAAkB,KAErB,CACF,EACA6X,qBAAqB,iBACpBthB,cAAA,CAAC0V,aAAa,EAAA;AACNtgB,MAAAA,MAAM,EAANA,MAAM;AAAEugB,MAAAA,aAAa,EAAbA,aAAa;AAAEE,MAAAA,gBAAgB,EAAhBA,gBAAgB;MAC7ClP,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQ4C,gBAAgB,CAAC;AAAE0M,UAAAA,KAAK,EAAE,KAAK;AAAEC,UAAAA,KAAK,EAAE;AAAM,SAAC,CAAC;AAAA,MAAA;AAAC,KACjE,CACF;AAAA,GACE,CAAC;AAEV,CAAC;;;;;ACzLD,IAAMzS,MAAM,GAAG,SAATA,MAAMA,CAAAtQ,IAAA,EAON;AAAA,EAAA,IAAAouB,SAAA,GAAApuB,IAAA,CANJmG,IAAI;AAAJA,IAAAA,IAAI,GAAAioB,SAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,SAAA;IAAAC,YAAA,GAAAruB,IAAA,CACXuO,OAAO;AAAPA,IAAAA,QAAO,GAAA8f,YAAA,KAAA,MAAA,GAAGtD,cAAI,GAAAsD,YAAA;IAAA1e,aAAA,GAAA3P,IAAA,CACd4P,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAChBb,SAAS,GAAA9O,IAAA,CAAT8O,SAAS;IACTO,YAAY,GAAArP,IAAA,CAAZqP,YAAY;AACTif,IAAAA,UAAU,GAAApF,yCAAA,CAAAlpB,IAAA,EAAAmpB,WAAA,CAAA;EAEb,IAAMtY,IAAI,GAAG1K,IAAI;AAEjB,EAAA,oBACE0G,cAAA,CAACmS,kBAAO,EAAA7S,eAAA,CAAAA,eAAA,CAAA;IACNyD,QAAQ,EAAE,CAACP,YAAa;IACxBd,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQA,QAAO,EAAE;AAAA,IAAA;AAAC,GAAA,EACrBc,YAAY,CAAA,EAAA,EAAA,EAAA;AAAAV,IAAAA,QAAA,eAEhB9B,cAAA,CAAA,QAAA,EAAAV,eAAA,CAAAA,eAAA,CAAA;MACE2C,SAAS,EAAEmP,2BAAU,CAAC,iBAAiB,EAAAjZ,gCAAA,CAAA,EAAA,EAAK8J,SAAS,EAAGA,SAAS,CAAE,CAAE;AACrE3N,MAAAA,IAAI,EAAC;AAAQ,KAAA,EAAAgL,eAAA,CAAA;AACPyD,MAAAA,QAAQ,EAARA,QAAQ;AAAErB,MAAAA,OAAO,EAAPA;AAAO,KAAA,EAAK+f,UAAU,CAAA,CAAA,EAAA,EAAA,EAAA;AAAA3f,MAAAA,QAAA,EAErCxI,IAAI,iBAAI0G,cAAA,CAACgE,IAAI,EAAA;AAAC,QAAA,aAAA,EAAY,MAAM;AAASpM,QAAAA,IAAI,EAAE;AAAG,OAAA,EAAb,GAAe;KAAC,CAChD;AAAC,GAAA,CACF,CAAC;AAEd,CAAC;;;;;ACrBD,IAAM8pB,SAAS,GAAG;AAChBrgB,EAAAA,IAAI,EAAE,WAAW;AACjBsgB,EAAAA,YAAY,EAAE,IAAI;AAClBC,EAAAA,EAAE,EAAA,SAAFA,EAAEA,CAAAzuB,IAAA,EAA0C;AAAA,IAAA,IAAvC0uB,IAAI,GAAA1uB,IAAA,CAAJ0uB,IAAI;MAAAC,UAAA,GAAA3uB,IAAA,CAAEoL,KAAK;MAAImjB,SAAS,GAAAI,UAAA,CAATJ,SAAS;MAAE/a,OAAO,GAAAmb,UAAA,CAAPnb,OAAO;IACpC,SAASd,SAASA,CAACzO,KAAK,EAAE;AACxB,MAAA,IAAI,EAAEA,KAAK,CAACkH,GAAG,CAACyjB,WAAW,EAAE,KAAK,QAAQ,IAAIL,SAAS,CAAC,EAAE;AAC1D/a,MAAAA,OAAO,EAAE;AACTkb,MAAAA,IAAI,EAAE;AACR,IAAA;IAEA,OAAO;MACLG,MAAM,EAAA,SAANA,MAAMA,GAAG;AACPnsB,QAAAA,QAAQ,CAAC4lB,gBAAgB,CAAC,SAAS,EAAE5V,SAAS,CAAC;MACjD,CAAC;MACDyL,MAAM,EAAA,SAANA,MAAMA,GAAG;AACPzb,QAAAA,QAAQ,CAAC6lB,mBAAmB,CAAC,SAAS,EAAE7V,SAAS,CAAC;AACpD,MAAA;KACD;AACH,EAAA;AACF,CAAC;AAED,IAAMoc,QAAQ,GAAG,SAAXA,QAAQA,CAAA5jB,KAAA,EASR;AAAA,EAAA,IARJ/E,IAAI,GAAA+E,KAAA,CAAJ/E,IAAI;IACJ0c,MAAM,GAAA3X,KAAA,CAAN2X,MAAM;IAAAkM,aAAA,GAAA7jB,KAAA,CACNsI,OAAO;AAAPA,IAAAA,OAAO,GAAAub,aAAA,KAAA,MAAA,GAAGhE,cAAI,GAAAgE,aAAA;IACdpgB,QAAQ,GAAAzD,KAAA,CAARyD,QAAQ;IACRG,SAAS,GAAA5D,KAAA,CAAT4D,SAAS;IACTP,OAAO,GAAArD,KAAA,CAAPqD,OAAO;IAAAygB,iBAAA,GAAA9jB,KAAA,CACPiE,WAAW;AAAXA,IAAAA,WAAW,GAAA6f,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;AACbV,IAAAA,UAAU,GAAApF,yCAAA,CAAAhe,KAAA,EAAAie,SAAA,CAAA;AAEb,EAAA,IAAArW,SAAA,GAA8BC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAtCmc,IAAAA,OAAO,GAAAjc,UAAA,CAAA,CAAA,CAAA;AAAEkc,IAAAA,UAAU,GAAAlc,UAAA,CAAA,CAAA,CAAA;AAE1B,EAAA,oBACEnG,cAAA,CAACsiB,sBAAK,EAAAhjB,eAAA,CAAAA,eAAA,CAAA;AACEqH,IAAAA,OAAO,EAAPA,OAAO;IACb+a,SAAS,EAAA,IAAA;IACTa,WAAW,EAAA,IAAA;AACXC,IAAAA,SAAS,EAAE,KAAM;AACjBC,IAAAA,KAAK,EAAE,KAAM;AACbC,IAAAA,QAAQ,EAAE,CAAE;AACZC,IAAAA,WAAW,EAAE,KAAM;AACnBljB,IAAAA,QAAQ,EAAC,MAAM;AACf4R,IAAAA,MAAM,EAAE,CAAE;IACVuR,OAAO,EAAE,CAAClB,SAAS,CAAE;AACrBmB,IAAAA,aAAa,EAAE;AAAEC,MAAAA,QAAQ,EAAE;KAAU;AACrCC,IAAAA,IAAI,EAAC,UAAU;AACfrjB,IAAAA,KAAK,EAAC,OAAO;AACbsjB,IAAAA,OAAO,EAAC,OAAO;AACfC,IAAAA,OAAO,EAAEjN,MAAO;IAChB/T,SAAS,EAAEmP,2BAAU,CAAC,sBAAsB,EAAAjZ,gCAAA,CAAA,EAAA,EACzC8J,SAAS,EAAGA,SAAS,CACvB,CAAE;IACHzN,OAAO,EACL4tB,OAAO,iBAAIpiB,cAAA,CAAA,KAAA,EAAA;AAAKiC,MAAAA,SAAS,EAAC,6BAA6B;AAAAH,MAAAA,QAAA,EAAEA;AAAQ,KAAM,CACxE;AACDohB,IAAAA,cAAc,EAAEvc,OAAQ;IACxBwc,QAAQ,EAAE,SAAVA,QAAQA,GAAA;MAAA,OAAQd,UAAU,CAAC,KAAK,CAAC;IAAA,CAAC;IAClCe,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQf,UAAU,CAAC,IAAI,CAAC;AAAA,IAAA;AAAC,GAAA,EAC5BZ,UAAU,CAAA,EAAA,EAAA,EAAA;AAAA3f,IAAAA,QAAA,eAEd9B,cAAA,CAAA,MAAA,EAAA;AAAA8B,MAAAA,QAAA,eACE9B,cAAA,CAACyD,MAAM,EAAAnE,eAAA,KAAAA,eAAA,CAAA;AAAOhG,QAAAA,IAAI,EAAJA,IAAI;AAAEoI,QAAAA,OAAO,EAAPA;AAAO,OAAA,EAAKY,WAAW,CAAA,CAAK;KAC5C;AAAC,GAAA,CACF,CAAC;AAEZ,CAAC;;ACpED,IAAM+gB,KAAK,GAAG,SAARA,KAAKA,CAAAlwB,IAAA,EAAA;AAAA,EAAA,IAAMiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IAAEmO,QAAQ,GAAApQ,IAAA,CAARoQ,QAAQ;IAAEtE,SAAS,GAAA9L,IAAA,CAAT8L,SAAS;IAAE+B,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;EAAA,oBAC1DhB,cAAA,CAACiiB,QAAQ,EAAA;AACPhgB,IAAAA,SAAS,EAAC,oBAAoB;AAC9B3I,IAAAA,IAAI,EAAEmN,iBAAM;AACZuP,IAAAA,MAAM,EAAEzS,QAAS;AACjBjB,IAAAA,WAAW,EAAE;AACXE,MAAAA,YAAY,EAAE;AACZhO,QAAAA,OAAO,EAAEwM,cAAc;QACvBsiB,KAAK,EAAE,CAAC,GAAG,CAAC;AACZjhB,QAAAA,QAAQ,EAAE;OACX;AACD,MAAA,aAAa,EAAE;KACf;IACFX,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQzC,SAAS,CAAC,UAAA4K,MAAM,EAAA;AAAA,QAAA,OAAI,CAACA,MAAM;MAAA,CAAA,CAAC;IAAA,CAAC;IAC5ClD,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ1H,SAAS,CAAC,KAAK,CAAC;IAAA,CAAC;IAAA6C,QAAA,eAEhC9B,cAAA,CAACujB,eAAW,EAAA;AAAOnuB,MAAAA,MAAM,EAANA,MAAM;AAAE6J,MAAAA,SAAS,EAATA;KAAc;AAAC,GAClC,CAAC;AAAA,CACZ;;AChBD,IAAMukB,MAAM,GAAG,SAATA,MAAMA,CAAArwB,IAAA,EASN;AAAA,EAAA,IARJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNwN,UAAU,GAAAzP,IAAA,CAAVyP,UAAU;IACVD,OAAO,GAAAxP,IAAA,CAAPwP,OAAO;IACPI,QAAQ,GAAA5P,IAAA,CAAR4P,QAAQ;IACRiB,IAAI,GAAA7Q,IAAA,CAAJ6Q,IAAI;IACJT,QAAQ,GAAApQ,IAAA,CAARoQ,QAAQ;IACRtE,SAAS,GAAA9L,IAAA,CAAT8L,SAAS;IACT6K,OAAO,GAAA3W,IAAA,CAAP2W,OAAO;AAEP,EAAA,IAAIlH,UAAU,KAAK7R,wBAAc,CAAC6d,KAAK,EAAE;IACvC,oBACE5O,cAAA,CAACqjB,KAAK,EAAA;AACEjuB,MAAAA,MAAM,EAANA,MAAM;AAAEmO,MAAAA,QAAQ,EAARA,QAAQ;AAAEtE,MAAAA,SAAS,EAATA,SAAS;MACjC+B,cAAc,EAAE8I,OAAO,IAAI;AAAQ,KACpC,CAAC;AAEN,EAAA;EAEA,oBACE9J,cAAA,CAACyD,MAAM,EAAA;AACCV,IAAAA,QAAQ,EAARA,QAAQ;IACdd,SAAS,EAAEmP,2BAAU,CAAC;AAAE,MAAA,yBAAyB,EAAE7N;AAAS,KAAC,CAAE;IAC/D,aAAA,EAAakgB,mBAAS,CAAC7gB,UAAU,CAAE;AACnCtJ,IAAAA,IAAI,EAAE0K,IAAK;AACXxB,IAAAA,YAAY,EAAE;AACZhO,MAAAA,OAAO,EAAEsV,OAAO;MAChBwZ,KAAK,EAAE,CAAC,GAAG,CAAC;AACZjhB,MAAAA,QAAQ,EAAE;KACV;AACFX,IAAAA,OAAO,EAAEiB;AAAQ,GAClB,CAAC;AAEN,CAAC;;;;AClBD,IAAQ7P,CAAC,GAAK4wB,qBAAI,CAAV5wB,CAAC;AAET,IAAMuW,mBAAiB,GAAG,SAApBA,iBAAiBA,CAAAlW,IAAA,EAAA;AAAA,EAAA,IACrBiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNkU,QAAQ,GAAAnW,IAAA,CAARmW,QAAQ;IACRC,gBAAgB,GAAApW,IAAA,CAAhBoW,gBAAgB;IAChBC,eAAe,GAAArW,IAAA,CAAfqW,eAAe;IACfgF,mBAAmB,GAAArb,IAAA,CAAnBqb,mBAAmB;IACnBC,sBAAsB,GAAAtb,IAAA,CAAtBsb,sBAAsB;AAAA,EAAA,OAClB,CACJ;AACEzK,IAAAA,IAAI,EAAE2F,gBAAI;IACVhH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmL,UAAU,EAAE,CAAChL,GAAG,EAAE;AAAA,IAAA,CAAA;AACxDiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,MAAM,CAAC;AAC/BX,IAAAA,UAAU,EAAE,MAAM;AAClBkH,IAAAA,OAAO,EAAER,QAAQ,CAACS,IAAI,IAAIjX,CAAC,CAAC,uBAAuB;AACrD,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEgG,kBAAM;IACZrH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACwL,YAAY,EAAE,CAACrL,GAAG,EAAE;AAAA,IAAA,CAAA;AAC1DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,QAAQ,CAAC;AACjCX,IAAAA,UAAU,EAAE,QAAQ;AACpBkH,IAAAA,OAAO,EAAER,QAAQ,CAACY,MAAM,IAAIpX,CAAC,CAAC,yBAAyB;AACzD,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEmG,qBAAS;IACfxH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC2L,eAAe,EAAE,CAACxL,GAAG,EAAE;AAAA,IAAA,CAAA;AAC7DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,WAAW,CAAC;AACpCX,IAAAA,UAAU,EAAE,WAAW;AACvBkH,IAAAA,OAAO,EAAER,QAAQ,CAACe,SAAS,IAAIvX,CAAC,CAAC,4BAA4B;AAC/D,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEwG,yBAAa;IACnB7H,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACgM,YAAY,EAAE,CAAC7L,GAAG,EAAE;AAAA,IAAA,CAAA;AAC1DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,QAAQ,CAAC;AACjCX,IAAAA,UAAU,EAAE,QAAQ;AACpBkH,IAAAA,OAAO,EAAER,QAAQ,CAACoB,MAAM,IAAI5X,CAAC,CAAC,yBAAyB;AACzD,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAE2G,uBAAW;IACjBhI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmM,eAAe,EAAE,CAAChM,GAAG,EAAE;AAAA,IAAA,CAAA;AAC7DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,WAAW,CAAC;AACpCX,IAAAA,UAAU,EAAE,WAAW;AACvBkH,IAAAA,OAAO,EAAER,QAAQ,CAACzG,SAAS,IAAI/P,CAAC,CAAC,4BAA4B;AAC/D,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAE8G,iBAAK;IACXnI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACsM,gBAAgB,EAAE,CAACnM,GAAG,EAAE;AAAA,IAAA,CAAA;AAC9DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,YAAY,CAAC;AACrCX,IAAAA,UAAU,EAAE,aAAa;AACzBkH,IAAAA,OAAO,EAAER,QAAQ,CAAC0B,UAAU,IAAIlY,CAAC,CAAC,6BAA6B;AACjE,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEiH,gBAAI;IACVtI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACyM,UAAU,EAAE,CAACtM,GAAG,EAAE;AAAA,IAAA,CAAA;AACxDiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,MAAM,CAAC;AAC/BX,IAAAA,UAAU,EAAE,MAAM;AAClBkH,IAAAA,OAAO,EAAER,QAAQ,CAAC6B,IAAI,IAAIrY,CAAC,CAAC,uBAAuB;AACrD,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEoH,sBAAU;IAChBzI,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC4M,eAAe,EAAE,CAACzM,GAAG,EAAE;AAAA,IAAA,CAAA;AAC7DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,WAAW,CAAC;AACpCX,IAAAA,UAAU,EAAE,YAAY;AACxBkH,IAAAA,OAAO,EAAER,QAAQ,CAACgC,SAAS,IAAIxY,CAAC,CAAC,4BAA4B;AAC/D,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEwH,gBAAI;IACV7I,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACgN,gBAAgB,EAAE,CAAC7M,GAAG,EAAE;AAAA,IAAA,CAAA;AAC9DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,YAAY,CAAC;AACrCX,IAAAA,UAAU,EAAE,aAAa;AACzBkH,IAAAA,OAAO,EAAER,QAAQ,CAACoC,UAAU,IAAI5Y,CAAC,CAAC,+BAA+B;AACnE,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAE2H,uBAAW;IACjBhJ,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmN,iBAAiB,EAAE,CAAChN,GAAG,EAAE;AAAA,IAAA,CAAA;AAC/DiL,IAAAA,MAAM,EAAEzU,MAAM,CAACmO,QAAQ,CAAC,aAAa,CAAC;AACtCX,IAAAA,UAAU,EAAE,cAAc;AAC1BkH,IAAAA,OAAO,EAAER,QAAQ,CAACuC,WAAW,IAAI/Y,CAAC,CAAC,8BAA8B;AACnE,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAE2f,oBAAQ;AACdhhB,IAAAA,OAAO,EAAE6G,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEwC,uBAAuB;AACjDjJ,IAAAA,QAAQ,EAAEyG,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEyC,UAAU;AACrCrJ,IAAAA,UAAU,EAAE,aAAa;AACzBkH,IAAAA,OAAO,EAAER,QAAQ,CAAC4C,WAAW,IAAIpZ,CAAC,CAAC,8BAA8B;AACnE,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEmI,mBAAO;IACbxJ,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ4G,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAAA,IAAA,CAAA;AACrDxJ,IAAAA,UAAU,EAAE,cAAc;AAC1BkH,IAAAA,OAAO,EAAER,QAAQ,CAAC+C,WAAW,IAAIvZ,CAAC,CAAC,8BAA8B;AACnE,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEsI,iBAAK;IACX3J,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ4G,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAAA,IAAA,CAAA;AACrDxJ,IAAAA,UAAU,EAAE,cAAc;AAC1BkH,IAAAA,OAAO,EAAER,QAAQ,CAACiD,WAAW,IAAIzZ,CAAC,CAAC,8BAA8B;AACnE,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEyC,iBAAK;AACX9D,IAAAA,OAAO,EAAEub,cAAI;AACbtb,IAAAA,UAAU,EAAE,OAAO;IACnBkH,OAAO,EAAER,QAAQ,CAACzK,KAAK,IAAI/L,CAAC,CAAC,wBAAwB,CAAC;AACtDyQ,IAAAA,QAAQ,EAAEiL,mBAAmB;AAC7BvP,IAAAA,SAAS,EAAEwP;AACb,GAAC,EACD;AACEzK,IAAAA,IAAI,EAAEoM,iBAAK;IACXzN,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OACLvN,MAAM,CACHoJ,KAAK,EAAE,CACPC,KAAK,EAAE,CACPwK,WAAW,CAAC;AAAE7V,QAAAA,IAAI,EAAE,CAAC;AAAE8V,QAAAA,IAAI,EAAE,CAAC;AAAEC,QAAAA,aAAa,EAAE;AAAK,OAAC,CAAC,CACtDvK,GAAG,EAAE;AAAA,IAAA,CAAA;AACVgE,IAAAA,UAAU,EAAE,OAAO;AACnBkH,IAAAA,OAAO,EAAER,QAAQ,CAAC+G,KAAK,IAAIvd,CAAC,CAAC,wBAAwB;AACvD,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAEyI,gBAAI;IACV9J,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACiO,IAAI,EAAE,CAAC9N,GAAG,EAAE;AAAA,IAAA,CAAA;IAClDmE,QAAQ,EAAE,CAAC3N,MAAM,CAACuX,GAAG,EAAE,CAACD,IAAI,EAAE;AAC9B9J,IAAAA,UAAU,EAAE,MAAM;AAClBkH,IAAAA,OAAO,EAAER,QAAQ,CAACoD,IAAI,IAAI5Z,CAAC,CAAC,uBAAuB;AACrD,GAAC,EACD;AACEkR,IAAAA,IAAI,EAAE4I,gBAAI;IACVjK,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OAAQvN,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACoO,IAAI,EAAE,CAACjO,GAAG,EAAE;AAAA,IAAA,CAAA;IAClDmE,QAAQ,EAAE,CAAC3N,MAAM,CAACuX,GAAG,EAAE,CAACE,IAAI,EAAE;AAC9BjK,IAAAA,UAAU,EAAE,MAAM;AAClBkH,IAAAA,OAAO,EAAER,QAAQ,CAACuD,IAAI,IAAI/Z,CAAC,CAAC,uBAAuB;AACrD,GAAC,CACF;AAAA,CAAA;AAEM,IAAM8wB,+BAA6B,GAAG,SAAhCA,6BAA6BA,CAAAvlB,KAAA,EAA6B;AAAA,EAAA,IAAvBjJ,MAAM,GAAAiJ,KAAA,CAANjJ,MAAM;IAAEuM,QAAQ,GAAAtD,KAAA,CAARsD,QAAQ;EAC9D,IAAQsV,EAAE,GAAK7hB,MAAM,CAACtB,KAAK,CAACgd,SAAS,CAA7BmG,EAAE;AAEV,EAAA,OAAOtV,QAAQ,CAAClJ,GAAG,CAAC,UAAAwU,MAAM,EAAA;AAAA,IAAA,IAAA4W,cAAA;AAAA,IAAA,OAAAvkB,eAAA,CAAAA,eAAA,CAAA,EAAA,EACrB2N,MAAM,CAAA,EAAA,EAAA,EAAA;AACTpD,MAAAA,MAAM,EAAA,CAAAga,cAAA,GAAE5W,MAAM,CAACpD,MAAM,MAAA,IAAA,IAAAga,cAAA,KAAA,MAAA,GAAA,MAAA,GAAbA,cAAA,CAAAroB,IAAA,CAAAyR,MAAM,EAAU;AAAE7X,QAAAA,MAAM,EAANA;AAAO,OAAC,CAAC;MACnCuN,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,IAAAmhB,eAAA;AAAA,QAAA,OAAA,CAAAA,eAAA,GAAQ7W,MAAM,CAACtK,OAAO,MAAA,IAAA,IAAAmhB,eAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,eAAA,CAAAtoB,IAAA,CAAAyR,MAAM,EAAW;AAAE7X,UAAAA,MAAM,EAANA,MAAM;AAAEuJ,UAAAA,KAAK,EAAE;AAAEma,YAAAA,IAAI,EAAE7B,EAAE;AAAEA,YAAAA,EAAE,EAAFA;AAAG;AAAE,SAAC,CAAC;AAAA,MAAA;AAAA,KAAA,CAAA;AAAA,EAAA,CACpE,CAAC;AACL,CAAC;AAEM,IAAM0J,kBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAvT,KAAA,EAQvB;AAAA,EAAA,IAPJ9D,QAAQ,GAAA8D,KAAA,CAAR9D,QAAQ;IACRlU,MAAM,GAAAgY,KAAA,CAANhY,MAAM;IACN6C,OAAO,GAAAmV,KAAA,CAAPnV,OAAO;IACPsR,gBAAgB,GAAA6D,KAAA,CAAhB7D,gBAAgB;IAChBC,eAAe,GAAA4D,KAAA,CAAf5D,eAAe;IACfgF,mBAAmB,GAAApB,KAAA,CAAnBoB,mBAAmB;IACnBC,sBAAsB,GAAArB,KAAA,CAAtBqB,sBAAsB;EAEtB,IAAM1B,WAAW,GAAG1D,mBAAiB,CAAC;AACpCjU,IAAAA,MAAM,EAANA,MAAM;AACNkU,IAAAA,QAAQ,EAARA,QAAQ;AACRC,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,IAAAA,eAAe,EAAfA,eAAe;AACfgF,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,IAAAA,sBAAsB,EAAtBA;AACF,GAAC,CAAC;AAEF,EAAA,OAAOxW,OAAO,CACXQ,GAAG,CAAC,UAAAwU,MAAM,EAAA;AAAA,IAAA,OAAI/H,gBAAM,CAAC;AAAEtC,MAAAA,UAAU,EAAEqK;KAAQ,EAAEF,WAAW,CAAC;AAAA,EAAA,CAAA,CAAC,CAC1DzU,MAAM,CAAC2E,OAAO,CAAC;AACpB,CAAC;;;;ACpLD,IAAM8mB,QAAQ,GAAG,SAAXA,QAAQA,CAAA5wB,IAAA,EAYR;AAAA,EAAA,IAXJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACN6C,OAAO,GAAA9E,IAAA,CAAP8E,OAAO;IAAAwY,aAAA,GAAAtd,IAAA,CACPmW,QAAQ;AAARA,IAAAA,QAAQ,GAAAmH,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACblH,gBAAgB,GAAApW,IAAA,CAAhBoW,gBAAgB;IAChBoM,aAAa,GAAAxiB,IAAA,CAAbwiB,aAAa;IAAA0J,kBAAA,GAAAlsB,IAAA,CACbmsB,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,kBAAA;IAClBpd,SAAS,GAAA9O,IAAA,CAAT8O,SAAS;IACTuH,eAAe,GAAArW,IAAA,CAAfqW,eAAe;IACfgF,mBAAmB,GAAArb,IAAA,CAAnBqb,mBAAmB;IACnBC,sBAAsB,GAAAtb,IAAA,CAAtBsb,sBAAsB;IAAAmH,qBAAA,GAAAziB,IAAA,CACtB0iB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;EAEvB,IAAI,CAACxgB,MAAM,EAAE;AACX,IAAA,OAAO,IAAI;AACb,EAAA;AAEA,EAAA,IAAMksB,qBAAqB,GACzBrpB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACisB,YAAY,CAAC,IAC7C/kB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACksB,YAAY,CAAC;EAE/C,IAAMlQ,WAAW,GAAG4T,kBAAgB,CAAC;AACnCrX,IAAAA,QAAQ,EAARA,QAAQ;AACRlU,IAAAA,MAAM,EAANA,MAAM;AACN6C,IAAAA,OAAO,EAAPA,OAAO;AACPsR,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,IAAAA,eAAe,EAAfA,eAAe;AACfgF,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,IAAAA,sBAAsB,EAAtBA;AACF,GAAC,CAAC;EAEF,IAAMuV,mBAAmB,GAAGJ,+BAA6B,CAAC;AACxDxuB,IAAAA,MAAM,EAANA,MAAM;AACNuM,IAAAA,QAAQ,EAAE2d;AACZ,GAAC,CAAC;EACF,IAAM2E,UAAU,GAAA,EAAA,CAAA3wB,MAAA,CAAA4wB,mCAAA,CAAOnX,WAAW,CAAA,EAAAmX,mCAAA,CAAKF,mBAAmB,CAAA,CAAC;AAE3D,EAAA,oBACEve,eAAA,CAAA,KAAA,EAAA;IACExD,SAAS,EAAEmP,2BAAU,CAAC,6BAA6B,EAAAjZ,gCAAA,CAAA,EAAA,EAChD8J,SAAS,EAAGA,SAAS,CACvB,CAAE;AAAAH,IAAAA,QAAA,GAEFmiB,UAAU,CAACxrB,GAAG,CAAC,UAAAwU,MAAM,EAAA;AAAA,MAAA,oBACpBtI,mBAAA,CAAC6e,MAAM,EAAAlkB,eAAA,CAAA;AAAOlK,QAAAA,MAAM,EAANA,MAAM;QAAIkJ,GAAG,EAAE2O,MAAM,CAACrK;OAAW,EAAKqK,MAAM,CAAG,CAAC;AAAA,IAAA,CAC/D,CAAC,EACDqU,qBAAqB,iBACpBthB,cAAA,CAAC0V,aAAa,EAAA;AACNtgB,MAAAA,MAAM,EAANA,MAAM;AAAEugB,MAAAA,aAAa,EAAbA,aAAa;AAAEE,MAAAA,gBAAgB,EAAhBA,gBAAgB;MAC7ClP,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,QAAA,OAAQ4C,gBAAgB,CAAC;AAAE0M,UAAAA,KAAK,EAAE,KAAK;AAAEC,UAAAA,KAAK,EAAE;AAAM,SAAC,CAAC;AAAA,MAAA;AAAC,KACjE,CACF;AAAA,GACE,CAAC;AAEV,CAAC;;AC/CM,IAAM0H,iBAAiB,GAAG,CAC/B;AACEvkB,EAAAA,KAAK,EAAEvG,MAAC,CAAC,2BAA2B,CAAC;AACrC4I,EAAAA,KAAK,EAAE,CAAC;AACR4C,EAAAA,GAAG,EAAE,IAAI;AACThF,EAAAA,IAAI,EAAEgU;AACR,CAAC,EACD;AACEjU,EAAAA,KAAK,EAAEvG,MAAC,CAAC,2BAA2B,CAAC;AACrC4I,EAAAA,KAAK,EAAE,CAAC;AACR4C,EAAAA,GAAG,EAAE,IAAI;AACThF,EAAAA,IAAI,EAAEmU;AACR,CAAC,EACD;AACEpU,EAAAA,KAAK,EAAEvG,MAAC,CAAC,2BAA2B,CAAC;AACrC4I,EAAAA,KAAK,EAAE,CAAC;AACR4C,EAAAA,GAAG,EAAE,IAAI;AACThF,EAAAA,IAAI,EAAEoU;AACR,CAAC,EACD;AACErU,EAAAA,KAAK,EAAEvG,MAAC,CAAC,2BAA2B,CAAC;AACrC4I,EAAAA,KAAK,EAAE,CAAC;AACR4C,EAAAA,GAAG,EAAE,IAAI;AACThF,EAAAA,IAAI,EAAE6qB;AACR,CAAC,EACD;AACE9qB,EAAAA,KAAK,EAAEvG,MAAC,CAAC,2BAA2B,CAAC;AACrC4I,EAAAA,KAAK,EAAE,CAAC;AACR4C,EAAAA,GAAG,EAAE,IAAI;AACThF,EAAAA,IAAI,EAAE8qB;AACR,CAAC,EACD;AACE/qB,EAAAA,KAAK,EAAEvG,MAAC,CAAC,6BAA6B,CAAC;AACvC4I,EAAAA,KAAK,EAAE,CAAC;AACR4C,EAAAA,GAAG,EAAE,OAAO;AACZhF,EAAAA,IAAI,EAAEqU;AACR,CAAC,CACF;AAEM,IAAM0W,eAAe,GAAG;AAC7BC,EAAAA,KAAK,EAAEC,KAAS;AAChBC,EAAAA,MAAM,EAAEC,MAAU;AAClBC,EAAAA,QAAQ,EAAEC,QAAY;AACtBC,EAAAA,IAAI,EAAErT;AACR,CAAC;;ACjDD,IAAQ5Q,MAAI,GAAeC,uBAAY,CAA/BD,IAAI;EAAEE,QAAQ,GAAKD,uBAAY,CAAzBC,QAAQ;AAEtB,IAAMgkB,gBAAc,GAAG,SAAjBA,cAAcA,CAAA1xB,IAAA,EAMd;AAAA,EAAA,IALJgtB,gBAAgB,GAAAhtB,IAAA,CAAhBgtB,gBAAgB;IAChBnf,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IACd3H,KAAK,GAAAlG,IAAA,CAALkG,KAAK;IAAAyrB,YAAA,GAAA3xB,IAAA,CACL8E,OAAO;AAAPA,IAAAA,OAAO,GAAA6sB,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAA7jB,oBAAA,GAAA9N,IAAA,CACZ+N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;AAEvB,EAAA,IAAM8D,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC;AAEhC,EAAA,IAAM+f,UAAU,GAAGlH,UAAI,CAACD,iBAAiB,CAAC;AAC1C,EAAA,IAAA3a,eAAA,GAAAC,6BAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,IAAAC,iBAAA;AAAA,MAAA,OAAA;QAAQ2hB,cAAc,EAAA,CAAA3hB,iBAAA,GAAAD,KAAA,CACA,YAAY,CAAA,MAAA,IAAA,IAAAC,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,iBAAA,CAAA,gBAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAAA4hB,qBAAA,GAAAhiB,eAAA,CAD1B+hB,cAAc;AAAEE,IAAAA,YAAY,GAAAD,qBAAA,KAAA,MAAA,GAAGF,UAAU,GAAAE,qBAAA;AAGjD,EAAA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAG5X,KAAK,EAAA;AAAA,IAAA,OACvBA,KAAK,GACD4S,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;MAAA,OACrBA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC2mB,aAAa,CAAC;AAAE7X,QAAAA,KAAK,EAALA;AAAM,OAAC,CAAC,CAAC3O,GAAG,EAAE;AAAA,IAAA,CACvD,CAAC,EAAE,GACHuhB,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OACrBA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC+O,OAAO,CAAC,WAAW,CAAC,CAAC5O,GAAG,EAAE;IAAA,CACnD,CAAC,EAAE;AAAA,EAAA,CAAA;AAET,EAAA,IAAMmO,WAAW,GAAA,EAAA,CAAAzZ,MAAA,CAAA4wB,mCAAA,CACZmB,kBAAQ,CAAC;AAAE/mB,IAAAA,GAAG,EAAE,SAALA,GAAGA,CAAEA,IAAG,EAAA;AAAA,MAAA,OAAIrG,OAAO,CAACO,QAAQ,CAAC8F,IAAG,CAAC;AAAA,IAAA;AAAC,GAAC,EAAEsf,iBAAiB,CAAC,CAAA,EAAA,CACrEA,iBAAiB,CAACA,iBAAiB,CAACviB,MAAM,GAAG,CAAC,CAAC,CAAA,CAChD;AAED,EAAA,IAAM+F,WAAW,GAAG2L,WAAW,CAACtU,GAAG,CACjC,UAAA4F,KAAA,EAAA;AAAA,IAAA,IAAUinB,SAAS,GAAAjnB,KAAA,CAAhBhF,KAAK;MAAmB2K,IAAI,GAAA3F,KAAA,CAAV/E,IAAI;MAAQoC,KAAK,GAAA2C,KAAA,CAAL3C,KAAK;MAAE4C,GAAG,GAAAD,KAAA,CAAHC,GAAG;IAAA,oBACzC0B,cAAA,CAACa,QAAQ,EAAA;MACP,aAAA,EAAA,2CAAA,CAAAvN,MAAA,CAAyDgL,GAAG,CAAG;MAC/DiF,QAAQ,EAAE,CAAA2hB,YAAY,KAAA,IAAA,IAAZA,YAAY,uBAAZA,YAAY,CAAExpB,KAAK,MAAKA,KAAM;MAExC6F,MAAM,eAAEvB,cAAA,CAACgE,IAAI,EAAA;AAACpM,QAAAA,IAAI,EAAE;AAAG,OAAE,CAAE;MAC3B8J,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQyjB,WAAW,CAACzpB,KAAK,CAAC;MAAA,CAAC;AAAAoG,MAAAA,QAAA,EAEjCwjB;AAAS,KAAA,EAJL5pB,KAKG,CAAC;AAAA,EAAA,CAEf,CAAC;AAED,EAAA,IAAIwF,eAAe,EAAE;AACnB,IAAA,oBACElB,cAAA,CAACY,uBAAY,CAACmB,OAAO,EAAA;AACb1I,MAAAA,KAAK,EAALA,KAAK;AACX2I,MAAAA,YAAY,EAAE;AAAEC,QAAAA,SAAS,EAAE;OAAuB;AAClD3I,MAAAA,IAAI,EAAE4rB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAE5rB,IAAK;AACzB6I,MAAAA,YAAY,EAAE;AACZ,QAAA,aAAa,EAAE;OACf;AAAAL,MAAAA,QAAA,EAEDV;AAAW,KACQ,CAAC;AAE3B,EAAA;EAEA,oBACEpB,cAAA,CAACY,uBAAY,EAAA;AACXwB,IAAAA,aAAa,EAAE;AAAEH,MAAAA,SAAS,EAAE;KAAuB;AACnD3I,IAAAA,IAAI,EAAE4rB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAE5rB,IAAK;AACzB+I,IAAAA,QAAQ,EAAC,cAAc;AACvBuD,IAAAA,UAAU,EAAEb,WAAY;AACxBzC,IAAAA,WAAW,EAAE;AACX,MAAA,aAAa,EAAE,0CAA0C;AACzDuD,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEzO,KAAK,EAAA;AAAA,QAAA,IAAA0O,oBAAA;AAAA,QAAA,OACd1O,KAAK,CAACkH,GAAG,KAAK,WAAW,KAAA,CAAAwH,oBAAA,GAAIf,WAAW,CAAC5L,OAAO,cAAA2M,oBAAA,KAAA,MAAA,GAAA,MAAA,GAAnBA,oBAAA,CAAqBC,KAAK,EAAE,CAAA;AAAA,MAAA,CAAA;AAC3DvD,MAAAA,YAAY,EAAE;AAAEhO,QAAAA,OAAO,EAAEwM,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAdA,cAAc,GAAI3H,KAAK;AAAEgJ,QAAAA,QAAQ,EAAE;OAAU;AACtEE,MAAAA,OAAO,EAAE,OAAO;AAChBN,MAAAA,SAAS,EACP;KACF;IAAAH,QAAA,eAEF9B,cAAA,CAACW,MAAI,EAAA;AAAAmB,MAAAA,QAAA,EAAEV;KAAkB;AAAC,GACd,CAAC;AAEnB,CAAC;AAED,qBAAA,aAAeqB,UAAI,CAACoiB,gBAAc,CAAC;;ACtFnC,IAAMU,QAAQ,GAAG,SAAXA,QAAQA,CAAApyB,IAAA,EAAuD;AAAA,EAAA,IAAAqyB,eAAA;AAAA,EAAA,IAAjDC,QAAQ,GAAAtyB,IAAA,CAARsyB,QAAQ;IAAErhB,UAAU,GAAAjR,IAAA,CAAViR,UAAU;IAAE1C,OAAO,GAAAvO,IAAA,CAAPuO,OAAO;IAAEgkB,WAAW,GAAAvyB,IAAA,CAAXuyB,WAAW;AAC5D,EAAA,IAAMC,QAAQ,GAAGzG,2BAAU,CAAC,4CAA4C,EAAE;AACxE,IAAA,sDAAsD,EAAE9a;AAC1D,GAAC,CAAC;AAEF,EAAA,IAAMwhB,QAAQ,GAAG;IAAE5uB,eAAe,EAAA,MAAA,CAAA1D,MAAA,CAASmyB,QAAQ,EAAA,GAAA;GAAK;AAExD,EAAA,IAAMI,WAAW,GAAG,CAAA,CAAAL,eAAA,GAAAC,QAAQ,CAACK,KAAK,CAAC,MAAM,CAAC,MAAA,IAAA,IAAAN,eAAA,KAAA,MAAA,GAAA,MAAA,GAAtBA,eAAA,CAAyB,CAAC,CAAC,KAAIC,QAAQ;AAE3D,EAAA,oBACEzlB,cAAA,CAAA,KAAA,EAAA;AACQ0B,IAAAA,OAAO,EAAPA,OAAO;AACbO,IAAAA,SAAS,EAAE0jB,QAAS;AACpB7uB,IAAAA,KAAK,EAAE8uB,QAAS;AAChB,IAAA,aAAA,EAAA,yBAAA,CAAAtyB,MAAA,CAAuCyyB,eAAS,CAC9CL,WAAW,GAAG,MAAM,GAAG,YACzB,CAAC,EAAA,aAAA,CAAA,CAAApyB,MAAA,CAAcuyB,WAAW;AAAG,GAC9B,CAAC;AAEN,CAAC;;ACtBM,IAAMG,MAAM,GAAG;EAEpBxyB,IAAI,EAAE,CACJ,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,iCAAiC,EACjC,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC,EAClC,kCAAkC,CACnC;AACDyyB,EAAAA,UAAU,EAAE,CACV,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC;AAEpC,CAAC;;AC7BD,IAAMC,aAAa,GAAG,CACpB;AAAE5N,EAAAA,KAAK,EAAE,YAAY;EAAE6N,MAAM,EAAEH,MAAM,CAACxyB,IAAI;AAAEkyB,EAAAA,WAAW,EAAE;AAAK,CAAC,EAC/D;AAAEpN,EAAAA,KAAK,EAAE,kBAAkB;EAAE6N,MAAM,EAAEH,MAAM,CAACC,UAAU;AAAEP,EAAAA,WAAW,EAAE;AAAM,CAAC,CAC7E;AAED,IAAMU,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAjzB,IAAA,EAMjB;AAAA,EAAA,IALJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNiE,KAAK,GAAAlG,IAAA,CAALkG,KAAK;IACL2H,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IACdmf,gBAAgB,GAAAhtB,IAAA,CAAhBgtB,gBAAgB;IAAAlf,oBAAA,GAAA9N,IAAA,CAChB+N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;AAEvB,EAAA,IAAM8D,WAAW,GAAGC,YAAM,CAAC,IAAI,CAAC;EAChC,IAAMmL,SAAS,GAAG/a,MAAM,CAAC6P,aAAa,CAAC,WAAW,CAAC,CAAClO,KAAK;EACzD,IAAMC,eAAe,GAAG5B,MAAM,CAAC6P,aAAa,CAAC,WAAW,CAAC,CAACjO,eAAe;AAEzE,EAAA,IAAMqvB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAG3qB,KAAK,EAAI;IACrCykB,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OACrBA,MAAM,CACHoJ,KAAK,EAAE,CACPC,KAAK,EAAE,CACP6nB,OAAO,CAAC,WAAW,EAAE;AAAEtvB,QAAAA,eAAe,EAAE0E;AAAM,OAAC,CAAC,CAChDkD,GAAG,EAAE;IAAA,CACV,CAAC,EAAE;EACL,CAAC;EAED,IAAM2nB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAId,QAAQ,EAAEruB,KAAK,EAAK;IACtDA,KAAK,CAACkQ,eAAe,EAAE;AACvB,IAAA,IAAItQ,eAAe,KAAA,MAAA,CAAA1D,MAAA,CAAYmyB,QAAQ,MAAG,EAAE;MAC1CY,qBAAqB,CAAC,IAAI,CAAC;AAC7B,IAAA,CAAC,MAAM;AACLA,MAAAA,qBAAqB,CAAA,MAAA,CAAA/yB,MAAA,CAAQmyB,QAAQ,MAAG,CAAC;AAC3C,IAAA;EACF,CAAC;EAED,IAAMe,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIf,QAAQ,EAAEruB,KAAK,EAAK;IAChDA,KAAK,CAACkQ,eAAe,EAAE;AACvB,IAAA,IAAI6I,SAAS,KAAA,MAAA,CAAA7c,MAAA,CAAYmyB,QAAQ,MAAG,EAAE;AACpCrwB,MAAAA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC0I,UAAU,EAAE,CAACvI,GAAG,EAAE;AAC3C,IAAA,CAAC,MAAM;AACLxJ,MAAAA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACoI,QAAQ,CAAA,MAAA,CAAAvT,MAAA,CAAQmyB,QAAQ,EAAA,GAAA,CAAG,CAAC,CAAC7mB,GAAG,EAAE;AAC3D,IAAA;EACF,CAAC;AAED,EAAA,IAAM6nB,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,SAAS,EAAA;AAAA,IAAA,IAAEhB,WAAW,GAAAloB,SAAA,CAAAnC,MAAA,GAAA,CAAA,IAAAmC,SAAA,CAAA,CAAA,CAAA,KAAA2a,SAAA,GAAA3a,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;AAAA,IAAA,OACrDkpB,SAAS,CAACjuB,GAAG,CAAC,UAACgtB,QAAQ,EAAE/gB,GAAG,EAAA;MAAA,oBAC1BC,mBAAA,CAAC4gB,QAAQ,EAAA;AACDE,QAAAA,QAAQ,EAARA,QAAQ;AAAEC,QAAAA,WAAW,EAAXA,WAAW;AAC3BpnB,QAAAA,GAAG,EAAEoG,GAAI;AACTN,QAAAA,UAAU,EACRshB,WAAW,GACPvV,SAAS,YAAA7c,MAAA,CAAYmyB,QAAQ,EAAA,GAAA,CAAG,GAChCzuB,eAAe,KAAA,MAAA,CAAA1D,MAAA,CAAYmyB,QAAQ,EAAA,GAAA,CACxC;AACD/jB,QAAAA,OAAO,EAAE,SAATA,OAAOA,CAAEtK,KAAK,EAAA;AAAA,UAAA,OACZsuB,WAAW,GACPc,oBAAoB,CAACf,QAAQ,EAAEruB,KAAK,CAAC,GACrCmvB,0BAA0B,CAACd,QAAQ,EAAEruB,KAAK,CAAC;AAAA,QAAA;AAChD,OACF,CAAC;AAAA,IAAA,CACH,CAAC;AAAA,EAAA,CAAA;AAEJ,EAAA,IAAMuvB,cAAc,GAAGT,aAAa,CAACztB,GAAG,CAAC,UAAA4F,KAAA,EAAA;AAAA,IAAA,IAAGia,KAAK,GAAAja,KAAA,CAALia,KAAK;MAAE6N,MAAM,GAAA9nB,KAAA,CAAN8nB,MAAM;MAAET,WAAW,GAAArnB,KAAA,CAAXqnB,WAAW;AAAA,IAAA,oBACpEjgB,eAAA,CAAA,KAAA,EAAA;AAAKxD,MAAAA,SAAS,EAAC,0CAA0C;MAAAH,QAAA,EAAA,cACvD9B,cAAA,CAACiS,qBAAU,EAAA;AACThQ,QAAAA,SAAS,EAAC,gDAAgD;AAC1DM,QAAAA,OAAO,EAAC,OAAO;AACfqkB,QAAAA,MAAM,EAAC,QAAQ;AAAA9kB,QAAAA,QAAA,EAEdwW;OACS,CAAC,eACbtY,cAAA,CAAA,KAAA,EAAA;AACEiC,QAAAA,SAAS,EAAC,6CAA6C;AACvD,QAAA,aAAA,EAAA,yBAAA,CAAA3O,MAAA,CAAuCyyB,eAAS,CAACzN,KAAK,CAAC,EAAA,OAAA,CAAQ;AAAAxW,QAAAA,QAAA,EAE9D2kB,eAAe,CAACN,MAAM,EAAET,WAAW;AAAC,OAClC,CAAC;AAAA,KAAA,EAbuDpN,KAc1D,CAAC;AAAA,EAAA,CACP,CAAC;AAEF,EAAA,IAAIpX,eAAe,EAAE;AACnB,IAAA,oBACElB,cAAA,CAACY,uBAAY,CAACmB,OAAO,EAAA;AACb1I,MAAAA,KAAK,EAALA,KAAK;AACXC,MAAAA,IAAI,EAAEqR,uBAAY;AAClB3I,MAAAA,YAAY,EAAE;AACZC,QAAAA,SAAS,EACP;OACF;AACFE,MAAAA,YAAY,EAAE;AACZ,QAAA,aAAa,EAAE;OACf;AAAAL,MAAAA,QAAA,EAED6kB;AAAc,KACK,CAAC;AAE3B,EAAA;EAEA,oBACE3mB,cAAA,CAACY,uBAAY,EAAA;AACXwB,IAAAA,aAAa,EAAE;AAAEH,MAAAA,SAAS,EAAE;KAAqC;AACjE3I,IAAAA,IAAI,EAAEqR,uBAAY;AAClBtI,IAAAA,QAAQ,EAAC,cAAc;AACvBuD,IAAAA,UAAU,EAAEb,WAAY;AACxBzC,IAAAA,WAAW,EAAE;AACX,MAAA,aAAa,EAAE,0CAA0C;AACzDuD,MAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEzO,KAAK,EAAA;AAAA,QAAA,IAAA0O,oBAAA;AAAA,QAAA,OACd1O,KAAK,CAACkH,GAAG,KAAK,WAAW,KAAA,CAAAwH,oBAAA,GAAIf,WAAW,CAAC5L,OAAO,cAAA2M,oBAAA,KAAA,MAAA,GAAA,MAAA,GAAnBA,oBAAA,CAAqBC,KAAK,EAAE,CAAA;AAAA,MAAA,CAAA;AAC3DvD,MAAAA,YAAY,EAAE;AAAEhO,QAAAA,OAAO,EAAEwM,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAdA,cAAc,GAAI3H,KAAK;AAAEgJ,QAAAA,QAAQ,EAAE;OAAU;AACtEE,MAAAA,OAAO,EAAE,OAAO;AAChBN,MAAAA,SAAS,EAAE;KACX;AAAAH,IAAAA,QAAA,eAEF9B,cAAA,CAACY,uBAAY,CAACD,IAAI,EAAA;AAACsB,MAAAA,SAAS,EAAC,iCAAiC;AAAAH,MAAAA,QAAA,EAC3D6kB;KACgB;AAAC,GACR,CAAC;AAEnB,CAAC;;ACxHD,IAAQhmB,MAAI,GAAKC,uBAAY,CAArBD,IAAI;AAEZ,IAAMkI,aAAW,GAAG,SAAdA,WAAWA,CAAA1V,IAAA,EAKX;AAAA,EAAA,IAJJiC,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACN4L,cAAc,GAAA7N,IAAA,CAAd6N,cAAc;IAAAC,oBAAA,GAAA9N,IAAA,CACd+N,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,oBAAA;IACvB5H,KAAK,GAAAlG,IAAA,CAALkG,KAAK;AAEL,EAAA,IAAAwL,eAAA,GAAcC,2BAAc,EAAE;IAAtBhS,CAAC,GAAA+R,eAAA,CAAD/R,CAAC;AAET,EAAA,IAAAmT,SAAA,GAAwBC,cAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA5B7S,IAAAA,IAAI,GAAA+S,UAAA,CAAA,CAAA,CAAA;AAAE2C,IAAAA,OAAO,GAAA3C,UAAA,CAAA,CAAA,CAAA;AACpB,EAAA,IAAAW,UAAA,GAA8BZ,cAAQ,CAAC,CAAC,CAAC;IAAAa,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAAlCiC,IAAAA,OAAO,GAAAhC,UAAA,CAAA,CAAA,CAAA;AAAEiC,IAAAA,UAAU,GAAAjC,UAAA,CAAA,CAAA,CAAA;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,IAAA4J,UAAA,GAAgCzK,cAAQ,CAAC,CAAC,CAAC;IAAA0K,UAAA,GAAAxK,+BAAA,CAAAuK,UAAA,EAAA,CAAA,CAAA;AAApCtK,IAAAA,QAAQ,GAAAuK,UAAA,CAAA,CAAA,CAAA;AAAEtK,IAAAA,WAAW,GAAAsK,UAAA,CAAA,CAAA,CAAA;AAE5B,EAAA,IAAM1I,WAAW,GAAG,SAAdA,WAAWA,GAAS;IACxBY,OAAO,CAAC,CAAC,CAAC;IACVE,UAAU,CAAC,CAAC,CAAC;EACf,CAAC;AAED,EAAA,IAAMR,YAAY,GAAG,SAAfA,YAAYA,GAAS;IACzBpT,MAAM,CACHoJ,KAAK,EAAE,CACPC,KAAK,EAAE,CACPwK,WAAW,CAAC;AAAE7V,MAAAA,IAAI,EAAJA,IAAI;AAAE8V,MAAAA,IAAI,EAAEH,OAAO;AAAEI,MAAAA,aAAa,EAAE;AAAK,KAAC,CAAC,CACzDvK,GAAG,EAAE;AACRsJ,IAAAA,WAAW,EAAE;IACb5B,WAAW,CAAC,UAAAE,CAAC,EAAA;MAAA,OAAIA,CAAC,GAAG,CAAC;IAAA,CAAA,CAAC;EACzB,CAAC;AAED,EAAA,IAAMqgB,WAAW,gBACfphB,eAAA,CAAAC,mBAAA,EAAA;IAAA5D,QAAA,EAAA,cACE9B,cAAA,CAACyH,gBAAK,EAAA;MACJC,SAAS,EAAA,IAAA;AACT,MAAA,aAAA,EAAY,0CAA0C;AACtDrO,MAAAA,KAAK,EAAEvG,CAAC,CAAC,uBAAuB,CAAE;AAClCsW,MAAAA,GAAG,EAAC,GAAG;AACPzB,MAAAA,WAAW,EAAE7U,CAAC,CAAC,+BAA+B,CAAE;AAChD8E,MAAAA,IAAI,EAAC,OAAO;AACZtD,MAAAA,IAAI,EAAC,QAAQ;AACboH,MAAAA,KAAK,EAAEtI,IAAK;MACZoU,QAAQ,EAAEI,0BAAoB,CAACkB,OAAO;AAAE,KACzC,CAAC,eACF9I,cAAA,CAACyH,gBAAK,EAAA;AACJ,MAAA,aAAA,EAAY,6CAA6C;AACzDpO,MAAAA,KAAK,EAAEvG,CAAC,CAAC,0BAA0B,CAAE;AACrCsW,MAAAA,GAAG,EAAC,GAAG;AACPzB,MAAAA,WAAW,EAAE7U,CAAC,CAAC,kCAAkC,CAAE;AACnD8E,MAAAA,IAAI,EAAC,OAAO;AACZtD,MAAAA,IAAI,EAAC,QAAQ;AACboH,MAAAA,KAAK,EAAEqN,OAAQ;MACfvB,QAAQ,EAAEI,0BAAoB,CAACoB,UAAU;KAC1C,CAAC,eACFhJ,cAAA,CAAA,KAAA,EAAA;AAAKiC,MAAAA,SAAS,EAAC,iCAAiC;MAAAH,QAAA,eAC9C9B,cAAA,CAACyD,iBAAM,EAAA;AACLxB,QAAAA,SAAS,EAAC,SAAS;AACnB,QAAA,aAAA,EAAY,oDAAoD;AAChE5I,QAAAA,KAAK,EAAEvG,CAAC,CAAC,2BAA2B,CAAE;AACtC8E,QAAAA,IAAI,EAAC,IAAI;AACT8J,QAAAA,OAAO,EAAE8G;OACV;AAAC,KACC,CAAC;AAAA,GACN,CACH;AAED,EAAA,IAAItH,eAAe,EAAE;AACnB,IAAA,oBACEyD,mBAAA,CAAC/D,uBAAY,CAACmB,OAAO,EAAA;AACb1I,MAAAA,KAAK,EAALA,KAAK;AACXC,MAAAA,IAAI,EAAE8W,iBAAM;AACZ9R,MAAAA,GAAG,EAAE+H,QAAS;AACdrE,MAAAA,YAAY,EAAE;AACZC,QAAAA,SAAS,EACP;OACF;AACFE,MAAAA,YAAY,EAAE;AACZ,QAAA,aAAa,EAAE;AACjB;AAAE,KAAA,EAED0kB,WACmB,CAAC;AAE3B,EAAA;EAEA,oBACE7mB,cAAA,CAACY,uBAAY,EAAA;AACX8F,IAAAA,aAAa,EAAE,KAAM;AACrBtE,IAAAA,aAAa,EAAE;AAAEH,MAAAA,SAAS,EAAE;KAAkC;AAC9D3I,IAAAA,IAAI,EAAE8W,iBAAM;AAEZ/N,IAAAA,QAAQ,EAAC,QAAQ;AACjBC,IAAAA,WAAW,EAAE;MACXoB,QAAQ,EAAE,EAAE;AACZlB,MAAAA,YAAY,EAAE;AAAEhO,QAAAA,OAAO,EAAEwM,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAA,MAAA,GAAdA,cAAc,GAAI3H,KAAK;AAAEgJ,QAAAA,QAAQ,EAAE;OAAU;AACtEE,MAAAA,OAAO,EAAE,OAAO;AAChBN,MAAAA,SAAS,EAAE,qCAAqC;AAChD,MAAA,aAAa,EAAE;KACf;AACF0E,IAAAA,OAAO,EAAEuB,WAAY;IAAApG,QAAA,eAErB9B,cAAA,CAACW,MAAI,EAAA;AAACsB,MAAAA,SAAS,EAAC,0BAA0B;AAAAH,MAAAA,QAAA,EAAE+kB;KAAkB;AAAC,GAAA,EAX1DxgB,QAYO,CAAC;AAEnB,CAAC;AAED,kBAAA,aAAe5D,UAAI,CAACoG,aAAW,CAAC;;;AC1GzB,IAAM2T,kBAAkB,GAAG;AAChCC,EAAAA,MAAM,EAAE,QAAQ;AAChBK,EAAAA,OAAO,EAAE,SAAS;AAClBgK,EAAAA,SAAS,EAAE,UAAU;AACrB7X,EAAAA,KAAK,EAAE,OAAO;AACdH,EAAAA,UAAU,EAAE,WAAW;AACvBF,EAAAA,KAAK,EAAE,OAAO;AACdmY,EAAAA,QAAQ,EAAE,UAAU;AACpBlK,EAAAA,SAAS,EAAE;AACb,CAAC;AAYM,IAAMmK,SAAS,IAAAC,UAAA,GAAA,EAAA,EAAA9uB,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAA8uB,UAAA,EACnBl2B,wBAAc,CAACC,IAAI,EAAG;AAAEk2B,EAAAA,GAAG,EAAE,IAAI;AAAEC,EAAAA,GAAG,EAAE;AAAS,CAAC,CAAA,EAClDp2B,wBAAc,CAACE,MAAM,EAAG;AAAEi2B,EAAAA,GAAG,EAAE,IAAI;AAAEC,EAAAA,GAAG,EAAE;AAAS,CAAC,CAAA,EACpDp2B,wBAAc,CAACG,SAAS,EAAG;AAAEg2B,EAAAA,GAAG,EAAE,IAAI;AAAEC,EAAAA,GAAG,EAAE;AAAS,CAAC,CAAA,EACvDp2B,wBAAc,CAACI,aAAa,EAAG;AAC9B+1B,EAAAA,GAAG,EAAE,YAAY;AACjBC,EAAAA,GAAG,EAAE;AACP,CAAC,CAAA,EACAp2B,wBAAc,CAACe,IAAI,EAAG;AAAEo1B,EAAAA,GAAG,EAAE,IAAI;AAAEC,EAAAA,GAAG,EAAE;AAAS,CAAC,CAAA,EAClDp2B,wBAAc,CAAC4rB,IAAI,EAAG;AAAEuK,EAAAA,GAAG,EAAE,IAAI;AAAEC,EAAAA,GAAG,EAAE;AAAS,CAAC,CAAA,EAClDp2B,wBAAc,CAAC6rB,IAAI,EAAG;AAAEsK,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,GAAG,EAAE;AAAe,CAAC,CAAA,EACzDp2B,wBAAc,CAACK,IAAI,EAAG;AAAE81B,EAAAA,GAAG,EAAE,IAAI;AAAEC,EAAAA,GAAG,EAAE;AAAS,CAAC,CAAA,EAClDp2B,wBAAc,CAAC8rB,SAAS,EAAG;AAAEqK,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,GAAG,EAAE;AAAe,CAAC,CAAA,EAAA,YAAA,EACnD;AAAED,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,GAAG,EAAE;AAAe,CAAC,GAAAhvB,gCAAA,CAAAA,gCAAA,CAAA8uB,UAAA,EAAA,aAAA,EAClC;AAAEC,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,GAAG,EAAE;AAAe,CAAC,CAAA,EAAA,UAAA,EACtC;AAAED,EAAAA,GAAG,EAAE,KAAK;AAAEC,EAAAA,GAAG,EAAE;AAAe,CAAC,CAAA,CAC9C;AAEM,IAAM5K,aAAa,GAAApkB,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAA,EAAA,EACvBqkB,kBAAkB,CAACC,MAAM,EAAG/Z,UAAU,CAAA,EACtC8Z,kBAAkB,CAACM,OAAO,EAAGlY,eAAe,GAC5C4X,kBAAkB,CAACsK,SAAS,EAAGjC,cAAc,CAAA,EAC7CrI,kBAAkB,CAACvN,KAAK,EAAGpG,WAAW,CAAA,EACtC2T,kBAAkB,CAAC1N,UAAU,EAAGlI,eAAe,CAAA,EAC/C4V,kBAAkB,CAAC5N,KAAK,EAAG5I,WAAW,CAAA,EACtCwW,kBAAkB,CAACuK,QAAQ,EAAGjmB,QAAQ,CAAA,EACtC0b,kBAAkB,CAACK,SAAS,EAAGuJ,iBAAiB,CAClD;AAEM,IAAMgB,mBAAmB,GAAAjvB,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAAA,gCAAA,CAAA,EAAA,EAC7BqkB,kBAAkB,CAACC,MAAM,EAAG,EAAE,CAAA,EAC9BD,kBAAkB,CAACM,OAAO,EAAG,EAAE,GAC/BN,kBAAkB,CAACsK,SAAS,EAAG,GAAG,CAAA,EAClCtK,kBAAkB,CAACvN,KAAK,EAAG,EAAE,CAAA,EAC7BuN,kBAAkB,CAAC1N,UAAU,EAAG,EAAE,CAAA,EAClC0N,kBAAkB,CAAC5N,KAAK,EAAG,EAAE,CAAA,EAC7B4N,kBAAkB,CAACuK,QAAQ,EAAG,EAAE,CAAA,EAChCvK,kBAAkB,CAACK,SAAS,EAAG,GAAG,CACpC;;;;ACtCD,IAAMxT,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAlW,IAAA,EAajB;EAAA,IAAAk0B,kBAAA,EAAAC,cAAA,EAAAC,gBAAA,EAAAC,cAAA,EAAAC,gBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,oBAAA,EAAAC,iBAAA,EAAAC,kBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,cAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,cAAA,EAAAC,cAAA;AAAA,EAAA,IAZJxf,QAAQ,GAAAnW,IAAA,CAARmW,QAAQ;IACRC,gBAAgB,GAAApW,IAAA,CAAhBoW,gBAAgB;IAChBC,eAAe,GAAArW,IAAA,CAAfqW,eAAe;IACfC,kBAAkB,GAAAtW,IAAA,CAAlBsW,kBAAkB;IAClBxR,OAAO,GAAA9E,IAAA,CAAP8E,OAAO;IACP8I,QAAQ,GAAA5N,IAAA,CAAR4N,QAAQ;IACRijB,mBAAmB,GAAA7wB,IAAA,CAAnB6wB,mBAAmB;IACnBvV,sBAAsB,GAAAtb,IAAA,CAAtBsb,sBAAsB;IACtBD,mBAAmB,GAAArb,IAAA,CAAnBqb,mBAAmB;IACnB2R,gBAAgB,GAAAhtB,IAAA,CAAhBgtB,gBAAgB;IAChB/qB,MAAM,GAAAjC,IAAA,CAANiC,MAAM;IACNqqB,yBAAyB,GAAAtsB,IAAA,CAAzBssB,yBAAyB;AAEzB,EAAA,IAAMsJ,eAAe,GAAG9wB,OAAO,CAACK,MAAM,CAAC,UAAA2U,MAAM,EAAA;AAAA,IAAA,OAAIA,MAAM,CAAC6Y,KAAK,CAAC,UAAU,CAAC;EAAA,CAAA,CAAC;AAE1E,EAAA,OAAO,CACL,CACE;IACExxB,IAAI,EAAEkoB,kBAAkB,CAACsK,SAAS;AAClC7uB,IAAAA,OAAO,EAAE8wB,eAAe;AACxB1vB,IAAAA,KAAK,EAAA,CAAAguB,kBAAA,GAAE/d,QAAQ,CAAC0f,QAAQ,MAAA,IAAA,IAAA3B,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAIv0B,MAAC,CAAC,2BAA2B,CAAC;AAC1Dm2B,IAAAA,SAAS,EAAE10B,oBAAU,CAACw0B,eAAe,CAAC;AACtCnmB,IAAAA,UAAU,EAAE,iBAAiB;AAC7Bud,IAAAA,gBAAgB,EAAhBA;AACF,GAAC,EACD;IACE7rB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEqQ,gBAAI;IACVsf,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACC,IAAI,CAAC;AAChD2R,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;MAAA,OAC9BA,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmL,UAAU,EAAE,CAAChL,GAAG,EAAE;AAAA,IAAA,CAC5C,CAAC;IACDgE,UAAU,EAAE7R,wBAAc,CAACC,IAAI;AAC/BqI,IAAAA,KAAK,EAAA,CAAAiuB,cAAA,GAAEhe,QAAQ,CAACS,IAAI,MAAA,IAAA,IAAAud,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAIx0B,MAAC,CAAC,uBAAuB;AACnD,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAE0Q,kBAAM;IACZif,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACE,MAAM,CAAC;AAClD0R,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACwL,YAAY,EAAE,CAACrL,GAAG,EAAE;AAAA,IAAA,CAC7C,CAAC;IACDgE,UAAU,EAAE7R,wBAAc,CAACE,MAAM;AACjCoI,IAAAA,KAAK,EAAA,CAAAkuB,gBAAA,GAAEje,QAAQ,CAACY,MAAM,MAAA,IAAA,IAAAqd,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAIz0B,MAAC,CAAC,yBAAyB;AACvD,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEgR,gBAAI;IACV2e,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACK,IAAI,CAAC;IAChDuR,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ8G,kBAAkB,CAACc,SAAG,CAAC;AAAA,IAAA,CAAA;IACtC3H,UAAU,EAAE7R,wBAAc,CAACK,IAAI;AAC/BiI,IAAAA,KAAK,EAAA,CAAAmuB,cAAA,GAAEle,QAAQ,CAAClB,IAAI,MAAA,IAAA,IAAAof,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAI10B,MAAC,CAAC,uBAAuB;AACnD,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEkR,yBAAa;IACnBye,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACI,aAAa,CAAC;AACzDwR,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACgM,YAAY,EAAE,CAAC7L,GAAG,EAAE;AAAA,IAAA,CAC7C,CAAC;IACDgE,UAAU,EAAE7R,wBAAc,CAACI,aAAa;AACxCkI,IAAAA,KAAK,EAAA,CAAAouB,gBAAA,GAAEne,QAAQ,CAACoB,MAAM,MAAA,IAAA,IAAA+c,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI30B,MAAC,CAAC,yBAAyB;AACvD,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACK,SAAS;AAClCvjB,IAAAA,IAAI,EAAEqR,uBAAW;AACjBtR,IAAAA,KAAK,EAAA,CAAAquB,mBAAA,GAAEpe,QAAQ,CAACzG,SAAS,MAAA,IAAA,IAAA6kB,mBAAA,KAAA,MAAA,GAAAA,mBAAA,GAAI50B,MAAC,CAAC,4BAA4B,CAAC;IAC5Dm2B,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC8rB,SAAS,CAAC;IACrDja,UAAU,EAAE7R,wBAAc,CAAC8rB,SAAS;AACpCznB,IAAAA,MAAM,EAANA,MAAM;AACN+qB,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBnf,IAAAA,cAAc,EAAA,CAAA2mB,oBAAA,GAAEre,QAAQ,CAACzG,SAAS,MAAA,IAAA,IAAA8kB,oBAAA,KAAA,MAAA,GAAAA,oBAAA,GAAI70B,MAAC,CAAC,4BAA4B;GACrE,CACF,EACD,CACE;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEkS,gBAAI;AACV7I,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACgN,gBAAgB,EAAE,CAAC7M,GAAG,EAAE;AAAA,IAAA,CACjD,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACa,YAAY,CAAC;AACxDgR,IAAAA,UAAU,EAAE,YAAY;AACxBC,IAAAA,SAAS,EAAE,IAAI;AACfxJ,IAAAA,KAAK,EAAA,CAAAuuB,oBAAA,GAAEte,QAAQ,CAACoC,UAAU,MAAA,IAAA,IAAAkc,oBAAA,KAAA,MAAA,GAAAA,oBAAA,GAAI90B,MAAC,CAAC,+BAA+B;AACjE,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEqS,uBAAW;AACjBhJ,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACmN,iBAAiB,EAAE,CAAChN,GAAG,EAAE;AAAA,IAAA,CAClD,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACc,YAAY,CAAC;AACxD+Q,IAAAA,UAAU,EAAE,aAAa;AACzBC,IAAAA,SAAS,EAAE,IAAI;AACfxJ,IAAAA,KAAK,EAAA,CAAAwuB,qBAAA,GAAEve,QAAQ,CAACuC,WAAW,MAAA,IAAA,IAAAgc,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI/0B,MAAC,CAAC,8BAA8B;AACjE,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAE4vB,sBAAU;AAChBvmB,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC0qB,cAAc,EAAE,CAACvqB,GAAG,EAAE;AAAA,IAAA,CAC/C,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACq4B,SAAS,CAAC;AACrDxmB,IAAAA,UAAU,EAAE,UAAU;AACtBC,IAAAA,SAAS,EAAE,IAAI;AACfxJ,IAAAA,KAAK,EAAA,CAAAyuB,kBAAA,GAAExe,QAAQ,CAAC+f,QAAQ,MAAA,IAAA,IAAAvB,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAIh1B,MAAC,CAAC,2BAA2B;GAC1D,CACF,EACD,CACE;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEwR,iBAAK;AACXnI,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACsM,gBAAgB,EAAE,CAACnM,GAAG,EAAE;AAAA,IAAA,CACjD,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACu4B,UAAU,CAAC;AACtD1mB,IAAAA,UAAU,EAAE,YAAY;AACxBC,IAAAA,SAAS,EAAE,IAAI;AACfxJ,IAAAA,KAAK,EAAA,CAAA0uB,oBAAA,GAAEze,QAAQ,CAAC0B,UAAU,MAAA,IAAA,IAAA+c,oBAAA,KAAA,MAAA,GAAAA,oBAAA,GAAIj1B,MAAC,CAAC,6BAA6B;AAC/D,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACM,OAAO;AAChCzjB,IAAAA,KAAK,EAAA,CAAA2uB,iBAAA,GAAE1e,QAAQ,CAACigB,OAAO,MAAA,IAAA,IAAAvB,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAIl1B,MAAC,CAAC,0BAA0B,CAAC;IACxDm2B,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC+rB,OAAO,CAAC;IACnDla,UAAU,EAAE7R,wBAAc,CAAC+rB,OAAO;AAClC1nB,IAAAA,MAAM,EAANA,MAAM;AACN+qB,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBnf,IAAAA,cAAc,EAAA,CAAAinB,kBAAA,GAAE3e,QAAQ,CAACigB,OAAO,MAAA,IAAA,IAAAtB,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAIn1B,MAAC,CAAC,0BAA0B;GACjE,CACF,EACD,CACE;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACvN,KAAK;AAC9B5V,IAAAA,KAAK,EAAA,CAAA6uB,eAAA,GAAE5e,QAAQ,CAAC+G,KAAK,MAAA,IAAA,IAAA6X,eAAA,KAAA,MAAA,GAAAA,eAAA,GAAIp1B,MAAC,CAAC,wBAAwB,CAAC;IACpDm2B,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACke,KAAK,CAAC;IACjDrM,UAAU,EAAE7R,wBAAc,CAACke;AAC7B,GAAC,EACD;IACE3a,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEyS,qBAAS;IACfpJ,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ6G,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEwC,uBAAuB,EAAE;AAAA,IAAA,CAAA;AACzDjJ,IAAAA,QAAQ,EAAEyG,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEyC,UAAU;IACrCgd,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACgsB,WAAW,CAAC;IACvDna,UAAU,EAAE7R,wBAAc,CAACgsB,WAAW;AACtC1jB,IAAAA,KAAK,EAAA,CAAA8uB,qBAAA,GAAE7e,QAAQ,CAAC4C,WAAW,MAAA,IAAA,IAAAic,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIr1B,MAAC,CAAC,8BAA8B;AACjE,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEqqB,oBAAQ;AACdhhB,IAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;AACb,MAAA,IAAI,CAACvN,MAAM,IAAI,CAACqqB,yBAAyB,EAAE;AAE3C,MAAA,IAAA5G,qBAAA,GAAqBzjB,MAAM,CAACtB,KAAK,CAACgd,SAAS;QAAnCgI,IAAI,GAAAD,qBAAA,CAAJC,IAAI;QAAE7B,EAAE,GAAA4B,qBAAA,CAAF5B,EAAE;MAChB,IAAMuS,SAAS,GAAGp0B,MAAM,CAACzB,IAAI,CAAC81B,WAAW,CAAC3Q,IAAI,CAAC;AAE/C2G,MAAAA,yBAAyB,CAAC;AACxB5V,QAAAA,MAAM,EAAE,IAAI;AACZzU,QAAAA,MAAM,EAANA,MAAM;AACNuJ,QAAAA,KAAK,EAAE;AAAEma,UAAAA,IAAI,EAAJA,IAAI;AAAE7B,UAAAA,EAAE,EAAFA;SAAI;AACnBuS,QAAAA,SAAS,EAATA;AACF,OAAC,CAAC;IACJ,CAAC;IACDP,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACmsB,gBAAgB,CAAC;IAC5Dta,UAAU,EAAE7R,wBAAc,CAACmsB,gBAAgB;AAC3C7jB,IAAAA,KAAK,EAAA,CAAA+uB,qBAAA,GACH9e,QAAQ,CAACogB,cAAc,MAAA,IAAA,IAAAtB,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIt1B,MAAC,CAAC,uCAAuC;AACxE,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAE6S,mBAAO;IACbxJ,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ4G,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAAA,IAAA,CAAA;IACrD6c,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACisB,YAAY,CAAC;IACxDpa,UAAU,EAAE7R,wBAAc,CAACisB,YAAY;AACvC3jB,IAAAA,KAAK,EAAA,CAAAgvB,qBAAA,GAAE/e,QAAQ,CAAC+C,WAAW,MAAA,IAAA,IAAAgc,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAIv1B,MAAC,CAAC,8BAA8B;GAChE,CACF,EACD,CACE;IACEwB,IAAI,EAAEkoB,kBAAkB,CAAC1N,UAAU;AACnCzV,IAAAA,KAAK,EAAA,CAAAivB,mBAAA,GAAEhf,QAAQ,CAAC6G,SAAS,MAAA,IAAA,IAAAmY,mBAAA,KAAA,MAAA,GAAAA,mBAAA,GAAIx1B,MAAC,CAAC,4BAA4B,CAAC;IAC5Dm2B,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC+d,UAAU,CAAC;IACtDlM,UAAU,EAAE7R,wBAAc,CAAC+d;AAC7B,GAAC,EACD;IACExa,IAAI,EAAEkoB,kBAAkB,CAAC5N,KAAK;AAC9BvV,IAAAA,KAAK,EAAA,CAAAkvB,eAAA,GAAEjf,QAAQ,CAACzK,KAAK,MAAA,IAAA,IAAA0pB,eAAA,KAAA,MAAA,GAAAA,eAAA,GAAIz1B,MAAC,CAAC,wBAAwB,CAAC;IACpDm2B,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC6d,KAAK,CAAC;IACjDhM,UAAU,EAAE7R,wBAAc,CAAC6d,KAAK;AAChC3P,IAAAA,SAAS,EAAEwP,sBAAsB;AACjClL,IAAAA,QAAQ,EAAEiL;AACZ,GAAC,EACD;IACEla,IAAI,EAAEkoB,kBAAkB,CAACuK,QAAQ;AACjC1tB,IAAAA,KAAK,EAAA,CAAAmvB,iBAAA,GAAElf,QAAQ,CAACgH,OAAO,MAAA,IAAA,IAAAkY,iBAAA,KAAA,MAAA,GAAAA,iBAAA,GAAI11B,MAAC,CAAC,0BAA0B,CAAC;AACxDm2B,IAAAA,SAAS,EAAE10B,oBAAU,CAACwM,QAAQ,CAAC;AAC/B6B,IAAAA,UAAU,EAAE,UAAU;AACtB7B,IAAAA,QAAQ,EAARA;AACF,GAAC,EACD;IACEzM,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAE2R,gBAAI;AACVtI,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACyM,UAAU,EAAE,CAACtM,GAAG,EAAE;AAAA,IAAA,CAC3C,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACe,IAAI,CAAC;IAChD8Q,UAAU,EAAE7R,wBAAc,CAACe,IAAI;AAC/BuH,IAAAA,KAAK,EAAA,CAAAovB,cAAA,GAAEnf,QAAQ,CAAC6B,IAAI,MAAA,IAAA,IAAAsd,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAI31B,MAAC,CAAC,uBAAuB;AACnD,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAE8R,sBAAU;AAChBzI,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC4M,eAAe,EAAE,CAACzM,GAAG,EAAE;AAAA,IAAA,CAChD,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC44B,UAAU,CAAC;AACtD/mB,IAAAA,UAAU,EAAE,WAAW;AACvBvJ,IAAAA,KAAK,EAAA,CAAAqvB,mBAAA,GAAEpf,QAAQ,CAACgC,SAAS,MAAA,IAAA,IAAAod,mBAAA,KAAA,MAAA,GAAAA,mBAAA,GAAI51B,MAAC,CAAC,4BAA4B;AAC7D,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAEgT,iBAAK;IACX3J,OAAO,EAAE,SAATA,OAAOA,GAAA;MAAA,OAAQ4G,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAAA,IAAA,CAAA;IACrD6c,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACksB,YAAY,CAAC;IACxDra,UAAU,EAAE7R,wBAAc,CAACksB,YAAY;AACvC5jB,IAAAA,KAAK,EAAA,CAAAsvB,qBAAA,GAAErf,QAAQ,CAACiD,WAAW,MAAA,IAAA,IAAAoc,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI71B,MAAC,CAAC,8BAA8B;AACjE,GAAC,EACD;IACEwB,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/BnjB,IAAAA,IAAI,EAAE6Q,qBAAS;IACf8e,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAACG,SAAS,CAAC;AACrDyR,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAAC2L,eAAe,EAAE,CAACxL,GAAG,EAAE;AAAA,IAAA,CAChD,CAAC;IACDgE,UAAU,EAAE7R,wBAAc,CAACG,SAAS;AACpCmI,IAAAA,KAAK,EAAA,CAAAuvB,mBAAA,GAAEtf,QAAQ,CAACe,SAAS,MAAA,IAAA,IAAAue,mBAAA,KAAA,MAAA,GAAAA,mBAAA,GAAI91B,MAAC,CAAC,4BAA4B;AAC7D,GAAC,CACF,EAAAoxB,mCAAA,CACGF,mBAAmB,GACvB,CACE;AACE1qB,IAAAA,IAAI,EAAEmT,gBAAI;AACV9J,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACiO,IAAI,EAAE,CAAC9N,GAAG,EAAE;AAAA,IAAA,CACrC,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC4rB,IAAI,CAAC;IAChD/Z,UAAU,EAAE7R,wBAAc,CAAC4rB,IAAI;AAC/BtjB,IAAAA,KAAK,EAAA,CAAAwvB,cAAA,GAAEvf,QAAQ,CAACoD,IAAI,MAAA,IAAA,IAAAmc,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAI/1B,MAAC,CAAC,uBAAuB,CAAC;IAClDwB,IAAI,EAAEkoB,kBAAkB,CAACC;AAC3B,GAAC,EACD;AACEnjB,IAAAA,IAAI,EAAEsT,gBAAI;AACVjK,IAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,MAAA,OAC9BA,MAAM,CAACoJ,KAAK,EAAE,CAACC,KAAK,EAAE,CAACoO,IAAI,EAAE,CAACjO,GAAG,EAAE;AAAA,IAAA,CACrC,CAAC;IACDqqB,SAAS,EAAEhxB,OAAO,CAACO,QAAQ,CAACzH,wBAAc,CAAC6rB,IAAI,CAAC;IAChDha,UAAU,EAAE7R,wBAAc,CAAC6rB,IAAI;AAC/BvjB,IAAAA,KAAK,EAAA,CAAAyvB,cAAA,GAAExf,QAAQ,CAACuD,IAAI,MAAA,IAAA,IAAAic,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAIh2B,MAAC,CAAC,uBAAuB,CAAC;IAClDwB,IAAI,EAAEkoB,kBAAkB,CAACC;AAC3B,GAAC,CACF,CACF;AACH,CAAC;AAEM,IAAMmH,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAAvlB,KAAA,EAAA;AAAA,EAAA,IAAMsD,QAAQ,GAAAtD,KAAA,CAARsD,QAAQ;IAAEwe,gBAAgB,GAAA9hB,KAAA,CAAhB8hB,gBAAgB;AAAA,EAAA,OACxExe,QAAQ,CAAClJ,GAAG,CAAC,UAAAwU,MAAM,EAAA;AAAA,IAAA,OAAA3N,eAAA,CAAAA,eAAA,CAAA,EAAA,EACd2N,MAAM,CAAA,EAAA,EAAA,EAAA;MACT3Y,IAAI,EAAEkoB,kBAAkB,CAACC,MAAM;AAC/B9Z,MAAAA,OAAO,EAAEwd,gBAAgB,CAAC,UAAA/qB,MAAM,EAAA;AAAA,QAAA,IAAA0uB,eAAA,EAAA8F,aAAA,EAAAC,cAAA;AAAA,QAAA,OAAA,CAAA/F,eAAA,GAC9B7W,MAAM,CAACtK,OAAO,MAAA,IAAA,IAAAmhB,eAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,eAAA,CAAAtoB,IAAA,CAAAyR,MAAM,EAAW;AACf7X,UAAAA,MAAM,EAANA,MAAM;AACNuJ,UAAAA,KAAK,EAAE;AACLma,YAAAA,IAAI,GAAA8Q,aAAA,GAAEx0B,MAAM,CAACtB,KAAK,cAAA81B,aAAA,KAAA,MAAA,IAAA,CAAAA,aAAA,GAAZA,aAAA,CAAc9Y,SAAS,MAAA,IAAA,IAAA8Y,aAAA,KAAA,MAAA,GAAA,MAAA,GAAvBA,aAAA,CAAyB3S,EAAE;AACjCA,YAAAA,EAAE,EAAA,CAAA4S,cAAA,GAAEz0B,MAAM,CAACtB,KAAK,MAAA,IAAA,IAAA+1B,cAAA,KAAA,MAAA,GAAA,MAAA,GAAZA,cAAA,CAAc/Y,SAAS,CAACmG;AAC9B;AACF,SAAC,CAAC;MAAA,CACJ;AAAC,KAAA,CAAA;AAAA,EAAA,CACD,CAAC;AAAA,CAAA;AAEE,IAAM0J,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAvT,KAAA,EAavB;AAAA,EAAA,IAZJ9D,QAAQ,GAAA8D,KAAA,CAAR9D,QAAQ;IACRrR,OAAO,GAAAmV,KAAA,CAAPnV,OAAO;IACPsR,gBAAgB,GAAA6D,KAAA,CAAhB7D,gBAAgB;IAChBC,eAAe,GAAA4D,KAAA,CAAf5D,eAAe;IACfC,kBAAkB,GAAA2D,KAAA,CAAlB3D,kBAAkB;IAAAqgB,cAAA,GAAA1c,KAAA,CAClBrM,QAAQ;AAARA,IAAAA,QAAQ,GAAA+oB,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IACbxK,aAAa,GAAAlS,KAAA,CAAbkS,aAAa;IACb7Q,sBAAsB,GAAArB,KAAA,CAAtBqB,sBAAsB;IACtBD,mBAAmB,GAAApB,KAAA,CAAnBoB,mBAAmB;IACnB2R,gBAAgB,GAAA/S,KAAA,CAAhB+S,gBAAgB;IAChB/qB,MAAM,GAAAgY,KAAA,CAANhY,MAAM;IACNqqB,yBAAyB,GAAArS,KAAA,CAAzBqS,yBAAyB;EAEzB,IAAMuE,mBAAmB,GAAGJ,6BAA6B,CAAC;AACxDjiB,IAAAA,QAAQ,EAAE2d,aAAa;AACvBa,IAAAA,gBAAgB,EAAhBA;AACF,GAAC,CAAC;EAEF,IAAMpT,WAAW,GAAG1D,iBAAiB,CAAC;AACpCC,IAAAA,QAAQ,EAARA,QAAQ;AACRC,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,IAAAA,eAAe,EAAfA,eAAe;AACfC,IAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBxR,IAAAA,OAAO,EAAPA,OAAO;AACP8I,IAAAA,QAAQ,EAARA,QAAQ;AACRijB,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBvV,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBD,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnB2R,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChB/qB,IAAAA,MAAM,EAANA,MAAM;AACNqqB,IAAAA,yBAAyB,EAAzBA;AACF,GAAC,CAAC;AAEF,EAAA,OAAO1S,WAAW,CAACtU,GAAG,CAAC,UAAAwU,MAAM,EAAA;IAAA,OAAIA,MAAM,CAAC3U,MAAM,CAACyV,UAAI,CAAC,WAAW,CAAC,CAAC;EAAA,CAAA,CAAC;AACpE,CAAC;AAEM,IAAM0L,YAAY,GAAG,SAAfA,YAAYA,CAAIrkB,MAAM,EAAE6hB,EAAE,EAAA;EAAA,OAAK7hB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEzB,IAAI,CAAC81B,WAAW,CAACxS,EAAE,CAAC;AAAA,CAAA;AAEjE,IAAM6J,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIb,OAAO,EAAES,UAAU,EAAK;AACvD,EAAA,IAAMqJ,YAAY,GAAG9J,OAAO,CAAC9mB,OAAO,CAAC6wB,WAAW;EAChD,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAMlJ,iBAAiB,GAAG,EAAE;EAC5B,IAAMC,mBAAmB,GAAG,EAAE;AAC9BN,EAAAA,UAAU,CAACvsB,OAAO,CAAC,UAACioB,KAAK,EAAE8N,UAAU,EAAK;AACxC9N,IAAAA,KAAK,CAACjoB,OAAO,CAAC,UAAC+Y,IAAI,EAAEid,SAAS,EAAK;AACjC,MAAA,IAAMjY,KAAK,GAAGkV,mBAAmB,CAACla,IAAI,CAAC5Y,IAAI,CAAC;AAC5C,MAAA,IAAI21B,UAAU,GAAG/X,KAAK,GAAG6X,YAAY,EAAE;AAAA,QAAA,IAAAK,qBAAA;AACrCH,QAAAA,UAAU,IAAI/X,KAAK;AACnB6O,QAAAA,iBAAiB,CAACmJ,UAAU,CAAC,GAAA,CAAAE,qBAAA,GAAGrJ,iBAAiB,CAACmJ,UAAU,CAAC,MAAA,IAAA,IAAAE,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE;AACnErJ,QAAAA,iBAAiB,CAACmJ,UAAU,CAAC,CAACC,SAAS,CAAC,GAAGjd,IAAI;AACjD,MAAA,CAAC,MAAM;AAAA,QAAA,IAAAmd,qBAAA;AACL,QAAA,IAAMC,uBAAuB,GAAGvJ,iBAAiB,CAAC1lB,MAAM;AACxD,QAAA,IAAMkvB,KAAK,GAAGL,UAAU,GAAGI,uBAAuB,GAAG,CAAC;AACtDtJ,QAAAA,mBAAmB,CAACuJ,KAAK,CAAC,GAAA,CAAAF,qBAAA,GAAGrJ,mBAAmB,CAACuJ,KAAK,CAAC,MAAA,IAAA,IAAAF,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE;AAC7DrJ,QAAAA,mBAAmB,CAACuJ,KAAK,CAAC,CAACJ,SAAS,CAAC,GAAGjd,IAAI;AAC9C,MAAA;AACF,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,CAAC;EAEF,OAAO;AAAE6T,IAAAA,iBAAiB,EAAjBA,iBAAiB;AAAEC,IAAAA,mBAAmB,EAAnBA;GAAqB;AACnD,CAAC;AAEM,IAAM1F,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIlmB,MAAM,EAAE+kB,UAAU,EAAK;EAC5D,IAAAqQ,qBAAA,GAKIp1B,MAAM,CAACzB,IAAI,CAACG,KAAK,CAJnBgd,SAAS;AACK2Z,IAAAA,YAAY,GAAAD,qBAAA,CAAxBE,GAAG,CAAIC,GAAG;AACIC,IAAAA,cAAc,GAAAJ,qBAAA,CAA5BK,KAAK,CAAIF,GAAG;AAGhB,EAAA,IAAMG,eAAe,GAAGL,YAAY,GAAGG,cAAc;EACrD,IAAIvZ,MAAM,GAAG,CAAC;AACd,EAAA,IAAIyZ,eAAe,GAAG,CAAC,EAAEzZ,MAAM,GAAG+F,IAAI,CAAC2T,KAAK,CAACD,eAAe,GAAG,CAAC,CAAC;AAEjE,EAAA,IAAIA,eAAe,KAAK,CAAC,EAAEzZ,MAAM,GAAG,CAAC;EAErC,IAAM2Z,WAAW,GAAG51B,MAAM,CAACzB,IAAI,CAAC81B,WAAW,CAACmB,cAAc,GAAGvZ,MAAM,CAAC;AACpE,EAAA,IAAM4I,aAAa,GAAG;IACpBH,GAAG,EAAA,EAAA,CAAAxmB,MAAA,CAAK03B,WAAW,CAAClR,GAAG,GAAG,EAAE,EAAA,IAAA,CAAI;AAChCC,IAAAA,IAAI,KAAAzmB,MAAA,CAAK03B,WAAW,CAACjR,IAAI,GAAG,GAAG,EAAA,IAAA;GAChC;EAED,IAAMkR,aAAa,GAAG71B,MAAM,CAACzB,IAAI,CAAC81B,WAAW,CAACmB,cAAc,CAAC;EAC7D,IAAIM,YAAY,GAAGD,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAElR,IAAI;AACpCoR,IAAAA,WAAW,GAAGF,aAAa,KAAA,IAAA,IAAbA,aAAa,KAAA,MAAA,GAAA,MAAA,GAAbA,aAAa,CAAEnR,GAAG;AAClC,EAAA,IAAIK,UAAU,KAAA,IAAA,IAAVA,UAAU,eAAVA,UAAU,CAAEhhB,OAAO,EAAE;AAAA,IAAA,IAAAiyB,mBAAA;AACvB,IAAA,IAAMC,WAAW,GAAA,CAAAD,mBAAA,GAAGjR,UAAU,CAAChhB,OAAO,MAAA,IAAA,IAAAiyB,mBAAA,KAAA,MAAA,GAAA,MAAA,GAAlBA,mBAAA,CAAoBE,qBAAqB,EAAE;AAE/D,IAAA,IAAMC,WAAW,GAAG/P,MAAM,CAACgQ,UAAU;AACrC,IAAA,IAAMC,YAAY,GAAGjQ,MAAM,CAACkQ,WAAW;AAEvC,IAAA,IAAMC,OAAO,GAAGJ,WAAW,GAAGF,WAAW,CAACnZ,KAAK;IAC/C,IAAM0Z,MAAM,GAAGH,YAAY,GAAGJ,WAAW,CAACQ,MAAM,GAAG,EAAE;IAErDX,YAAY,GAAGD,aAAa,KAAA,IAAA,IAAbA,aAAa,eAAbA,aAAa,CAAElR,IAAI,GAC9B3C,IAAI,CAAChO,GAAG,CAAC6hB,aAAa,CAAClR,IAAI,GAAG,EAAE,EAAE4R,OAAO,CAAC,GAC1C,CAAC;IAELR,WAAW,GAAGF,aAAa,KAAA,IAAA,IAAbA,aAAa,eAAbA,aAAa,CAAEnR,GAAG,GAC5B1C,IAAI,CAAChO,GAAG,CAAC6hB,aAAa,CAACnR,GAAG,GAAG,EAAE,EAAE8R,MAAM,CAAC,GACxC,CAAC;AACP,EAAA,CAAC,MAAM;AACLV,IAAAA,YAAY,GAAGD,aAAa,CAAClR,IAAI,GAAG,EAAE;AACtCoR,IAAAA,WAAW,GAAGF,aAAa,CAACnR,GAAG,GAAG,EAAE;AACtC,EAAA;AAEA,EAAA,IAAMH,eAAe,GAAG;AACtBG,IAAAA,GAAG,EAAA,EAAA,CAAAxmB,MAAA,CAAK63B,WAAW,EAAA,IAAA,CAAI;IACvBpR,IAAI,EAAA,EAAA,CAAAzmB,MAAA,CAAK43B,YAAY,EAAA,IAAA;GACtB;EAED,OAAO;AAAEjR,IAAAA,aAAa,EAAbA,aAAa;AAAEN,IAAAA,eAAe,EAAfA;GAAiB;AAC3C;AAEO,SAAShW,oBAAoBA,CAACtK,KAAK,EAAEuJ,UAAU,EAAE;AACtD,EAAA,IAAMkpB,QAAQ,GAAG9E,SAAS,CAACpkB,UAAU,CAAC;AACtC,EAAA,IAAI,CAACkpB,QAAQ,EAAE,OAAOzyB,KAAK;AAE3B,EAAA,IAAM0yB,KAAK,GAAG,SAARA,KAAKA,GAAA;AAAA,IAAA,OACT,OAAOvQ,MAAM,KAAK,WAAW,IAC7B,sBAAsB,CAACvlB,IAAI,CAACulB,MAAM,CAACwQ,SAAS,CAACC,SAAS,CAAC;AAAA,EAAA,CAAA;AAEzD,EAAA,IAAM3tB,GAAG,GAAGytB,KAAK,EAAE,GAAGD,QAAQ,CAAC5E,GAAG,GAAG4E,QAAQ,CAAC3E,GAAG;AAEjD,EAAA,OAAA,EAAA,CAAA7zB,MAAA,CAAU+F,KAAK,EAAA,IAAA,CAAA,CAAA/F,MAAA,CAAKgL,GAAG,EAAA,GAAA,CAAA;AACzB;;;;AC7aA,IAAMqC,IAAI,GAAG,SAAPA,IAAIA,CAAGpC,KAAK,EAAI;AACpB,EAAA,IAAA0H,SAAA,GAAsDC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,+BAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA9DuI,IAAAA,mBAAmB,GAAArI,UAAA,CAAA,CAAA,CAAA;AAAEsI,IAAAA,sBAAsB,GAAAtI,UAAA,CAAA,CAAA,CAAA;EAClD,IAAAW,UAAA,GAA0CZ,cAAQ,CAAC;AACjD+P,MAAAA,KAAK,EAAE,KAAK;AACZC,MAAAA,KAAK,EAAE;AACT,KAAC,CAAC;IAAAnP,UAAA,GAAAX,+BAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAHK6O,IAAAA,aAAa,GAAA5O,UAAA,CAAA,CAAA,CAAA;AAAEwC,IAAAA,gBAAgB,GAAAxC,UAAA,CAAA,CAAA,CAAA;AAKtC,EAAA,IAAAmlB,eAAA,GAOI3tB,KAAK,CANP4tB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,eAAA,KAAA,MAAA,GAAG,OAAO,GAAAA,eAAA;IAAAE,aAAA,GAMhB7tB,KAAK,CALP8tB,MAAM;AAANA,IAAAA,MAAM,GAAAD,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IAAAE,cAAA,GAKT/tB,KAAK,CAJPtG,OAAO;AAAPA,IAAAA,OAAO,GAAAq0B,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAC,oBAAA,GAIVhuB,KAAK,CAHPiuB,aAAa;AAAbA,IAAAA,aAAa,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;IAClB/iB,eAAe,GAEbjL,KAAK,CAFPiL,eAAe;IAAAijB,eAAA,GAEbluB,KAAK,CADPmuB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,eAAA,KAAA,MAAA,GAAG37B,sBAAsB,GAAA27B,eAAA;EAGnC,IAAME,aAAa,GAAGpM,aAAO,CAAC,YAAA;IAAA,OAAM8D,eAAe,CAAC8H,QAAQ,CAAC;EAAA,CAAA,EAAE,CAACA,QAAQ,CAAC,CAAC;AAC1E,EAAA,IAAMpf,WAAW,GAAG5L,aAAO,CAAClJ,OAAO,CAAC,GAAA,EAAA,CAAA3E,MAAA,CAAA4wB,mCAAA,CAAOwI,QAAQ,CAAA,EAAAxI,mCAAA,CAAKmI,MAAM,KAAIp0B,OAAO;AAEzEmP,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAMmB,aAAa,GAAG,SAAhBA,aAAaA,CAAGxO,CAAC,EAAI;AACzB,MAAA,IAAI,CAACA,CAAC,CAAC6yB,OAAO,IAAI7yB,CAAC,CAAC8yB,OAAO,KAAK9yB,CAAC,CAAC+yB,MAAM,EAAE;AACxC,QAAA,IAAI/yB,CAAC,CAACoR,IAAI,KAAK,MAAM,EAAE;UACrBsD,sBAAsB,CAAC,UAAAse,SAAS,EAAA;AAAA,YAAA,OAAI,CAACA,SAAS;UAAA,CAAA,CAAC;AACjD,QAAA,CAAC,MAAM,IAAIhzB,CAAC,CAACoR,IAAI,KAAK,MAAM,EAAE;AAC5BZ,UAAAA,SAAG,CAACf,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEyC,UAAU,CAAC,KAC9BzC,eAAe,aAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEwC,uBAAuB,EAAE,CAAA;AAC9C,QAAA,CAAC,MAAM,IAAIjS,CAAC,CAACoR,IAAI,KAAK,MAAM,EAAE;AAC5B5B,UAAAA,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxC,QAAA,CAAC,MAAM,IAAIrS,CAAC,CAACoR,IAAI,KAAK,MAAM,EAAE;AAC5B5B,UAAAA,gBAAgB,CAAC6C,WAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxC,QAAA;AACF,MAAA;IACF,CAAC;IACD,IAAI+f,QAAQ,KAAK,MAAM,EAAE;AACvBt2B,MAAAA,QAAQ,CAAC4lB,gBAAgB,CAAC,SAAS,EAAElT,aAAa,CAAC;AACrD,IAAA;AAEA,IAAA,OAAO,YAAM;AACX1S,MAAAA,QAAQ,CAAC6lB,mBAAmB,CAAC,SAAS,EAAEnT,aAAa,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,oBACEvI,cAAA,CAAC2sB,aAAa,EAAArtB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAEPf,KAAK,CAAA,EAAA,EAAA,EAAA;AACRiL,IAAAA,eAAe,EAAfA,eAAe;AACfgF,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBmH,IAAAA,aAAa,EAAbA,aAAa;AACblH,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBlF,IAAAA,gBAAgB,EAAhBA;AAAgB,GAAA,CAAA,CAAA,EAAA,EAAA,EAAA;AAElBtR,IAAAA,OAAO,EAAE8U,WAAY;IACrBigB,cAAc,EAAER,aAAa,CAACS;AAAS,GAAA,CACxC,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;;;;;"}