markdown-text-editor 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -342
- package/dist/index.css +3 -2
- package/dist/index.css.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.LICENSE.txt +1 -0
- package/dist/index.js.map +1 -1
- package/dist/markdown-text-editor.css +3 -2
- package/dist/markdown-text-editor.css.map +1 -1
- package/dist/markdown-text-editor.js +2 -1
- package/dist/markdown-text-editor.js.LICENSE.txt +3 -0
- package/dist/markdown-text-editor.js.map +1 -1
- package/package.json +23 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-text-editor.js","mappings":"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","sources":["webpack://MarkdownEditor/webpack/universalModuleDefinition","webpack://MarkdownEditor/./src/components/Preview.js","webpack://MarkdownEditor/./src/components/toolbar/MakeTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BoldTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ItalicTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/StrikethroughTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ULTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/OLTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/PreviewTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/CheckListTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BlockQuoteTool.js","webpack://MarkdownEditor/./src/components/modal.js","webpack://MarkdownEditor/./src/components/toolbar/tools/LinkTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/HeadingTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ImageTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/UndoTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/RedoTool.js","webpack://MarkdownEditor/./src/components/toolbar/Toolbar.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/base.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/character.js","webpack://MarkdownEditor/./src/utils/UndoRedoManager.js","webpack://MarkdownEditor/webpack/bootstrap","webpack://MarkdownEditor/webpack/runtime/define property getters","webpack://MarkdownEditor/webpack/runtime/hasOwnProperty shorthand","webpack://MarkdownEditor/./node_modules/marked/lib/marked.esm.js","webpack://MarkdownEditor/./src/components/Editor.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MarkdownEditor\"] = factory();\n\telse\n\t\troot[\"MarkdownEditor\"] = factory();\n})(typeof self !== \"undefined\" ? self : this, () => {\nreturn ","class Preview {\n constructor(container) {\n this.previewContainer = document.createElement('div');\n this.previewContainer.className = 'preview-wrapper fj:p-2 fj:hidden fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-l';\n this.previewContent = document.createElement('div');\n this.previewContent.className = 'preview-content fj:prose fj:prose-sm fj:md:prose-base fj:dark:prose-invert fj:p-1.5 fj:overflow-y-auto fj:h-[90lvh] fj:max-w-full';\n this.previewContainer.appendChild(this.previewContent);\n container.appendChild(this.previewContainer);\n }\n\n getPreviewContent() {\n return this.previewContent;\n }\n}\n\nexport default Preview;","class MakeTool {\n constructor(editor, title) {\n this.editor = editor;\n this.defaultText = `${title} text`; // Default text if nothing is selected\n this.button = this.createButton();\n this.title = title\n }\n\n // Create a button element (can be overridden in child classes)\n createButton(iconHtml) {\n const btn = document.createElement('button');\n const btnClass = this.title ? `${this.title.replace(/ /g, '-')}-btn`.toLowerCase() : '';\n btn.innerHTML = iconHtml; // Pass icon HTML from child classes\n btn.type = 'button';\n btn.title = this.title;\n btn.className = `markdown-btn ${btnClass} fj:btn fj:btn-sm fj:btn-square fj:btn-ghost`;\n btn.addEventListener('click', (event) => this.applySyntax(event)); // Default to 'both', can change in child\n\n if(btnClass == 'preview-btn') {\n const btnWrapper = document.createElement('div');\n btnWrapper.className = 'fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-l fj:sticky fj:-right-2 fj:px-1.5';\n btnWrapper.appendChild(btn);\n return btnWrapper;\n }\n \n return btn;\n }\n}\n\nexport default MakeTool;\n","import MakeTool from '../MakeTool.js';\n\nclass BoldTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Bold');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M8 11H12.5C13.8807 11 15 9.88071 15 8.5C15 7.11929 13.8807 6 12.5 6H8V11ZM18 15.5C18 17.9853 15.9853 20 13.5 20H6V4H12.5C14.9853 4 17 6.01472 17 8.5C17 9.70431 16.5269 10.7981 15.7564 11.6058C17.0979 12.3847 18 13.837 18 15.5ZM8 13V18H13.5C14.8807 18 16 16.8807 16 15.5C16 14.1193 14.8807 13 13.5 13H8Z\"></path>\n </svg> \n `)\n }\n\n // Apply bold syntax (**bold**)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '**';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the bold syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply bold syntax\n newText = `${syntax}${selectedText || 'Bold text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BoldTool;\n","import MakeTool from '../MakeTool.js';\n\nclass ItalicTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Italic');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M15 20H7V18H9.92661L12.0425 6H9V4H17V6H14.0734L11.9575 18H15V20Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '*';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the italic syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply italic syntax\n newText = `${syntax}${selectedText || 'Italic text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default ItalicTool;","import MakeTool from '../MakeTool.js';\n\nclass StrikethroughTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for strikethrough (~~)\n super(editor, 'Strikethrough');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M17.1538 14C17.3846 14.5161 17.5 15.0893 17.5 15.7196C17.5 17.0625 16.9762 18.1116 15.9286 18.867C14.8809 19.6223 13.4335 20 11.5862 20C9.94674 20 8.32335 19.6185 6.71592 18.8555V16.6009C8.23538 17.4783 9.7908 17.917 11.3822 17.917C13.9333 17.917 15.2128 17.1846 15.2208 15.7196C15.2208 15.0939 15.0049 14.5598 14.5731 14.1173C14.5339 14.0772 14.4939 14.0381 14.4531 14H3V12H21V14H17.1538ZM13.076 11H7.62908C7.4566 10.8433 7.29616 10.6692 7.14776 10.4778C6.71592 9.92084 6.5 9.24559 6.5 8.45207C6.5 7.21602 6.96583 6.165 7.89749 5.299C8.82916 4.43299 10.2706 4 12.2219 4C13.6934 4 15.1009 4.32808 16.4444 4.98426V7.13591C15.2448 6.44921 13.9293 6.10587 12.4978 6.10587C10.0187 6.10587 8.77917 6.88793 8.77917 8.45207C8.77917 8.87172 8.99709 9.23796 9.43293 9.55079C9.86878 9.86362 10.4066 10.1135 11.0463 10.3004C11.6665 10.4816 12.3431 10.7148 13.076 11H13.076Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '~';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the strikethrough syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply strikethrough syntax\n newText = `${syntax}${selectedText || 'Strikethrough text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default StrikethroughTool;","import MakeTool from '../MakeTool.js';\n\nclass ULTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Unordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8 4H21V6H8V4ZM4.5 6.5C3.67157 6.5 3 5.82843 3 5C3 4.17157 3.67157 3.5 4.5 3.5C5.32843 3.5 6 4.17157 6 5C6 5.82843 5.32843 6.5 4.5 6.5ZM4.5 13.5C3.67157 13.5 3 12.8284 3 12C3 11.1716 3.67157 10.5 4.5 10.5C5.32843 10.5 6 11.1716 6 12C6 12.8284 5.32843 13.5 4.5 13.5ZM4.5 20.4C3.67157 20.4 3 19.7284 3 18.9C3 18.0716 3.67157 17.4 4.5 17.4C5.32843 17.4 6 18.0716 6 18.9C6 19.7284 5.32843 20.4 4.5 20.4ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the Unordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply Unordered list syntax\n newText = `${syntax}${selectedText || 'Unordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default ULTool;","import MakeTool from '../MakeTool.js';\n\nclass OLTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Ordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8 4H21V6H8V4ZM5 3V6H6V7H3V6H4V4H3V3H5ZM3 14V11.5H5V11H3V10H6V12.5H4V13H6V14H3ZM5 19.5H3V18.5H5V18H3V17H6V21H3V20H5V19.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '1. ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the ordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply ordered list syntax\n newText = `${syntax}${selectedText || 'Ordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default OLTool;","// #components/Toolbar/tools/PreviewToggleTool.js\nimport MakeTool from '../MakeTool.js';\n\nclass PreviewTool extends MakeTool {\n constructor(editor) {\n // No markdown syntax for preview toggle, so we call the parent constructor with empty values\n super(editor, 'Preview');\n this.preview = true;\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M11 5H5V19H11V5ZM13 5V19H19V5H13ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z\"></path></svg>\n `);\n }\n\n // Override applySyntax to handle preview toggling\n applySyntax() {\n const previewWrapper = this.editor.previewContent?.parentNode;\n const editorDiv = this.editor.markdownEditorDiv;\n\n if (!previewWrapper || !editorDiv) return;\n\n // Toggle the preview's visibility by switching between 'block' and 'hidden' classes\n if (this.editor.preview && this.preview) {\n this.enablePreview(previewWrapper, editorDiv);\n } else {\n this.disablePreview(previewWrapper, editorDiv);\n }\n }\n\n // Method to hide the preview (disable it)\n disablePreview(previewWrapper, editorDiv) {\n\n this.preview = true;\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n \n previewWrapper.classList.toggle('fj:hidden');\n\n // Add grid layout and divide classes to the editor div\n editorDiv.classList.remove(\n 'fj:md:grid',\n 'fj:md:grid-cols-2'\n );\n\n editorDiv.querySelector(\".textarea-wrapper\").classList.remove(\n 'fj:h-[90lvh]',\n 'fj:hidden',\n 'fj:md:block'\n );\n this.editor.render(); // Re-render content in the preview\n\n editorDiv.querySelector(\".textarea-wrapper\").querySelector(\"textarea\").classList.remove(\"fj:h-[90lvh]!\");\n \n document.querySelector(\"body\").classList.remove('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.remove('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.remove('fj:btn-active');\n }\n });\n }\n\n // Method to show the preview (enable it)\n enablePreview(previewWrapper, editorDiv) {\n\n this.preview = false;\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n \n previewWrapper.classList.toggle('fj:hidden');\n // Remove grid layout and divide classes from the editor div\n editorDiv.classList.add(\n 'fj:md:grid',\n 'fj:md:grid-cols-2'\n );\n\n editorDiv.querySelector(\".textarea-wrapper\").classList.add(\n 'fj:h-[90lvh]',\n 'fj:hidden',\n 'fj:md:block'\n );\n editorDiv.querySelector(\".textarea-wrapper\").querySelector(\"textarea\").classList.add(\"fj:h-[90lvh]!\");\n\n document.querySelector(\"body\").classList.add('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.add('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.add('fj:btn-active');\n }\n });\n }\n}\n\nexport default PreviewTool;\n","import MakeTool from '../MakeTool.js';\n\nclass CheckListTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Check list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8.00008 6V9H5.00008V6H8.00008ZM3.00008 4V11H10.0001V4H3.00008ZM13.0001 4H21.0001V6H13.0001V4ZM13.0001 11H21.0001V13H13.0001V11ZM13.0001 18H21.0001V20H13.0001V18ZM10.7072 16.2071L9.29297 14.7929L6.00008 18.0858L4.20718 16.2929L2.79297 17.7071L6.00008 20.9142L10.7072 16.2071Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- [x] ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the checklist syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply check list syntax\n newText = `${syntax}${selectedText || 'Check list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default CheckListTool;","import MakeTool from '../MakeTool.js';\n\nclass BlockQuoteTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Blockquote');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '>';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the blockquote syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply blockquote syntax\n newText = `${syntax}${selectedText || 'Blockquote text'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BlockQuoteTool;","export function modal(event, size, bodyHTML) {\n const self = event.target;\n const mde = self.closest(\".markdown-editor-wrapper\");\n if(mde.querySelector(\".markdown-modal\")){\n mde.querySelector(\".markdown-modal\").remove(); \n }\n\n const modalHTML = `\n <dialog class=\"markdown-modal fj:modal fj:modal-y-top fj:lg:modal-y-center fj:modal-x-center\" id=\"nezanuha_toggleModal\">\n <div class=\"fj:modal-body ${size}\">\n ${bodyHTML}\n </div>\n </dialog>\n `;\n\n if(!mde.querySelector(\".markdown-modal\")){\n mde.insertAdjacentHTML(\"beforeend\", modalHTML);\n }\n \n const modal = mde.querySelector(\".markdown-modal\");\n modal.showModal();\n return modal;\n}","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass LinkTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Link');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M18.3638 15.5355L16.9496 14.1213L18.3638 12.7071C20.3164 10.7545 20.3164 7.58866 18.3638 5.63604C16.4112 3.68341 13.2453 3.68341 11.2927 5.63604L9.87849 7.05025L8.46428 5.63604L9.87849 4.22182C12.6122 1.48815 17.0443 1.48815 19.778 4.22182C22.5117 6.95549 22.5117 11.3876 19.778 14.1213L18.3638 15.5355ZM15.5353 18.364L14.1211 19.7782C11.3875 22.5118 6.95531 22.5118 4.22164 19.7782C1.48797 17.0445 1.48797 12.6123 4.22164 9.87868L5.63585 8.46446L7.05007 9.87868L5.63585 11.2929C3.68323 13.2455 3.68323 16.4113 5.63585 18.364C7.58847 20.3166 10.7543 20.3166 12.7069 18.364L14.1211 16.9497L15.5353 18.364ZM14.8282 7.75736L16.2425 9.17157L9.17139 16.2426L7.75717 14.8284L14.8282 7.75736Z\"></path>\n </svg>\n `);\n }\n\n // Apply link syntax [text](url)\n applySyntax(event) {\n let editor = this.editor;\n let textarea = editor.usertextarea;\n let { selectionStart, selectionEnd } = textarea;\n let selectedText = textarea.value.substring(selectionStart, selectionEnd);\n \n // Check if the selected text contains a link syntax [text](url)\n const linkRegex = /\\[([^\\]]+)\\]\\(([^)]+)\\)/;\n \n if (selectedText && linkRegex.test(selectedText)) {\n // If the selected text is already a link, extract the text inside the brackets\n const match = selectedText.match(linkRegex);\n const linkText = match[1]; // Text inside the square brackets\n \n // Replace the selected text with just the text\n textarea.setRangeText(linkText, selectionStart, selectionEnd, 'select');\n } else {\n // If no link syntax, prompt for the URL and apply the syntax\n \n const bodyHTML =`\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Link</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <form method=\"post\">\n <div class=\"fj:flex fj:flex-col fj:justify-center fj:gap-y-4.5 fj:mt-4\">\n <input type=\"url\" placeholder=\"URL\" class=\"link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Link text\" class=\"link-text-input fj:input fj:w-full\" value=\"${selectedText}\" required>\n <button type=\"submit\" class=\"submit-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>\n </form>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n\n modalElement.querySelector(\".submit-link\").addEventListener(\"click\", function(e){\n e.preventDefault();\n let linkInput = modalElement.querySelector(\".link-input\");\n let linkTextInput = modalElement.querySelector(\".link-text-input\");\n\n if (!linkInput.validity.valid) {\n linkInput.reportValidity();\n } else if (!linkTextInput.validity.valid) {\n linkTextInput.reportValidity();\n } else {\n const link = linkInput.value;\n let linkText = linkTextInput.value;\n\n if(linkText == ''){\n linkText = 'Link Text';\n }\n\n let newText = '';\n if (selectedText) {\n newText = `[${selectedText}](${link})`; // Insert the link with selected text\n } else {\n newText = `[${linkText}](${link})`; // Insert a placeholder text if nothing is selected\n }\n editor.insertText(newText); // Insert the constructed link markdown\n \n linkInput.value = '';\n linkTextInput.value = '';\n modalElement.close();\n }\n });\n }\n }\n \n}\n\nexport default LinkTool;","import MakeTool from '../MakeTool.js';\n\nclass HeadingTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Heading');\n this.currentHeading = 1; // Start with Heading 1\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M17 11V4H19V21H17V13H7V21H5V4H7V11H17Z\"></path></svg>\n `);\n }\n\n // Apply heading syntax (e.g., # sample text for h1, ## sample text for h2, etc.)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n // Strip any existing heading symbols (i.e., # or ##) from the selected text\n const headingRegex = /^#+\\s*/; // Regex to match any # followed by space\n let cleanText = selectedText.replace(headingRegex, ''); // Remove existing heading\n\n let newText = '';\n\n // If there is a heading, continue from the current level\n if (selectedText) {\n const currentLevel = selectedText.match(/^#+/); // Match the number of # symbols at the start\n if (currentLevel) {\n let headingCount = currentLevel[0].length;\n if (headingCount === 6) {\n newText = cleanText; // Just plain text\n } else {\n newText = `${'#'.repeat(headingCount + 1)} ${cleanText}`;\n }\n } else {\n // If no # symbol, start from # (Heading 1)\n newText = `# ${cleanText}`;\n }\n } else {\n // If no text is selected, use default \"Heading\"\n newText = `${'#'.repeat(this.currentHeading)} Heading`;\n }\n\n // Insert the new heading text and replace any selected text\n this.editor.insertText(newText, true);\n\n // Cycle heading levels after applying the heading\n if (this.currentHeading === 6) {\n this.currentHeading = 1; // Reset to # for Heading 1 after reaching Heading 6\n } else {\n this.currentHeading++; // Increment the heading level\n }\n }\n}\n\nexport default HeadingTool;\n","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass ImageTool extends MakeTool {\n constructor(editor, config = {}) {\n super(editor, 'Image link');\n this.config = config;\n this.fileInputConfig = config.fileInput || false;\n this.altInputConfig = config.altInput || true;\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M16 5h6\"/><path d=\"M19 2v6\"/><path d=\"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5\"/>\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"/><circle cx=\"9\" cy=\"9\" r=\"2\"/>\n </svg>\n `);\n }\n\n // Apply link syntax [text](url)\n applySyntax(event) {\n let editor = this.editor;\n let textarea = editor.usertextarea;\n let { selectionStart, selectionEnd } = textarea;\n let selectedText = textarea.value.substring(selectionStart, selectionEnd);\n \n const acceptFormats = this.fileInputConfig.accept\n ? this.fileInputConfig.accept.map(type => `image/${type}`).join(',')\n : 'image/*'; // Handle file formats\n\n const altRequired = this.altInputConfig.required === undefined ? true : this.altInputConfig.required;\n\n const uploadUrl = this.fileInputConfig.uploadUrl || null;\n\n let fileInputTag = '';\n if(this.fileInputConfig){\n fileInputTag = `\n <input type=\"file\" accept=\"${acceptFormats}\" class=\"img-file-input fj:input fj:w-full\">\n <div class=\"fj:divider fj:my-1\">OR</div>\n `;\n }\n // Check if the selected text contains an image markdown syntax \n const imageRegex = /!\\[([^\\]]*)\\]\\(([^)]+)\\)/;\n\n if (selectedText && imageRegex.test(selectedText)) {\n // If the selected text is already an image markdown, extract the alt text and URL\n const match = selectedText.match(imageRegex);\n const altText = match[1]; // Alt text inside the square brackets\n // const imageUrl = match[2]; // URL inside the parentheses\n\n // Replace the selected text with just the text\n textarea.setRangeText(altText, selectionStart, selectionEnd, 'select');\n } else {\n const bodyHTML =`\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Image</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <form method=\"post\">\n <div class=\"fj:flex fj:flex-col fj:justify-center fj:gap-y-4.5 fj:mt-4\">\n ${fileInputTag}\n <input type=\"url\" placeholder=\"URL\" class=\"img-link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Alt text\" class=\"img-link-alt-input fj:input fj:w-full\" value=\"${selectedText}\" ${(altRequired) && 'required'}>\n <button type=\"submit\" class=\"submit-img-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>\n </form>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n\n if(this.fileInputConfig){\n const fileInputSelector = modalElement.querySelector(\".img-file-input\");\n const urlInputSelector = modalElement.querySelector(\".img-link-input\");\n const submitBtnSelector = modalElement.querySelector(\".submit-img-link\");\n\n fileInputSelector.addEventListener(\"change\", async () => {\n const file = fileInputSelector.files[0];\n if (!file || !uploadUrl) return;\n \n submitBtnSelector.disabled = true;\n submitBtnSelector.textContent = 'Uploading...';\n \n const formData = new FormData();\n formData.append('image', file);\n \n try {\n const res = await fetch(uploadUrl, {\n method: 'POST',\n body: formData\n });\n const result = await res.json();\n \n if (result.success && result.path) {\n urlInputSelector.value = result.path;\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n } else {\n alert('Image upload failed.');\n fileInputSelector.value = ''; // ✅ Reset file input\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n }\n } catch (err) {\n console.error(err);\n alert('Upload error.');\n fileInputSelector.value = ''; // ✅ Reset file input\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n }\n });\n }\n \n\n modalElement.querySelector(\".submit-img-link\").addEventListener(\"click\", function(e){\n e.preventDefault();\n let imgLinkInput = modalElement.querySelector(\".img-link-input\");\n let imgLinkAltInput = modalElement.querySelector(\".img-link-alt-input\");\n\n if (!imgLinkInput.validity.valid) {\n imgLinkInput.reportValidity();\n } else if (!imgLinkAltInput.validity.valid) {\n imgLinkAltInput.reportValidity();\n } else {\n const imgLink = imgLinkInput.value;\n let imgLinkAlt = imgLinkAltInput.value;\n\n if(imgLinkAlt == ''){\n imgLinkAlt = '';\n }\n\n let newText = '';\n if (selectedText) {\n newText = ``; // Insert the link with selected text\n } else {\n newText = ``; // Insert a placeholder text if nothing is selected\n }\n editor.insertText(newText); // Insert the constructed link markdown\n \n imgLinkInput.value = '';\n imgLinkAltInput.value = '';\n modalElement.close();\n }\n });\n }\n }\n \n}\nexport default ImageTool;","import MakeTool from '../MakeTool.js';\n\nclass UndoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Undo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M3 7v6h6\"/><path d=\"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13\"/>\n </svg>\n `);\n }\n\n applySyntax() {\n // Check if Undo is available and perform the undo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.undo();\n }\n }\n}\n\nexport default UndoTool;","import MakeTool from '../MakeTool.js';\n\nclass RedoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Redo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M21 7v6h-6\"/><path d=\"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7\"/>\n </svg>\n `);\n }\n\n applySyntax() {\n // Check if Redo is available and perform the redo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.redo();\n }\n }\n}\n\nexport default RedoTool;\n","import BoldTool from './tools/BoldTool.js';\nimport ItalicTool from './tools/ItalicTool.js';\nimport StrikethroughTool from './tools/StrikethroughTool.js';\nimport ULTool from './tools/ULTool.js';\nimport OLTool from './tools/OLTool.js';\nimport PreviewTool from './tools/PreviewTool.js'\nimport CheckListTool from './tools/CheckListTool.js';\nimport BlockQuoteTool from './tools/BlockQuoteTool.js';\nimport LinkTool from './tools/LinkTool.js'\nimport HeadingTool from './tools/HeadingTool.js';\nimport ImageTool from './tools/ImageTool.js';\nimport UndoTool from './tools/UndoTool.js';\nimport RedoTool from './tools/RedoTool.js';\n\nclass Toolbar {\n constructor(editor, options) {\n this.editor = editor;\n this.options = options;\n this.toolbar = document.createElement('div');\n this.toolbar.className = 'toolbar fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-b fj:flex fj:gap-x-1.5 fj:p-1.5 fj:overflow-x-auto';\n this.init();\n }\n\n init() {\n const toolMapping = {\n heading: HeadingTool,\n ul: ULTool,\n ol: OLTool,\n checklist: CheckListTool,\n bold: BoldTool,\n italic: ItalicTool,\n strikethrough: StrikethroughTool,\n blockquote: BlockQuoteTool,\n link: LinkTool,\n image: ImageTool,\n undo: UndoTool,\n redo: RedoTool\n };\n\n // Append all tools except preview\n // this.options.forEach(tool => {\n // if (tool !== 'preview') {\n // const ToolClass = toolMapping[tool];\n // if (ToolClass) {\n // const toolInstance = new ToolClass(this.editor);\n // this.toolbar.appendChild(toolInstance.button); // Directly append to toolbar\n // }\n // }\n // });\n\n this.options.forEach(tool => {\n let ToolClass, config;\n \n if (typeof tool === 'string') {\n ToolClass = toolMapping[tool];\n } else if (typeof tool === 'object') {\n const toolName = Object.keys(tool)[0];\n config = tool[toolName];\n ToolClass = toolMapping[toolName];\n }\n \n if (ToolClass) {\n const toolInstance = new ToolClass(this.editor, config);\n this.toolbar.appendChild(toolInstance.button);\n }\n });\n\n // Append preview button at the end\n if (this.options.includes('preview')) {\n const previewToolInstance = new PreviewTool(this.editor);\n this.toolbar.appendChild(previewToolInstance.button); // Directly append to toolbar at the end\n }\n\n this.editor.editorContainer.insertBefore(this.toolbar, this.editor.markdownEditorDiv);\n }\n}\n\nexport default Toolbar;\n","export default class Diff {\n diff(oldStr, newStr, \n // Type below is not accurate/complete - see above for full possibilities - but it compiles\n options = {}) {\n let callback;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n else if ('callback' in options) {\n callback = options.callback;\n }\n // Allow subclasses to massage the input prior to running\n const oldString = this.castInput(oldStr, options);\n const newString = this.castInput(newStr, options);\n const oldTokens = this.removeEmpty(this.tokenize(oldString, options));\n const newTokens = this.removeEmpty(this.tokenize(newString, options));\n return this.diffWithOptionsObj(oldTokens, newTokens, options, callback);\n }\n diffWithOptionsObj(oldTokens, newTokens, options, callback) {\n var _a;\n const done = (value) => {\n value = this.postProcess(value, options);\n if (callback) {\n setTimeout(function () { callback(value); }, 0);\n return undefined;\n }\n else {\n return value;\n }\n };\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let editLength = 1;\n let maxEditLength = newLen + oldLen;\n if (options.maxEditLength != null) {\n maxEditLength = Math.min(maxEditLength, options.maxEditLength);\n }\n const maxExecutionTime = (_a = options.timeout) !== null && _a !== void 0 ? _a : Infinity;\n const abortAfterTimestamp = Date.now() + maxExecutionTime;\n const bestPath = [{ oldPos: -1, lastComponent: undefined }];\n // Seed editLength = 0, i.e. the content starts with the same values\n let newPos = this.extractCommon(bestPath[0], newTokens, oldTokens, 0, options);\n if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // Identity per the equality and tokenizer\n return done(this.buildValues(bestPath[0].lastComponent, newTokens, oldTokens));\n }\n // Once we hit the right edge of the edit graph on some diagonal k, we can\n // definitely reach the end of the edit graph in no more than k edits, so\n // there's no point in considering any moves to diagonal k+1 any more (from\n // which we're guaranteed to need at least k+1 more edits).\n // Similarly, once we've reached the bottom of the edit graph, there's no\n // point considering moves to lower diagonals.\n // We record this fact by setting minDiagonalToConsider and\n // maxDiagonalToConsider to some finite value once we've hit the edge of\n // the edit graph.\n // This optimization is not faithful to the original algorithm presented in\n // Myers's paper, which instead pointlessly extends D-paths off the end of\n // the edit graph - see page 7 of Myers's paper which notes this point\n // explicitly and illustrates it with a diagram. This has major performance\n // implications for some common scenarios. For instance, to compute a diff\n // where the new text simply appends d characters on the end of the\n // original text of length n, the true Myers algorithm will take O(n+d^2)\n // time while this optimization needs only O(n+d) time.\n let minDiagonalToConsider = -Infinity, maxDiagonalToConsider = Infinity;\n // Main worker method. checks all permutations of a given edit length for acceptance.\n const execEditLength = () => {\n for (let diagonalPath = Math.max(minDiagonalToConsider, -editLength); diagonalPath <= Math.min(maxDiagonalToConsider, editLength); diagonalPath += 2) {\n let basePath;\n const removePath = bestPath[diagonalPath - 1], addPath = bestPath[diagonalPath + 1];\n if (removePath) {\n // No one else is going to attempt to use this value, clear it\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath - 1] = undefined;\n }\n let canAdd = false;\n if (addPath) {\n // what newPos will be after we do an insertion:\n const addPathNewPos = addPath.oldPos - diagonalPath;\n canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen;\n }\n const canRemove = removePath && removePath.oldPos + 1 < oldLen;\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath] = undefined;\n continue;\n }\n // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the old string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n if (!canRemove || (canAdd && removePath.oldPos < addPath.oldPos)) {\n basePath = this.addToPath(addPath, true, false, 0, options);\n }\n else {\n basePath = this.addToPath(removePath, false, true, 1, options);\n }\n newPos = this.extractCommon(basePath, newTokens, oldTokens, diagonalPath, options);\n if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // If we have hit the end of both strings, then we are done\n return done(this.buildValues(basePath.lastComponent, newTokens, oldTokens)) || true;\n }\n else {\n bestPath[diagonalPath] = basePath;\n if (basePath.oldPos + 1 >= oldLen) {\n maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1);\n }\n if (newPos + 1 >= newLen) {\n minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1);\n }\n }\n }\n editLength++;\n };\n // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced, or until the edit length exceeds options.maxEditLength (if given),\n // in which case it will return undefined.\n if (callback) {\n (function exec() {\n setTimeout(function () {\n if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) {\n return callback(undefined);\n }\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n }());\n }\n else {\n while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) {\n const ret = execEditLength();\n if (ret) {\n return ret;\n }\n }\n }\n }\n addToPath(path, added, removed, oldPosInc, options) {\n const last = path.lastComponent;\n if (last && !options.oneChangePerToken && last.added === added && last.removed === removed) {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: last.count + 1, added: added, removed: removed, previousComponent: last.previousComponent }\n };\n }\n else {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: 1, added: added, removed: removed, previousComponent: last }\n };\n }\n }\n extractCommon(basePath, newTokens, oldTokens, diagonalPath, options) {\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let oldPos = basePath.oldPos, newPos = oldPos - diagonalPath, commonCount = 0;\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(oldTokens[oldPos + 1], newTokens[newPos + 1], options)) {\n newPos++;\n oldPos++;\n commonCount++;\n if (options.oneChangePerToken) {\n basePath.lastComponent = { count: 1, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n }\n if (commonCount && !options.oneChangePerToken) {\n basePath.lastComponent = { count: commonCount, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n basePath.oldPos = oldPos;\n return newPos;\n }\n equals(left, right, options) {\n if (options.comparator) {\n return options.comparator(left, right);\n }\n else {\n return left === right\n || (!!options.ignoreCase && left.toLowerCase() === right.toLowerCase());\n }\n }\n removeEmpty(array) {\n const ret = [];\n for (let i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n return ret;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n castInput(value, options) {\n return value;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tokenize(value, options) {\n return Array.from(value);\n }\n join(chars) {\n // Assumes ValueT is string, which is the case for most subclasses.\n // When it's false, e.g. in diffArrays, this method needs to be overridden (e.g. with a no-op)\n // Yes, the casts are verbose and ugly, because this pattern - of having the base class SORT OF\n // assume tokens and values are strings, but not completely - is weird and janky.\n return chars.join('');\n }\n postProcess(changeObjects, \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n options) {\n return changeObjects;\n }\n get useLongestToken() {\n return false;\n }\n buildValues(lastComponent, newTokens, oldTokens) {\n // First we convert our linked list of components in reverse order to an\n // array in the right order:\n const components = [];\n let nextComponent;\n while (lastComponent) {\n components.push(lastComponent);\n nextComponent = lastComponent.previousComponent;\n delete lastComponent.previousComponent;\n lastComponent = nextComponent;\n }\n components.reverse();\n const componentLen = components.length;\n let componentPos = 0, newPos = 0, oldPos = 0;\n for (; componentPos < componentLen; componentPos++) {\n const component = components[componentPos];\n if (!component.removed) {\n if (!component.added && this.useLongestToken) {\n let value = newTokens.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n const oldValue = oldTokens[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = this.join(value);\n }\n else {\n component.value = this.join(newTokens.slice(newPos, newPos + component.count));\n }\n newPos += component.count;\n // Common case\n if (!component.added) {\n oldPos += component.count;\n }\n }\n else {\n component.value = this.join(oldTokens.slice(oldPos, oldPos + component.count));\n oldPos += component.count;\n }\n }\n return components;\n }\n}\n","import Diff from './base.js';\nclass CharacterDiff extends Diff {\n}\nexport const characterDiff = new CharacterDiff();\nexport function diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n}\n","import { diffChars } from 'diff';\n\nexport default class UndoRedoManager {\n constructor(editor) {\n this.editor = editor;\n this.textarea = editor.usertextarea;\n this.undoStack = [];\n this.redoStack = [];\n this.lastValue = this.textarea.value;\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n this.debounceDelay = 1000;\n\n this._bindEvents();\n // No need to push initial state, just track lastValue\n }\n\n _bindEvents() {\n this.textarea.addEventListener('keydown', (e) => this._onKeyDown(e));\n this.textarea.addEventListener('input', (e) => this._onInput(e));\n this.textarea.addEventListener('paste', () => this._saveState());\n this.textarea.addEventListener('blur', () => this._saveState());\n this.textarea.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === 'Backspace' || e.key === 'Delete') {\n this._saveState();\n }\n });\n }\n\n _onKeyDown(e) {\n // Undo: Cmd+Z (Mac) or Ctrl+Z (others)\n if ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === 'z' && !e.shiftKey) {\n e.preventDefault();\n this.undo();\n return;\n }\n // Redo: Cmd+Shift+Z (Mac), Ctrl+Y or Ctrl+Shift+Z (others)\n if (\n (e.metaKey && e.key.toLowerCase() === 'z' && e.shiftKey) || // Cmd+Shift+Z (Mac)\n (e.ctrlKey && (e.key.toLowerCase() === 'y' || (e.key.toLowerCase() === 'z' && e.shiftKey))) // Ctrl+Y or Ctrl+Shift+Z (Win/Linux)\n ) {\n e.preventDefault();\n this.redo();\n return;\n }\n }\n\n _onInput(e) {\n clearTimeout(this._debounceTimer);\n\n // Save point if the last character is a word boundary\n const value = this.textarea.value;\n const lastChar = value[this.textarea.selectionStart - 1];\n if (lastChar && /[\\s.,;:!?()\\[\\]{}'\"`~]/.test(lastChar)) {\n this._saveState();\n } else {\n // Otherwise, debounce save point\n this._debounceTimer = setTimeout(() => {\n this._saveState();\n }, this.debounceDelay);\n }\n }\n\n _saveState() {\n const newValue = this.textarea.value || '';\n if (newValue !== this.lastValue) {\n // Store the diff array, not a patch\n const diff = diffChars(this.lastValue, newValue);\n this.undoStack.push({\n diff,\n selection: { ...this.lastSelection }\n });\n this.lastValue = newValue;\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n this.redoStack = [];\n }\n }\n\n undo() {\n if (this.undoStack.length === 0) return;\n const lastStep = this.undoStack.pop();\n\n // Revert the diff\n const prevValue = this._revertDiff(this.lastValue, lastStep.diff);\n this.redoStack.push({\n diff: lastStep.diff,\n selection: { ...this.lastSelection }\n });\n\n this._restoreState(prevValue, lastStep.selection);\n }\n\n redo() {\n if (this.redoStack.length === 0) return;\n const redoStep = this.redoStack.pop();\n\n // Re-apply the diff\n const newValue = this._applyDiff(this.lastValue, redoStep.diff);\n this.undoStack.push({\n diff: redoStep.diff,\n selection: { ...redoStep.selection }\n });\n\n this._restoreState(newValue, redoStep.selection);\n }\n\n _applyDiff(oldValue, diff) {\n // Reconstruct newValue from diff\n let newValue = '';\n diff.forEach(part => {\n if (!part.removed) {\n newValue += part.value;\n }\n });\n return newValue;\n }\n\n _revertDiff(newValue, diff) {\n // Reconstruct oldValue from diff\n let oldValue = '';\n diff.forEach(part => {\n if (!part.added) {\n oldValue += part.value;\n }\n });\n return oldValue;\n }\n\n _restoreState(value, selection) {\n this.textarea.value = value;\n this.textarea.setSelectionRange(\n selection.selectionStart,\n selection.selectionEnd\n );\n this.lastValue = value;\n this.lastSelection = { ...selection };\n this.editor.render();\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * marked v16.1.2 - a markdown parser\n * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var O=L();function H(l){O=l}var E={exec:()=>null};function h(l,e=\"\"){let t=typeof l==\"string\"?l:l.source,n={replace:(r,i)=>{let s=typeof i==\"string\"?i:i.source;return s=s.replace(m.caret,\"$1\"),t=t.replace(r,s),n},getRegex:()=>new RegExp(t,e)};return n}var m={codeRemoveIndent:/^(?: {1,4}| {0,3}\\t)/gm,outputLinkReplace:/\\\\([\\[\\]])/g,indentCodeCompensation:/^(\\s+)(?:```)/,beginningSpace:/^\\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\\n/g,tabCharGlobal:/\\t/g,multipleSpaceGlobal:/\\s+/g,blankLine:/^[ \\t]*$/,doubleBlankLine:/\\n[ \\t]*\\n[ \\t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceTabs:/^\\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] /,listReplaceTask:/^\\[[ xX]\\] +/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,unescapeTest:/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:l=>new RegExp(`^( {0,3}${l})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),hrRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),fencesBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}(?:\\`\\`\\`|~~~)`),headingBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}#`),htmlBeginRegex:l=>new RegExp(`^ {0,${Math.min(3,l-1)}}<(?:[a-z].*>|!--)`,\"i\")},xe=/^(?:[ \\t]*(?:\\n|$))+/,be=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,Re=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,C=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,Oe=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,j=/(?:[*+-]|\\d{1,9}[.)])/,se=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,ie=h(se).replace(/bull/g,j).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),Te=h(se).replace(/bull/g,j).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),F=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,we=/^[^\\n]+/,Q=/(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/,ye=h(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",Q).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),Pe=h(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,j).getRegex(),v=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",U=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,Se=h(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\",\"i\").replace(\"comment\",U).replace(\"tag\",v).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),oe=h(F).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),$e=h(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",oe).getRegex(),K={blockquote:$e,code:be,def:ye,fences:Re,heading:Oe,hr:C,html:Se,lheading:ie,list:Pe,newline:xe,paragraph:oe,table:E,text:we},re=h(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),_e={...K,lheading:Te,table:re,paragraph:h(F).replace(\"hr\",C).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",re).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex()},Le={...K,html:h(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",U).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:E,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:h(F).replace(\"hr\",C).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",ie).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},Me=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,ze=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,ae=/^( {2,}|\\\\)\\n(?!\\s*$)/,Ae=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,D=/[\\p{P}\\p{S}]/u,W=/[\\s\\p{P}\\p{S}]/u,le=/[^\\s\\p{P}\\p{S}]/u,Ee=h(/^((?![*_])punctSpace)/,\"u\").replace(/punctSpace/g,W).getRegex(),ue=/(?!~)[\\p{P}\\p{S}]/u,Ce=/(?!~)[\\s\\p{P}\\p{S}]/u,Ie=/(?:[^\\s\\p{P}\\p{S}]|~)/u,Be=/\\[[^[\\]]*?\\]\\((?:\\\\.|[^\\\\\\(\\)]|\\((?:\\\\.|[^\\\\\\(\\)])*\\))*\\)|`[^`]*?`|<(?! )[^<>]*?>/g,pe=/^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/,qe=h(pe,\"u\").replace(/punct/g,D).getRegex(),ve=h(pe,\"u\").replace(/punct/g,ue).getRegex(),ce=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",De=h(ce,\"gu\").replace(/notPunctSpace/g,le).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),Ze=h(ce,\"gu\").replace(/notPunctSpace/g,Ie).replace(/punctSpace/g,Ce).replace(/punct/g,ue).getRegex(),Ge=h(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,le).replace(/punctSpace/g,W).replace(/punct/g,D).getRegex(),He=h(/\\\\(punct)/,\"gu\").replace(/punct/g,D).getRegex(),Ne=h(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),je=h(U).replace(\"(?:-->|$)\",\"-->\").getRegex(),Fe=h(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",je).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),q=/(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/,Qe=h(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/).replace(\"label\",q).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),he=h(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",q).replace(\"ref\",Q).getRegex(),de=h(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",Q).getRegex(),Ue=h(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",he).replace(\"nolink\",de).getRegex(),X={_backpedal:E,anyPunctuation:He,autolink:Ne,blockSkip:Be,br:ae,code:ze,del:E,emStrongLDelim:qe,emStrongRDelimAst:De,emStrongRDelimUnd:Ge,escape:Me,link:Qe,nolink:de,punctuation:Ee,reflink:he,reflinkSearch:Ue,tag:Fe,text:Ae,url:E},Ke={...X,link:h(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",q).getRegex(),reflink:h(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",q).getRegex()},N={...X,emStrongRDelimAst:Ze,emStrongLDelim:ve,url:h(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\"i\").replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\.|[^\\\\])*?(?:\\\\.|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/},We={...N,br:h(ae).replace(\"{2,}\",\"*\").getRegex(),text:h(N.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},I={normal:K,gfm:_e,pedantic:Le},M={normal:X,gfm:N,breaks:We,pedantic:Ke};var Xe={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},ke=l=>Xe[l];function w(l,e){if(e){if(m.escapeTest.test(l))return l.replace(m.escapeReplace,ke)}else if(m.escapeTestNoEncode.test(l))return l.replace(m.escapeReplaceNoEncode,ke);return l}function J(l){try{l=encodeURI(l).replace(m.percentDecode,\"%\")}catch{return null}return l}function V(l,e){let t=l.replace(m.findPipe,(i,s,o)=>{let a=!1,u=s;for(;--u>=0&&o[u]===\"\\\\\";)a=!a;return a?\"|\":\" |\"}),n=t.split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push(\"\");for(;r<n.length;r++)n[r]=n[r].trim().replace(m.slashPipe,\"|\");return n}function z(l,e,t){let n=l.length;if(n===0)return\"\";let r=0;for(;r<n;){let i=l.charAt(n-r-1);if(i===e&&!t)r++;else if(i!==e&&t)r++;else break}return l.slice(0,n-r)}function ge(l,e){if(l.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<l.length;n++)if(l[n]===\"\\\\\")n++;else if(l[n]===e[0])t++;else if(l[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function fe(l,e,t,n,r){let i=e.href,s=e.title||null,o=l[1].replace(r.other.outputLinkReplace,\"$1\");n.state.inLink=!0;let a={type:l[0].charAt(0)===\"!\"?\"image\":\"link\",raw:t,href:i,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,a}function Je(l,e,t){let n=l.match(t.other.indentCodeCompensation);if(n===null)return e;let r=n[1];return e.split(`\n`).map(i=>{let s=i.match(t.other.beginningSpace);if(s===null)return i;let[o]=s;return o.length>=r.length?i.slice(r.length):i}).join(`\n`)}var y=class{options;rules;lexer;constructor(e){this.options=e||O}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?n:z(n,`\n`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=Je(n,t[3]||\"\",this.rules);return{type:\"code\",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=z(n,\"#\");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:z(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=z(t[0],`\n`).split(`\n`),r=\"\",i=\"\",s=[];for(;n.length>0;){let o=!1,a=[],u;for(u=0;u<n.length;u++)if(this.rules.other.blockquoteStart.test(n[u]))a.push(n[u]),o=!0;else if(!o)a.push(n[u]);else break;n=n.slice(u);let p=a.join(`\n`),c=p.replace(this.rules.other.blockquoteSetextReplace,`\n $1`).replace(this.rules.other.blockquoteSetextReplace2,\"\");r=r?`${r}\n${p}`:p,i=i?`${i}\n${c}`:c;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,s,!0),this.lexer.state.top=f,n.length===0)break;let k=s.at(-1);if(k?.type===\"code\")break;if(k?.type===\"blockquote\"){let x=k,g=x.raw+`\n`+n.join(`\n`),T=this.blockquote(g);s[s.length-1]=T,r=r.substring(0,r.length-x.raw.length)+T.raw,i=i.substring(0,i.length-x.text.length)+T.text;break}else if(k?.type===\"list\"){let x=k,g=x.raw+`\n`+n.join(`\n`),T=this.list(g);s[s.length-1]=T,r=r.substring(0,r.length-k.raw.length)+T.raw,i=i.substring(0,i.length-x.raw.length)+T.raw,n=g.substring(s.at(-1).raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:r,tokens:s,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:\"list\",raw:\"\",ordered:r,start:r?+n.slice(0,-1):\"\",loose:!1,items:[]};n=r?`\\\\d{1,9}\\\\${n.slice(-1)}`:`\\\\${n}`,this.options.pedantic&&(n=r?n:\"[*+-]\");let s=this.rules.other.listItemRegex(n),o=!1;for(;e;){let u=!1,p=\"\",c=\"\";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;p=t[0],e=e.substring(p.length);let f=t[2].split(`\n`,1)[0].replace(this.rules.other.listReplaceTabs,Z=>\" \".repeat(3*Z.length)),k=e.split(`\n`,1)[0],x=!f.trim(),g=0;if(this.options.pedantic?(g=2,c=f.trimStart()):x?g=t[1].length+1:(g=t[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,c=f.slice(g),g+=t[1].length),x&&this.rules.other.blankLine.test(k)&&(p+=k+`\n`,e=e.substring(k.length+1),u=!0),!u){let Z=this.rules.other.nextBulletRegex(g),ee=this.rules.other.hrRegex(g),te=this.rules.other.fencesBeginRegex(g),ne=this.rules.other.headingBeginRegex(g),me=this.rules.other.htmlBeginRegex(g);for(;e;){let G=e.split(`\n`,1)[0],A;if(k=G,this.options.pedantic?(k=k.replace(this.rules.other.listReplaceNesting,\" \"),A=k):A=k.replace(this.rules.other.tabCharGlobal,\" \"),te.test(k)||ne.test(k)||me.test(k)||Z.test(k)||ee.test(k))break;if(A.search(this.rules.other.nonSpaceChar)>=g||!k.trim())c+=`\n`+A.slice(g);else{if(x||f.replace(this.rules.other.tabCharGlobal,\" \").search(this.rules.other.nonSpaceChar)>=4||te.test(f)||ne.test(f)||ee.test(f))break;c+=`\n`+k}!x&&!k.trim()&&(x=!0),p+=G+`\n`,e=e.substring(G.length+1),f=A.slice(g)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(o=!0));let T=null,Y;this.options.gfm&&(T=this.rules.other.listIsTask.exec(c),T&&(Y=T[0]!==\"[ ] \",c=c.replace(this.rules.other.listReplaceTask,\"\"))),i.items.push({type:\"list_item\",raw:p,task:!!T,checked:Y,loose:!1,text:c,tokens:[]}),i.raw+=p}let a=i.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;u<i.items.length;u++)if(this.lexer.state.top=!1,i.items[u].tokens=this.lexer.blockTokens(i.items[u].text,[]),!i.loose){let p=i.items[u].tokens.filter(f=>f.type===\"space\"),c=p.length>0&&p.some(f=>this.rules.other.anyLine.test(f.raw));i.loose=c}if(i.loose)for(let u=0;u<i.items.length;u++)i.items[u].loose=!0;return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:\"html\",block:!0,raw:t[0],pre:t[1]===\"pre\"||t[1]===\"script\"||t[1]===\"style\",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):t[3];return{type:\"def\",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=V(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],s={type:\"table\",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let o of r)this.rules.other.tableAlignRight.test(o)?s.align.push(\"right\"):this.rules.other.tableAlignCenter.test(o)?s.align.push(\"center\"):this.rules.other.tableAlignLeft.test(o)?s.align.push(\"left\"):s.align.push(null);for(let o=0;o<n.length;o++)s.header.push({text:n[o],tokens:this.lexer.inline(n[o]),header:!0,align:s.align[o]});for(let o of i)s.rows.push(V(o,s.header.length).map((a,u)=>({text:a,tokens:this.lexer.inline(a),header:!1,align:s.align[u]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:\"heading\",raw:t[0],depth:t[2].charAt(0)===\"=\"?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=z(n.slice(0,-1),\"\\\\\");if((n.length-s.length)%2===0)return}else{let s=ge(t[2],\"()\");if(s===-2)return;if(s>-1){let a=(t[0].indexOf(\"!\")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,a).trim(),t[3]=\"\"}}let r=t[2],i=\"\";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):\"\";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),fe(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,\"$1\"),title:i&&i.replace(this.rules.inline.anyPunctuation,\"$1\")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:\"text\",raw:s,text:s}}return fe(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[2]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,o,a,u=s,p=0,c=r[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+s);(r=c.exec(t))!=null;){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(a=[...o].length,r[3]||r[4]){u+=a;continue}else if((r[5]||r[6])&&s%3&&!((s+a)%3)){p+=a;continue}if(u-=a,u>0)continue;a=Math.min(a,a+u+p);let f=[...r[0]][0].length,k=e.slice(0,s+r.index+f+a);if(Math.min(s,a)%2){let g=k.slice(1,-1);return{type:\"em\",raw:k,text:g,tokens:this.lexer.inlineTokens(g)}}let x=k.slice(2,-2);return{type:\"strong\",raw:k,text:x,tokens:this.lexer.inlineTokens(x)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal,\" \"),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:\"codespan\",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:\"del\",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]===\"@\"?(n=t[1],r=\"mailto:\"+n):(n=t[1],r=n),{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]===\"@\")n=t[0],r=\"mailto:\"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??\"\";while(i!==t[0]);n=t[0],t[1]===\"www.\"?r=\"http://\"+t[0]:r=t[0]}return{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:\"text\",raw:t[0],text:t[0],escaped:n}}}};var b=class l{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||O,this.options.tokenizer=this.options.tokenizer||new y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:I.normal,inline:M.normal};this.options.pedantic?(t.block=I.pedantic,t.inline=M.pedantic):this.options.gfm&&(t.block=I.gfm,this.options.breaks?t.inline=M.breaks:t.inline=M.gfm),this.tokenizer.rules=t}static get rules(){return{block:I,inline:M}}static lex(e,t){return new l(t).lex(e)}static lexInline(e,t){return new l(t).inlineTokens(e)}lex(e){e=e.replace(m.carriageReturn,`\n`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(m.tabCharGlobal,\" \").replace(m.spaceLine,\"\"));e;){let r;if(this.options.extensions?.block?.some(s=>(r=s.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let s=t.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title});continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let s=1/0,o=e.slice(1),a;this.options.extensions.startBlock.forEach(u=>{a=u.call({lexer:this},o),typeof a==\"number\"&&a>=0&&(s=Math.min(s,a))}),s<1/0&&s>=0&&(i=e.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let s=t.at(-1);n&&s?.type===\"paragraph\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(e){let s=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,r=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)o.includes(r[0].slice(r[0].lastIndexOf(\"[\")+1,-1))&&(n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,r.index)+\"++\"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let i=!1,s=\"\";for(;e;){i||(s=\"\"),i=!1;let o;if(this.options.extensions?.inline?.some(u=>(o=u.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let u=t.at(-1);o.type===\"text\"&&u?.type===\"text\"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,s)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let a=e;if(this.options.extensions?.startInline){let u=1/0,p=e.slice(1),c;this.options.extensions.startInline.forEach(f=>{c=f.call({lexer:this},p),typeof c==\"number\"&&c>=0&&(u=Math.min(u,c))}),u<1/0&&u>=0&&(a=e.substring(0,u+1))}if(o=this.tokenizer.inlineText(a)){e=e.substring(o.raw.length),o.raw.slice(-1)!==\"_\"&&(s=o.raw.slice(-1)),i=!0;let u=t.at(-1);u?.type===\"text\"?(u.raw+=o.raw,u.text+=o.text):t.push(o);continue}if(e){let u=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return t}};var P=class{options;parser;constructor(e){this.options=e||O}space(e){return\"\"}code({text:e,lang:t,escaped:n}){let r=(t||\"\").match(m.notSpaceStart)?.[0],i=e.replace(m.endingNewline,\"\")+`\n`;return r?'<pre><code class=\"language-'+w(r)+'\">'+(n?i:w(i,!0))+`</code></pre>\n`:\"<pre><code>\"+(n?i:w(i,!0))+`</code></pre>\n`}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return`<hr>\n`}list(e){let t=e.ordered,n=e.start,r=\"\";for(let o=0;o<e.items.length;o++){let a=e.items[o];r+=this.listitem(a)}let i=t?\"ol\":\"ul\",s=t&&n!==1?' start=\"'+n+'\"':\"\";return\"<\"+i+s+`>\n`+r+\"</\"+i+`>\n`}listitem(e){let t=\"\";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type===\"paragraph\"?(e.tokens[0].text=n+\" \"+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type===\"text\"&&(e.tokens[0].tokens[0].text=n+\" \"+w(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:\"text\",raw:n+\" \",text:n+\" \",escaped:!0}):t+=n+\" \"}return t+=this.parser.parse(e.tokens,!!e.loose),`<li>${t}</li>\n`}checkbox({checked:e}){return\"<input \"+(e?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t=\"\",n=\"\";for(let i=0;i<e.header.length;i++)n+=this.tablecell(e.header[i]);t+=this.tablerow({text:n});let r=\"\";for(let i=0;i<e.rows.length;i++){let s=e.rows[i];n=\"\";for(let o=0;o<s.length;o++)n+=this.tablecell(s[o]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>\n<thead>\n`+t+`</thead>\n`+r+`</table>\n`}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?\"th\":\"td\";return(e.align?`<${n} align=\"${e.align}\">`:`<${n}>`)+t+`</${n}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${w(e,!0)}</code>`}br(e){return\"<br>\"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=J(e);if(i===null)return r;e=i;let s='<a href=\"'+e+'\"';return t&&(s+=' title=\"'+w(t)+'\"'),s+=\">\"+r+\"</a>\",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=J(e);if(i===null)return w(n);e=i;let s=`<img src=\"${e}\" alt=\"${n}\"`;return t&&(s+=` title=\"${w(t)}\"`),s+=\">\",s}text(e){return\"tokens\"in e&&e.tokens?this.parser.parseInline(e.tokens):\"escaped\"in e&&e.escaped?e.text:w(e.text)}};var S=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return\"\"+e}image({text:e}){return\"\"+e}br(){return\"\"}};var R=class l{options;renderer;textRenderer;constructor(e){this.options=e||O,this.options.renderer=this.options.renderer||new P,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new S}static parse(e,t){return new l(t).parse(e)}static parseInline(e,t){return new l(t).parseInline(e)}parse(e,t=!0){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let o=i,a=this.options.extensions.renderers[o.type].call({parser:this},o);if(a!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"paragraph\",\"text\"].includes(o.type)){n+=a||\"\";continue}}let s=i;switch(s.type){case\"space\":{n+=this.renderer.space(s);continue}case\"hr\":{n+=this.renderer.hr(s);continue}case\"heading\":{n+=this.renderer.heading(s);continue}case\"code\":{n+=this.renderer.code(s);continue}case\"table\":{n+=this.renderer.table(s);continue}case\"blockquote\":{n+=this.renderer.blockquote(s);continue}case\"list\":{n+=this.renderer.list(s);continue}case\"html\":{n+=this.renderer.html(s);continue}case\"paragraph\":{n+=this.renderer.paragraph(s);continue}case\"text\":{let o=s,a=this.renderer.text(o);for(;r+1<e.length&&e[r+1].type===\"text\";)o=e[++r],a+=`\n`+this.renderer.text(o);t?n+=this.renderer.paragraph({type:\"paragraph\",raw:a,text:a,tokens:[{type:\"text\",raw:a,text:a,escaped:!0}]}):n+=a;continue}default:{let o='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(o),\"\";throw new Error(o)}}}return n}parseInline(e,t=this.renderer){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let o=this.options.extensions.renderers[i.type].call({parser:this},i);if(o!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(i.type)){n+=o||\"\";continue}}let s=i;switch(s.type){case\"escape\":{n+=t.text(s);break}case\"html\":{n+=t.html(s);break}case\"link\":{n+=t.link(s);break}case\"image\":{n+=t.image(s);break}case\"strong\":{n+=t.strong(s);break}case\"em\":{n+=t.em(s);break}case\"codespan\":{n+=t.codespan(s);break}case\"br\":{n+=t.br(s);break}case\"del\":{n+=t.del(s);break}case\"text\":{n+=t.text(s);break}default:{let o='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(o),\"\";throw new Error(o)}}}return n}};var $=class{options;block;constructor(e){this.options=e||O}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?b.lex:b.lexInline}provideParser(){return this.block?R.parse:R.parseInline}};var B=class{defaults=L();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=R;Renderer=P;TextRenderer=S;Lexer=b;Tokenizer=y;Hooks=$;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case\"table\":{let i=r;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,t));for(let s of i.rows)for(let o of s)n=n.concat(this.walkTokens(o.tokens,t));break}case\"list\":{let i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let o=i[s].flat(1/0);n=n.concat(this.walkTokens(o,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(\"extension name required\");if(\"renderer\"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...o){let a=i.renderer.apply(this,o);return a===!1&&(a=s.apply(this,o)),a}:t.renderers[i.name]=i.renderer}if(\"tokenizer\"in i){if(!i.level||i.level!==\"block\"&&i.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===\"block\"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===\"inline\"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}\"childTokens\"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new P(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if([\"options\",\"parser\"].includes(s))continue;let o=s,a=n.renderer[o],u=i[o];i[o]=(...p)=>{let c=a.apply(i,p);return c===!1&&(c=u.apply(i,p)),c||\"\"}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new y(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(s))continue;let o=s,a=n.tokenizer[o],u=i[o];i[o]=(...p)=>{let c=a.apply(i,p);return c===!1&&(c=u.apply(i,p)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new $;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if([\"options\",\"block\"].includes(s))continue;let o=s,a=n.hooks[o],u=i[o];$.passThroughHooks.has(s)?i[o]=p=>{if(this.defaults.async)return Promise.resolve(a.call(i,p)).then(f=>u.call(i,f));let c=a.call(i,p);return u.call(i,c)}:i[o]=(...p)=>{let c=a.apply(i,p);return c===!1&&(c=u.apply(i,p)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(o){let a=[];return a.push(s.call(this,o)),i&&(a=a.concat(i.call(this,o))),a}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return b.lex(e,t??this.defaults)}parser(e,t){return R.parse(e,t??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},o=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return o(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof n>\"u\"||n===null)return o(new Error(\"marked(): input parameter is undefined or null\"));if(typeof n!=\"string\")return o(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));s.hooks&&(s.hooks.options=s,s.hooks.block=e);let a=s.hooks?s.hooks.provideLexer():e?b.lex:b.lexInline,u=s.hooks?s.hooks.provideParser():e?R.parse:R.parseInline;if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(n):n).then(p=>a(p,s)).then(p=>s.hooks?s.hooks.processAllTokens(p):p).then(p=>s.walkTokens?Promise.all(this.walkTokens(p,s.walkTokens)).then(()=>p):p).then(p=>u(p,s)).then(p=>s.hooks?s.hooks.postprocess(p):p).catch(o);try{s.hooks&&(n=s.hooks.preprocess(n));let p=a(n,s);s.hooks&&(p=s.hooks.processAllTokens(p)),s.walkTokens&&this.walkTokens(p,s.walkTokens);let c=u(p,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(p){return o(p)}}}onError(e,t){return n=>{if(n.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let r=\"<p>An error occurred:</p><pre>\"+w(n.message+\"\",!0)+\"</pre>\";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var _=new B;function d(l,e){return _.parse(l,e)}d.options=d.setOptions=function(l){return _.setOptions(l),d.defaults=_.defaults,H(d.defaults),d};d.getDefaults=L;d.defaults=O;d.use=function(...l){return _.use(...l),d.defaults=_.defaults,H(d.defaults),d};d.walkTokens=function(l,e){return _.walkTokens(l,e)};d.parseInline=_.parseInline;d.Parser=R;d.parser=R.parse;d.Renderer=P;d.TextRenderer=S;d.Lexer=b;d.lexer=b.lex;d.Tokenizer=y;d.Hooks=$;d.parse=d;var Dt=d.options,Zt=d.setOptions,Gt=d.use,Ht=d.walkTokens,Nt=d.parseInline,jt=d,Ft=R.parse,Qt=b.lex;export{$ as Hooks,b as Lexer,B as Marked,R as Parser,P as Renderer,S as TextRenderer,y as Tokenizer,O as defaults,L as getDefaults,Qt as lexer,d as marked,Dt as options,jt as parse,Nt as parseInline,Ft as parser,Zt as setOptions,Gt as use,Ht as walkTokens};\n//# sourceMappingURL=marked.esm.js.map\n","import '../styles/main.css';\nimport { marked } from 'marked';\nimport Toolbar from './toolbar/Toolbar.js';\nimport Preview from './Preview.js';\nimport UndoRedoManager from '../utils/UndoRedoManager.js';\n\nmarked.setOptions({\n breaks: true\n});\n\nclass MarkdownEditor {\n constructor(selector, options = {}) {\n this.usertextarea = typeof selector === 'string' ? document.querySelector(selector) : selector;\n this.options = options;\n this.preview = this.options.toolbar.includes('preview');\n this.init();\n\n // Initialize UndoRedoManager if 'undo' or 'redo' is in the toolbar\n if (this.options.toolbar.includes('undo') || this.options.toolbar.includes('redo')) {\n this.undoRedoManager = new UndoRedoManager(this);\n }\n }\n\n init() {\n this.createEditor();\n if (this.options.toolbar) this.addToolbar();\n }\n\n createEditor() {\n if (!this.isTextareaValid()) return;\n\n this.applyDefaultAttributes();\n this.buildEditorLayout();\n this.addInputListener();\n this.render();\n }\n\n isTextareaValid() {\n return this.usertextarea.tagName === 'TEXTAREA';\n }\n\n applyDefaultAttributes() {\n this.usertextarea.classList.add(\n \"fj:textarea\",\n \"fj:focus:ring-0\",\n \"fj:focus:outline-0\",\n \"fj:border-0\",\n \"fj:p-1.5\",\n \"fj:max-w-full\",\n \"fj:size-full\",\n \"fj:bg-transparent\",\n \"fj:outline-0\",\n \"fj:appearance-none\",\n \"fj:prose\",\n \"fj:prose-sm\",\n \"fj:md:prose-base\",\n \"fj:dark:prose-invert\",\n \"fj:overflow-y-auto\",\n );\n if (!this.usertextarea.hasAttribute('placeholder')) {\n this.usertextarea.placeholder = this.options.placeholder || 'Write your markdown...';\n }\n }\n\n buildEditorLayout() {\n this.editorContainer = document.createElement('div');\n this.editorContainer.className = `\n markdown-editor-wrapper\n fj:surface\n fj:surface-1\n fj:surface-outline\n fj:surface-rounded\n fj:overflow-hidden\n `;\n this.usertextarea.parentNode.insertBefore(this.editorContainer, this.usertextarea);\n\n this.markdownEditorDiv = document.createElement('div');\n this.markdownEditorDiv.className = `editor-layout fj:relative`;\n this.editorContainer.appendChild(this.markdownEditorDiv);\n\n this.addTextareaWrapper();\n if (this.preview) this.addPreviewWrapper();\n }\n\n addTextareaWrapper() {\n const textareaContainer = document.createElement('div');\n textareaContainer.className = `\n textarea-wrapper\n fj:surface\n fj:h-full\n fj:p-2\n fj:grid\n fj:after:px-3.5\n fj:after:py-2.5\n fj:after:text-inherit\n fj:[&>textarea]:resize-none\n fj:[&>textarea]:[grid-area:1/1/2/2]\n fj:after:[grid-area:1/1/2/2]\n fj:after:whitespace-pre-wrap\n fj:after:invisible\n fj:after:content-[attr(data-cloned-val)_'_']\n fj:after:border\n `;\n textareaContainer.appendChild(this.usertextarea);\n this.markdownEditorDiv.appendChild(textareaContainer);\n }\n\n \n\n addPreviewWrapper() {\n const previewInstance = new Preview(this.markdownEditorDiv);\n this.previewContent = previewInstance.getPreviewContent();\n }\n\n addInputListener() {\n this.usertextarea.addEventListener('input', () => this.render());\n this.usertextarea.addEventListener('scroll', () => {\n const textarea = this.usertextarea;\n const previewPane = this.previewContent;\n \n // Calculate the proportion of the textarea that has been scrolled\n const textareaScrollRatio = textarea.scrollTop / (textarea.scrollHeight - textarea.clientHeight);\n \n // Apply the same scroll ratio to the preview pane\n previewPane.scrollTop = textareaScrollRatio * (previewPane.scrollHeight - previewPane.clientHeight);\n });\n }\n\n addToolbar() {\n new Toolbar(this, this.options.toolbar || ['bold', 'italic', 'strikethrough']);\n }\n\n insertText(text) {\n const { selectionStart, selectionEnd } = this.usertextarea;\n const value = this.usertextarea.value;\n this.usertextarea.value = `${value.substring(0, selectionStart)}${text}${value.substring(selectionEnd)}`;\n this.usertextarea.focus();\n this.usertextarea.setSelectionRange(selectionStart, selectionStart + text.length);\n\n // Scroll the textarea to the inserted text\n this.scrollToView();\n\n this.render();\n }\n\n scrollToView() {\n const textarea = this.usertextarea;\n \n // Calculate the position of the inserted text\n const selectionStart = textarea.selectionStart;\n \n // Get the line height (height of each row of text)\n const lineHeight = parseInt(window.getComputedStyle(textarea).lineHeight);\n \n // Get how many rows fit into the visible area of the textarea\n const rowsInView = Math.floor(textarea.clientHeight / lineHeight);\n \n // Calculate the current line number of the selectionStart\n const currentLine = Math.floor(selectionStart / textarea.cols);\n \n // Scroll to the line number that places the inserted text in the center\n const targetScrollTop = (currentLine - Math.floor(rowsInView / 2)) * lineHeight;\n \n // Adjust scrollTop to center the cursor's line in the view\n textarea.scrollTop = targetScrollTop;\n }\n \n\n render() {\n const html = marked(this.usertextarea.value);\n if (this.preview) this.previewContent.innerHTML = html;\n }\n}\n\nexport default MarkdownEditor;"],"names":["root","factory","exports","module","define","amd","self","this","Preview","container","_classCallCheck","previewContainer","document","createElement","className","previewContent","appendChild","key","value","MakeTool","editor","title","defaultText","concat","button","createButton","iconHtml","_this","btn","btnClass","replace","toLowerCase","innerHTML","type","addEventListener","event","applySyntax","btnWrapper","_MakeTool","BoldTool","_callSuper","_inherits","textarea","usertextarea","selectionStart","selectionEnd","selectedText","substring","syntax","newText","startsWith","endsWith","slice","insertText","ItalicTool","StrikethroughTool","ULTool","OLTool","PreviewTool","preview","_this$editor$previewC","previewWrapper","parentNode","editorDiv","markdownEditorDiv","enablePreview","disablePreview","classList","toggle","remove","querySelector","render","querySelectorAll","forEach","contains","add","CheckListTool","BlockQuoteTool","modal","size","bodyHTML","mde","target","closest","modalHTML","insertAdjacentHTML","showModal","LinkTool","linkRegex","test","linkText","match","setRangeText","modalElement","e","preventDefault","linkInput","linkTextInput","validity","valid","link","close","reportValidity","HeadingTool","currentHeading","cleanText","currentLevel","headingCount","length","repeat","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","Number","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","valueOf","_setPrototypeOf","ImageTool","config","undefined","fileInputConfig","fileInput","altInputConfig","altInput","acceptFormats","accept","map","join","altRequired","required","uploadUrl","fileInputTag","imageRegex","altText","fileInputSelector","urlInputSelector","submitBtnSelector","_callee","file","formData","res","result","_t","_context","files","disabled","textContent","FormData","append","fetch","method","body","json","success","path","alert","console","error","imgLinkInput","imgLinkAltInput","imgLink","imgLinkAlt","UndoTool","undoRedoManager","undo","RedoTool","redo","Toolbar","options","toolbar","init","toolMapping","heading","ul","ol","checklist","bold","italic","strikethrough","blockquote","image","tool","ToolClass","toolName","keys","toolInstance","includes","previewToolInstance","editorContainer","insertBefore","Diff","diff","oldStr","newStr","callback","oldString","castInput","newString","oldTokens","removeEmpty","tokenize","newTokens","diffWithOptionsObj","_a","postProcess","setTimeout","newLen","oldLen","editLength","maxEditLength","Math","min","maxExecutionTime","timeout","Infinity","abortAfterTimestamp","Date","now","bestPath","oldPos","lastComponent","newPos","extractCommon","buildValues","minDiagonalToConsider","maxDiagonalToConsider","execEditLength","diagonalPath","max","basePath","removePath","addPath","canAdd","addPathNewPos","canRemove","addToPath","exec","ret","added","removed","oldPosInc","last","oneChangePerToken","count","previousComponent","commonCount","equals","left","right","comparator","ignoreCase","array","push","Array","from","chars","changeObjects","useLongestToken","components","nextComponent","reverse","componentLen","componentPos","component","oldValue","characterDiff","UndoRedoManager","undoStack","redoStack","lastValue","lastSelection","debounceDelay","_bindEvents","_onKeyDown","_onInput","_saveState","metaKey","ctrlKey","shiftKey","_this2","clearTimeout","_debounceTimer","lastChar","newValue","selection","_objectSpread","lastStep","pop","prevValue","_revertDiff","_restoreState","redoStep","_applyDiff","part","setSelectionRange","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","get","obj","prop","hasOwnProperty","L","async","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","O","H","E","h","source","s","caret","getRegex","RegExp","codeRemoveIndent","outputLinkReplace","indentCodeCompensation","beginningSpace","endingHash","startingSpaceChar","endingSpaceChar","nonSpaceChar","newLineCharGlobal","tabCharGlobal","multipleSpaceGlobal","blankLine","doubleBlankLine","blockquoteStart","blockquoteSetextReplace","blockquoteSetextReplace2","listReplaceTabs","listReplaceNesting","listIsTask","listReplaceTask","anyLine","hrefBrackets","tableDelimiter","tableAlignChars","tableRowBlankLine","tableAlignRight","tableAlignCenter","tableAlignLeft","startATag","endATag","startPreScriptTag","endPreScriptTag","startAngleBracket","endAngleBracket","pedanticHrefTitle","unicodeAlphaNumeric","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","unescapeTest","percentDecode","findPipe","splitPipe","slashPipe","carriageReturn","spaceLine","notSpaceStart","endingNewline","listItemRegex","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","htmlBeginRegex","C","j","se","ie","Te","F","Q","ye","Pe","U","Se","oe","K","code","def","fences","hr","html","lheading","list","newline","paragraph","table","text","re","_e","Le","ae","D","W","le","Ee","ue","pe","qe","ve","ce","De","Ze","Ge","He","Ne","je","Fe","q","Qe","he","de","X","_backpedal","anyPunctuation","autolink","blockSkip","br","del","emStrongLDelim","emStrongRDelimAst","emStrongRDelimUnd","escape","nolink","punctuation","reflink","reflinkSearch","tag","url","Ke","N","We","I","normal","M","Xe","ke","J","encodeURI","V","split","trim","shift","at","splice","z","charAt","fe","href","other","state","inLink","raw","tokens","inlineTokens","rules","lexer","space","block","codeBlockStyle","Je","lang","inline","depth","top","blockTokens","k","x","g","T","ordered","start","loose","items","Z","trimStart","search","ee","te","ne","me","A","Y","task","checked","trimEnd","filter","some","pre","header","align","rows","inRawBlock","indexOf","ge","emStrong","lastIndex","index","codespan","inlineText","escaped","b","inlineQueue","links","lex","lexInline","src","startBlock","charCodeAt","Error","lastIndexOf","startInline","P","parser","parse","parseInline","listitem","checkbox","unshift","tablecell","tablerow","strong","em","textRenderer","S","R","renderers","$","static","Set","preprocess","postprocess","processAllTokens","provideLexer","provideParser","_","defaults","setOptions","parseMarkdown","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","use","childTokens","flat","name","level","passThroughHooks","has","onError","toString","all","catch","message","reject","getDefaults","marked","MarkdownEditor","selector","createEditor","addToolbar","isTextareaValid","applyDefaultAttributes","buildEditorLayout","addInputListener","tagName","hasAttribute","placeholder","addTextareaWrapper","addPreviewWrapper","textareaContainer","previewInstance","getPreviewContent","previewPane","textareaScrollRatio","scrollTop","scrollHeight","clientHeight","_this$usertextarea","focus","scrollToView","lineHeight","parseInt","window","getComputedStyle","rowsInView","floor","targetScrollTop","cols"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"markdown-text-editor.js","mappings":";CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAwB,eAAID,IAE5BD,EAAqB,eAAIC,GAC1B,CATD,CASGK,OAAuB,oBAATC,KAAuBA,KAAOC,OAAO,I,2vBCMtD,QAfa,WAQR,O,EAPD,SAAAC,EAAYC,I,4FAAWC,CAAA,KAAAF,GACnBD,KAAKI,iBAAmBC,SAASC,cAAc,OAC/CN,KAAKI,iBAAiBG,UAAY,sGAClCP,KAAKQ,eAAiBH,SAASC,cAAc,OAC7CN,KAAKQ,eAAeD,UAAY,oIAChCP,KAAKI,iBAAiBK,YAAYT,KAAKQ,gBACvCN,EAAUO,YAAYT,KAAKI,iBAC/B,G,EAAC,EAAAM,IAAA,oBAAAC,MAED,WACI,OAAOX,KAAKQ,cAChB,M,yFAAC,CAZQ,E,quBC6Bb,QA7Bc,WAQV,O,EAPA,SAAAI,EAAYC,EAAQC,I,4FAAOX,CAAA,KAAAS,GACvBZ,KAAKa,OAASA,EACdb,KAAKe,YAAc,GAAHC,OAAMF,EAAK,SAC3Bd,KAAKiB,OAASjB,KAAKkB,eACnBlB,KAAKc,MAAQA,CACjB,G,EAEA,EAAAJ,IAAA,eAAAC,MACA,SAAaQ,GAAU,IAAAC,EAAA,KACbC,EAAMhB,SAASC,cAAc,UAC7BgB,EAAWtB,KAAKc,MAAQ,GAAAE,OAAGhB,KAAKc,MAAMS,QAAQ,KAAM,KAAI,QAAOC,cAAgB,GAOrF,GANAH,EAAII,UAAYN,EAChBE,EAAIK,KAAO,SACXL,EAAIP,MAAQd,KAAKc,MACjBO,EAAId,UAAY,gBAAHS,OAAmBM,EAAQ,gDACxCD,EAAIM,iBAAiB,SAAS,SAACC,GAAK,OAAKR,EAAKS,YAAYD,EAAM,IAEjD,eAAZN,EAA2B,CAC1B,IAAMQ,EAAazB,SAASC,cAAc,OAG1C,OAFAwB,EAAWvB,UAAY,qGACvBuB,EAAWrB,YAAYY,GAChBS,CACX,CAEA,OAAOT,CACX,M,yFAAC,CA1BS,G,g+CCgCd,QA9Bc,SAAAU,GACV,SAAAC,EAAYnB,GAAQ,IAAAO,EAMd,O,4FANcjB,CAAA,KAAA6B,IAChBZ,EAAAa,EAAA,KAAAD,EAAA,CAAMnB,EAAQ,UACTI,OAASG,EAAKF,aAAa,6eAI9BE,CACN,CAEA,O,qRAAAc,CAAAF,EAAAD,G,EAAAC,G,EAAA,EAAAtB,IAAA,cAAAC,MACA,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAExDG,EAAS,KACXC,EAAU,GAGVA,EAFAH,EAAaI,WAAWF,IAAWF,EAAaK,SAASH,GAE/CF,EAAaM,MAAMJ,GAAgBA,GAGnC,GAAHzB,OAAMyB,GAAMzB,OAAGuB,GAAgB,aAAWvB,OAAGyB,GAGxDzC,KAAKa,OAAOiC,WAAWJ,EAC3B,M,yFAAC,CA3BS,CAAS9B,G,g+CC4BvB,QA5BgB,SAAAmB,GACZ,SAAAgB,EAAYlC,GAAQ,IAAAO,EAKb,O,4FALajB,CAAA,KAAA4C,IAEhB3B,EAAAa,EAAA,KAAAc,EAAA,CAAMlC,EAAQ,YACTI,OAASG,EAAKF,aAAa,2NAE7BE,CACP,CAAC,O,qRAAAc,CAAAa,EAAAhB,G,EAAAgB,G,EAAA,EAAArC,IAAA,cAAAC,MAED,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAExDG,EAAS,IACXC,EAAU,GAGVA,EAFAH,EAAaI,WAAWF,IAAWF,EAAaK,SAASH,GAE/CF,EAAaM,MAAMJ,GAAgBA,GAGnC,GAAHzB,OAAMyB,GAAMzB,OAAGuB,GAAgB,eAAavB,OAAGyB,GAG1DzC,KAAKa,OAAOiC,WAAWJ,EAC3B,M,yFAAC,CAzBW,CAAS9B,G,g+CC4BzB,QA5BuB,SAAAmB,GACnB,SAAAiB,EAAYnC,GAAQ,IAAAO,EAKb,O,4FALajB,CAAA,KAAA6C,IAEhB5B,EAAAa,EAAA,KAAAe,EAAA,CAAMnC,EAAQ,mBACTI,OAASG,EAAKF,aAAa,y/BAE7BE,CACP,CAAC,O,qRAAAc,CAAAc,EAAAjB,G,EAAAiB,G,EAAA,EAAAtC,IAAA,cAAAC,MAED,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAExDG,EAAS,IACXC,EAAU,GAGVA,EAFAH,EAAaI,WAAWF,IAAWF,EAAaK,SAASH,GAE/CF,EAAaM,MAAMJ,GAAgBA,GAGnC,GAAHzB,OAAMyB,GAAMzB,OAAGuB,GAAgB,sBAAoBvB,OAAGyB,GAGjEzC,KAAKa,OAAOiC,WAAWJ,EAC3B,M,yFAAC,CAzBkB,CAAS9B,G,g+CC4BhC,QA5BY,SAAAmB,GACR,SAAAkB,EAAYpC,GAAQ,IAAAO,EAIb,O,4FAJajB,CAAA,KAAA8C,IAChB7B,EAAAa,EAAA,KAAAgB,EAAA,CAAMpC,EAAQ,oBACTI,OAASG,EAAKF,aAAa,4kBAE7BE,CACP,CAAC,O,qRAAAc,CAAAe,EAAAlB,G,EAAAkB,G,EAAA,EAAAvC,IAAA,cAAAC,MAED,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAExDG,EAAS,KACXC,EAAU,GAGVA,EAFAH,EAAaI,WAAWF,GAEdF,EAAaM,MAAMJ,GAGnB,GAAHzB,OAAMyB,GAAMzB,OAAGuB,GAAgB,kBAG1CvC,KAAKa,OAAOiC,WAAWJ,EAC3B,M,yFAAC,CAxBO,CAAS9B,G,g+CC4BrB,QA5BY,SAAAmB,GACR,SAAAmB,EAAYrC,GAAQ,IAAAO,EAIb,O,4FAJajB,CAAA,KAAA+C,IAChB9B,EAAAa,EAAA,KAAAiB,EAAA,CAAMrC,EAAQ,kBACTI,OAASG,EAAKF,aAAa,sTAE7BE,CACP,CAAC,O,qRAAAc,CAAAgB,EAAAnB,G,EAAAmB,G,EAAA,EAAAxC,IAAA,cAAAC,MAED,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAExDG,EAAS,MACXC,EAAU,GAGVA,EAFAH,EAAaI,WAAWF,GAEdF,EAAaM,MAAMJ,GAGnB,GAAHzB,OAAMyB,GAAMzB,OAAGuB,GAAgB,gBAG1CvC,KAAKa,OAAOiC,WAAWJ,EAC3B,M,yFAAC,CAxBO,CAAS9B,G,g+CCsGrB,SArGiB,SAAAmB,GACb,SAAAoB,EAAYtC,GAAQ,IAAAO,EAMb,O,4FANajB,CAAA,KAAAgD,IAEhB/B,EAAAa,EAAA,KAAAkB,EAAA,CAAMtC,EAAQ,aACTuC,SAAU,EACfhC,EAAKH,OAASG,EAAKF,aAAa,mTAE7BE,CACP,CAEA,O,qRAAAc,CAAAiB,EAAApB,G,EAAAoB,G,EAAA,EAAAzC,IAAA,cAAAC,MACA,WAAc,IAAA0C,EACJC,EAA2C,QAA7BD,EAAGrD,KAAKa,OAAOL,sBAAc,IAAA6C,OAAA,EAA1BA,EAA4BE,WAC7CC,EAAYxD,KAAKa,OAAO4C,kBAEzBH,GAAmBE,IAGpBxD,KAAKa,OAAOuC,SAAWpD,KAAKoD,QAC5BpD,KAAK0D,cAAcJ,EAAgBE,GAEnCxD,KAAK2D,eAAeL,EAAgBE,GAE5C,GAEA,CAAA9C,IAAA,iBAAAC,MACA,SAAe2C,EAAgBE,GAE3BxD,KAAKoD,SAAU,EAEfI,EAAUD,WAAWK,UAAUC,OAAO,YACtCL,EAAUD,WAAWK,UAAUC,OAAO,YACtCL,EAAUD,WAAWK,UAAUC,OAAO,gBACtCL,EAAUD,WAAWK,UAAUC,OAAO,iBACtCL,EAAUD,WAAWK,UAAUC,OAAO,YAEtCP,EAAeM,UAAUC,OAAO,aAGhCL,EAAUI,UAAUE,OAChB,aACA,qBAGJN,EAAUO,cAAc,qBAAqBH,UAAUE,OACnD,eACA,YACA,eAEJ9D,KAAKa,OAAOmD,SAEZR,EAAUO,cAAc,qBAAqBA,cAAc,YAAYH,UAAUE,OAAO,iBAExFzD,SAAS0D,cAAc,QAAQH,UAAUE,OAAO,sBAEhDzD,SAAS4D,iBAAiB,iBAAiBC,SAAQ,SAAAjD,GAC1CA,EAAO2C,UAAUO,SAAS,eAG3BlD,EAAO2C,UAAUE,OAAO,iBAFxB7C,EAAO2C,UAAUE,OAAO,yBAA0B,4BAA6B,gBAAiB,oBAIxG,GACJ,GAEA,CAAApD,IAAA,gBAAAC,MACA,SAAc2C,EAAgBE,GAE1BxD,KAAKoD,SAAU,EAEfI,EAAUD,WAAWK,UAAUC,OAAO,YACtCL,EAAUD,WAAWK,UAAUC,OAAO,YACtCL,EAAUD,WAAWK,UAAUC,OAAO,gBACtCL,EAAUD,WAAWK,UAAUC,OAAO,iBACtCL,EAAUD,WAAWK,UAAUC,OAAO,YAEtCP,EAAeM,UAAUC,OAAO,aAEhCL,EAAUI,UAAUQ,IAChB,aACA,qBAGJZ,EAAUO,cAAc,qBAAqBH,UAAUQ,IACnD,eACA,YACA,eAEJZ,EAAUO,cAAc,qBAAqBA,cAAc,YAAYH,UAAUQ,IAAI,iBAErF/D,SAAS0D,cAAc,QAAQH,UAAUQ,IAAI,sBAE7C/D,SAAS4D,iBAAiB,iBAAiBC,SAAQ,SAAAjD,GAC1CA,EAAO2C,UAAUO,SAAS,eAG3BlD,EAAO2C,UAAUQ,IAAI,iBAFrBnD,EAAO2C,UAAUQ,IAAI,yBAA0B,4BAA6B,gBAAiB,oBAIrG,GACJ,M,yFAAC,CAlGY,CAASxD,G,s/CC2B1B,SA5BmB,SAAAmB,GACf,SAAAsC,EAAYxD,GAAQ,IAAAO,EAIb,O,4FAJajB,CAAA,KAAAkE,IAChBjD,EAAAa,GAAA,KAAAoC,EAAA,CAAMxD,EAAQ,gBACTI,OAASG,EAAKF,aAAa,8aAE7BE,CACP,CAAC,O,sRAAAc,CAAAmC,EAAAtC,G,EAAAsC,G,EAAA,EAAA3D,IAAA,cAAAC,MAED,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAExDG,EAAS,SACXC,EAAU,GAGVA,EAFAH,EAAaI,WAAWF,GAEdF,EAAaM,MAAMJ,GAGnB,GAAHzB,OAAMyB,GAAMzB,OAAGuB,GAAgB,cAG1CvC,KAAKa,OAAOiC,WAAWJ,EAC3B,M,2FAAC,CAxBc,CAAS9B,G,s/CC4B5B,SA5BoB,SAAAmB,GAChB,SAAAuC,EAAYzD,GAAQ,IAAAO,EAKb,O,4FALajB,CAAA,KAAAmE,IAEhBlD,EAAAa,GAAA,KAAAqC,EAAA,CAAMzD,EAAQ,gBACTI,OAASG,EAAKF,aAAa,2yBAE7BE,CACP,CAAC,O,sRAAAc,CAAAoC,EAAAvC,G,EAAAuC,G,EAAA,EAAA5D,IAAA,cAAAC,MAED,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAG1DI,EAAU,GAGVA,EAFAH,EAAaI,WAFF,KAIDJ,EAAaM,MAAMJ,GAGnB,GAAHzB,OAPI,KAOQA,OAAGuB,GAAgB,mBAG1CvC,KAAKa,OAAOiC,WAAWJ,EAC3B,M,2FAAC,CAzBe,CAAS9B,GCFtB,SAAS2D,GAAM3C,EAAO4C,EAAMC,GAC/B,IACMC,EADO9C,EAAM+C,OACFC,QAAQ,4BACtBF,EAAIX,cAAc,oBACjBW,EAAIX,cAAc,mBAAmBD,SAGzC,IAAMe,EAAY,6KAAH7D,OAEqBwD,EAAI,wBAAAxD,OAC1ByD,EAAQ,iDAKlBC,EAAIX,cAAc,oBAClBW,EAAII,mBAAmB,YAAaD,GAGxC,IAAMN,EAAQG,EAAIX,cAAc,mBAEhC,OADAQ,EAAMQ,YACCR,CACX,C,s/CC+DA,SAlFc,SAAAxC,GACV,SAAAiD,EAAYnE,GAAQ,IAAAO,EAMb,O,4FANajB,CAAA,KAAA6E,IAChB5D,EAAAa,GAAA,KAAA+C,EAAA,CAAMnE,EAAQ,UACTI,OAASG,EAAKF,aAAa,w2BAI7BE,CACP,CAEA,O,sRAAAc,CAAA8C,EAAAjD,G,EAAAiD,E,EAAA,EAAAtE,IAAA,cAAAC,MACA,SAAYiB,GACR,IAAIf,EAASb,KAAKa,OACdsB,EAAWtB,EAAOuB,aAChBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAGtD2C,EAAY,0BAElB,GAAI1C,GAAgB0C,EAAUC,KAAK3C,GAAe,CAE9C,IACM4C,EADQ5C,EAAa6C,MAAMH,GACV,GAGvB9C,EAASkD,aAAaF,EAAU9C,EAAgBC,EAAc,SAClE,KAAO,CAGH,IAeMgD,EAAef,GAAM3C,EAAO,cAfpB,07BAAAZ,OAU6FuB,EAAY,oLAOvH+C,EAAavB,cAAc,gBAAgBpC,iBAAiB,SAAS,SAAS4D,GAC1EA,EAAEC,iBACF,IAAIC,EAAYH,EAAavB,cAAc,eACvC2B,EAAgBJ,EAAavB,cAAc,oBAE/C,GAAK0B,EAAUE,SAASC,MAEjB,GAAKF,EAAcC,SAASC,MAE5B,CACH,IAAMC,EAAOJ,EAAU9E,MACnBwE,EAAWO,EAAc/E,MAEd,IAAZwE,IACCA,EAAW,aAGf,IAAIzC,EAAU,GAEVA,EADAH,EACU,IAAHvB,OAAOuB,EAAY,MAAAvB,OAAK6E,EAAI,KAEzB,IAAH7E,OAAOmE,EAAQ,MAAAnE,OAAK6E,EAAI,KAEnChF,EAAOiC,WAAWJ,GAElB+C,EAAU9E,MAAQ,GAClB+E,EAAc/E,MAAQ,GACtB2E,EAAaQ,OACjB,MApBIJ,EAAcK,sBAFdN,EAAUM,gBAuBlB,GACJ,CACJ,I,8FAAC,CA9ES,CAASnF,G,s/CCmDvB,SApDiB,SAAAmB,GACb,SAAAiE,EAAYnF,GAAQ,IAAAO,EAKb,O,4FALajB,CAAA,KAAA6F,IAChB5E,EAAAa,GAAA,KAAA+D,EAAA,CAAMnF,EAAQ,aACToF,eAAiB,EACtB7E,EAAKH,OAASG,EAAKF,aAAa,iMAE7BE,CACP,CAEA,O,sRAAAc,CAAA8D,EAAAjE,G,EAAAiE,G,EAAA,EAAAtF,IAAA,cAAAC,MACA,WACI,IAAMwB,EAAWnC,KAAKa,OAAOuB,aACrBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAI1D4D,EAAY3D,EAAahB,QADR,SAC8B,IAE/CmB,EAAU,GAGd,GAAIH,EAAc,CACd,IAAM4D,EAAe5D,EAAa6C,MAAM,OACxC,GAAIe,EAAc,CACd,IAAIC,EAAeD,EAAa,GAAGE,OAE/B3D,EADiB,IAAjB0D,EACUF,EAEA,GAAHlF,OAAM,IAAIsF,OAAOF,EAAe,GAAE,KAAApF,OAAIkF,EAErD,MAEIxD,EAAU,KAAH1B,OAAQkF,EAEvB,MAEIxD,EAAU,GAAH1B,OAAM,IAAIsF,OAAOtG,KAAKiG,gBAAe,YAIhDjG,KAAKa,OAAOiC,WAAWJ,GAAS,GAGJ,IAAxB1C,KAAKiG,eACLjG,KAAKiG,eAAiB,EAEtBjG,KAAKiG,gBAEb,M,2FAAC,CAjDY,CAASrF,G,uPCD1B,IAAA2E,EAAAgB,EAAAC,EAAA,mBAAAC,OAAAA,OAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,aAAA,yBAAAC,EAAAN,EAAAE,EAAAE,EAAAE,GAAA,IAAAC,EAAAL,GAAAA,EAAAM,qBAAAC,EAAAP,EAAAO,EAAAC,EAAApH,OAAAqH,OAAAJ,EAAAC,WAAA,OAAAI,GAAAF,EAAA,mBAAAV,EAAAE,EAAAE,GAAA,IAAAE,EAAAC,EAAAG,EAAAG,EAAA,EAAAC,EAAAV,GAAA,GAAAW,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAZ,EAAA,EAAAe,EAAAlC,EAAAmC,EAAAC,EAAAN,EAAAM,EAAAC,KAAArC,EAAA,GAAAoC,EAAA,SAAApB,EAAAC,GAAA,OAAAM,EAAAP,EAAAQ,EAAA,EAAAG,EAAA3B,EAAAiC,EAAAd,EAAAF,EAAAkB,CAAA,YAAAC,EAAAnB,EAAAE,GAAA,IAAAK,EAAAP,EAAAU,EAAAR,EAAAH,EAAA,GAAAgB,GAAAF,IAAAT,GAAAL,EAAAe,EAAAjB,OAAAE,IAAA,KAAAK,EAAAE,EAAAQ,EAAAf,GAAAoB,EAAAH,EAAAF,EAAAO,EAAAf,EAAA,GAAAN,EAAA,GAAAI,EAAAiB,IAAAnB,KAAAQ,EAAAJ,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAvB,GAAAuB,EAAA,IAAAa,KAAAf,EAAAJ,EAAA,GAAAmB,EAAAb,EAAA,KAAAC,EAAA,EAAAS,EAAAC,EAAAf,EAAAc,EAAAd,EAAAI,EAAA,IAAAa,EAAAE,IAAAjB,EAAAJ,EAAA,GAAAM,EAAA,GAAAJ,GAAAA,EAAAmB,KAAAf,EAAA,GAAAN,EAAAM,EAAA,GAAAJ,EAAAc,EAAAd,EAAAmB,EAAAd,EAAA,OAAAH,GAAAJ,EAAA,SAAAkB,EAAA,MAAAH,GAAA,EAAAb,CAAA,iBAAAE,EAAAU,EAAAO,GAAA,GAAAR,EAAA,QAAAS,UAAA,oCAAAP,GAAA,IAAAD,GAAAK,EAAAL,EAAAO,GAAAd,EAAAO,EAAAJ,EAAAW,GAAAtB,EAAAQ,EAAA,EAAAxB,EAAA2B,KAAAK,GAAA,CAAAT,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAS,EAAAd,GAAA,GAAAiB,EAAAZ,EAAAG,IAAAM,EAAAd,EAAAQ,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAP,EAAA,IAAAC,IAAAH,EAAA,QAAAL,EAAAO,EAAAF,GAAA,MAAAL,EAAAA,EAAAwB,KAAAjB,EAAAI,IAAA,MAAAY,UAAA,wCAAAvB,EAAAyB,KAAA,OAAAzB,EAAAW,EAAAX,EAAA5F,MAAAoG,EAAA,IAAAA,EAAA,YAAAA,IAAAR,EAAAO,EAAA,SAAAP,EAAAwB,KAAAjB,GAAAC,EAAA,IAAAG,EAAAY,UAAA,oCAAAlB,EAAA,YAAAG,EAAA,GAAAD,EAAAvB,CAAA,UAAAgB,GAAAgB,EAAAC,EAAAd,EAAA,GAAAQ,EAAAV,EAAAuB,KAAArB,EAAAc,MAAAE,EAAA,YAAAnB,GAAAO,EAAAvB,EAAAwB,EAAA,EAAAG,EAAAX,CAAA,SAAAc,EAAA,UAAA1G,MAAA4F,EAAAyB,KAAAT,EAAA,GAAAf,EAAAI,EAAAE,IAAA,GAAAI,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAgB,IAAA,UAAAC,IAAA,CAAA3B,EAAAzG,OAAAqI,eAAA,IAAApB,EAAA,GAAAL,GAAAH,EAAAA,EAAA,GAAAG,QAAAU,GAAAb,EAAA,GAAAG,GAAA,0BAAAH,GAAAW,EAAAgB,EAAAlB,UAAAC,EAAAD,UAAAlH,OAAAqH,OAAAJ,GAAA,SAAAM,EAAA9B,GAAA,OAAAzF,OAAAsI,eAAAtI,OAAAsI,eAAA7C,EAAA2C,IAAA3C,EAAA8C,UAAAH,EAAAd,GAAA7B,EAAAqB,EAAA,sBAAArB,EAAAyB,UAAAlH,OAAAqH,OAAAD,GAAA3B,CAAA,QAAA0C,EAAAjB,UAAAkB,EAAAd,GAAAF,EAAA,cAAAgB,GAAAd,GAAAc,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAlB,GAAAc,EAAAtB,EAAA,qBAAAQ,GAAAF,GAAAE,GAAAF,EAAAN,EAAA,aAAAQ,GAAAF,EAAAR,GAAA,0BAAAU,GAAAF,EAAA,sDAAAqB,GAAA,kBAAAC,EAAA1B,EAAA2B,EAAApB,EAAA,cAAAD,GAAA7B,EAAAiB,EAAAE,EAAAH,GAAA,IAAAO,EAAAhH,OAAA4I,eAAA,IAAA5B,EAAA,gBAAAvB,GAAAuB,EAAA,EAAAM,GAAA,SAAA7B,EAAAiB,EAAAE,EAAAH,GAAA,SAAAK,EAAAJ,EAAAE,GAAAU,GAAA7B,EAAAiB,GAAA,SAAAjB,GAAA,YAAAoD,QAAAnC,EAAAE,EAAAnB,EAAA,IAAAiB,EAAAM,EAAAA,EAAAvB,EAAAiB,EAAA,CAAA7F,MAAA+F,EAAAkC,YAAArC,EAAAsC,cAAAtC,EAAAuC,UAAAvC,IAAAhB,EAAAiB,GAAAE,GAAAE,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAQ,GAAA7B,EAAAiB,EAAAE,EAAAH,EAAA,UAAAwC,GAAArC,EAAAH,EAAAhB,EAAAiB,EAAAI,EAAAc,EAAAX,GAAA,QAAAD,EAAAJ,EAAAgB,GAAAX,GAAAG,EAAAJ,EAAAnG,KAAA,OAAA+F,GAAA,YAAAnB,EAAAmB,EAAA,CAAAI,EAAAkB,KAAAzB,EAAAW,GAAA8B,QAAAC,QAAA/B,GAAAgC,KAAA1C,EAAAI,EAAA,UAAAuC,GAAAzC,GAAA,sBAAAH,EAAA,KAAAhB,EAAA6D,UAAA,WAAAJ,SAAA,SAAAxC,EAAAI,GAAA,IAAAc,EAAAhB,EAAA2C,MAAA9C,EAAAhB,GAAA,SAAA+D,EAAA5C,GAAAqC,GAAArB,EAAAlB,EAAAI,EAAA0C,EAAAC,EAAA,OAAA7C,EAAA,UAAA6C,EAAA7C,GAAAqC,GAAArB,EAAAlB,EAAAI,EAAA0C,EAAAC,EAAA,QAAA7C,EAAA,CAAA4C,OAAA,gBAAAE,GAAAjE,EAAAiB,GAAA,QAAAD,EAAA,EAAAA,EAAAC,EAAAH,OAAAE,IAAA,KAAAK,EAAAJ,EAAAD,GAAAK,EAAAgC,WAAAhC,EAAAgC,aAAA,EAAAhC,EAAAiC,cAAA,YAAAjC,IAAAA,EAAAkC,UAAA,GAAAhJ,OAAA4I,eAAAnD,EAAAkE,GAAA7C,EAAAlG,KAAAkG,EAAA,WAAA6C,GAAAlD,GAAA,IAAAO,EAAA,SAAAP,EAAAC,GAAA,aAAAkD,GAAAnD,KAAAA,EAAA,OAAAA,EAAA,IAAAhB,EAAAgB,EAAAE,OAAAkD,aAAA,YAAApE,EAAA,KAAAuB,EAAAvB,EAAAwC,KAAAxB,EAAAC,GAAA,wBAAAkD,GAAA5C,GAAA,OAAAA,EAAA,UAAAgB,UAAA,kEAAAtB,EAAAoD,OAAAC,QAAAtD,EAAA,CAAAuD,CAAAvD,EAAA,0BAAAmD,GAAA5C,GAAAA,EAAAA,EAAA,YAAA7E,GAAAsE,EAAAK,EAAArB,GAAA,OAAAqB,EAAAmD,GAAAnD,GAAA,SAAAL,EAAAhB,GAAA,GAAAA,IAAA,UAAAmE,GAAAnE,IAAA,mBAAAA,GAAA,OAAAA,EAAA,YAAAA,EAAA,UAAAuC,UAAA,4EAAAvC,GAAA,YAAAA,EAAA,UAAAyE,eAAA,oEAAAzE,CAAA,CAAA0E,CAAA1D,EAAA,CAAA2D,CAAA3D,EAAA4D,KAAAC,QAAAC,UAAAzD,EAAArB,GAAA,GAAAwE,GAAAxD,GAAA+D,aAAA1D,EAAAyC,MAAA9C,EAAAhB,GAAA,UAAA4E,KAAA,QAAA5D,GAAAgE,QAAAvD,UAAAwD,QAAAzC,KAAAqC,QAAAC,UAAAE,QAAA,0BAAAhE,GAAA,QAAA4D,GAAA,mBAAA5D,CAAA,cAAAwD,GAAAxD,GAAA,OAAAwD,GAAAjK,OAAAsI,eAAAtI,OAAAqI,eAAAP,OAAA,SAAArB,GAAA,OAAAA,EAAA8B,WAAAvI,OAAAqI,eAAA5B,EAAA,EAAAwD,GAAAxD,EAAA,UAAAkE,GAAAlE,EAAAhB,GAAA,OAAAkF,GAAA3K,OAAAsI,eAAAtI,OAAAsI,eAAAR,OAAA,SAAArB,EAAAhB,GAAA,OAAAgB,EAAA8B,UAAA9C,EAAAgB,CAAA,EAAAkE,GAAAlE,EAAAhB,EAAA,CAAuC,IAEjCmF,GAAS,SAAA3I,GACX,SAAA2I,EAAY7J,GAAqB,IAAAO,EAAbuJ,EAAMvB,UAAA/C,OAAA,QAAAuE,IAAAxB,UAAA,GAAAA,UAAA,GAAG,CAAC,EAUvB,OAbX,SAAA1B,EAAAhB,GAAA,KAAAgB,aAAAhB,GAAA,UAAAoB,UAAA,qCAGmC3H,CAAA,KAAAuK,IAC3BtJ,EAAAa,GAAA,KAAAyI,EAAA,CAAM7J,EAAQ,gBACT8J,OAASA,EACdvJ,EAAKyJ,gBAAkBF,EAAOG,YAAa,EAC3C1J,EAAK2J,eAAiBJ,EAAOK,WAAY,EACzC5J,EAAKH,OAASG,EAAKF,aAAa,0cAK7BE,CACP,CAEA,OAhBJ,SAAAmF,EAAAhB,GAAA,sBAAAA,GAAA,OAAAA,EAAA,UAAAuC,UAAA,sDAAAvB,EAAAS,UAAAlH,OAAAqH,OAAA5B,GAAAA,EAAAyB,UAAA,CAAAsD,YAAA,CAAA3J,MAAA4F,EAAAuC,UAAA,EAAAD,cAAA,KAAA/I,OAAA4I,eAAAnC,EAAA,aAAAuC,UAAA,IAAAvD,GAAAkF,GAAAlE,EAAAhB,EAAA,CAgBIrD,CAAAwI,EAAA3I,GAhBJwD,EAgBImF,EAhBJlE,EAgBI,EAAA9F,IAAA,cAAAC,MACA,SAAYiB,GACR,IAAIf,EAASb,KAAKa,OACdsB,EAAWtB,EAAOuB,aAChBC,EAAiCF,EAAjCE,eAAgBC,EAAiBH,EAAjBG,aAClBC,EAAeJ,EAASxB,MAAM6B,UAAUH,EAAgBC,GAEtD2I,EAAgBjL,KAAK6K,gBAAgBK,OACzClL,KAAK6K,gBAAgBK,OAAOC,KAAI,SAAAzJ,GAAI,eAAAV,OAAaU,EAAI,IAAI0J,KAAK,KAC9D,UAEIC,OAA+CT,IAAjC5K,KAAK+K,eAAeO,UAAgCtL,KAAK+K,eAAeO,SAEtFC,EAAYvL,KAAK6K,gBAAgBU,WAAa,KAEhDC,EAAe,GAChBxL,KAAK6K,kBACJW,EAAe,gDAAHxK,OACqBiK,EAAa,yHAKlD,IAAMQ,EAAa,2BAEnB,GAAIlJ,GAAgBkJ,EAAWvG,KAAK3C,GAAe,CAE/C,IACMmJ,EADQnJ,EAAa6C,MAAMqG,GACX,GAItBtJ,EAASkD,aAAaqG,EAASrJ,EAAgBC,EAAc,SACjE,KAAO,CACH,IAgBMgD,EAAef,GAAM3C,EAAO,cAhBpB,ivBAAAZ,OASAwK,EAAY,8OAAAxK,OAEmFuB,EAAY,MAAAvB,OAAMqK,GAAgB,WAAU,8KAOzJ,GAAGrL,KAAK6K,gBAAgB,CACpB,IAAMc,EAAoBrG,EAAavB,cAAc,mBAC/C6H,EAAmBtG,EAAavB,cAAc,mBAC9C8H,EAAoBvG,EAAavB,cAAc,oBAErD4H,EAAkBhK,iBAAiB,SAAQwH,GAAAZ,KAAAE,GAAE,SAAAqD,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA5D,KAAAC,GAAA,SAAA4D,GAAA,cAAAA,EAAA9E,EAAA8E,EAAA1F,GAAA,OACF,IAAjCqF,EAAOJ,EAAkBU,MAAM,KACvBd,EAAS,CAAAa,EAAA1F,EAAA,eAAA0F,EAAA1E,EAAA,UAMQ,OAJ/BmE,EAAkBS,UAAW,EAC7BT,EAAkBU,YAAc,gBAE1BP,EAAW,IAAIQ,UACZC,OAAO,QAASV,GAAMK,EAAA9E,EAAA,EAAA8E,EAAA1F,EAAA,EAGTgG,MAAMnB,EAAW,CAC/BoB,OAAQ,OACRC,KAAMZ,IACR,OAHO,OAAHC,EAAGG,EAAA3E,EAAA2E,EAAA1F,EAAG,EAISuF,EAAIY,OAAM,QAAzBX,EAAME,EAAA3E,GAEDqF,SAAWZ,EAAOa,MACzBnB,EAAiBjL,MAAQuL,EAAOa,KAChClB,EAAkBS,UAAW,EAC7BT,EAAkBU,YAAc,UAEhCS,MAAM,wBACNrB,EAAkBhL,MAAQ,GAC1BkL,EAAkBS,UAAW,EAC7BT,EAAkBU,YAAc,SACnCH,EAAA1F,EAAA,eAAA0F,EAAA9E,EAAA,EAAA6E,EAAAC,EAAA3E,EAEDwF,QAAQC,MAAKf,GACba,MAAM,iBACNrB,EAAkBhL,MAAQ,GAC1BkL,EAAkBS,UAAW,EAC7BT,EAAkBU,YAAc,QAAQ,cAAAH,EAAA1E,EAAA,MAAAoE,EAAA,kBAGpD,CAGAxG,EAAavB,cAAc,oBAAoBpC,iBAAiB,SAAS,SAAS4D,GAC9EA,EAAEC,iBACF,IAAI2H,EAAe7H,EAAavB,cAAc,mBAC1CqJ,EAAkB9H,EAAavB,cAAc,uBAEjD,GAAKoJ,EAAaxH,SAASC,MAEpB,GAAKwH,EAAgBzH,SAASC,MAE9B,CACH,IAAMyH,EAAUF,EAAaxM,MACzB2M,EAAaF,EAAgBzM,MAEhB,IAAd2M,IACCA,EAAa,IAGjB,IAAI5K,EAAU,GAEVA,EADAH,EACU,KAAHvB,OAAQuB,EAAY,MAAAvB,OAAKqM,EAAO,KAE7B,KAAHrM,OAAQsM,EAAU,MAAAtM,OAAKqM,EAAO,KAEzCxM,EAAOiC,WAAWJ,GAElByK,EAAaxM,MAAQ,GACrByM,EAAgBzM,MAAQ,GACxB2E,EAAaQ,OACjB,MApBIsH,EAAgBrH,sBAFhBoH,EAAapH,gBAuBrB,GACJ,CACJ,IA9IJS,GAAAgD,GAAAjE,EAAAyB,UAAAR,GAAAD,GAAAiD,GAAAjE,EAAAgB,GAAAzG,OAAA4I,eAAAnD,EAAA,aAAAuD,UAAA,IAAAvD,EAAA,IAAAA,EAAAiB,EAAAD,CA8IK,CA5IU,CAAS3F,GA+IxB,Y,s/CC7HA,SAnBc,SAAAmB,GACV,SAAAwL,EAAY1M,GAAQ,IAAAO,EAMb,O,4FANajB,CAAA,KAAAoN,IAChBnM,EAAAa,GAAA,KAAAsL,EAAA,CAAM1M,EAAQ,UACTI,OAASG,EAAKF,aAAa,gUAI7BE,CACP,CAAC,O,sRAAAc,CAAAqL,EAAAxL,G,EAAAwL,G,EAAA,EAAA7M,IAAA,cAAAC,MAED,WAEI,IAAM6M,EAAkBxN,KAAKa,OAAO2M,gBAChCA,GACAA,EAAgBC,MAExB,M,2FAAC,CAhBS,CAAS7M,G,s/CCmBvB,SAnBc,SAAAmB,GACV,SAAA2L,EAAY7M,GAAQ,IAAAO,EAMb,O,4FANajB,CAAA,KAAAuN,IAChBtM,EAAAa,GAAA,KAAAyL,EAAA,CAAM7M,EAAQ,UACTI,OAASG,EAAKF,aAAa,kUAI7BE,CACP,CAAC,O,sRAAAc,CAAAwL,EAAA3L,G,EAAA2L,G,EAAA,EAAAhN,IAAA,cAAAC,MAED,WAEI,IAAM6M,EAAkBxN,KAAKa,OAAO2M,gBAChCA,GACAA,EAAgBG,MAExB,M,2FAAC,CAhBS,CAAS/M,G,s/CCiBvB,SAjBgB,SAAAmB,GACZ,SAAA6L,EAAY/M,GAAQ,IAAAO,EAIb,O,4FAJajB,CAAA,KAAAyN,IAChBxM,EAAAa,GAAA,KAAA2L,EAAA,CAAM/M,EAAQ,YACTI,OAASG,EAAKF,aAAa,6SAE7BE,CACP,CAAC,O,sRAAAc,CAAA0L,EAAA7L,G,EAAA6L,G,EAAA,EAAAlN,IAAA,cAAAC,MAED,WACI,IAAMkN,EAAgB7N,KAAKa,OAAOgN,cAC9BA,GACAA,EAAcC,QAEtB,M,2FAAC,CAbW,CAASlN,G,s/CCiBzB,SAjBiB,SAAAmB,GACb,SAAAgM,EAAYlN,GAAQ,IAAAO,EAIb,O,4FAJajB,CAAA,KAAA4N,IAChB3M,EAAAa,GAAA,KAAA8L,EAAA,CAAMlN,EAAQ,aACTI,OAASG,EAAKF,aAAa,6SAE7BE,CACP,CAAC,O,sRAAAc,CAAA6L,EAAAhM,G,EAAAgM,G,EAAA,EAAArN,IAAA,cAAAC,MAED,SAAY4E,GACR,IAAMsI,EAAgB7N,KAAKa,OAAOgN,cAC9BA,GACAA,EAAcG,SAEtB,M,2FAAC,CAbY,CAASpN,G,+sBC+E1B,SAjEa,WAOR,O,EAND,SAAAqN,EAAYpN,EAAQqN,I,4FAAS/N,CAAA,KAAA8N,GACzBjO,KAAKa,OAASA,EACdb,KAAKkO,QAAUA,EACflO,KAAKmO,QAAU9N,SAASC,cAAc,OACtCN,KAAKmO,QAAQ5N,UAAY,8HACzBP,KAAKoO,MACT,G,EAAC,EAAA1N,IAAA,OAAAC,MAED,WAAO,IAAAS,EAAA,KACGiN,EAAc,CAChBC,QAAStI,GACTuI,GAAItL,EACJuL,GAAItL,EACJuL,UAAWpK,GACXqK,KAAM1M,EACN2M,OAAQ5L,EACR6L,cAAe5L,EACf6L,WAAYvK,GACZuB,KAAMb,GACN8J,MAAOpE,GACP+C,KAAMF,GACNI,KAAMD,GACNI,OAAQF,GACRI,QAASD,IAgCb,GAlBA/N,KAAKkO,QAAQhK,SAAQ,SAAA6K,GACjB,IAAIC,EAAWrE,EAEf,GAAoB,iBAAToE,EACPC,EAAYX,EAAYU,QACrB,GAAoB,WAAhBrF,GAAOqF,GAAmB,CACjC,IAAME,EAAWnP,OAAOoP,KAAKH,GAAM,GACnCpE,EAASoE,EAAKE,GACdD,EAAYX,EAAYY,EAC5B,CAEA,GAAID,EAAW,CACX,IAAMG,EAAe,IAAIH,EAAU5N,EAAKP,OAAQ8J,GAChDvJ,EAAK+M,QAAQ1N,YAAY0O,EAAalO,OAC1C,CACJ,IAGIjB,KAAKkO,QAAQkB,SAAS,WAAY,CAClC,IAAMC,EAAsB,IAAIlM,GAAYnD,KAAKa,QACjDb,KAAKmO,QAAQ1N,YAAY4O,EAAoBpO,OACjD,CAEAjB,KAAKa,OAAOyO,gBAAgBC,aAAavP,KAAKmO,QAASnO,KAAKa,OAAO4C,kBACvE,M,2FAAC,CA9DQ,E,wuBChBQ+L,EAAa,WAa7B,O,EAZD,SAAAA,EAAYrN,EAAUsN,I,4FAAgBtP,CAAA,KAAAqP,GAClCxP,KAAKmC,SAAWA,EAChBnC,KAAKyP,eAAiBA,EACtBzP,KAAK0P,MAAQ,CACT,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KAET1P,KAAKoO,MACT,E,EAAC,EAAA1N,IAAA,OAAAC,MAED,WAAO,IAAAS,EAAA,KACHpB,KAAKmC,SAASR,iBAAiB,WAAW,SAAC4D,GACvC,OAAQA,EAAE7E,KACN,IAAK,MACD6E,EAAEC,iBACFD,EAAEoK,SAAWvO,EAAK4M,UAAY5M,EAAK0M,SACnC1M,EAAKwO,iBACL,MACJ,IAAK,QACDxO,EAAKyO,WAAWtK,GAChB,MACJ,IAAK,YACDnE,EAAK0O,gBAAgBvK,GACrB,MACJ,QACQnE,EAAKsO,MAAMnK,EAAE7E,MAAMU,EAAK2O,YAAYxK,GAEpD,GACJ,GAAC,CAAA7E,IAAA,cAAAC,MAED,SAAY4E,GACR,IAAQpD,EAAanC,KAAbmC,SACAE,EAAwCF,EAAxCE,eAAgBC,EAAwBH,EAAxBG,aAAc3B,EAAUwB,EAAVxB,MAChCqP,EAAOzK,EAAE7E,IAIf,GAAI2B,IAAmBC,GAAgB3B,EAAM0B,KAAoB2N,GACvClQ,OAAOmQ,OAAOjQ,KAAK0P,OAAON,SAASY,GAD7D,CAGQzK,EAAEC,iBACF,IAAM0K,EAAS7N,EAAiB,EAChCF,EAASgO,kBAAkBD,EAAQA,EAG3C,KARA,CAUA,IAAME,EAAOJ,EACPlK,EAAQ9F,KAAK0P,MAAMU,GACzB,GAAKtK,EAGL,GAAIzD,IAAmBC,EAAc,CACjCiD,EAAEC,iBACF,IAAMjD,EAAe5B,EAAM6B,UAAUH,EAAgBC,GAC/C+N,EAAW1P,EAAM6B,UAAU,EAAGH,GAAkB+N,EAAO7N,EAAeuD,EAAQnF,EAAM6B,UAAUF,GAEpGH,EAASxB,MAAQ0P,EACjBlO,EAASgO,kBAAkB9N,EAAiB,EAAGC,EAAe,GAC9DtC,KAAK4P,gBACT,KAGK,CACDrK,EAAEC,iBACF,IAAM8K,EAAS3P,EAAM6B,UAAU,EAAGH,GAC5BkO,EAAQ5P,EAAM6B,UAAUF,GAE9BH,EAASxB,MAAQ2P,EAASF,EAAOtK,EAAQyK,EACzCpO,EAASgO,kBAAkB9N,EAAiB,EAAGA,EAAiB,GAChErC,KAAK4P,gBACT,CA1BA,CA2BJ,GAEA,CAAAlP,IAAA,kBAAAC,MACA,SAAgB4E,GACZ,IAAQpD,EAAanC,KAAbmC,SACAE,EAAwCF,EAAxCE,eAAgBC,EAAwBH,EAAxBG,aAAc3B,EAAUwB,EAAVxB,MAEtC,GAAI0B,IAAmBC,GAAgBD,EAAiB,EAAG,CACvD,IAAMmO,EAAa7P,EAAM0B,EAAiB,GACpCoO,EAAY9P,EAAM0B,GAGxB,GAAIrC,KAAK0P,MAAMc,KAAgBC,EAAW,CACtClL,EAAEC,iBACF,IAAM8K,EAAS3P,EAAM6B,UAAU,EAAGH,EAAiB,GAC7CkO,EAAQ5P,EAAM6B,UAAUH,EAAiB,GAE/CF,EAASxB,MAAQ2P,EAASC,EAC1BpO,EAASgO,kBAAkB9N,EAAiB,EAAGA,EAAiB,GAChErC,KAAK4P,gBACT,CACJ,CACJ,GAAC,CAAAlP,IAAA,aAAAC,MAED,SAAW4E,GACP,IAAQpD,EAAanC,KAAbmC,SACAE,EAA0BF,EAA1BE,eAAgB1B,EAAUwB,EAAVxB,MAElB+P,EAAc/P,EAAMgQ,YAAY,KAAMtO,EAAiB,GAEvDyL,GADcnN,EAAM6B,UAAUkO,EAAc,EAAGrO,GACzB+C,MAAM,YAAc,CAAC,KAAK,GAGhDoL,EAAa7P,EAAM0B,EAAiB,GACpCoO,EAAY9P,EAAM0B,GAExB,GAAmB,MAAfmO,GAAoC,MAAdC,EAAmB,CACzClL,EAAEC,iBACF,IACMoL,EAAY,KAAO9C,EAAP,OAA6BA,EAE/C3L,EAASxB,MAAQA,EAAM6B,UAAU,EAAGH,GAAkBuO,EAAYjQ,EAAM6B,UAAUH,GAGlF,IAAM6N,EAAS7N,EAAiByL,EAAOzH,OAASwK,EAAa,EAG7D,OAFA1O,EAASgO,kBAAkBD,EAAQA,QACnClQ,KAAK4P,gBAET,CAEA,GAAI9B,EAAOzH,OAAS,EAAG,CACnBd,EAAEC,iBACF,IAAMoL,EAAY,KAAO9C,EACzB3L,EAASxB,MAAQA,EAAM6B,UAAU,EAAGH,GAAkBuO,EAAYjQ,EAAM6B,UAAUL,EAASG,cAC3F,IAAM4N,EAAS7N,EAAiBuO,EAAUvK,OAC1ClE,EAASgO,kBAAkBD,EAAQA,GACnClQ,KAAK4P,gBACT,CACJ,GAAC,CAAAlP,IAAA,iBAAAC,MAED,WACuC,mBAAxBX,KAAKyP,gBAA+BzP,KAAKyP,iBACpDzP,KAAKmC,SAAS2O,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,IAC9D,GAEA,CAAAtQ,IAAA,SAAAC,MACA,WACI,IAAQwB,EAAanC,KAAbmC,SACAE,EAAwCF,EAAxCE,eAAgBC,EAAwBH,EAAxBG,aAAc3B,EAAUwB,EAAVxB,MAEhCsQ,EAAWtQ,EAAMgQ,YAAY,KAAMtO,EAAiB,GAAK,EAC3D6O,EAASvQ,EAAMwQ,QAAQ,KAAM7O,IACjB,IAAZ4O,IAAeA,EAASvQ,EAAM0F,QAElC,IACM+K,EADazQ,EAAM6B,UAAUyO,EAAUC,GACpBG,MAAM,MACzBC,EAAeF,EAAMjG,KAAI,SAAAoG,GAAI,MAAI,KAAOA,CAAI,IAAEnG,KAAK,MAEzDpL,KAAKwR,aACD7Q,EAAM6B,UAAU,EAAGyO,GAAYK,EAAe3Q,EAAM6B,UAAU0O,GAC9D7O,EAAiB,EACjBC,EAAe8O,EAAM/K,QAIzBrG,KAAK4P,gBACT,GAAC,CAAAlP,IAAA,UAAAC,MAED,WACI,IAAQwB,EAAanC,KAAbmC,SACAE,EAAwCF,EAAxCE,eAAgBC,EAAwBH,EAAxBG,aAAc3B,EAAUwB,EAAVxB,MAGhCsQ,EAAWtQ,EAAMgQ,YAAY,KAAMtO,EAAiB,GAAK,EAC3D6O,EAASvQ,EAAMwQ,QAAQ,KAAM7O,IACjB,IAAZ4O,IAAeA,EAASvQ,EAAM0F,QAElC,IACM+K,EADazQ,EAAM6B,UAAUyO,EAAUC,GACpBG,MAAM,MAE3BI,EAAmB,EACnBC,EAAe,EAGbC,EAAiBP,EAAMjG,KAAI,SAACoG,EAAMK,GACpC,OAAIL,EAAK5O,WAAW,OACF,IAAViP,IAAaH,EAAmB,GACpCC,IACOH,EAAK/O,UAAU,IACf+O,EAAK5O,WAAW,SACT,IAAViP,IAAaH,EAAmB,GACpCC,GAAgB,EACTH,EAAK/O,UAAU,IAEnB+O,CACX,IAAGnG,KAAK,MAGRpL,KAAKwR,aACD7Q,EAAM6B,UAAU,EAAGyO,GAAYU,EAAiBhR,EAAM6B,UAAU0O,GAChEW,KAAKC,IAAIb,EAAU5O,EAAiBoP,GACpCI,KAAKC,IAAIb,EAAU3O,EAAeoP,IAItC1R,KAAK4P,gBACT,GAAC,CAAAlP,IAAA,eAAAC,MAED,SAAa0P,EAAU0B,EAAUC,GAC7BhS,KAAKmC,SAASxB,MAAQ0P,EACtBrQ,KAAKmC,SAASgO,kBAAkB4B,EAAUC,EAC9C,I,4FAAC,CAhN6B,E,8BCAnB,MAAMC,EACjB,IAAAC,CAAKC,EAAQC,EAEblE,EAAU,CAAC,GACP,IAAImE,EACmB,mBAAZnE,GACPmE,EAAWnE,EACXA,EAAU,CAAC,GAEN,aAAcA,IACnBmE,EAAWnE,EAAQmE,UAGvB,MAAMC,EAAYtS,KAAKuS,UAAUJ,EAAQjE,GACnCsE,EAAYxS,KAAKuS,UAAUH,EAAQlE,GACnCuE,EAAYzS,KAAK0S,YAAY1S,KAAK2S,SAASL,EAAWpE,IACtD0E,EAAY5S,KAAK0S,YAAY1S,KAAK2S,SAASH,EAAWtE,IAC5D,OAAOlO,KAAK6S,mBAAmBJ,EAAWG,EAAW1E,EAASmE,EAClE,CACA,kBAAAQ,CAAmBJ,EAAWG,EAAW1E,EAASmE,GAC9C,IAAIS,EACJ,MAAM9K,EAAQrH,IACVA,EAAQX,KAAK+S,YAAYpS,EAAOuN,GAC5BmE,OACAW,YAAW,WAAcX,EAAS1R,EAAQ,GAAG,GAItCA,GAGTsS,EAASL,EAAUvM,OAAQ6M,EAAST,EAAUpM,OACpD,IAAI8M,EAAa,EACbC,EAAgBH,EAASC,EACA,MAAzBhF,EAAQkF,gBACRA,EAAgBvB,KAAKwB,IAAID,EAAelF,EAAQkF,gBAEpD,MAAME,EAA8C,QAA1BR,EAAK5E,EAAQqF,eAA4B,IAAPT,EAAgBA,EAAKU,IAC3EC,EAAsBC,KAAKC,MAAQL,EACnCM,EAAW,CAAC,CAAEC,QAAS,EAAGC,mBAAelJ,IAE/C,IAAIsF,EAASlQ,KAAK+T,cAAcH,EAAS,GAAIhB,EAAWH,EAAW,EAAGvE,GACtE,GAAI0F,EAAS,GAAGC,OAAS,GAAKX,GAAUhD,EAAS,GAAK+C,EAElD,OAAOjL,EAAKhI,KAAKgU,YAAYJ,EAAS,GAAGE,cAAelB,EAAWH,IAmBvE,IAAIwB,GAAyBT,IAAUU,EAAwBV,IAE/D,MAAMW,EAAiB,KACnB,IAAK,IAAIC,EAAevC,KAAKC,IAAImC,GAAwBd,GAAaiB,GAAgBvC,KAAKwB,IAAIa,EAAuBf,GAAaiB,GAAgB,EAAG,CAClJ,IAAIC,EACJ,MAAMC,EAAaV,EAASQ,EAAe,GAAIG,EAAUX,EAASQ,EAAe,GAC7EE,IAGAV,EAASQ,EAAe,QAAKxJ,GAEjC,IAAI4J,GAAS,EACb,GAAID,EAAS,CAET,MAAME,EAAgBF,EAAQV,OAASO,EACvCI,EAASD,GAAW,GAAKE,GAAiBA,EAAgBxB,CAC9D,CACA,MAAMyB,EAAYJ,GAAcA,EAAWT,OAAS,EAAIX,EACxD,GAAKsB,GAAWE,EAAhB,CAgBA,GANIL,GADCK,GAAcF,GAAUF,EAAWT,OAASU,EAAQV,OAC1C7T,KAAK2U,UAAUJ,GAAS,GAAM,EAAO,EAAGrG,GAGxClO,KAAK2U,UAAUL,GAAY,GAAO,EAAM,EAAGpG,GAE1DgC,EAASlQ,KAAK+T,cAAcM,EAAUzB,EAAWH,EAAW2B,EAAclG,GACtEmG,EAASR,OAAS,GAAKX,GAAUhD,EAAS,GAAK+C,EAE/C,OAAOjL,EAAKhI,KAAKgU,YAAYK,EAASP,cAAelB,EAAWH,MAAe,EAG/EmB,EAASQ,GAAgBC,EACrBA,EAASR,OAAS,GAAKX,IACvBgB,EAAwBrC,KAAKwB,IAAIa,EAAuBE,EAAe,IAEvElE,EAAS,GAAK+C,IACdgB,EAAwBpC,KAAKC,IAAImC,EAAuBG,EAAe,GArB/E,MAFIR,EAASQ,QAAgBxJ,CA0BjC,CACAuI,GAAY,EAMhB,GAAId,GACC,SAASuC,IACN5B,YAAW,WACP,GAAIG,EAAaC,GAAiBM,KAAKC,MAAQF,EAC3C,OAAOpB,OAASzH,GAEfuJ,KACDS,GAER,GAAG,EACP,CATA,QAYA,KAAOzB,GAAcC,GAAiBM,KAAKC,OAASF,GAAqB,CACrE,MAAMoB,EAAMV,IACZ,GAAIU,EACA,OAAOA,CAEf,CAER,CACA,SAAAF,CAAU5H,EAAM+H,EAAOC,EAASC,EAAW9G,GACvC,MAAM+G,EAAOlI,EAAK+G,cAClB,OAAImB,IAAS/G,EAAQgH,mBAAqBD,EAAKH,QAAUA,GAASG,EAAKF,UAAYA,EACxE,CACHlB,OAAQ9G,EAAK8G,OAASmB,EACtBlB,cAAe,CAAEqB,MAAOF,EAAKE,MAAQ,EAAGL,MAAOA,EAAOC,QAASA,EAASK,kBAAmBH,EAAKG,oBAI7F,CACHvB,OAAQ9G,EAAK8G,OAASmB,EACtBlB,cAAe,CAAEqB,MAAO,EAAGL,MAAOA,EAAOC,QAASA,EAASK,kBAAmBH,GAG1F,CACA,aAAAlB,CAAcM,EAAUzB,EAAWH,EAAW2B,EAAclG,GACxD,MAAM+E,EAASL,EAAUvM,OAAQ6M,EAAST,EAAUpM,OACpD,IAAIwN,EAASQ,EAASR,OAAQ3D,EAAS2D,EAASO,EAAciB,EAAc,EAC5E,KAAOnF,EAAS,EAAI+C,GAAUY,EAAS,EAAIX,GAAUlT,KAAKsV,OAAO7C,EAAUoB,EAAS,GAAIjB,EAAU1C,EAAS,GAAIhC,IAC3GgC,IACA2D,IACAwB,IACInH,EAAQgH,oBACRb,EAASP,cAAgB,CAAEqB,MAAO,EAAGC,kBAAmBf,EAASP,cAAegB,OAAO,EAAOC,SAAS,IAO/G,OAJIM,IAAgBnH,EAAQgH,oBACxBb,EAASP,cAAgB,CAAEqB,MAAOE,EAAaD,kBAAmBf,EAASP,cAAegB,OAAO,EAAOC,SAAS,IAErHV,EAASR,OAASA,EACX3D,CACX,CACA,MAAAoF,CAAOC,EAAMC,EAAOtH,GAChB,OAAIA,EAAQuH,WACDvH,EAAQuH,WAAWF,EAAMC,GAGzBD,IAASC,KACNtH,EAAQwH,YAAcH,EAAK/T,gBAAkBgU,EAAMhU,aAErE,CACA,WAAAkR,CAAYiD,GACR,MAAMd,EAAM,GACZ,IAAK,IAAI/N,EAAI,EAAGA,EAAI6O,EAAMtP,OAAQS,IAC1B6O,EAAM7O,IACN+N,EAAIe,KAAKD,EAAM7O,IAGvB,OAAO+N,CACX,CAEA,SAAAtC,CAAU5R,EAAOuN,GACb,OAAOvN,CACX,CAEA,QAAAgS,CAAShS,EAAOuN,GACZ,OAAO2H,MAAMC,KAAKnV,EACtB,CACA,IAAAyK,CAAK2K,GAKD,OAAOA,EAAM3K,KAAK,GACtB,CACA,WAAA2H,CAAYiD,EAEZ9H,GACI,OAAO8H,CACX,CACA,mBAAIC,GACA,OAAO,CACX,CACA,WAAAjC,CAAYF,EAAelB,EAAWH,GAGlC,MAAMyD,EAAa,GACnB,IAAIC,EACJ,KAAOrC,GACHoC,EAAWN,KAAK9B,GAChBqC,EAAgBrC,EAAcsB,yBACvBtB,EAAcsB,kBACrBtB,EAAgBqC,EAEpBD,EAAWE,UACX,MAAMC,EAAeH,EAAW7P,OAChC,IAAIiQ,EAAe,EAAGpG,EAAS,EAAG2D,EAAS,EAC3C,KAAOyC,EAAeD,EAAcC,IAAgB,CAChD,MAAMC,EAAYL,EAAWI,GAC7B,GAAKC,EAAUxB,QAmBXwB,EAAU5V,MAAQX,KAAKoL,KAAKqH,EAAU5P,MAAMgR,EAAQA,EAAS0C,EAAUpB,QACvEtB,GAAU0C,EAAUpB,UApBA,CACpB,IAAKoB,EAAUzB,OAAS9U,KAAKiW,gBAAiB,CAC1C,IAAItV,EAAQiS,EAAU/P,MAAMqN,EAAQA,EAASqG,EAAUpB,OACvDxU,EAAQA,EAAMwK,KAAI,SAAUxK,EAAOmG,GAC/B,MAAM0P,EAAW/D,EAAUoB,EAAS/M,GACpC,OAAO0P,EAASnQ,OAAS1F,EAAM0F,OAASmQ,EAAW7V,CACvD,IACA4V,EAAU5V,MAAQX,KAAKoL,KAAKzK,EAChC,MAEI4V,EAAU5V,MAAQX,KAAKoL,KAAKwH,EAAU/P,MAAMqN,EAAQA,EAASqG,EAAUpB,QAE3EjF,GAAUqG,EAAUpB,MAEfoB,EAAUzB,QACXjB,GAAU0C,EAAUpB,MAE5B,CAKJ,CACA,OAAOe,CACX,ECxPG,MAAMO,EAAgB,IAF7B,cAA4BxE,I,k4CCDK,IAEZyE,EAAe,WAoB/B,O,EAnBD,SAAAA,EAAY7V,I,4FAAQV,CAAA,KAAAuW,GAChB1W,KAAKa,OAASA,EACdb,KAAKmC,SAAWtB,EAAOuB,aACvBpC,KAAK2W,UAAY,GACjB3W,KAAK4W,UAAY,GAGjB5W,KAAK6W,UAAY7W,KAAKmC,SAASxB,MAC/BX,KAAK8W,cAAgB,CACjBzU,eAAgBrC,KAAKmC,SAASE,eAC9BC,aAActC,KAAKmC,SAASG,cAIhCtC,KAAK+W,cAAgB,IACrB/W,KAAKgX,aAAe,IACpBhX,KAAKiX,eAAiB,KAEtBjX,KAAKkX,aACT,E,EAAC,EAAAxW,IAAA,cAAAC,MAED,WAAc,IAAAS,EAAA,KACVpB,KAAKmC,SAASR,iBAAiB,WAAW,SAAC4D,GAAC,OAAKnE,EAAK+V,WAAW5R,EAAE,IAGnEvF,KAAKmC,SAASR,iBAAiB,UAAU,kBAAMP,EAAKgW,sBAAsB,IAC1EpX,KAAKmC,SAASR,iBAAiB,aAAa,WAExCqR,YAAW,kBAAM5R,EAAKgW,sBAAsB,GAAE,EAClD,IAEApX,KAAKmC,SAASR,iBAAiB,eAAe,SAAC4D,GACvB,gBAAhBA,EAAE8R,WACF9R,EAAEC,iBACFpE,EAAKqM,QACkB,gBAAhBlI,EAAE8R,YACT9R,EAAEC,iBACFpE,EAAKuM,OAEb,IAEA3N,KAAKmC,SAASR,iBAAiB,SAAS,SAAC4D,GAAC,OAAKnE,EAAKkW,SAAS/R,EAAE,IAC/DvF,KAAKmC,SAASR,iBAAiB,SAAS,kBAAMP,EAAKmW,YAAY,IAC/DvX,KAAKmC,SAASR,iBAAiB,QAAQ,kBAAMP,EAAKmW,YAAY,GAClE,GAAC,CAAA7W,IAAA,uBAAAC,MAED,WAGIX,KAAK8W,cAAgB,CACjBzU,eAAgBrC,KAAKmC,SAASE,eAC9BC,aAActC,KAAKmC,SAASG,aAEpC,GAAC,CAAA5B,IAAA,aAAAC,MAED,SAAW4E,GACP,IAAMiS,EAAWjS,EAAEkS,SAAWlS,EAAEmS,QAC1BC,EAA8B,MAAxBpS,EAAE7E,IAAIc,cACZoW,EAA8B,MAAxBrS,EAAE7E,IAAIc,cACZqW,EAAUtS,EAAEoK,SAGZmI,EAAe9X,KAAKmC,SAASE,iBAAmBrC,KAAKmC,SAASG,aAC9DyV,EAA0B,cAAVxS,EAAE7E,KAAiC,WAAV6E,EAAE7E,KAA8B,UAAV6E,EAAE7E,IAEnEoX,IAAkC,IAAjBvS,EAAE7E,IAAI2F,QAAgB0R,IACvC/X,KAAKuX,cAILC,GAAYO,IACZ/X,KAAKuX,aAILC,GAAYG,IAAQE,GACpBtS,EAAEC,iBACFxF,KAAKyN,QAIA+J,IAAeK,GAAWF,IAAUpS,EAAEkS,SAAWG,KACtDrS,EAAEC,iBACFxF,KAAK2N,OAEb,GAAC,CAAAjN,IAAA,WAAAC,MAED,SAAS4E,GAAG,IAAAyS,EAAA,KACRC,aAAajY,KAAKiX,gBAClB,IACMiB,EADQlY,KAAKmC,SAASxB,MACLX,KAAKmC,SAASE,eAAiB,GAElD6V,GAAY,yBAAyBhT,KAAKgT,GAC1ClY,KAAKuX,aAELvX,KAAKiX,eAAiBjE,YAAW,kBAAMgF,EAAKT,YAAY,GAAEvX,KAAK+W,cAEvE,GAAC,CAAArW,IAAA,aAAAC,MAED,WACI,IAAM0P,EAAWrQ,KAAKmC,SAASxB,OAAS,GAGxC,GAAI0P,IAAarQ,KAAK6W,UAAtB,CAGAoB,aAAajY,KAAKiX,gBAElB,ID3GkB9E,EAAQC,EAAQlE,EC2G5BgE,GD3GYC,EC2GKnS,KAAK6W,UD3GFzE,EC2Ga/B,ED1GpCoG,EAAcvE,KAAKC,EAAQC,EAAQlE,IC4GtClO,KAAK2W,UAAUf,KAAK,CAChB1D,KAAAA,EACAiG,UAASC,EAAA,GAAOpY,KAAK8W,iBAKrB9W,KAAK2W,UAAUtQ,OAASrG,KAAKgX,cAC7BhX,KAAK2W,UAAU0B,QAGnBrY,KAAK6W,UAAYxG,EACjBrQ,KAAKoX,uBACLpX,KAAK4W,UAAY,EApBsB,CAqB3C,GAAC,CAAAlW,IAAA,OAAAC,MAED,WACI,GAA8B,IAA1BX,KAAK2W,UAAUtQ,OAAnB,CAEA,IAAMiS,EAAWtY,KAAK2W,UAAU4B,MAC1BC,EAAYxY,KAAKyY,YAAYzY,KAAK6W,UAAWyB,EAASpG,MAE5DlS,KAAK4W,UAAUhB,KAAK,CAChB1D,KAAMoG,EAASpG,KACfiG,UAAW,CACP9V,eAAgBrC,KAAKmC,SAASE,eAC9BC,aAActC,KAAKmC,SAASG,gBAIpCtC,KAAK0Y,cAAcF,EAAWF,EAASH,UAbA,CAc3C,GAAC,CAAAzX,IAAA,OAAAC,MAED,WACI,GAA8B,IAA1BX,KAAK4W,UAAUvQ,OAAnB,CAEA,IAAMsS,EAAW3Y,KAAK4W,UAAU2B,MAC1BlI,EAAWrQ,KAAK4Y,WAAW5Y,KAAK6W,UAAW8B,EAASzG,MAE1DlS,KAAK2W,UAAUf,KAAK,CAChB1D,KAAMyG,EAASzG,KACfiG,UAASC,EAAA,GAAOpY,KAAK8W,iBAGzB9W,KAAK0Y,cAAcrI,EAAUsI,EAASR,UAVC,CAW3C,GAAC,CAAAzX,IAAA,aAAAC,MAED,SAAW6V,EAAUtE,GACjB,IAAI7B,EAAW,GAEf,OADA6B,EAAKhO,SAAQ,SAAA2U,GAAeA,EAAK9D,UAAS1E,GAAYwI,EAAKlY,MAAO,IAC3D0P,CACX,GAAC,CAAA3P,IAAA,cAAAC,MAED,SAAYmY,EAAc5G,GACtB,IAAIsE,EAAW,GAEf,OADAtE,EAAKhO,SAAQ,SAAA2U,GAAeA,EAAK/D,QAAO0B,GAAYqC,EAAKlY,MAAO,IACzD6V,CACX,GAAC,CAAA9V,IAAA,gBAAAC,MAED,SAAcA,EAAOwX,GACjBnY,KAAKmC,SAASxB,MAAQA,EACtBX,KAAKmC,SAASgO,kBAAkBgI,EAAU9V,eAAgB8V,EAAU7V,cACpEtC,KAAK6W,UAAYlW,EACjBX,KAAK8W,cAAasB,EAAA,GAAQD,GAEtBnY,KAAKa,OAAOmD,QAAQhE,KAAKa,OAAOmD,SACpChE,KAAKmC,SAAS4W,OAClB,I,4FAAC,CAlL+B,E,GCDhCC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBtO,IAAjBuO,EACH,OAAOA,EAAazZ,QAGrB,IAAIC,EAASqZ,EAAyBE,GAAY,CAGjDxZ,QAAS,CAAC,GAOX,OAHA0Z,EAAoBF,GAAUvZ,EAAQA,EAAOD,QAASuZ,GAG/CtZ,EAAOD,OACf,CCrBAuZ,EAAoBtR,EAAI,CAACjI,EAAS2Z,KACjC,IAAI,IAAI3Y,KAAO2Y,EACXJ,EAAoBrS,EAAEyS,EAAY3Y,KAASuY,EAAoBrS,EAAElH,EAASgB,IAC5EZ,OAAO4I,eAAehJ,EAASgB,EAAK,CAAEkI,YAAY,EAAM0Q,IAAKD,EAAW3Y,IAE1E,ECNDuY,EAAoBrS,EAAI,CAAC2S,EAAKC,IAAU1Z,OAAOkH,UAAUyS,eAAe1R,KAAKwR,EAAKC,G,SCYlF,SAASE,IAAI,MAAM,CAACC,OAAM,EAAGC,QAAO,EAAGC,WAAW,KAAKC,KAAI,EAAGC,MAAM,KAAKC,UAAS,EAAGC,SAAS,KAAKC,QAAO,EAAGC,UAAU,KAAKC,WAAW,KAAK,C,wBAAC,IAAIC,EAA9H,CAACV,OAAM,EAAGC,QAAO,EAAGC,WAAW,KAAKC,KAAI,EAAGC,MAAM,KAAKC,UAAS,EAAGC,SAAS,KAAKC,QAAO,EAAGC,UAAU,KAAKC,WAAW,MAAgB,SAASE,EAAEpT,GAAGmT,EAAEnT,CAAC,CAAC,IAAIqT,EAAE,CAAC3F,KAAK,IAAI,MAAM,SAAS4F,EAAEtT,EAAE3B,EAAE,IAAI,IAAIgB,EAAY,iBAAHW,EAAYA,EAAEA,EAAEuT,OAAO/T,EAAE,CAACnF,QAAQ,CAACiF,EAAEM,KAAK,IAAI4T,EAAY,iBAAH5T,EAAYA,EAAEA,EAAE2T,OAAO,OAAOC,EAAEA,EAAEnZ,QAAQkH,EAAEkS,MAAM,MAAMpU,EAAEA,EAAEhF,QAAQiF,EAAEkU,GAAGhU,GAAGkU,SAAS,IAAI,IAAIC,OAAOtU,EAAEhB,IAAI,OAAOmB,CAAC,CAAC,IAAIoU,EAAG,MAAM,IAAI,QAAQ,IAAID,OAAO,eAAe,CAAC,MAAM,OAAM,CAAE,CAAE,EAA7D,GAAiEpS,EAAE,CAACsS,iBAAiB,yBAAyBC,kBAAkB,cAAcC,uBAAuB,gBAAgBC,eAAe,OAAOC,WAAW,KAAKC,kBAAkB,KAAKC,gBAAgB,KAAKC,aAAa,OAAOC,kBAAkB,MAAMC,cAAc,MAAMC,oBAAoB,OAAOC,UAAU,WAAWC,gBAAgB,oBAAoBC,gBAAgB,WAAWC,wBAAwB,iCAAiCC,yBAAyB,mBAAmBC,gBAAgB,OAAOC,mBAAmB,0BAA0BC,WAAW,iBAAiBC,gBAAgB,eAAeC,iBAAiB,YAAYC,QAAQ,SAASC,aAAa,WAAWC,eAAe,OAAOC,gBAAgB,aAAaC,kBAAkB,YAAYC,gBAAgB,YAAYC,iBAAiB,aAAaC,eAAe,YAAYC,UAAU,QAAQC,QAAQ,UAAUC,kBAAkB,iCAAiCC,gBAAgB,mCAAmCC,kBAAkB,KAAKC,gBAAgB,KAAKC,kBAAkB,gCAAgCC,oBAAoB,gBAAgBC,WAAW,UAAUC,cAAc,WAAWC,mBAAmB,oDAAoDC,sBAAsB,qDAAqDC,aAAa,6CAA6C7C,MAAM,eAAe8C,cAAc,OAAOC,SAAS,MAAMC,UAAU,MAAMC,UAAU,QAAQC,eAAe,WAAWC,UAAU,SAASC,cAAc,OAAOC,cAAc,MAAMC,cAAc/W,GAAG,IAAI2T,OAAO,WAAW3T,kCAAiCgX,gBAAgBhX,GAAG,IAAI2T,OAAO,QAAQhJ,KAAKwB,IAAI,EAAEnM,EAAE,yDAAwDiX,QAAQjX,GAAG,IAAI2T,OAAO,QAAQhJ,KAAKwB,IAAI,EAAEnM,EAAE,wDAAwDkX,iBAAiBlX,GAAG,IAAI2T,OAAO,QAAQhJ,KAAKwB,IAAI,EAAEnM,EAAE,qBAAqBmX,kBAAkBnX,GAAG,IAAI2T,OAAO,QAAQhJ,KAAKwB,IAAI,EAAEnM,EAAE,QAAQoX,eAAepX,GAAG,IAAI2T,OAAO,QAAQhJ,KAAKwB,IAAI,EAAEnM,EAAE,uBAAuB,MAA4MqX,EAAE,qEAA+GC,EAAE,wBAAwBC,EAAG,iKAAiKC,EAAGlE,EAAEiE,GAAIld,QAAQ,QAAQid,GAAGjd,QAAQ,aAAa,qBAAqBA,QAAQ,UAAU,yBAAyBA,QAAQ,cAAc,WAAWA,QAAQ,WAAW,gBAAgBA,QAAQ,QAAQ,qBAAqBA,QAAQ,WAAW,IAAIqZ,WAAW+D,EAAGnE,EAAEiE,GAAIld,QAAQ,QAAQid,GAAGjd,QAAQ,aAAa,qBAAqBA,QAAQ,UAAU,yBAAyBA,QAAQ,cAAc,WAAWA,QAAQ,WAAW,gBAAgBA,QAAQ,QAAQ,qBAAqBA,QAAQ,SAAS,qCAAqCqZ,WAAWgE,EAAE,uFAAoGC,EAAE,mCAAmCC,EAAGtE,EAAE,+GAA+GjZ,QAAQ,QAAQsd,GAAGtd,QAAQ,QAAQ,gEAAgEqZ,WAAWmE,EAAGvE,EAAE,wCAAwCjZ,QAAQ,QAAQid,GAAG5D,WAAWnT,EAAE,gWAAgWuX,EAAE,gCAAgCC,EAAGzE,EAAE,+dAA4d,KAAKjZ,QAAQ,UAAUyd,GAAGzd,QAAQ,MAAMkG,GAAGlG,QAAQ,YAAY,4EAA4EqZ,WAAWsE,EAAG1E,EAAEoE,GAAGrd,QAAQ,KAAKgd,GAAGhd,QAAQ,UAAU,yBAAyBA,QAAQ,YAAY,IAAIA,QAAQ,SAAS,IAAIA,QAAQ,aAAa,WAAWA,QAAQ,SAAS,kDAAkDA,QAAQ,OAAO,0BAA0BA,QAAQ,OAAO,+DAA+DA,QAAQ,MAAMkG,GAAGmT,WAA8FuE,EAAE,CAACtQ,WAAnF2L,EAAE,2CAA2CjZ,QAAQ,YAAY2d,GAAItE,WAA4BwE,KAA52F,wDAAo3FC,IAAIP,EAAGQ,OAAh0F,8GAA00FhR,QAAlpF,uCAA6pFiR,GAAGhB,EAAEiB,KAAKP,EAAGQ,SAASf,EAAGgB,KAAKX,EAAGY,QAA38F,uBAAs9FC,UAAUV,EAAGW,MAAMtF,EAAEuF,KAAt4D,WAA+4DC,EAAGvF,EAAE,+JAA+JjZ,QAAQ,KAAKgd,GAAGhd,QAAQ,UAAU,yBAAyBA,QAAQ,aAAa,WAAWA,QAAQ,OAAO,2BAA0BA,QAAQ,SAAS,kDAAkDA,QAAQ,OAAO,0BAA0BA,QAAQ,OAAO,+DAA+DA,QAAQ,MAAMkG,GAAGmT,WAAWoF,EAAG,IAAIb,EAAEM,SAASd,EAAGkB,MAAME,EAAGH,UAAUpF,EAAEoE,GAAGrd,QAAQ,KAAKgd,GAAGhd,QAAQ,UAAU,yBAAyBA,QAAQ,YAAY,IAAIA,QAAQ,QAAQwe,GAAIxe,QAAQ,aAAa,WAAWA,QAAQ,SAAS,kDAAkDA,QAAQ,OAAO,0BAA0BA,QAAQ,OAAO,+DAA+DA,QAAQ,MAAMkG,GAAGmT,YAAYqF,EAAG,IAAId,EAAEK,KAAKhF,EAAE,8IAA0IjZ,QAAQ,UAAUyd,GAAGzd,QAAQ,OAAO,qKAAqKqZ,WAAWyE,IAAI,oEAAoE/Q,QAAQ,yBAAyBgR,OAAO/E,EAAEkF,SAAS,mCAAmCG,UAAUpF,EAAEoE,GAAGrd,QAAQ,KAAKgd,GAAGhd,QAAQ,UAAU,mBACj3NA,QAAQ,WAAWmd,GAAInd,QAAQ,SAAS,IAAIA,QAAQ,aAAa,WAAWA,QAAQ,UAAU,IAAIA,QAAQ,QAAQ,IAAIA,QAAQ,QAAQ,IAAIA,QAAQ,OAAO,IAAIqZ,YAAsGsF,EAAG,wBAAyGC,EAAE,gBAAgBC,EAAE,kBAAkBC,EAAG,mBAAmBC,EAAG9F,EAAE,wBAAwB,KAAKjZ,QAAQ,cAAc6e,GAAGxF,WAAW2F,EAAG,qBAA2EC,EAAGhG,EAAE,yBAAyB,KAAKjZ,QAAQ,OAAO,qGAAqGA,QAAQ,WAAWuZ,EAAG,WAAW,aAAavZ,QAAQ,OAAO,2BAA2BA,QAAQ,OAAO,kBAAkBqZ,WAAW6F,EAAG,gEAAgEC,EAAGlG,EAAEiG,EAAG,KAAKlf,QAAQ,SAAS4e,GAAGvF,WAAW+F,EAAGnG,EAAEiG,EAAG,KAAKlf,QAAQ,SAASgf,GAAI3F,WAAWgG,EAAG,wQAAwQC,EAAGrG,EAAEoG,EAAG,MAAMrf,QAAQ,iBAAiB8e,GAAI9e,QAAQ,cAAc6e,GAAG7e,QAAQ,SAAS4e,GAAGvF,WAAWkG,EAAGtG,EAAEoG,EAAG,MAAMrf,QAAQ,iBAAp1B,0BAAy2BA,QAAQ,cAA34B,wBAA65BA,QAAQ,SAASgf,GAAI3F,WAAWmG,EAAGvG,EAAE,mNAAmN,MAAMjZ,QAAQ,iBAAiB8e,GAAI9e,QAAQ,cAAc6e,GAAG7e,QAAQ,SAAS4e,GAAGvF,WAAWoG,EAAGxG,EAAE,YAAY,MAAMjZ,QAAQ,SAAS4e,GAAGvF,WAAWqG,EAAGzG,EAAE,uCAAuCjZ,QAAQ,SAAS,gCAAgCA,QAAQ,QAAQ,gJAAgJqZ,WAAWsG,EAAG1G,EAAEwE,GAAGzd,QAAQ,eAAY,UAAOqZ,WAAWuG,EAAG3G,EAAE,4JAA4JjZ,QAAQ,UAAU2f,GAAI3f,QAAQ,YAAY,+EAA+EqZ,WAAWwG,EAAE,wEAAwEC,EAAG7G,EAAE,qEAAqEjZ,QAAQ,QAAQ6f,GAAG7f,QAAQ,OAAO,2CAA2CA,QAAQ,QAAQ,+DAA+DqZ,WAAW0G,EAAG9G,EAAE,2BAA2BjZ,QAAQ,QAAQ6f,GAAG7f,QAAQ,MAAMsd,GAAGjE,WAAW2G,EAAG/G,EAAE,yBAAyBjZ,QAAQ,MAAMsd,GAAGjE,WAAmG4G,EAAG,qCAAqCC,EAAE,CAACC,WAAWnH,EAAEoH,eAAeX,EAAGY,SAASX,EAAGY,UAAUrB,EAAGsB,GAAG5B,EAAGd,KAArzF,sCAA6zF2C,IAAIxH,EAAEyH,eAAetB,EAAGuB,kBAAkBpB,EAAGqB,kBAAkBnB,EAAGoB,OAAh7F,8CAA07Ftc,KAAKwb,EAAGe,OAAOb,EAAGc,YAAY/B,EAAGgC,QAAQhB,EAAGiB,cAA9T/H,EAAE,wBAAwB,KAAKjZ,QAAQ,UAAU+f,GAAI/f,QAAQ,SAASggB,GAAI3G,WAAqQ4H,IAAIrB,EAAGrB,KAAz4F,8EAAi5F2C,IAAIlI,GAAGmI,EAAG,IAAIjB,EAAE5b,KAAK2U,EAAE,2BAA2BjZ,QAAQ,QAAQ6f,GAAGxG,WAAW0H,QAAQ9H,EAAE,iCAAiCjZ,QAAQ,QAAQ6f,GAAGxG,YAAYpT,EAAE,IAAIia,EAAEQ,kBAAkBnB,EAAGkB,eAAerB,EAAG8B,IAAIjI,EAAE,kEAAkEjZ,QAAQ,WAAWigB,GAAIjgB,QAAQ,QAAQ,6EAA6EqZ,WAAW8G,WAAW,6EAA6EK,IAAI,0EAA0EjC,KAAKtF,EAAE,uNAAuNjZ,QAAQ,WAAWigB,GAAI5G,YAAY+H,GAAG,IAAInb,EAAEsa,GAAGtH,EAAE0F,GAAI3e,QAAQ,OAAO,KAAKqZ,WAAWkF,KAAKtF,EAAEhT,EAAEsY,MAAMve,QAAQ,OAAO,iBAAiBA,QAAQ,UAAU,KAAKqZ,YAAYgI,GAAE,CAACC,OAAO1D,EAAErF,IAAIkG,EAAGhG,SAASiG,GAAI6C,GAAE,CAACD,OAAOpB,EAAE3H,IAAItS,EAAEoS,OAAO+I,GAAG3I,SAAS0I,GAAQK,GAAG,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,SAAS,IAAI,SAASC,GAAG9b,GAAG6b,GAAG7b,GAAG,SAASsB,GAAEtB,EAAE3B,GAAG,GAAGA,GAAG,GAAGkD,EAAE2U,WAAWlY,KAAKgC,GAAG,OAAOA,EAAE3F,QAAQkH,EAAE4U,cAAc2F,SAAS,GAAGva,EAAE6U,mBAAmBpY,KAAKgC,GAAG,OAAOA,EAAE3F,QAAQkH,EAAE8U,sBAAsByF,IAAI,OAAO9b,CAAC,CAAC,SAAS+b,GAAE/b,GAAG,IAAIA,EAAEgc,UAAUhc,GAAG3F,QAAQkH,EAAEgV,cAAc,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,OAAOvW,CAAC,CAAC,SAASic,GAAEjc,EAAE3B,GAAG,IAAqGmB,EAA/FQ,EAAE3F,QAAQkH,EAAEiV,UAAS,CAAC5W,EAAE4T,EAAEhT,KAAK,IAAId,GAAE,EAAGiB,EAAE6S,EAAE,OAAO7S,GAAG,GAAU,OAAPH,EAAEG,IAAWjB,GAAGA,EAAE,OAAOA,EAAE,IAAI,QAAWyK,MAAM5I,EAAEkV,WAAWnX,EAAE,EAAE,GAAGE,EAAE,GAAG0c,QAAQ1c,EAAE2R,QAAQ3R,EAAEL,OAAO,IAAIK,EAAE2c,IAAI,IAAID,QAAQ1c,EAAE6R,MAAMhT,EAAE,GAAGmB,EAAEL,OAAOd,EAAEmB,EAAE4c,OAAO/d,QAAQ,KAAKmB,EAAEL,OAAOd,GAAGmB,EAAEkP,KAAK,IAAI,KAAKpP,EAAEE,EAAEL,OAAOG,IAAIE,EAAEF,GAAGE,EAAEF,GAAG4c,OAAO7hB,QAAQkH,EAAEmV,UAAU,KAAK,OAAOlX,CAAC,CAAC,SAAS6c,GAAErc,EAAE3B,EAAEgB,GAAG,IAAIG,EAAEQ,EAAEb,OAAO,GAAO,IAAJK,EAAM,MAAM,GAAG,IAAIF,EAAE,EAAE,KAAKA,EAAEE,GAAG,CAAC,IAAII,EAAEI,EAAEsc,OAAO9c,EAAEF,EAAE,GAAG,GAAGM,IAAIvB,GAAIgB,EAAW,IAAGO,IAAIvB,IAAGgB,EAAW,MAATC,GAAS,MAA9BA,GAAmC,CAAC,OAAOU,EAAErE,MAAM,EAAE6D,EAAEF,EAAE,CAA0L,SAASid,GAAGvc,EAAE3B,EAAEgB,EAAEG,EAAEF,GAAG,IAAIM,EAAEvB,EAAEme,KAAKhJ,EAAEnV,EAAEzE,OAAO,KAAK4G,EAAER,EAAE,GAAG3F,QAAQiF,EAAEmd,MAAM3I,kBAAkB,MAAMtU,EAAEkd,MAAMC,QAAO,EAAG,IAAIjd,EAAE,CAAClF,KAAsB,MAAjBwF,EAAE,GAAGsc,OAAO,GAAS,QAAQ,OAAOM,IAAIvd,EAAEmd,KAAK5c,EAAEhG,MAAM4Z,EAAEoF,KAAKpY,EAAEqc,OAAOrd,EAAEsd,aAAatc,IAAI,OAAOhB,EAAEkd,MAAMC,QAAO,EAAGjd,CAAC,CAEn7K,IAAIW,GAAE,MAAM2G,QAAQ+V,MAAMC,MAAM,WAAA5Z,CAAY/E,GAAGvF,KAAKkO,QAAQ3I,GAAG8U,CAAC,CAAC,KAAA8J,CAAM5e,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAMzE,QAAQ/K,KAAKrP,GAAG,GAAGgB,GAAGA,EAAE,GAAGF,OAAO,EAAE,MAAM,CAAC3E,KAAK,QAAQoiB,IAAIvd,EAAE,GAAG,CAAC,IAAA6Y,CAAK7Z,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAMhF,KAAKxK,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEH,EAAE,GAAGhF,QAAQvB,KAAKikB,MAAMN,MAAM5I,iBAAiB,IAAI,MAAM,CAACrZ,KAAK,OAAOoiB,IAAIvd,EAAE,GAAG8d,eAAe,WAAWvE,KAAK9f,KAAKkO,QAAQ8L,SAAStT,EAAE6c,GAAE7c,EAAE,MACrW,CAAC,CAAC,MAAA4Y,CAAO/Z,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAM9E,OAAO1K,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEH,EAAE,GAAGC,EAHi3K,SAAYU,EAAE3B,EAAEgB,GAAG,IAAIG,EAAEQ,EAAE9B,MAAMmB,EAAEod,MAAM1I,wBAAwB,GAAO,OAAJvU,EAAS,OAAOnB,EAAE,IAAIiB,EAAEE,EAAE,GAAG,OAAOnB,EAAE8L,MAAM,MACpiLlG,KAAIrE,IAAI,IAAI4T,EAAE5T,EAAE1B,MAAMmB,EAAEod,MAAMzI,gBAAgB,GAAO,OAAJR,EAAS,OAAO5T,EAAE,IAAIY,GAAGgT,EAAE,OAAOhT,EAAErB,QAAQG,EAAEH,OAAOS,EAAEjE,MAAM2D,EAAEH,QAAQS,KAAIsE,KAAK,KAClI,CACsEkZ,CAAG5d,EAAEH,EAAE,IAAI,GAAGvG,KAAKikB,OAAO,MAAM,CAACviB,KAAK,OAAOoiB,IAAIpd,EAAE6d,KAAKhe,EAAE,GAAGA,EAAE,GAAG6c,OAAO7hB,QAAQvB,KAAKikB,MAAMO,OAAO7C,eAAe,MAAMpb,EAAE,GAAGuZ,KAAKtZ,EAAE,CAAC,CAAC,OAAA8H,CAAQ/I,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAM9V,QAAQsG,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEH,EAAE,GAAG6c,OAAO,GAAGpjB,KAAKikB,MAAMN,MAAMxI,WAAWjW,KAAKwB,GAAG,CAAC,IAAIF,EAAE+c,GAAE7c,EAAE,MAAM1G,KAAKkO,QAAQ8L,WAAWxT,GAAGxG,KAAKikB,MAAMN,MAAMtI,gBAAgBnW,KAAKsB,MAAME,EAAEF,EAAE4c,OAAO,CAAC,MAAM,CAAC1hB,KAAK,UAAUoiB,IAAIvd,EAAE,GAAGke,MAAMle,EAAE,GAAGF,OAAOyZ,KAAKpZ,EAAEqd,OAAO/jB,KAAKkkB,MAAMM,OAAO9d,GAAG,CAAC,CAAC,EAAA6Y,CAAGha,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAM7E,GAAG3K,KAAKrP,GAAG,GAAGgB,EAAE,MAAM,CAAC7E,KAAK,KAAKoiB,IAAIP,GAAEhd,EAAE,GAAG,MAC/jB,CAAC,UAAAsI,CAAWtJ,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAMvV,WAAW+F,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAE6c,GAAEhd,EAAE,GAAG,MAC5E8K,MAAM,MACN7K,EAAE,GAAGM,EAAE,GAAG4T,EAAE,GAAG,KAAKhU,EAAEL,OAAO,GAAG,CAAC,IAAcwB,EAAVH,GAAE,EAAGd,EAAE,GAAK,IAAIiB,EAAE,EAAEA,EAAEnB,EAAEL,OAAOwB,IAAI,GAAG7H,KAAKikB,MAAMN,MAAM/H,gBAAgB1W,KAAKwB,EAAEmB,IAAIjB,EAAEgP,KAAKlP,EAAEmB,IAAIH,GAAE,MAAQ,IAAIA,EAAoB,MAAlBd,EAAEgP,KAAKlP,EAAEmB,GAAc,CAACnB,EAAEA,EAAE7D,MAAMgF,GAAG,IAAIP,EAAEV,EAAEwE,KAAK,MACtMrE,EAAEO,EAAE/F,QAAQvB,KAAKikB,MAAMN,MAAM9H,wBAAwB,YAC/Cta,QAAQvB,KAAKikB,MAAMN,MAAM7H,yBAAyB,IAAItV,EAAEA,EAAE,GAAGA,MACpEc,IAAIA,EAAER,EAAEA,EAAE,GAAGA,MACbC,IAAIA,EAAE,IAAI2d,EAAE1kB,KAAKkkB,MAAMN,MAAMe,IAAI,GAAG3kB,KAAKkkB,MAAMN,MAAMe,KAAI,EAAG3kB,KAAKkkB,MAAMU,YAAY7d,EAAE2T,GAAE,GAAI1a,KAAKkkB,MAAMN,MAAMe,IAAID,EAAa,IAAXhe,EAAEL,OAAW,MAAM,IAAIwe,EAAEnK,EAAE2I,IAAI,GAAG,GAAa,SAAVwB,GAAGnjB,KAAc,MAAM,GAAa,eAAVmjB,GAAGnjB,KAAoB,CAAC,IAAIojB,EAAED,EAAExd,EAAEyd,EAAEhB,IAAI,KACzNpd,EAAE0E,KAAK,MACN2Z,EAAE/kB,KAAK6O,WAAWxH,GAAGqT,EAAEA,EAAErU,OAAO,GAAG0e,EAAEve,EAAEA,EAAEhE,UAAU,EAAEgE,EAAEH,OAAOye,EAAEhB,IAAIzd,QAAQ0e,EAAEjB,IAAIhd,EAAEA,EAAEtE,UAAU,EAAEsE,EAAET,OAAOye,EAAEhF,KAAKzZ,QAAQ0e,EAAEjF,KAAK,KAAK,CAAM,GAAa,SAAV+E,GAAGnjB,UAAN,CAAqB,IAAIojB,EAAED,EAAExd,EAAEyd,EAAEhB,IAAI,KAClLpd,EAAE0E,KAAK,MACN2Z,EAAE/kB,KAAK0f,KAAKrY,GAAGqT,EAAEA,EAAErU,OAAO,GAAG0e,EAAEve,EAAEA,EAAEhE,UAAU,EAAEgE,EAAEH,OAAOwe,EAAEf,IAAIzd,QAAQ0e,EAAEjB,IAAIhd,EAAEA,EAAEtE,UAAU,EAAEsE,EAAET,OAAOye,EAAEhB,IAAIzd,QAAQ0e,EAAEjB,IAAIpd,EAAEW,EAAE7E,UAAUkY,EAAE2I,IAAI,GAAGS,IAAIzd,QAAQgL,MAAM,KAC1J,CAAC,CAAC,MAAM,CAAC3P,KAAK,aAAaoiB,IAAItd,EAAEud,OAAOrJ,EAAEoF,KAAKhZ,EAAE,CAAC,CAAC,IAAA4Y,CAAKna,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAM1E,KAAK9K,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEH,EAAE,GAAG6c,OAAO5c,EAAEE,EAAEL,OAAO,EAAES,EAAE,CAACpF,KAAK,OAAOoiB,IAAI,GAAGkB,QAAQxe,EAAEye,MAAMze,GAAGE,EAAE7D,MAAM,GAAG,GAAG,GAAGqiB,OAAM,EAAGC,MAAM,IAAIze,EAAEF,EAAE,aAAaE,EAAE7D,OAAO,KAAK,KAAK6D,IAAI1G,KAAKkO,QAAQ8L,WAAWtT,EAAEF,EAAEE,EAAE,SAAS,IAAIgU,EAAE1a,KAAKikB,MAAMN,MAAM1F,cAAcvX,GAAGgB,GAAE,EAAG,KAAKnC,GAAG,CAAC,IAAIsC,GAAE,EAAGP,EAAE,GAAGP,EAAE,GAAG,KAAKR,EAAEmU,EAAE9F,KAAKrP,KAAKvF,KAAKikB,MAAMG,MAAM7E,GAAGra,KAAKK,GAAG,MAAM+B,EAAEf,EAAE,GAAGhB,EAAEA,EAAE/C,UAAU8E,EAAEjB,QAAQ,IAAIqe,EAAEne,EAAE,GAAG8K,MAAM,KACvd,GAAG,GAAG9P,QAAQvB,KAAKikB,MAAMN,MAAM5H,iBAAgBgJ,GAAG,IAAIze,OAAO,EAAEye,EAAE1e,UAASwe,EAAEtf,EAAE8L,MAAM,KACpF,GAAG,GAAGyT,GAAGJ,EAAEtB,OAAO/b,EAAE,EAAE,GAAGrH,KAAKkO,QAAQ8L,UAAU3S,EAAE,EAAEN,EAAE2d,EAAEU,aAAaN,EAAEzd,EAAEd,EAAE,GAAGF,OAAO,GAAGgB,EAAEd,EAAE,GAAG8e,OAAOrlB,KAAKikB,MAAMN,MAAMrI,cAAcjU,EAAEA,EAAE,EAAE,EAAEA,EAAEN,EAAE2d,EAAE7hB,MAAMwE,GAAGA,GAAGd,EAAE,GAAGF,QAAQye,GAAG9kB,KAAKikB,MAAMN,MAAMjI,UAAUxW,KAAK2f,KAAKvd,GAAGud,EAAE,KACzNtf,EAAEA,EAAE/C,UAAUqiB,EAAExe,OAAO,GAAGwB,GAAE,IAAKA,EAAE,CAAC,IAAIkd,EAAE/kB,KAAKikB,MAAMN,MAAMzF,gBAAgB7W,GAAGie,EAAEtlB,KAAKikB,MAAMN,MAAMxF,QAAQ9W,GAAGke,EAAEvlB,KAAKikB,MAAMN,MAAMvF,iBAAiB/W,GAAGme,EAAGxlB,KAAKikB,MAAMN,MAAMtF,kBAAkBhX,GAAGoe,EAAGzlB,KAAKikB,MAAMN,MAAMrF,eAAejX,GAAG,KAAK9B,GAAG,CAAC,IACrOmgB,EADyOC,EAAEpgB,EAAE8L,MAAM,KACzP,GAAG,GAAK,GAAGwT,EAAEc,EAAE3lB,KAAKkO,QAAQ8L,UAAU6K,EAAEA,EAAEtjB,QAAQvB,KAAKikB,MAAMN,MAAM3H,mBAAmB,MAAM0J,EAAEb,GAAGa,EAAEb,EAAEtjB,QAAQvB,KAAKikB,MAAMN,MAAMnI,cAAc,QAAQ+J,EAAErgB,KAAK2f,IAAIW,EAAGtgB,KAAK2f,IAAIY,EAAGvgB,KAAK2f,IAAIE,EAAE7f,KAAK2f,IAAIS,EAAEpgB,KAAK2f,GAAG,MAAM,GAAGa,EAAEL,OAAOrlB,KAAKikB,MAAMN,MAAMrI,eAAejU,IAAIwd,EAAEzB,OAAOrc,GAAG,KAC9Q2e,EAAE7iB,MAAMwE,OAAO,CAAC,GAAGyd,GAAGJ,EAAEnjB,QAAQvB,KAAKikB,MAAMN,MAAMnI,cAAc,QAAQ6J,OAAOrlB,KAAKikB,MAAMN,MAAMrI,eAAe,GAAGiK,EAAErgB,KAAKwf,IAAIc,EAAGtgB,KAAKwf,IAAIY,EAAEpgB,KAAKwf,GAAG,MAAM3d,GAAG,KAC3J8d,CAAC,EAAEC,IAAID,EAAEzB,SAAS0B,GAAE,GAAIxd,GAAGqe,EAAE,KAC7BpgB,EAAEA,EAAE/C,UAAUmjB,EAAEtf,OAAO,GAAGqe,EAAEgB,EAAE7iB,MAAMwE,EAAE,CAAC,CAACP,EAAEoe,QAAQxd,EAAEZ,EAAEoe,OAAM,EAAGllB,KAAKikB,MAAMN,MAAMhI,gBAAgBzW,KAAKoC,KAAKI,GAAE,IAAKZ,EAAEqe,MAAMvP,KAAK,CAAClU,KAAK,YAAYoiB,IAAIxc,EAAEse,OAAO5lB,KAAKkO,QAAQ4L,KAAK9Z,KAAKikB,MAAMN,MAAM1H,WAAW/W,KAAK6B,GAAGme,OAAM,EAAGpF,KAAK/Y,EAAEgd,OAAO,KAAKjd,EAAEgd,KAAKxc,CAAC,CAAC,IAAIV,EAAEE,EAAEqe,MAAM9B,IAAI,GAAG,IAAGzc,EAAqD,OAAnDA,EAAEkd,IAAIld,EAAEkd,IAAI+B,UAAUjf,EAAEkZ,KAAKlZ,EAAEkZ,KAAK+F,UAAsB/e,EAAEgd,IAAIhd,EAAEgd,IAAI+B,UAAU,IAAI,IAAIhe,KAAKf,EAAEqe,MAAM,CAAC,GAAGnlB,KAAKkkB,MAAMN,MAAMe,KAAI,EAAG9c,EAAEkc,OAAO/jB,KAAKkkB,MAAMU,YAAY/c,EAAEiY,KAAK,IAAIjY,EAAE+d,KAAK,CAAC,GAAG/d,EAAEiY,KAAKjY,EAAEiY,KAAKve,QAAQvB,KAAKikB,MAAMN,MAAMzH,gBAAgB,IAAwB,SAApBrU,EAAEkc,OAAO,IAAIriB,MAAmC,cAApBmG,EAAEkc,OAAO,IAAIriB,KAAmB,CAACmG,EAAEkc,OAAO,GAAGD,IAAIjc,EAAEkc,OAAO,GAAGD,IAAIviB,QAAQvB,KAAKikB,MAAMN,MAAMzH,gBAAgB,IAAIrU,EAAEkc,OAAO,GAAGjE,KAAKjY,EAAEkc,OAAO,GAAGjE,KAAKve,QAAQvB,KAAKikB,MAAMN,MAAMzH,gBAAgB,IAAI,IAAI,IAAInV,EAAE/G,KAAKkkB,MAAM4B,YAAYzf,OAAO,EAAEU,GAAG,EAAEA,IAAI,GAAG/G,KAAKikB,MAAMN,MAAM1H,WAAW/W,KAAKlF,KAAKkkB,MAAM4B,YAAY/e,GAAGgf,KAAK,CAAC/lB,KAAKkkB,MAAM4B,YAAY/e,GAAGgf,IAAI/lB,KAAKkkB,MAAM4B,YAAY/e,GAAGgf,IAAIxkB,QAAQvB,KAAKikB,MAAMN,MAAMzH,gBAAgB,IAAI,KAAK,CAAC,CAAC,IAAI5U,EAAEtH,KAAKikB,MAAMN,MAAMxH,iBAAiBvH,KAAK/M,EAAEic,KAAK,GAAGxc,EAAE,CAAC,IAAIP,EAAE,CAACrF,KAAK,WAAWoiB,IAAIxc,EAAE,GAAG,IAAI0e,QAAe,QAAP1e,EAAE,IAAYO,EAAEme,QAAQjf,EAAEif,QAAQlf,EAAEoe,MAAMrd,EAAEkc,OAAO,IAAI,CAAC,YAAY,QAAQ3U,SAASvH,EAAEkc,OAAO,GAAGriB,OAAO,WAAWmG,EAAEkc,OAAO,IAAIlc,EAAEkc,OAAO,GAAGA,QAAQlc,EAAEkc,OAAO,GAAGD,IAAI/c,EAAE+c,IAAIjc,EAAEkc,OAAO,GAAGD,IAAIjc,EAAEkc,OAAO,GAAGjE,KAAK/Y,EAAE+c,IAAIjc,EAAEkc,OAAO,GAAGjE,KAAKjY,EAAEkc,OAAO,GAAGA,OAAOkC,QAAQlf,IAAIc,EAAEkc,OAAOkC,QAAQ,CAACvkB,KAAK,YAAYoiB,IAAI/c,EAAE+c,IAAIhE,KAAK/Y,EAAE+c,IAAIC,OAAO,CAAChd,KAAKc,EAAEkc,OAAOkC,QAAQlf,EAAE,CAAC,CAAC,IAAID,EAAEoe,MAAM,CAAC,IAAI5d,EAAEO,EAAEkc,OAAOmC,QAAOxB,GAAY,UAATA,EAAEhjB,OAAgBqF,EAAEO,EAAEjB,OAAO,GAAGiB,EAAE6e,MAAKzB,GAAG1kB,KAAKikB,MAAMN,MAAMvH,QAAQlX,KAAKwf,EAAEZ,OAAMhd,EAAEoe,MAAMne,CAAC,CAAC,CAAC,GAAGD,EAAEoe,MAAM,IAAI,IAAIrd,KAAKf,EAAEqe,MAAM,CAACtd,EAAEqd,OAAM,EAAG,IAAI,IAAI5d,KAAKO,EAAEkc,OAAgB,SAATzc,EAAE5F,OAAgB4F,EAAE5F,KAAK,YAAY,CAAC,OAAOoF,CAAC,CAAC,CAAC,IAAA0Y,CAAKja,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAM5E,KAAK5K,KAAKrP,GAAG,GAAGgB,EAAE,MAAM,CAAC7E,KAAK,OAAO0iB,OAAM,EAAGN,IAAIvd,EAAE,GAAG6f,IAAW,QAAP7f,EAAE,IAAmB,WAAPA,EAAE,IAAsB,UAAPA,EAAE,GAAauZ,KAAKvZ,EAAE,GAAG,CAAC,GAAA8Y,CAAI9Z,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAM/E,IAAIzK,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEH,EAAE,GAAG/E,cAAcD,QAAQvB,KAAKikB,MAAMN,MAAMlI,oBAAoB,KAAKjV,EAAED,EAAE,GAAGA,EAAE,GAAGhF,QAAQvB,KAAKikB,MAAMN,MAAMtH,aAAa,MAAM9a,QAAQvB,KAAKikB,MAAMO,OAAO7C,eAAe,MAAM,GAAG7a,EAAEP,EAAE,GAAGA,EAAE,GAAG/D,UAAU,EAAE+D,EAAE,GAAGF,OAAO,GAAG9E,QAAQvB,KAAKikB,MAAMO,OAAO7C,eAAe,MAAMpb,EAAE,GAAG,MAAM,CAAC7E,KAAK,MAAM8gB,IAAI9b,EAAEod,IAAIvd,EAAE,GAAGmd,KAAKld,EAAE1F,MAAMgG,EAAE,CAAC,CAAC,KAAA+Y,CAAMta,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAMvE,MAAMjL,KAAKrP,GAAG,IAAIgB,IAAIvG,KAAKikB,MAAMN,MAAMrH,eAAepX,KAAKqB,EAAE,IAAI,OAAO,IAAIG,EAAEyc,GAAE5c,EAAE,IAAIC,EAAED,EAAE,GAAGhF,QAAQvB,KAAKikB,MAAMN,MAAMpH,gBAAgB,IAAIlL,MAAM,KAAKvK,EAAEP,EAAE,IAAI6c,OAAO7c,EAAE,GAAGhF,QAAQvB,KAAKikB,MAAMN,MAAMnH,kBAAkB,IAAInL,MAAM,MAC13E,GAAGqJ,EAAE,CAAChZ,KAAK,QAAQoiB,IAAIvd,EAAE,GAAG8f,OAAO,GAAGC,MAAM,GAAGC,KAAK,IAAI,GAAG7f,EAAEL,SAASG,EAAEH,OAAO,CAAC,IAAI,IAAIqB,KAAKlB,EAAExG,KAAKikB,MAAMN,MAAMlH,gBAAgBvX,KAAKwC,GAAGgT,EAAE4L,MAAM1Q,KAAK,SAAS5V,KAAKikB,MAAMN,MAAMjH,iBAAiBxX,KAAKwC,GAAGgT,EAAE4L,MAAM1Q,KAAK,UAAU5V,KAAKikB,MAAMN,MAAMhH,eAAezX,KAAKwC,GAAGgT,EAAE4L,MAAM1Q,KAAK,QAAQ8E,EAAE4L,MAAM1Q,KAAK,MAAM,IAAI,IAAIlO,EAAE,EAAEA,EAAEhB,EAAEL,OAAOqB,IAAIgT,EAAE2L,OAAOzQ,KAAK,CAACkK,KAAKpZ,EAAEgB,GAAGqc,OAAO/jB,KAAKkkB,MAAMM,OAAO9d,EAAEgB,IAAI2e,QAAO,EAAGC,MAAM5L,EAAE4L,MAAM5e,KAAK,IAAI,IAAIA,KAAKZ,EAAE4T,EAAE6L,KAAK3Q,KAAKuN,GAAEzb,EAAEgT,EAAE2L,OAAOhgB,QAAQ8E,KAAI,CAACvE,EAAEiB,KAAI,CAAEiY,KAAKlZ,EAAEmd,OAAO/jB,KAAKkkB,MAAMM,OAAO5d,GAAGyf,QAAO,EAAGC,MAAM5L,EAAE4L,MAAMze,QAAO,OAAO6S,CAAC,CAAC,CAAC,QAAA+E,CAASla,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAM3E,SAAS7K,KAAKrP,GAAG,GAAGgB,EAAE,MAAM,CAAC7E,KAAK,UAAUoiB,IAAIvd,EAAE,GAAGke,MAAuB,MAAjBle,EAAE,GAAGid,OAAO,GAAS,EAAE,EAAE1D,KAAKvZ,EAAE,GAAGwd,OAAO/jB,KAAKkkB,MAAMM,OAAOje,EAAE,IAAI,CAAC,SAAAqZ,CAAUra,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAMxE,UAAUhL,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAA+B,OAA7BH,EAAE,GAAGid,OAAOjd,EAAE,GAAGF,OAAO,GACpyBE,EAAE,GAAG1D,MAAM,GAAG,GAAG0D,EAAE,GAAG,MAAM,CAAC7E,KAAK,YAAYoiB,IAAIvd,EAAE,GAAGuZ,KAAKpZ,EAAEqd,OAAO/jB,KAAKkkB,MAAMM,OAAO9d,GAAG,CAAC,CAAC,IAAAoZ,CAAKva,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMG,MAAMtE,KAAKlL,KAAKrP,GAAG,GAAGgB,EAAE,MAAM,CAAC7E,KAAK,OAAOoiB,IAAIvd,EAAE,GAAGuZ,KAAKvZ,EAAE,GAAGwd,OAAO/jB,KAAKkkB,MAAMM,OAAOje,EAAE,IAAI,CAAC,MAAA4b,CAAO5c,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAOrC,OAAOvN,KAAKrP,GAAG,GAAGgB,EAAE,MAAM,CAAC7E,KAAK,SAASoiB,IAAIvd,EAAE,GAAGuZ,KAAKvZ,EAAE,GAAG,CAAC,GAAAic,CAAIjd,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAOhC,IAAI5N,KAAKrP,GAAG,GAAGgB,EAAE,OAAOvG,KAAKkkB,MAAMN,MAAMC,QAAQ7jB,KAAKikB,MAAMN,MAAM/G,UAAU1X,KAAKqB,EAAE,IAAIvG,KAAKkkB,MAAMN,MAAMC,QAAO,EAAG7jB,KAAKkkB,MAAMN,MAAMC,QAAQ7jB,KAAKikB,MAAMN,MAAM9G,QAAQ3X,KAAKqB,EAAE,MAAMvG,KAAKkkB,MAAMN,MAAMC,QAAO,IAAK7jB,KAAKkkB,MAAMN,MAAM4C,YAAYxmB,KAAKikB,MAAMN,MAAM7G,kBAAkB5X,KAAKqB,EAAE,IAAIvG,KAAKkkB,MAAMN,MAAM4C,YAAW,EAAGxmB,KAAKkkB,MAAMN,MAAM4C,YAAYxmB,KAAKikB,MAAMN,MAAM5G,gBAAgB7X,KAAKqB,EAAE,MAAMvG,KAAKkkB,MAAMN,MAAM4C,YAAW,GAAI,CAAC9kB,KAAK,OAAOoiB,IAAIvd,EAAE,GAAGsd,OAAO7jB,KAAKkkB,MAAMN,MAAMC,OAAO2C,WAAWxmB,KAAKkkB,MAAMN,MAAM4C,WAAWpC,OAAM,EAAGtE,KAAKvZ,EAAE,GAAG,CAAC,IAAAV,CAAKN,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAO3e,KAAK+O,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEH,EAAE,GAAG6c,OAAO,IAAIpjB,KAAKkO,QAAQ8L,UAAUha,KAAKikB,MAAMN,MAAM3G,kBAAkB9X,KAAKwB,GAAG,CAAC,IAAI1G,KAAKikB,MAAMN,MAAM1G,gBAAgB/X,KAAKwB,GAAG,OAAO,IAAIgU,EAAE6I,GAAE7c,EAAE7D,MAAM,GAAG,GAAG,MAAM,IAAI6D,EAAEL,OAAOqU,EAAErU,QAAQ,GAAI,EAAE,MAAM,KAAK,CAAC,IAAIqU,EAxBy5H,SAAYxT,EAAE3B,GAAG,IAAsB,IAAnB2B,EAAEiK,QAAQ5L,EAAE,IAAS,OAAO,EAAE,IAAIgB,EAAE,EAAE,IAAI,IAAIG,EAAE,EAAEA,EAAEQ,EAAEb,OAAOK,IAAI,GAAU,OAAPQ,EAAER,GAAUA,SAAS,GAAGQ,EAAER,KAAKnB,EAAE,GAAGgB,SAAS,GAAGW,EAAER,KAAKnB,EAAE,KAAKgB,IAAIA,EAAE,GAAG,OAAOG,EAAE,OAAOH,EAAE,GAAG,GAAG,CAAC,CAwB/kIkgB,CAAGlgB,EAAE,GAAG,MAAM,IAAQ,IAALmU,EAAO,OAAO,GAAGA,GAAG,EAAE,CAAC,IAAI9T,GAAuB,IAApBL,EAAE,GAAG4K,QAAQ,KAAS,EAAE,GAAG5K,EAAE,GAAGF,OAAOqU,EAAEnU,EAAE,GAAGA,EAAE,GAAG/D,UAAU,EAAEkY,GAAGnU,EAAE,GAAGA,EAAE,GAAG/D,UAAU,EAAEoE,GAAGwc,OAAO7c,EAAE,GAAG,EAAE,CAAC,CAAC,IAAIC,EAAED,EAAE,GAAGO,EAAE,GAAG,GAAG9G,KAAKkO,QAAQ8L,SAAS,CAAC,IAAIU,EAAE1a,KAAKikB,MAAMN,MAAMzG,kBAAkBtI,KAAKpO,GAAGkU,IAAIlU,EAAEkU,EAAE,GAAG5T,EAAE4T,EAAE,GAAG,MAAM5T,EAAEP,EAAE,GAAGA,EAAE,GAAG1D,MAAM,GAAG,GAAG,GAAG,OAAO2D,EAAEA,EAAE4c,OAAOpjB,KAAKikB,MAAMN,MAAM3G,kBAAkB9X,KAAKsB,KAAsEA,EAAjExG,KAAKkO,QAAQ8L,WAAWha,KAAKikB,MAAMN,MAAM1G,gBAAgB/X,KAAKwB,GAAKF,EAAE3D,MAAM,GAAK2D,EAAE3D,MAAM,GAAG,IAAI4gB,GAAGld,EAAE,CAACmd,KAAKld,GAAGA,EAAEjF,QAAQvB,KAAKikB,MAAMO,OAAO7C,eAAe,MAAM7gB,MAAMgG,GAAGA,EAAEvF,QAAQvB,KAAKikB,MAAMO,OAAO7C,eAAe,OAAOpb,EAAE,GAAGvG,KAAKkkB,MAAMlkB,KAAKikB,MAAM,CAAC,CAAC,OAAA3B,CAAQ/c,EAAEgB,GAAG,IAAIG,EAAE,IAAIA,EAAE1G,KAAKikB,MAAMO,OAAOlC,QAAQ1N,KAAKrP,MAAMmB,EAAE1G,KAAKikB,MAAMO,OAAOpC,OAAOxN,KAAKrP,IAAI,CAAC,IAAqEuB,EAAEP,GAAhEG,EAAE,IAAIA,EAAE,IAAInF,QAAQvB,KAAKikB,MAAMN,MAAMlI,oBAAoB,KAAWja,eAAe,IAAIsF,EAAE,CAAC,IAAI4T,EAAEhU,EAAE,GAAG8c,OAAO,GAAG,MAAM,CAAC9hB,KAAK,OAAOoiB,IAAIpJ,EAAEoF,KAAKpF,EAAE,CAAC,OAAO+I,GAAG/c,EAAEI,EAAEJ,EAAE,GAAG1G,KAAKkkB,MAAMlkB,KAAKikB,MAAM,CAAC,CAAC,QAAAyC,CAASnhB,EAAEgB,EAAEG,EAAE,IAAI,IAAIF,EAAExG,KAAKikB,MAAMO,OAAOxC,eAAepN,KAAKrP,GAAG,MAAIiB,GAAGA,EAAE,IAAIE,EAAEtB,MAAMpF,KAAKikB,MAAMN,MAAMxG,yBAAiC3W,EAAE,KAAIA,EAAE,KAAUE,GAAG1G,KAAKikB,MAAMO,OAAOnC,YAAYzN,KAAKlO,IAAG,CAAC,IAAyBgB,EAAEd,EAAvB8T,EAAE,IAAIlU,EAAE,IAAIH,OAAO,EAAMwB,EAAE6S,EAAEpT,EAAE,EAAEP,EAAY,MAAVP,EAAE,GAAG,GAASxG,KAAKikB,MAAMO,OAAOvC,kBAAkBjiB,KAAKikB,MAAMO,OAAOtC,kBAAkB,IAAInb,EAAE4f,UAAU,EAAEpgB,EAAEA,EAAE1D,OAAO,EAAE0C,EAAEc,OAAOqU,GAAkB,OAAdlU,EAAEO,EAAE6N,KAAKrO,KAAW,CAAC,GAAGmB,EAAElB,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIA,EAAE,IAAIkB,EAAE,SAAS,GAAGd,EAAE,IAAIc,GAAGrB,OAAOG,EAAE,IAAIA,EAAE,GAAG,CAACqB,GAAGjB,EAAE,QAAQ,CAAM,IAAIJ,EAAE,IAAIA,EAAE,KAAKkU,EAAE,MAAMA,EAAE9T,GAAG,GAAG,CAACU,GAAGV,EAAE,QAAQ,CAAC,GAAGiB,GAAGjB,EAAEiB,EAAE,EAAE,SAASjB,EAAEiL,KAAKwB,IAAIzM,EAAEA,EAAEiB,EAAEP,GAAG,IAAIod,EAAE,IAAIle,EAAE,IAAI,GAAGH,OAAOwe,EAAEtf,EAAE1C,MAAM,EAAE6X,EAAElU,EAAEoL,MAAM8S,EAAE9d,GAAG,GAAGiL,KAAKwB,IAAIqH,EAAE9T,GAAG,EAAE,CAAC,IAAIS,EAAEwd,EAAEhiB,MAAM,GAAG,GAAG,MAAM,CAACnB,KAAK,KAAKoiB,IAAIe,EAAE/E,KAAKzY,EAAE0c,OAAO/jB,KAAKkkB,MAAMF,aAAa3c,GAAG,CAAC,IAAIyd,EAAED,EAAEhiB,MAAM,GAAG,GAAG,MAAM,CAACnB,KAAK,SAASoiB,IAAIe,EAAE/E,KAAKgF,EAAEf,OAAO/jB,KAAKkkB,MAAMF,aAAac,GAAG,CAAC,CAAC,CAAC,QAAA8B,CAASrhB,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAOpF,KAAKxK,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEH,EAAE,GAAGhF,QAAQvB,KAAKikB,MAAMN,MAAMpI,kBAAkB,KAAK/U,EAAExG,KAAKikB,MAAMN,MAAMrI,aAAapW,KAAKwB,GAAGI,EAAE9G,KAAKikB,MAAMN,MAAMvI,kBAAkBlW,KAAKwB,IAAI1G,KAAKikB,MAAMN,MAAMtI,gBAAgBnW,KAAKwB,GAAG,OAAOF,GAAGM,IAAIJ,EAAEA,EAAElE,UAAU,EAAEkE,EAAEL,OAAO,IAAI,CAAC3E,KAAK,WAAWoiB,IAAIvd,EAAE,GAAGuZ,KAAKpZ,EAAE,CAAC,CAAC,EAAAob,CAAGvc,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAO1C,GAAGlN,KAAKrP,GAAG,GAAGgB,EAAE,MAAM,CAAC7E,KAAK,KAAKoiB,IAAIvd,EAAE,GAAG,CAAC,GAAAwb,CAAIxc,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAOzC,IAAInN,KAAKrP,GAAG,GAAGgB,EAAE,MAAM,CAAC7E,KAAK,MAAMoiB,IAAIvd,EAAE,GAAGuZ,KAAKvZ,EAAE,GAAGwd,OAAO/jB,KAAKkkB,MAAMF,aAAazd,EAAE,IAAI,CAAC,QAAAqb,CAASrc,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAO5C,SAAShN,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAEF,EAAE,MAAc,MAAPD,EAAE,IAAUG,EAAEH,EAAE,GAAGC,EAAE,UAAUE,IAAIA,EAAEH,EAAE,GAAGC,EAAEE,GAAG,CAAChF,KAAK,OAAOoiB,IAAIvd,EAAE,GAAGuZ,KAAKpZ,EAAEgd,KAAKld,EAAEud,OAAO,CAAC,CAACriB,KAAK,OAAOoiB,IAAIpd,EAAEoZ,KAAKpZ,IAAI,CAAC,CAAC,GAAA+b,CAAIld,GAAG,IAAIgB,EAAE,GAAGA,EAAEvG,KAAKikB,MAAMO,OAAO/B,IAAI7N,KAAKrP,GAAG,CAAC,IAAImB,EAAEF,EAAE,GAAU,MAAPD,EAAE,GAASG,EAAEH,EAAE,GAAGC,EAAE,UAAUE,MAAM,CAAC,IAAII,EAAE,GAAGA,EAAEP,EAAE,GAAGA,EAAE,GAAGvG,KAAKikB,MAAMO,OAAO9C,WAAW9M,KAAKrO,EAAE,MAAM,IAAI,SAASO,IAAIP,EAAE,IAAIG,EAAEH,EAAE,GAAiBC,EAAP,SAAPD,EAAE,GAAc,UAAUA,EAAE,GAAKA,EAAE,EAAE,CAAC,MAAM,CAAC7E,KAAK,OAAOoiB,IAAIvd,EAAE,GAAGuZ,KAAKpZ,EAAEgd,KAAKld,EAAEud,OAAO,CAAC,CAACriB,KAAK,OAAOoiB,IAAIpd,EAAEoZ,KAAKpZ,IAAI,CAAC,CAAC,UAAAmgB,CAAWthB,GAAG,IAAIgB,EAAEvG,KAAKikB,MAAMO,OAAO1E,KAAKlL,KAAKrP,GAAG,GAAGgB,EAAE,CAAC,IAAIG,EAAE1G,KAAKkkB,MAAMN,MAAM4C,WAAW,MAAM,CAAC9kB,KAAK,OAAOoiB,IAAIvd,EAAE,GAAGuZ,KAAKvZ,EAAE,GAAGugB,QAAQpgB,EAAE,CAAC,GAAOqgB,GAAE,MAAM7f,EAAE6c,OAAO7V,QAAQ0V,MAAMkC,YAAY3L,UAAU,WAAA7P,CAAY/E,GAAGvF,KAAK+jB,OAAO,GAAG/jB,KAAK+jB,OAAOiD,MAAMlnB,OAAOqH,OAAO,MAAMnH,KAAKkO,QAAQ3I,GAAG8U,EAAEra,KAAKkO,QAAQiM,UAAUna,KAAKkO,QAAQiM,WAAW,IAAI5S,GAAEvH,KAAKma,UAAUna,KAAKkO,QAAQiM,UAAUna,KAAKma,UAAUjM,QAAQlO,KAAKkO,QAAQlO,KAAKma,UAAU+J,MAAMlkB,KAAKA,KAAK8lB,YAAY,GAAG9lB,KAAK4jB,MAAM,CAACC,QAAO,EAAG2C,YAAW,EAAG7B,KAAI,GAAI,IAAIpe,EAAE,CAACod,MAAMlb,EAAE2b,MAAMxB,GAAEC,OAAO2B,OAAO1B,GAAED,QAAQ7iB,KAAKkO,QAAQ8L,UAAUzT,EAAE6d,MAAMxB,GAAE5I,SAASzT,EAAEie,OAAO1B,GAAE9I,UAAUha,KAAKkO,QAAQ4L,MAAMvT,EAAE6d,MAAMxB,GAAE9I,IAAI9Z,KAAKkO,QAAQ0L,OAAOrT,EAAEie,OAAO1B,GAAElJ,OAAOrT,EAAEie,OAAO1B,GAAEhJ,KAAK9Z,KAAKma,UAAU8J,MAAM1d,CAAC,CAAC,gBAAW0d,GAAQ,MAAM,CAACG,MAAMxB,GAAE4B,OAAO1B,GAAE,CAAC,UAAOmE,CAAI1hB,EAAEgB,GAAG,OAAO,IAAIW,EAAEX,GAAG0gB,IAAI1hB,EAAE,CAAC,gBAAO2hB,CAAU3hB,EAAEgB,GAAG,OAAO,IAAIW,EAAEX,GAAGyd,aAAaze,EAAE,CAAC,GAAA0hB,CAAI1hB,GAAGA,EAAEA,EAAEhE,QAAQkH,EAAEoV,eAAe,MACrqJ7d,KAAK4kB,YAAYrf,EAAEvF,KAAK+jB,QAAQ,IAAI,IAAIxd,EAAE,EAAEA,EAAEvG,KAAK8lB,YAAYzf,OAAOE,IAAI,CAAC,IAAIG,EAAE1G,KAAK8lB,YAAYvf,GAAGvG,KAAKgkB,aAAatd,EAAEqf,IAAIrf,EAAEqd,OAAO,CAAC,OAAO/jB,KAAK8lB,YAAY,GAAG9lB,KAAK+jB,MAAM,CAAC,WAAAa,CAAYrf,EAAEgB,EAAE,GAAGG,GAAE,GAAI,IAAI1G,KAAKkO,QAAQ8L,WAAWzU,EAAEA,EAAEhE,QAAQkH,EAAE+S,cAAc,QAAQja,QAAQkH,EAAEqV,UAAU,KAAKvY,GAAG,CAAC,IAAIiB,EAAE,GAAGxG,KAAKkO,QAAQ2L,YAAYuK,OAAO+B,MAAKzL,MAAIlU,EAAEkU,EAAE3S,KAAK,CAACmc,MAAMlkB,MAAMuF,EAAEgB,MAAKhB,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,IAAG,KAAQ,SAAS,GAAGA,EAAExG,KAAKma,UAAUgK,MAAM5e,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQ,IAAIqU,EAAEnU,EAAE8c,IAAI,GAAkB,IAAf7c,EAAEsd,IAAIzd,aAAgB,IAAJqU,EAAWA,EAAEoJ,KAAK,KACxhBvd,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUiF,KAAK7Z,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQ,IAAIqU,EAAEnU,EAAE8c,IAAI,GAAa,cAAV3I,GAAGhZ,MAA8B,SAAVgZ,GAAGhZ,MAAegZ,EAAEoJ,MAAMpJ,EAAEoJ,IAAIlhB,SAAS,MAC1J,GAAG,MACH4D,EAAEsd,IAAIpJ,EAAEoF,MAAM,KACftZ,EAAEsZ,KAAK9f,KAAK8lB,YAAYzC,IAAI,GAAG0C,IAAIrL,EAAEoF,MAAMvZ,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUmF,OAAO/Z,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAU7L,QAAQ/I,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUoF,GAAGha,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUtL,WAAWtJ,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUuF,KAAKna,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUqF,KAAKja,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUkF,IAAI9Z,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQ,IAAIqU,EAAEnU,EAAE8c,IAAI,GAAa,cAAV3I,GAAGhZ,MAA8B,SAAVgZ,GAAGhZ,MAAegZ,EAAEoJ,MAAMpJ,EAAEoJ,IAAIlhB,SAAS,MACrpB,GAAG,MACH4D,EAAEsd,IAAIpJ,EAAEoF,MAAM,KACftZ,EAAEsd,IAAI9jB,KAAK8lB,YAAYzC,IAAI,GAAG0C,IAAIrL,EAAEoF,MAAM9f,KAAK+jB,OAAOiD,MAAMxgB,EAAEgc,OAAOxiB,KAAK+jB,OAAOiD,MAAMxgB,EAAEgc,KAAK,CAACkB,KAAKld,EAAEkd,KAAK5iB,MAAM0F,EAAE1F,OAAOyF,EAAEqP,KAAKpP,IAAI,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAU0F,MAAMta,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,GAAGA,EAAExG,KAAKma,UAAUsF,SAASla,GAAG,CAACA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQE,EAAEqP,KAAKpP,GAAG,QAAQ,CAAC,IAAIM,EAAEvB,EAAE,GAAGvF,KAAKkO,QAAQ2L,YAAYsN,WAAW,CAAC,IAAuBvgB,EAAnB8T,EAAE,IAAIhT,EAAEnC,EAAE1C,MAAM,GAAK7C,KAAKkO,QAAQ2L,WAAWsN,WAAWjjB,SAAQ2D,IAAIjB,EAAEiB,EAAEE,KAAK,CAACmc,MAAMlkB,MAAM0H,GAAa,iBAAHd,GAAaA,GAAG,IAAI8T,EAAE7I,KAAKwB,IAAIqH,EAAE9T,GAAE,IAAI8T,EAAE,KAAKA,GAAG,IAAI5T,EAAEvB,EAAE/C,UAAU,EAAEkY,EAAE,GAAG,CAAC,GAAG1a,KAAK4jB,MAAMe,MAAMne,EAAExG,KAAKma,UAAUyF,UAAU9Y,IAA/C,CAAoD,IAAI4T,EAAEnU,EAAE8c,IAAI,GAAG3c,GAAa,cAAVgU,GAAGhZ,MAAoBgZ,EAAEoJ,MAAMpJ,EAAEoJ,IAAIlhB,SAAS,MACjoB,GAAG,MACH4D,EAAEsd,IAAIpJ,EAAEoF,MAAM,KACftZ,EAAEsZ,KAAK9f,KAAK8lB,YAAYvN,MAAMvY,KAAK8lB,YAAYzC,IAAI,GAAG0C,IAAIrL,EAAEoF,MAAMvZ,EAAEqP,KAAKpP,GAAGE,EAAEI,EAAET,SAASd,EAAEc,OAAOd,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,OAAgB,MAAC,GAAGG,EAAExG,KAAKma,UAAU2F,KAAKva,GAAzB,CAA6BA,EAAEA,EAAE/C,UAAUgE,EAAEsd,IAAIzd,QAAQ,IAAIqU,EAAEnU,EAAE8c,IAAI,GAAa,SAAV3I,GAAGhZ,MAAegZ,EAAEoJ,MAAMpJ,EAAEoJ,IAAIlhB,SAAS,MACvP,GAAG,MACH4D,EAAEsd,IAAIpJ,EAAEoF,MAAM,KACftZ,EAAEsZ,KAAK9f,KAAK8lB,YAAYvN,MAAMvY,KAAK8lB,YAAYzC,IAAI,GAAG0C,IAAIrL,EAAEoF,MAAMvZ,EAAEqP,KAAKpP,EAAW,MAAC,GAAGjB,EAAE,CAAC,IAAImV,EAAE,0BAA0BnV,EAAE6hB,WAAW,GAAG,GAAGpnB,KAAKkO,QAAQgM,OAAO,CAACjN,QAAQC,MAAMwN,GAAG,KAAK,CAAM,MAAM,IAAI2M,MAAM3M,EAAE,CAAC,CAAC,OAAO1a,KAAK4jB,MAAMe,KAAI,EAAGpe,CAAC,CAAC,MAAAie,CAAOjf,EAAEgB,EAAE,IAAI,OAAOvG,KAAK8lB,YAAYlQ,KAAK,CAACmQ,IAAIxgB,EAAEwe,OAAOxd,IAAIA,CAAC,CAAC,YAAAyd,CAAaze,EAAEgB,EAAE,IAAI,IAAmeO,EAA/dJ,EAAEnB,EAAEiB,EAAE,KAAK,GAAGxG,KAAK+jB,OAAOiD,MAAM,CAAC,IAAIpgB,EAAE9G,OAAOoP,KAAKlP,KAAK+jB,OAAOiD,OAAO,GAAGpgB,EAAEP,OAAO,EAAE,KAA4D,OAAtDG,EAAExG,KAAKma,UAAU8J,MAAMO,OAAOjC,cAAc3N,KAAKlO,KAAWE,EAAEwI,SAAS5I,EAAE,GAAG3D,MAAM2D,EAAE,GAAGmK,YAAY,KAAK,GAAG,MAAMjK,EAAEA,EAAE7D,MAAM,EAAE2D,EAAEoL,OAAO,IAAI,IAAItL,OAAOE,EAAE,GAAGH,OAAO,GAAG,IAAIK,EAAE7D,MAAM7C,KAAKma,UAAU8J,MAAMO,OAAOjC,cAAcoE,WAAW,CAAC,KAA6D,OAAvDngB,EAAExG,KAAKma,UAAU8J,MAAMO,OAAO7C,eAAe/M,KAAKlO,KAAWA,EAAEA,EAAE7D,MAAM,EAAE2D,EAAEoL,OAAO,KAAKlL,EAAE7D,MAAM7C,KAAKma,UAAU8J,MAAMO,OAAO7C,eAAegF,WAAiB,KAAwD,OAAlDngB,EAAExG,KAAKma,UAAU8J,MAAMO,OAAO3C,UAAUjN,KAAKlO,KAAWI,EAAEN,EAAE,GAAGA,EAAE,GAAGH,OAAO,EAAEK,EAAEA,EAAE7D,MAAM,EAAE2D,EAAEoL,MAAM9K,GAAG,IAAI,IAAIR,OAAOE,EAAE,GAAGH,OAAOS,EAAE,GAAG,IAAIJ,EAAE7D,MAAM7C,KAAKma,UAAU8J,MAAMO,OAAO3C,UAAU8E,WAAWjgB,EAAE1G,KAAKkO,QAAQ6L,OAAOuN,cAAcvf,KAAK,CAACmc,MAAMlkB,MAAM0G,IAAIA,EAAE,IAAIgU,GAAE,EAAGhT,EAAE,GAAG,KAAKnC,GAAG,CAAgB,IAAIqB,EAAE,GAArB8T,IAAIhT,EAAE,IAAIgT,GAAE,EAAY1a,KAAKkO,QAAQ2L,YAAY2K,QAAQ2B,MAAK7e,MAAIV,EAAEU,EAAES,KAAK,CAACmc,MAAMlkB,MAAMuF,EAAEgB,MAAKhB,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,IAAG,KAAQ,SAAS,GAAGA,EAAE5G,KAAKma,UAAUgI,OAAO5c,GAAG,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAUqI,IAAIjd,GAAG,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAUtU,KAAKN,GAAG,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAUmI,QAAQ/c,EAAEvF,KAAK+jB,OAAOiD,OAAO,CAACzhB,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQ,IAAIiB,EAAEf,EAAE8c,IAAI,GAAY,SAATzc,EAAElF,MAAyB,SAAV4F,GAAG5F,MAAe4F,EAAEwc,KAAKld,EAAEkd,IAAIxc,EAAEwY,MAAMlZ,EAAEkZ,MAAMvZ,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAUuM,SAASnhB,EAAEmB,EAAEgB,GAAG,CAACnC,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAUyM,SAASrhB,GAAG,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAU2H,GAAGvc,GAAG,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAU4H,IAAIxc,GAAG,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,GAAGA,EAAE5G,KAAKma,UAAUyH,SAASrc,GAAG,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,IAAI5G,KAAK4jB,MAAMC,SAASjd,EAAE5G,KAAKma,UAAUsI,IAAIld,IAAI,CAACA,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAAQE,EAAEqP,KAAKhP,GAAG,QAAQ,CAAC,IAAIiB,EAAEtC,EAAE,GAAGvF,KAAKkO,QAAQ2L,YAAY0N,YAAY,CAAC,IAAuB7C,EAAnBpd,EAAE,IAAIP,EAAExB,EAAE1C,MAAM,GAAK7C,KAAKkO,QAAQ2L,WAAW0N,YAAYrjB,SAAQ2gB,IAAIH,EAAEG,EAAE9c,KAAK,CAACmc,MAAMlkB,MAAM+G,GAAa,iBAAH2d,GAAaA,GAAG,IAAIpd,EAAEuK,KAAKwB,IAAI/L,EAAEod,GAAE,IAAIpd,EAAE,KAAKA,GAAG,IAAIO,EAAEtC,EAAE/C,UAAU,EAAE8E,EAAE,GAAG,CAAC,GAAGV,EAAE5G,KAAKma,UAAU0M,WAAWhf,GAA/B,CAAmCtC,EAAEA,EAAE/C,UAAUoE,EAAEkd,IAAIzd,QAA0B,MAAlBO,EAAEkd,IAAIjhB,OAAO,KAAW6E,EAAEd,EAAEkd,IAAIjhB,OAAO,IAAI6X,GAAE,EAAG,IAAIpT,EAAEf,EAAE8c,IAAI,GAAa,SAAV/b,GAAG5F,MAAe4F,EAAEwc,KAAKld,EAAEkd,IAAIxc,EAAEwY,MAAMlZ,EAAEkZ,MAAMvZ,EAAEqP,KAAKhP,EAAW,MAAC,GAAGrB,EAAE,CAAC,IAAI+B,EAAE,0BAA0B/B,EAAE6hB,WAAW,GAAG,GAAGpnB,KAAKkO,QAAQgM,OAAO,CAACjN,QAAQC,MAAM5F,GAAG,KAAK,CAAM,MAAM,IAAI+f,MAAM/f,EAAE,CAAC,CAAC,OAAOf,CAAC,GAAOihB,GAAE,MAAMtZ,QAAQuZ,OAAO,WAAAnd,CAAY/E,GAAGvF,KAAKkO,QAAQ3I,GAAG8U,CAAC,CAAC,KAAA8J,CAAM5e,GAAG,MAAM,EAAE,CAAC,IAAA6Z,EAAMU,KAAKva,EAAEgf,KAAKhe,EAAEugB,QAAQpgB,IAAI,IAAIF,GAAGD,GAAG,IAAInB,MAAMqD,EAAEsV,iBAAiB,GAAGjX,EAAEvB,EAAEhE,QAAQkH,EAAEuV,cAAc,IAAI,KAC7zF,OAAOxX,EAAE,8BAA8BgC,GAAEhC,GAAG,MAAME,EAAEI,EAAE0B,GAAE1B,GAAE,IAAK,kBAC/D,eAAeJ,EAAEI,EAAE0B,GAAE1B,GAAE,IAAK,iBAC7B,CAAC,UAAA+H,EAAYkV,OAAOxe,IAAI,MAAM,iBAC7BvF,KAAKynB,OAAOC,MAAMniB,mBACnB,CAAC,IAAAia,EAAMM,KAAKva,IAAI,OAAOA,CAAC,CAAC,GAAA8Z,CAAI9Z,GAAG,MAAM,EAAE,CAAC,OAAA+I,EAASyV,OAAOxe,EAAEkf,MAAMle,IAAI,MAAM,KAAKA,KAAKvG,KAAKynB,OAAOE,YAAYpiB,QAAQgB,MACrH,CAAC,EAAAgZ,CAAGha,GAAG,MAAM,QACb,CAAC,IAAAma,CAAKna,GAAG,IAAIgB,EAAEhB,EAAEyf,QAAQte,EAAEnB,EAAE0f,MAAMze,EAAE,GAAG,IAAI,IAAIkB,EAAE,EAAEA,EAAEnC,EAAE4f,MAAM9e,OAAOqB,IAAI,CAAC,IAAId,EAAErB,EAAE4f,MAAMzd,GAAGlB,GAAGxG,KAAK4nB,SAAShhB,EAAE,CAAC,IAAIE,EAAEP,EAAE,KAAK,KAAoC,MAAM,IAAIO,GAAvCP,GAAO,IAAJG,EAAM,WAAWA,EAAE,IAAI,IAAiB,MAC7KF,EAAE,KAAKM,EAAE,KACV,CAAC,QAAA8gB,CAASriB,GAAG,MAAM,OAAOvF,KAAKynB,OAAOC,MAAMniB,EAAEwe,gBAC9C,CAAC,QAAA8D,EAAU7B,QAAQzgB,IAAI,MAAM,WAAWA,EAAE,cAAc,IAAI,+BAA+B,CAAC,SAAAqa,EAAWmE,OAAOxe,IAAI,MAAM,MAAMvF,KAAKynB,OAAOE,YAAYpiB,UACtJ,CAAC,KAAAsa,CAAMta,GAAG,IAAIgB,EAAE,GAAGG,EAAE,GAAG,IAAI,IAAII,EAAE,EAAEA,EAAEvB,EAAE8gB,OAAOhgB,OAAOS,IAAIJ,GAAG1G,KAAK8nB,UAAUviB,EAAE8gB,OAAOvf,IAAIP,GAAGvG,KAAK+nB,SAAS,CAACjI,KAAKpZ,IAAI,IAAIF,EAAE,GAAG,IAAI,IAAIM,EAAE,EAAEA,EAAEvB,EAAEghB,KAAKlgB,OAAOS,IAAI,CAAC,IAAI4T,EAAEnV,EAAEghB,KAAKzf,GAAGJ,EAAE,GAAG,IAAI,IAAIgB,EAAE,EAAEA,EAAEgT,EAAErU,OAAOqB,IAAIhB,GAAG1G,KAAK8nB,UAAUpN,EAAEhT,IAAIlB,GAAGxG,KAAK+nB,SAAS,CAACjI,KAAKpZ,GAAG,CAAC,OAAOF,IAAIA,EAAE,UAAUA,aAAa,qBAEpSD,EAAE,aACFC,EAAE,YACH,CAAC,QAAAuhB,EAAUjI,KAAKva,IAAI,MAAM,SACzBA,UACD,CAAC,SAAAuiB,CAAUviB,GAAG,IAAIgB,EAAEvG,KAAKynB,OAAOE,YAAYpiB,EAAEwe,QAAQrd,EAAEnB,EAAE8gB,OAAO,KAAK,KAAK,OAAO9gB,EAAE+gB,MAAM,IAAI5f,YAAYnB,EAAE+gB,UAAU,IAAI5f,MAAMH,EAAE,KAAKG,MACvI,CAAC,MAAAshB,EAAQjE,OAAOxe,IAAI,MAAM,WAAWvF,KAAKynB,OAAOE,YAAYpiB,aAAa,CAAC,EAAA0iB,EAAIlE,OAAOxe,IAAI,MAAM,OAAOvF,KAAKynB,OAAOE,YAAYpiB,SAAS,CAAC,QAAAqhB,EAAU9G,KAAKva,IAAI,MAAM,SAASiD,GAAEjD,GAAE,WAAY,CAAC,EAAAuc,CAAGvc,GAAG,MAAM,MAAM,CAAC,GAAAwc,EAAKgC,OAAOxe,IAAI,MAAM,QAAQvF,KAAKynB,OAAOE,YAAYpiB,UAAU,CAAC,IAAAM,EAAM6d,KAAKne,EAAEzE,MAAMyF,EAAEwd,OAAOrd,IAAI,IAAIF,EAAExG,KAAKynB,OAAOE,YAAYjhB,GAAGI,EAAEmc,GAAE1d,GAAG,GAAO,OAAJuB,EAAS,OAAON,EAAM,IAAIkU,EAAE,aAAVnV,EAAEuB,GAAsB,IAAI,OAAOP,IAAImU,GAAG,WAAWlS,GAAEjC,GAAG,KAAKmU,GAAG,IAAIlU,EAAE,OAAOkU,CAAC,CAAC,KAAA5L,EAAO4U,KAAKne,EAAEzE,MAAMyF,EAAEuZ,KAAKpZ,EAAEqd,OAAOvd,IAAIA,IAAIE,EAAE1G,KAAKynB,OAAOE,YAAYnhB,EAAExG,KAAKynB,OAAOS,eAAe,IAAIphB,EAAEmc,GAAE1d,GAAG,GAAO,OAAJuB,EAAS,OAAO0B,GAAE9B,GAAO,IAAIgU,EAAE,aAAVnV,EAAEuB,WAAgCJ,KAAK,OAAOH,IAAImU,GAAG,WAAWlS,GAAEjC,OAAOmU,GAAG,IAAIA,CAAC,CAAC,IAAAoF,CAAKva,GAAG,MAAM,WAAWA,GAAGA,EAAEwe,OAAO/jB,KAAKynB,OAAOE,YAAYpiB,EAAEwe,QAAQ,YAAYxe,GAAGA,EAAEuhB,QAAQvhB,EAAEua,KAAKtX,GAAEjD,EAAEua,KAAK,GAAOqI,GAAE,MAAM,MAAAH,EAAQlI,KAAKva,IAAI,OAAOA,CAAC,CAAC,EAAA0iB,EAAInI,KAAKva,IAAI,OAAOA,CAAC,CAAC,QAAAqhB,EAAU9G,KAAKva,IAAI,OAAOA,CAAC,CAAC,GAAAwc,EAAKjC,KAAKva,IAAI,OAAOA,CAAC,CAAC,IAAAia,EAAMM,KAAKva,IAAI,OAAOA,CAAC,CAAC,IAAAua,EAAMA,KAAKva,IAAI,OAAOA,CAAC,CAAC,IAAAM,EAAMia,KAAKva,IAAI,MAAM,GAAGA,CAAC,CAAC,KAAAuJ,EAAOgR,KAAKva,IAAI,MAAM,GAAGA,CAAC,CAAC,EAAAuc,GAAK,MAAM,EAAE,CAAC,QAAA+F,EAAU/D,IAAIve,IAAI,OAAOA,CAAC,GAAO6iB,GAAE,MAAMlhB,EAAEgH,QAAQ+L,SAASiO,aAAa,WAAA5d,CAAY/E,GAAGvF,KAAKkO,QAAQ3I,GAAG8U,EAAEra,KAAKkO,QAAQ+L,SAASja,KAAKkO,QAAQ+L,UAAU,IAAIuN,GAAExnB,KAAKia,SAASja,KAAKkO,QAAQ+L,SAASja,KAAKia,SAAS/L,QAAQlO,KAAKkO,QAAQlO,KAAKia,SAASwN,OAAOznB,KAAKA,KAAKkoB,aAAa,IAAIC,EAAC,CAAC,YAAOT,CAAMniB,EAAEgB,GAAG,OAAO,IAAIW,EAAEX,GAAGmhB,MAAMniB,EAAE,CAAC,kBAAOoiB,CAAYpiB,EAAEgB,GAAG,OAAO,IAAIW,EAAEX,GAAGohB,YAAYpiB,EAAE,CAAC,KAAAmiB,CAAMniB,GAAG,IAAIgB,EAAE,GAAG,IAAI,IAAIG,EAAE,EAAEA,EAAEnB,EAAEc,OAAOK,IAAI,CAAC,IAAIF,EAAEjB,EAAEmB,GAAG,GAAG1G,KAAKkO,QAAQ2L,YAAYwO,YAAY7hB,EAAE9E,MAAM,CAAC,IAAIgZ,EAAElU,EAAEkB,EAAE1H,KAAKkO,QAAQ2L,WAAWwO,UAAU3N,EAAEhZ,MAAMqG,KAAK,CAAC0f,OAAOznB,MAAM0a,GAAG,IAAO,IAAJhT,IAAS,CAAC,QAAQ,KAAK,UAAU,OAAO,QAAQ,aAAa,OAAO,OAAO,MAAM,YAAY,QAAQ0H,SAASsL,EAAEhZ,MAAM,CAAC6E,GAAGmB,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAIZ,EAAEN,EAAE,OAAOM,EAAEpF,MAAM,IAAI,QAAS6E,GAAGvG,KAAKia,SAASkK,MAAMrd,GAAG,MAAM,IAAI,KAAMP,GAAGvG,KAAKia,SAASsF,GAAGzY,GAAG,MAAM,IAAI,UAAWP,GAAGvG,KAAKia,SAAS3L,QAAQxH,GAAG,MAAM,IAAI,OAAQP,GAAGvG,KAAKia,SAASmF,KAAKtY,GAAG,MAAM,IAAI,QAASP,GAAGvG,KAAKia,SAAS4F,MAAM/Y,GAAG,MAAM,IAAI,aAAcP,GAAGvG,KAAKia,SAASpL,WAAW/H,GAAG,MAAM,IAAI,OAAQP,GAAGvG,KAAKia,SAASyF,KAAK5Y,GAAG,MAAM,IAAI,WAAYP,GAAGvG,KAAKia,SAAS4N,SAAS/gB,GAAG,MAAM,IAAI,OAAQP,GAAGvG,KAAKia,SAASuF,KAAK1Y,GAAG,MAAM,IAAI,MAAOP,GAAGvG,KAAKia,SAASoF,IAAIvY,GAAG,MAAM,IAAI,YAAaP,GAAGvG,KAAKia,SAAS2F,UAAU9Y,GAAG,MAAM,IAAI,OAAQP,GAAGvG,KAAKia,SAAS6F,KAAKhZ,GAAG,MAAM,QAAQ,CAAC,IAAI4T,EAAE,eAAe5T,EAAEpF,KAAK,wBAAwB,GAAG1B,KAAKkO,QAAQgM,OAAO,OAAOjN,QAAQC,MAAMwN,GAAG,GAAG,MAAM,IAAI2M,MAAM3M,EAAE,EAAE,CAAC,OAAOnU,CAAC,CAAC,WAAAohB,CAAYpiB,EAAEgB,EAAEvG,KAAKia,UAAU,IAAIvT,EAAE,GAAG,IAAI,IAAIF,EAAE,EAAEA,EAAEjB,EAAEc,OAAOG,IAAI,CAAC,IAAIM,EAAEvB,EAAEiB,GAAG,GAAGxG,KAAKkO,QAAQ2L,YAAYwO,YAAYvhB,EAAEpF,MAAM,CAAC,IAAIgG,EAAE1H,KAAKkO,QAAQ2L,WAAWwO,UAAUvhB,EAAEpF,MAAMqG,KAAK,CAAC0f,OAAOznB,MAAM8G,GAAG,IAAO,IAAJY,IAAS,CAAC,SAAS,OAAO,OAAO,QAAQ,SAAS,KAAK,WAAW,KAAK,MAAM,QAAQ0H,SAAStI,EAAEpF,MAAM,CAACgF,GAAGgB,GAAG,GAAG,QAAQ,CAAC,CAAC,IAAIgT,EAAE5T,EAAE,OAAO4T,EAAEhZ,MAAM,IAAI,SAAgU,IAAI,OAAQgF,GAAGH,EAAEuZ,KAAKpF,GAAG,MAA5T,IAAI,OAAQhU,GAAGH,EAAEiZ,KAAK9E,GAAG,MAAM,IAAI,OAAQhU,GAAGH,EAAEV,KAAK6U,GAAG,MAAM,IAAI,QAAShU,GAAGH,EAAEuI,MAAM4L,GAAG,MAAM,IAAI,WAAYhU,GAAGH,EAAEshB,SAASnN,GAAG,MAAM,IAAI,SAAUhU,GAAGH,EAAEyhB,OAAOtN,GAAG,MAAM,IAAI,KAAMhU,GAAGH,EAAE0hB,GAAGvN,GAAG,MAAM,IAAI,WAAYhU,GAAGH,EAAEqgB,SAASlM,GAAG,MAAM,IAAI,KAAMhU,GAAGH,EAAEub,GAAGpH,GAAG,MAAM,IAAI,MAAOhU,GAAGH,EAAEwb,IAAIrH,GAAG,MAAqC,QAAQ,CAAC,IAAIhT,EAAE,eAAegT,EAAEhZ,KAAK,wBAAwB,GAAG1B,KAAKkO,QAAQgM,OAAO,OAAOjN,QAAQC,MAAMxF,GAAG,GAAG,MAAM,IAAI2f,MAAM3f,EAAE,EAAE,CAAC,OAAOhB,CAAC,GAAO4hB,GAAE,MAAMpa,QAAQkW,MAAM,WAAA9Z,CAAY/E,GAAGvF,KAAKkO,QAAQ3I,GAAG8U,CAAC,CAACkO,wBAAwB,IAAIC,IAAI,CAAC,aAAa,cAAc,mBAAmB,iBAAiBD,oCAAoC,IAAIC,IAAI,CAAC,aAAa,cAAc,qBAAqB,UAAAC,CAAWljB,GAAG,OAAOA,CAAC,CAAC,WAAAmjB,CAAYnjB,GAAG,OAAOA,CAAC,CAAC,gBAAAojB,CAAiBpjB,GAAG,OAAOA,CAAC,CAAC,YAAA+hB,CAAa/hB,GAAG,OAAOA,CAAC,CAAC,YAAAqjB,GAAe,OAAO5oB,KAAKokB,MAAM2C,GAAEE,IAAIF,GAAEG,SAAS,CAAC,aAAA2B,GAAgB,OAAO7oB,KAAKokB,MAAMgE,GAAEV,MAAMU,GAAET,WAAW,GACt7GmB,GAAE,IAD67G,MAAMC,SAzD9nH,CAACpP,OAAM,EAAGC,QAAO,EAAGC,WAAW,KAAKC,KAAI,EAAGC,MAAM,KAAKC,UAAS,EAAGC,SAAS,KAAKC,QAAO,EAAGC,UAAU,KAAKC,WAAW,MAyDuhHlM,QAAQlO,KAAKgpB,WAAWtB,MAAM1nB,KAAKipB,eAAc,GAAItB,YAAY3nB,KAAKipB,eAAc,GAAIC,OAAOd,GAAEe,SAAS3B,GAAE4B,aAAajB,GAAEkB,MAAMtC,GAAEuC,UAAU/hB,GAAEgiB,MAAMjB,GAAE,WAAAhe,IAAe/E,GAAGvF,KAAKwpB,OAAOjkB,EAAE,CAAC,UAAA6U,CAAW7U,EAAEgB,GAAG,IAAIG,EAAE,GAAG,IAAI,IAAIF,KAAKjB,EAAE,OAAOmB,EAAEA,EAAE1F,OAAOuF,EAAEwB,KAAK/H,KAAKwG,IAAIA,EAAE9E,MAAM,IAAI,QAAQ,CAAC,IAAIoF,EAAEN,EAAE,IAAI,IAAIkU,KAAK5T,EAAEuf,OAAO3f,EAAEA,EAAE1F,OAAOhB,KAAKoa,WAAWM,EAAEqJ,OAAOxd,IAAI,IAAI,IAAImU,KAAK5T,EAAEyf,KAAK,IAAI,IAAI7e,KAAKgT,EAAEhU,EAAEA,EAAE1F,OAAOhB,KAAKoa,WAAW1S,EAAEqc,OAAOxd,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,IAAIO,EAAEN,EAAEE,EAAEA,EAAE1F,OAAOhB,KAAKoa,WAAWtT,EAAEqe,MAAM5e,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAIO,EAAEN,EAAExG,KAAK+oB,SAASlP,YAAY4P,cAAc3iB,EAAEpF,MAAM1B,KAAK+oB,SAASlP,WAAW4P,YAAY3iB,EAAEpF,MAAMwC,SAAQwW,IAAI,IAAIhT,EAAEZ,EAAE4T,GAAGgP,KAAK,KAAKhjB,EAAEA,EAAE1F,OAAOhB,KAAKoa,WAAW1S,EAAEnB,GAAE,IAAIO,EAAEid,SAASrd,EAAEA,EAAE1F,OAAOhB,KAAKoa,WAAWtT,EAAEid,OAAOxd,IAAI,EAAE,OAAOG,CAAC,CAAC,GAAA8iB,IAAOjkB,GAAG,IAAIgB,EAAEvG,KAAK+oB,SAASlP,YAAY,CAACwO,UAAU,CAAC,EAAEoB,YAAY,CAAC,GAAG,OAAOlkB,EAAErB,SAAQwC,IAAI,IAAIF,EAAE,IAAIE,GAAG,GAAGF,EAAEmT,MAAM3Z,KAAK+oB,SAASpP,OAAOnT,EAAEmT,QAAO,EAAGjT,EAAEmT,aAAanT,EAAEmT,WAAW3V,SAAQ4C,IAAI,IAAIA,EAAE6iB,KAAK,MAAM,IAAItC,MAAM,2BAA2B,GAAG,aAAavgB,EAAE,CAAC,IAAI4T,EAAEnU,EAAE8hB,UAAUvhB,EAAE6iB,MAAQpjB,EAAE8hB,UAAUvhB,EAAE6iB,MAAhBjP,EAAsB,YAAYhT,GAAG,IAAId,EAAEE,EAAEmT,SAAS5Q,MAAMrJ,KAAK0H,GAAG,OAAW,IAAJd,IAASA,EAAE8T,EAAErR,MAAMrJ,KAAK0H,IAAId,CAAC,EAAsBE,EAAEmT,QAAQ,CAAC,GAAG,cAAcnT,EAAE,CAAC,IAAIA,EAAE8iB,OAAiB,UAAV9iB,EAAE8iB,OAA2B,WAAV9iB,EAAE8iB,MAAiB,MAAM,IAAIvC,MAAM,+CAA+C,IAAI3M,EAAEnU,EAAEO,EAAE8iB,OAAOlP,EAAEA,EAAEuL,QAAQnf,EAAEqT,WAAW5T,EAAEO,EAAE8iB,OAAO,CAAC9iB,EAAEqT,WAAWrT,EAAEme,QAAkB,UAAVne,EAAE8iB,MAAgBrjB,EAAE4gB,WAAW5gB,EAAE4gB,WAAWvR,KAAK9O,EAAEme,OAAO1e,EAAE4gB,WAAW,CAACrgB,EAAEme,OAAiB,WAAVne,EAAE8iB,QAAmBrjB,EAAEghB,YAAYhhB,EAAEghB,YAAY3R,KAAK9O,EAAEme,OAAO1e,EAAEghB,YAAY,CAACzgB,EAAEme,QAAQ,CAAC,gBAAgBne,GAAGA,EAAE2iB,cAAcljB,EAAEkjB,YAAY3iB,EAAE6iB,MAAM7iB,EAAE2iB,YAAW,IAAIjjB,EAAEqT,WAAWtT,GAAGG,EAAEuT,SAAS,CAAC,IAAInT,EAAE9G,KAAK+oB,SAAS9O,UAAU,IAAIuN,GAAExnB,KAAK+oB,UAAU,IAAI,IAAIrO,KAAKhU,EAAEuT,SAAS,CAAC,KAAKS,KAAK5T,GAAG,MAAM,IAAIugB,MAAM,aAAa3M,qBAAqB,GAAG,CAAC,UAAU,UAAUtL,SAASsL,GAAG,SAAS,IAAIhT,EAAEgT,EAAE9T,EAAEF,EAAEuT,SAASvS,GAAGG,EAAEf,EAAEY,GAAGZ,EAAEY,GAAG,IAAIJ,KAAK,IAAIP,EAAEH,EAAEyC,MAAMvC,EAAEQ,GAAG,OAAW,IAAJP,IAASA,EAAEc,EAAEwB,MAAMvC,EAAEQ,IAAIP,GAAG,GAAG,CAACP,EAAEyT,SAASnT,CAAC,CAAC,GAAGJ,EAAEyT,UAAU,CAAC,IAAIrT,EAAE9G,KAAK+oB,SAAS5O,WAAW,IAAI5S,GAAEvH,KAAK+oB,UAAU,IAAI,IAAIrO,KAAKhU,EAAEyT,UAAU,CAAC,KAAKO,KAAK5T,GAAG,MAAM,IAAIugB,MAAM,cAAc3M,qBAAqB,GAAG,CAAC,UAAU,QAAQ,SAAStL,SAASsL,GAAG,SAAS,IAAIhT,EAAEgT,EAAE9T,EAAEF,EAAEyT,UAAUzS,GAAGG,EAAEf,EAAEY,GAAGZ,EAAEY,GAAG,IAAIJ,KAAK,IAAIP,EAAEH,EAAEyC,MAAMvC,EAAEQ,GAAG,OAAW,IAAJP,IAASA,EAAEc,EAAEwB,MAAMvC,EAAEQ,IAAIP,EAAE,CAACP,EAAE2T,UAAUrT,CAAC,CAAC,GAAGJ,EAAEqT,MAAM,CAAC,IAAIjT,EAAE9G,KAAK+oB,SAAShP,OAAO,IAAIuO,GAAE,IAAI,IAAI5N,KAAKhU,EAAEqT,MAAM,CAAC,KAAKW,KAAK5T,GAAG,MAAM,IAAIugB,MAAM,SAAS3M,qBAAqB,GAAG,CAAC,UAAU,SAAStL,SAASsL,GAAG,SAAS,IAAIhT,EAAEgT,EAAE9T,EAAEF,EAAEqT,MAAMrS,GAAGG,EAAEf,EAAEY,GAAG4gB,GAAEuB,iBAAiBC,IAAIpP,GAAG5T,EAAEY,GAAGJ,IAAI,GAAGtH,KAAK+oB,SAASpP,OAAO2O,GAAEyB,6BAA6BD,IAAIpP,GAAG,MAAM,WAAW,IAAIgK,QAAQ9d,EAAEmB,KAAKjB,EAAEQ,GAAG,OAAOO,EAAEE,KAAKjB,EAAE4d,EAAG,EAAtD,GAA0D,IAAI3d,EAAEH,EAAEmB,KAAKjB,EAAEQ,GAAG,OAAOO,EAAEE,KAAKjB,EAAEC,EAAC,EAAGD,EAAEY,GAAG,IAAIJ,KAAK,GAAGtH,KAAK+oB,SAASpP,MAAM,MAAM,WAAW,IAAI+K,QAAQ9d,EAAEyC,MAAMvC,EAAEQ,GAAG,OAAW,IAAJod,IAASA,QAAQ7c,EAAEwB,MAAMvC,EAAEQ,IAAIod,CAAE,EAA5E,GAAgF,IAAI3d,EAAEH,EAAEyC,MAAMvC,EAAEQ,GAAG,OAAW,IAAJP,IAASA,EAAEc,EAAEwB,MAAMvC,EAAEQ,IAAIP,EAAE,CAACP,EAAEuT,MAAMjT,CAAC,CAAC,GAAGJ,EAAE0T,WAAW,CAAC,IAAItT,EAAE9G,KAAK+oB,SAAS3O,WAAWM,EAAEhU,EAAE0T,WAAW5T,EAAE4T,WAAW,SAAS1S,GAAG,IAAId,EAAE,GAAG,OAAOA,EAAEgP,KAAK8E,EAAE3S,KAAK/H,KAAK0H,IAAIZ,IAAIF,EAAEA,EAAE5F,OAAO8F,EAAEiB,KAAK/H,KAAK0H,KAAKd,CAAC,CAAC,CAAC5G,KAAK+oB,SAAS,IAAI/oB,KAAK+oB,YAAYviB,EAAC,IAAIxG,IAAI,CAAC,UAAAgpB,CAAWzjB,GAAG,OAAOvF,KAAK+oB,SAAS,IAAI/oB,KAAK+oB,YAAYxjB,GAAGvF,IAAI,CAAC,KAAAkkB,CAAM3e,EAAEgB,GAAG,OAAOwgB,GAAEE,IAAI1hB,EAAEgB,GAAGvG,KAAK+oB,SAAS,CAAC,MAAAtB,CAAOliB,EAAEgB,GAAG,OAAO6hB,GAAEV,MAAMniB,EAAEgB,GAAGvG,KAAK+oB,SAAS,CAAC,aAAAE,CAAc1jB,GAAG,MAAM,CAACmB,EAAEF,KAAK,IAAIM,EAAE,IAAIN,GAAGkU,EAAE,IAAI1a,KAAK+oB,YAAYjiB,GAAGY,EAAE1H,KAAKgqB,UAAUtP,EAAER,SAASQ,EAAEf,OAAO,IAAyB,IAAtB3Z,KAAK+oB,SAASpP,QAAsB,IAAV7S,EAAE6S,MAAW,OAAOjS,EAAE,IAAI2f,MAAM,uIAAuI,UAAU3gB,EAAE,KAAS,OAAJA,EAAS,OAAOgB,EAAE,IAAI2f,MAAM,mDAAmD,GAAa,iBAAH3gB,EAAY,OAAOgB,EAAE,IAAI2f,MAAM,wCAAwCvnB,OAAOkH,UAAUijB,SAASliB,KAAKrB,GAAG,sBAAsB,GAAGgU,EAAEX,QAAQW,EAAEX,MAAM7L,QAAQwM,EAAEA,EAAEX,MAAMqK,MAAM7e,GAAGmV,EAAEf,MAAM,MAAM,WAAW,IAAI/S,EAAE8T,EAAEX,YAAYW,EAAEX,MAAM0O,WAAW/hB,GAAGA,EAAEY,QAAQoT,EAAEX,YAAYW,EAAEX,MAAM6O,eAAerjB,EAAEwhB,GAAEE,IAAIF,GAAEG,WAAWtgB,EAAE8T,GAAG3T,EAAE2T,EAAEX,YAAYW,EAAEX,MAAM4O,iBAAiBrhB,GAAGA,EAAEoT,EAAEN,kBAAkBpR,QAAQkhB,IAAIlqB,KAAKoa,WAAWrT,EAAE2T,EAAEN,aAAa,IAAIyK,QAAQnK,EAAEX,YAAYW,EAAEX,MAAM8O,gBAAgBtjB,EAAE6iB,GAAEV,MAAMU,GAAET,aAAa5gB,EAAE2T,GAAG,OAAOA,EAAEX,YAAYW,EAAEX,MAAM2O,YAAY7D,GAAGA,CAAE,EAA3W,GAA+WsF,MAAMziB,GAAG,IAAIgT,EAAEX,QAAQrT,EAAEgU,EAAEX,MAAM0O,WAAW/hB,IAAI,IAAImB,GAAG6S,EAAEX,MAAMW,EAAEX,MAAM6O,eAAerjB,EAAEwhB,GAAEE,IAAIF,GAAEG,WAAWxgB,EAAEgU,GAAGA,EAAEX,QAAQlS,EAAE6S,EAAEX,MAAM4O,iBAAiB9gB,IAAI6S,EAAEN,YAAYpa,KAAKoa,WAAWvS,EAAE6S,EAAEN,YAAY,IAAIrT,GAAG2T,EAAEX,MAAMW,EAAEX,MAAM8O,gBAAgBtjB,EAAE6iB,GAAEV,MAAMU,GAAET,aAAa9f,EAAE6S,GAAG,OAAOA,EAAEX,QAAQhT,EAAE2T,EAAEX,MAAM2O,YAAY3hB,IAAIA,CAAC,CAAC,MAAMH,GAAG,OAAOc,EAAEd,EAAE,EAAE,CAAC,OAAAojB,CAAQzkB,EAAEgB,GAAG,OAAOG,IAAI,GAAGA,EAAE0jB,SAAS,8DAC5iQ7kB,EAAE,CAAC,IAAIiB,EAAE,iCAAiCgC,GAAE9B,EAAE0jB,QAAQ,IAAG,GAAI,SAAS,OAAO7jB,EAAEyC,QAAQC,QAAQzC,GAAGA,CAAC,CAAC,GAAGD,EAAE,OAAOyC,QAAQqhB,OAAO3jB,GAAG,MAAMA,EAAE,GAAe,SAASiB,GAAET,EAAE3B,GAAG,OAAOujB,GAAEpB,MAAMxgB,EAAE3B,EAAE,CAACoC,GAAEuG,QAAQvG,GAAEqhB,WAAW,SAAS9hB,GAAG,OAAO4hB,GAAEE,WAAW9hB,GAAGS,GAAEohB,SAASD,GAAEC,SAASzO,EAAE3S,GAAEohB,UAAUphB,EAAC,EAAEA,GAAE2iB,YAAY5Q,EAAE/R,GAAEohB,SAAS1O,EAAE1S,GAAE6hB,IAAI,YAAYtiB,GAAG,OAAO4hB,GAAEU,OAAOtiB,GAAGS,GAAEohB,SAASD,GAAEC,SAASzO,EAAE3S,GAAEohB,UAAUphB,EAAC,EAAEA,GAAEyS,WAAW,SAASlT,EAAE3B,GAAG,OAAOujB,GAAE1O,WAAWlT,EAAE3B,EAAE,EAAEoC,GAAEggB,YAAYmB,GAAEnB,YAAYhgB,GAAEuhB,OAAOd,GAAEzgB,GAAE8f,OAAOW,GAAEV,MAAM/f,GAAEwhB,SAAS3B,GAAE7f,GAAEyhB,aAAajB,GAAExgB,GAAE0hB,MAAMtC,GAAEpf,GAAEuc,MAAM6C,GAAEE,IAAItf,GAAE2hB,UAAU/hB,GAAEI,GAAE4hB,MAAMjB,GAAE3gB,GAAE+f,MAAM/f,GAASA,GAAEuG,QAAWvG,GAAEqhB,WAAcrhB,GAAE6hB,IAAO7hB,GAAEyS,WAAczS,GAAEggB,YAAgB,gBAA/E,I,svBC/D1oB4C,GAAOvB,WAAW,CACdpP,QAAQ,IAqKZ,SAlKoB,WAQf,O,EAPD,SAAA4Q,EAAYC,GAAwB,IAAArpB,EAAA,KAAd8M,EAAO9E,UAAA/C,OAAA,QAAAuE,IAAAxB,UAAA,GAAAA,UAAA,GAAG,CAAC,G,4FAACjJ,CAAA,KAAAqqB,GAC9BxqB,KAAKoC,aAAmC,iBAAbqoB,EAAwBpqB,SAAS0D,cAAc0mB,GAAYA,EACtFzqB,KAAKkO,QAAUA,EACflO,KAAKoD,QAAUpD,KAAKkO,QAAQC,QAAQiB,SAAS,WAC7CpP,KAAKoO,OACLpO,KAAKwN,gBAAkB,IAAIkJ,GAAAA,EAAgB1W,MAC3CA,KAAK6N,cAAgB,IAAI2B,GAAAA,EAAcxP,KAAKoC,cAAc,kBAAMhB,EAAK4C,QAAQ,GACjF,G,EAAC,EAAAtD,IAAA,OAAAC,MAED,WACIX,KAAK0qB,eACD1qB,KAAKkO,QAAQC,SAASnO,KAAK2qB,YACnC,GAAC,CAAAjqB,IAAA,eAAAC,MAED,WACSX,KAAK4qB,oBAEV5qB,KAAK6qB,yBACL7qB,KAAK8qB,oBACL9qB,KAAK+qB,mBACL/qB,KAAKgE,SACT,GAAC,CAAAtD,IAAA,kBAAAC,MAED,WACI,MAAqC,aAA9BX,KAAKoC,aAAa4oB,OAC7B,GAAC,CAAAtqB,IAAA,yBAAAC,MAED,WACIX,KAAKoC,aAAawB,UAAUQ,IACxB,cACA,kBACA,qBACA,cACA,WACA,gBACA,eACA,oBACA,eACA,qBACA,WACA,cACA,mBACA,uBACA,sBAECpE,KAAKoC,aAAa6oB,aAAa,iBAChCjrB,KAAKoC,aAAa8oB,YAAclrB,KAAKkO,QAAQgd,aAAe,yBAEpE,GAAC,CAAAxqB,IAAA,oBAAAC,MAED,WACIX,KAAKsP,gBAAkBjP,SAASC,cAAc,OAC9CN,KAAKsP,gBAAgB/O,UAAY,oMAQjCP,KAAKoC,aAAamB,WAAWgM,aAAavP,KAAKsP,gBAAiBtP,KAAKoC,cAErEpC,KAAKyD,kBAAoBpD,SAASC,cAAc,OAChDN,KAAKyD,kBAAkBlD,UAAY,4BACnCP,KAAKsP,gBAAgB7O,YAAYT,KAAKyD,mBAEtCzD,KAAKmrB,qBACDnrB,KAAKoD,SAASpD,KAAKorB,mBAC3B,GAAC,CAAA1qB,IAAA,qBAAAC,MAED,WACI,IAAM0qB,EAAoBhrB,SAASC,cAAc,OACjD+qB,EAAkB9qB,UAAY,qgBAiB9B8qB,EAAkB5qB,YAAYT,KAAKoC,cACnCpC,KAAKyD,kBAAkBhD,YAAY4qB,EACvC,GAAC,CAAA3qB,IAAA,oBAAAC,MAID,WACI,IAAM2qB,EAAkB,IAAIrrB,GAAAA,EAAQD,KAAKyD,mBACzCzD,KAAKQ,eAAiB8qB,EAAgBC,mBAC1C,GAAC,CAAA7qB,IAAA,mBAAAC,MAED,WAAmB,IAAAqX,EAAA,KACfhY,KAAKoC,aAAaT,iBAAiB,SAAS,kBAAMqW,EAAKhU,QAAQ,IAE/DhE,KAAKoC,aAAaT,iBAAiB,UAAU,WACzC,IAAMQ,EAAW6V,EAAK5V,aAChBopB,EAAcxT,EAAKxX,eAGnBirB,EAAsBtpB,EAASupB,WAAavpB,EAASwpB,aAAexpB,EAASypB,cAGnFJ,EAAYE,UAAYD,GAAuBD,EAAYG,aAAeH,EAAYI,aAC1F,GACJ,GAAC,CAAAlrB,IAAA,aAAAC,MAED,WACI,IAAIsN,GAAAA,EAAQjO,KAAMA,KAAKkO,QAAQC,SAAW,CAAC,OAAQ,SAAU,iBACjE,GAAC,CAAAzN,IAAA,aAAAC,MAED,SAAWmf,GACP,IAAA+L,EAAyC7rB,KAAKoC,aAAtCC,EAAcwpB,EAAdxpB,eAAgBC,EAAYupB,EAAZvpB,aAClB3B,EAAQX,KAAKoC,aAAazB,MAChCX,KAAKoC,aAAazB,MAAQ,GAAHK,OAAML,EAAM6B,UAAU,EAAGH,IAAerB,OAAG8e,GAAI9e,OAAGL,EAAM6B,UAAUF,IACzFtC,KAAKoC,aAAa2W,QAClB/Y,KAAKoC,aAAa+N,kBAAkB9N,EAAgBA,EAAiByd,EAAKzZ,QAG1ErG,KAAK8rB,eAEL9rB,KAAKgE,QACT,GAAC,CAAAtD,IAAA,eAAAC,MAED,WACI,IAAMwB,EAAWnC,KAAKoC,aAGhBC,EAAiBF,EAASE,eAG1B0pB,EAAaC,SAASC,OAAOC,iBAAiB/pB,GAAU4pB,YAGxDI,EAAata,KAAKua,MAAMjqB,EAASypB,aAAeG,GAMhDM,GAHcxa,KAAKua,MAAM/pB,EAAiBF,EAASmqB,MAGlBza,KAAKua,MAAMD,EAAa,IAAMJ,EAGrE5pB,EAASupB,UAAYW,CACzB,GAAC,CAAA3rB,IAAA,SAAAC,MAGD,WACI,IAAM6e,EAAO+K,GAAOvqB,KAAKoC,aAAazB,OAClCX,KAAKoD,UAASpD,KAAKQ,eAAeiB,UAAY+d,EACtD,M,2FAAC,CA/Je,G","sources":["webpack://MarkdownEditor/webpack/universalModuleDefinition","webpack://MarkdownEditor/./src/components/Preview.js","webpack://MarkdownEditor/./src/components/toolbar/MakeTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BoldTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ItalicTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/StrikethroughTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ULTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/OLTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/PreviewTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/CheckListTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/BlockQuoteTool.js","webpack://MarkdownEditor/./src/components/modal.js","webpack://MarkdownEditor/./src/components/toolbar/tools/LinkTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/HeadingTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/ImageTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/UndoTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/RedoTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/IndentTool.js","webpack://MarkdownEditor/./src/components/toolbar/tools/OutdentTool.js","webpack://MarkdownEditor/./src/components/toolbar/Toolbar.js","webpack://MarkdownEditor/./src/utils/IndentManager.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/base.js","webpack://MarkdownEditor/./node_modules/diff/libesm/diff/character.js","webpack://MarkdownEditor/./src/utils/UndoRedoManager.js","webpack://MarkdownEditor/webpack/bootstrap","webpack://MarkdownEditor/webpack/runtime/define property getters","webpack://MarkdownEditor/webpack/runtime/hasOwnProperty shorthand","webpack://MarkdownEditor/./node_modules/marked/lib/marked.esm.js","webpack://MarkdownEditor/./src/components/Editor.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"MarkdownEditor\"] = factory();\n\telse\n\t\troot[\"MarkdownEditor\"] = factory();\n})(Object(typeof self !== \"undefined\" ? self : this), () => {\nreturn ","class Preview {\n constructor(container) {\n this.previewContainer = document.createElement('div');\n this.previewContainer.className = 'preview-wrapper fj:p-2 fj:hidden fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-l';\n this.previewContent = document.createElement('div');\n this.previewContent.className = 'preview-content fj:prose fj:prose-sm fj:md:prose-base fj:dark:prose-invert fj:p-1.5 fj:overflow-y-auto fj:h-[90lvh] fj:max-w-full';\n this.previewContainer.appendChild(this.previewContent);\n container.appendChild(this.previewContainer);\n }\n\n getPreviewContent() {\n return this.previewContent;\n }\n}\n\nexport default Preview;","class MakeTool {\n constructor(editor, title) {\n this.editor = editor;\n this.defaultText = `${title} text`; // Default text if nothing is selected\n this.button = this.createButton();\n this.title = title\n }\n\n // Create a button element (can be overridden in child classes)\n createButton(iconHtml) {\n const btn = document.createElement('button');\n const btnClass = this.title ? `${this.title.replace(/ /g, '-')}-btn`.toLowerCase() : '';\n btn.innerHTML = iconHtml; // Pass icon HTML from child classes\n btn.type = 'button';\n btn.title = this.title;\n btn.className = `markdown-btn ${btnClass} fj:btn fj:btn-sm fj:btn-square fj:btn-ghost`;\n btn.addEventListener('click', (event) => this.applySyntax(event)); // Default to 'both', can change in child\n\n if(btnClass == 'preview-btn') {\n const btnWrapper = document.createElement('div');\n btnWrapper.className = 'fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-l fj:sticky fj:-right-2 fj:px-1.5';\n btnWrapper.appendChild(btn);\n return btnWrapper;\n }\n \n return btn;\n }\n}\n\nexport default MakeTool;\n","import MakeTool from '../MakeTool.js';\n\nclass BoldTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Bold');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M8 11H12.5C13.8807 11 15 9.88071 15 8.5C15 7.11929 13.8807 6 12.5 6H8V11ZM18 15.5C18 17.9853 15.9853 20 13.5 20H6V4H12.5C14.9853 4 17 6.01472 17 8.5C17 9.70431 16.5269 10.7981 15.7564 11.6058C17.0979 12.3847 18 13.837 18 15.5ZM8 13V18H13.5C14.8807 18 16 16.8807 16 15.5C16 14.1193 14.8807 13 13.5 13H8Z\"></path>\n </svg> \n `)\n }\n\n // Apply bold syntax (**bold**)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '**';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the bold syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply bold syntax\n newText = `${syntax}${selectedText || 'Bold text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BoldTool;\n","import MakeTool from '../MakeTool.js';\n\nclass ItalicTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Italic');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M15 20H7V18H9.92661L12.0425 6H9V4H17V6H14.0734L11.9575 18H15V20Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '*';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the italic syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply italic syntax\n newText = `${syntax}${selectedText || 'Italic text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default ItalicTool;","import MakeTool from '../MakeTool.js';\n\nclass StrikethroughTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for strikethrough (~~)\n super(editor, 'Strikethrough');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M17.1538 14C17.3846 14.5161 17.5 15.0893 17.5 15.7196C17.5 17.0625 16.9762 18.1116 15.9286 18.867C14.8809 19.6223 13.4335 20 11.5862 20C9.94674 20 8.32335 19.6185 6.71592 18.8555V16.6009C8.23538 17.4783 9.7908 17.917 11.3822 17.917C13.9333 17.917 15.2128 17.1846 15.2208 15.7196C15.2208 15.0939 15.0049 14.5598 14.5731 14.1173C14.5339 14.0772 14.4939 14.0381 14.4531 14H3V12H21V14H17.1538ZM13.076 11H7.62908C7.4566 10.8433 7.29616 10.6692 7.14776 10.4778C6.71592 9.92084 6.5 9.24559 6.5 8.45207C6.5 7.21602 6.96583 6.165 7.89749 5.299C8.82916 4.43299 10.2706 4 12.2219 4C13.6934 4 15.1009 4.32808 16.4444 4.98426V7.13591C15.2448 6.44921 13.9293 6.10587 12.4978 6.10587C10.0187 6.10587 8.77917 6.88793 8.77917 8.45207C8.77917 8.87172 8.99709 9.23796 9.43293 9.55079C9.86878 9.86362 10.4066 10.1135 11.0463 10.3004C11.6665 10.4816 12.3431 10.7148 13.076 11H13.076Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '~';\n let newText = '';\n if (selectedText.startsWith(syntax) && selectedText.endsWith(syntax)) {\n // Remove the strikethrough syntax if it's already wrapped\n newText = selectedText.slice(syntax.length, -syntax.length);\n } else {\n // Apply strikethrough syntax\n newText = `${syntax}${selectedText || 'Strikethrough text'}${syntax}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default StrikethroughTool;","import MakeTool from '../MakeTool.js';\n\nclass ULTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Unordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8 4H21V6H8V4ZM4.5 6.5C3.67157 6.5 3 5.82843 3 5C3 4.17157 3.67157 3.5 4.5 3.5C5.32843 3.5 6 4.17157 6 5C6 5.82843 5.32843 6.5 4.5 6.5ZM4.5 13.5C3.67157 13.5 3 12.8284 3 12C3 11.1716 3.67157 10.5 4.5 10.5C5.32843 10.5 6 11.1716 6 12C6 12.8284 5.32843 13.5 4.5 13.5ZM4.5 20.4C3.67157 20.4 3 19.7284 3 18.9C3 18.0716 3.67157 17.4 4.5 17.4C5.32843 17.4 6 18.0716 6 18.9C6 19.7284 5.32843 20.4 4.5 20.4ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the Unordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply Unordered list syntax\n newText = `${syntax}${selectedText || 'Unordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default ULTool;","import MakeTool from '../MakeTool.js';\n\nclass OLTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Ordered list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8 4H21V6H8V4ZM5 3V6H6V7H3V6H4V4H3V3H5ZM3 14V11.5H5V11H3V10H6V12.5H4V13H6V14H3ZM5 19.5H3V18.5H5V18H3V17H6V21H3V20H5V19.5ZM8 11H21V13H8V11ZM8 18H21V20H8V18Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '1. ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the ordered syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply ordered list syntax\n newText = `${syntax}${selectedText || 'Ordered list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default OLTool;","// #components/Toolbar/tools/PreviewToggleTool.js\nimport MakeTool from '../MakeTool.js';\n\nclass PreviewTool extends MakeTool {\n constructor(editor) {\n // No markdown syntax for preview toggle, so we call the parent constructor with empty values\n super(editor, 'Preview');\n this.preview = true;\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M11 5H5V19H11V5ZM13 5V19H19V5H13ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z\"></path></svg>\n `);\n }\n\n // Override applySyntax to handle preview toggling\n applySyntax() {\n const previewWrapper = this.editor.previewContent?.parentNode;\n const editorDiv = this.editor.markdownEditorDiv;\n\n if (!previewWrapper || !editorDiv) return;\n\n // Toggle the preview's visibility by switching between 'block' and 'hidden' classes\n if (this.editor.preview && this.preview) {\n this.enablePreview(previewWrapper, editorDiv);\n } else {\n this.disablePreview(previewWrapper, editorDiv);\n }\n }\n\n // Method to hide the preview (disable it)\n disablePreview(previewWrapper, editorDiv) {\n\n this.preview = true;\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n \n previewWrapper.classList.toggle('fj:hidden');\n\n // Add grid layout and divide classes to the editor div\n editorDiv.classList.remove(\n 'fj:md:grid',\n 'fj:md:grid-cols-2'\n );\n\n editorDiv.querySelector(\".textarea-wrapper\").classList.remove(\n 'fj:h-[90lvh]',\n 'fj:hidden',\n 'fj:md:block'\n );\n this.editor.render(); // Re-render content in the preview\n\n editorDiv.querySelector(\".textarea-wrapper\").querySelector(\"textarea\").classList.remove(\"fj:h-[90lvh]!\");\n \n document.querySelector(\"body\").classList.remove('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.remove('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.remove('fj:btn-active');\n }\n });\n }\n\n // Method to show the preview (enable it)\n enablePreview(previewWrapper, editorDiv) {\n\n this.preview = false;\n\n editorDiv.parentNode.classList.toggle('fj:fixed');\n editorDiv.parentNode.classList.toggle('fj:top-0');\n editorDiv.parentNode.classList.toggle('fj:inset-x-0');\n editorDiv.parentNode.classList.toggle('fj:rounded-md');\n editorDiv.parentNode.classList.toggle('fj:z-999');\n \n previewWrapper.classList.toggle('fj:hidden');\n // Remove grid layout and divide classes from the editor div\n editorDiv.classList.add(\n 'fj:md:grid',\n 'fj:md:grid-cols-2'\n );\n\n editorDiv.querySelector(\".textarea-wrapper\").classList.add(\n 'fj:h-[90lvh]',\n 'fj:hidden',\n 'fj:md:block'\n );\n editorDiv.querySelector(\".textarea-wrapper\").querySelector(\"textarea\").classList.add(\"fj:h-[90lvh]!\");\n\n document.querySelector(\"body\").classList.add('fj:overflow-hidden');\n\n document.querySelectorAll('.markdown-btn').forEach(button => {\n if (!button.classList.contains('preview-btn')) {\n button.classList.add('fj:pointer-events-none', 'fj:md:pointer-events-auto', 'fj:opacity-25', 'fj:md:opacity-100');\n }else{\n button.classList.add('fj:btn-active');\n }\n });\n }\n}\n\nexport default PreviewTool;\n","import MakeTool from '../MakeTool.js';\n\nclass CheckListTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Check list');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M8.00008 6V9H5.00008V6H8.00008ZM3.00008 4V11H10.0001V4H3.00008ZM13.0001 4H21.0001V6H13.0001V4ZM13.0001 11H21.0001V13H13.0001V11ZM13.0001 18H21.0001V20H13.0001V18ZM10.7072 16.2071L9.29297 14.7929L6.00008 18.0858L4.20718 16.2929L2.79297 17.7071L6.00008 20.9142L10.7072 16.2071Z\"></path></svg>\n `);\n }\n \n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '- [x] ';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the checklist syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply check list syntax\n newText = `${syntax}${selectedText || 'Check list'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\n\nexport default CheckListTool;","import MakeTool from '../MakeTool.js';\n\nclass BlockQuoteTool extends MakeTool {\n constructor(editor) {\n // Call the parent constructor with the markdown syntax for italic (*)\n super(editor, 'Blockquote');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z\"></path></svg>\n `);\n }\n\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n const syntax = '>';\n let newText = '';\n if (selectedText.startsWith(syntax)) {\n // Remove the blockquote syntax if it's already wrapped\n newText = selectedText.slice(syntax.length);\n } else {\n // Apply blockquote syntax\n newText = `${syntax}${selectedText || 'Blockquote text'}`;\n }\n\n this.editor.insertText(newText);\n }\n}\n\nexport default BlockQuoteTool;","export function modal(event, size, bodyHTML) {\n const self = event.target;\n const mde = self.closest(\".markdown-editor-wrapper\");\n if(mde.querySelector(\".markdown-modal\")){\n mde.querySelector(\".markdown-modal\").remove(); \n }\n\n const modalHTML = `\n <dialog class=\"markdown-modal fj:modal fj:modal-y-top fj:lg:modal-y-center fj:modal-x-center\" id=\"nezanuha_toggleModal\">\n <div class=\"fj:modal-body ${size}\">\n ${bodyHTML}\n </div>\n </dialog>\n `;\n\n if(!mde.querySelector(\".markdown-modal\")){\n mde.insertAdjacentHTML(\"beforeend\", modalHTML);\n }\n \n const modal = mde.querySelector(\".markdown-modal\");\n modal.showModal();\n return modal;\n}","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass LinkTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Link');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\">\n <path d=\"M18.3638 15.5355L16.9496 14.1213L18.3638 12.7071C20.3164 10.7545 20.3164 7.58866 18.3638 5.63604C16.4112 3.68341 13.2453 3.68341 11.2927 5.63604L9.87849 7.05025L8.46428 5.63604L9.87849 4.22182C12.6122 1.48815 17.0443 1.48815 19.778 4.22182C22.5117 6.95549 22.5117 11.3876 19.778 14.1213L18.3638 15.5355ZM15.5353 18.364L14.1211 19.7782C11.3875 22.5118 6.95531 22.5118 4.22164 19.7782C1.48797 17.0445 1.48797 12.6123 4.22164 9.87868L5.63585 8.46446L7.05007 9.87868L5.63585 11.2929C3.68323 13.2455 3.68323 16.4113 5.63585 18.364C7.58847 20.3166 10.7543 20.3166 12.7069 18.364L14.1211 16.9497L15.5353 18.364ZM14.8282 7.75736L16.2425 9.17157L9.17139 16.2426L7.75717 14.8284L14.8282 7.75736Z\"></path>\n </svg>\n `);\n }\n\n // Apply link syntax [text](url)\n applySyntax(event) {\n let editor = this.editor;\n let textarea = editor.usertextarea;\n let { selectionStart, selectionEnd } = textarea;\n let selectedText = textarea.value.substring(selectionStart, selectionEnd);\n \n // Check if the selected text contains a link syntax [text](url)\n const linkRegex = /\\[([^\\]]+)\\]\\(([^)]+)\\)/;\n \n if (selectedText && linkRegex.test(selectedText)) {\n // If the selected text is already a link, extract the text inside the brackets\n const match = selectedText.match(linkRegex);\n const linkText = match[1]; // Text inside the square brackets\n \n // Replace the selected text with just the text\n textarea.setRangeText(linkText, selectionStart, selectionEnd, 'select');\n } else {\n // If no link syntax, prompt for the URL and apply the syntax\n \n const bodyHTML =`\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Link</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <form method=\"post\">\n <div class=\"fj:flex fj:flex-col fj:justify-center fj:gap-y-4.5 fj:mt-4\">\n <input type=\"url\" placeholder=\"URL\" class=\"link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Link text\" class=\"link-text-input fj:input fj:w-full\" value=\"${selectedText}\" required>\n <button type=\"submit\" class=\"submit-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>\n </form>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n\n modalElement.querySelector(\".submit-link\").addEventListener(\"click\", function(e){\n e.preventDefault();\n let linkInput = modalElement.querySelector(\".link-input\");\n let linkTextInput = modalElement.querySelector(\".link-text-input\");\n\n if (!linkInput.validity.valid) {\n linkInput.reportValidity();\n } else if (!linkTextInput.validity.valid) {\n linkTextInput.reportValidity();\n } else {\n const link = linkInput.value;\n let linkText = linkTextInput.value;\n\n if(linkText == ''){\n linkText = 'Link Text';\n }\n\n let newText = '';\n if (selectedText) {\n newText = `[${selectedText}](${link})`; // Insert the link with selected text\n } else {\n newText = `[${linkText}](${link})`; // Insert a placeholder text if nothing is selected\n }\n editor.insertText(newText); // Insert the constructed link markdown\n \n linkInput.value = '';\n linkTextInput.value = '';\n modalElement.close();\n }\n });\n }\n }\n \n}\n\nexport default LinkTool;","import MakeTool from '../MakeTool.js';\n\nclass HeadingTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Heading');\n this.currentHeading = 1; // Start with Heading 1\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"20\" height=\"20\"><path d=\"M17 11V4H19V21H17V13H7V21H5V4H7V11H17Z\"></path></svg>\n `);\n }\n\n // Apply heading syntax (e.g., # sample text for h1, ## sample text for h2, etc.)\n applySyntax() {\n const textarea = this.editor.usertextarea;\n const { selectionStart, selectionEnd } = textarea;\n const selectedText = textarea.value.substring(selectionStart, selectionEnd);\n\n // Strip any existing heading symbols (i.e., # or ##) from the selected text\n const headingRegex = /^#+\\s*/; // Regex to match any # followed by space\n let cleanText = selectedText.replace(headingRegex, ''); // Remove existing heading\n\n let newText = '';\n\n // If there is a heading, continue from the current level\n if (selectedText) {\n const currentLevel = selectedText.match(/^#+/); // Match the number of # symbols at the start\n if (currentLevel) {\n let headingCount = currentLevel[0].length;\n if (headingCount === 6) {\n newText = cleanText; // Just plain text\n } else {\n newText = `${'#'.repeat(headingCount + 1)} ${cleanText}`;\n }\n } else {\n // If no # symbol, start from # (Heading 1)\n newText = `# ${cleanText}`;\n }\n } else {\n // If no text is selected, use default \"Heading\"\n newText = `${'#'.repeat(this.currentHeading)} Heading`;\n }\n\n // Insert the new heading text and replace any selected text\n this.editor.insertText(newText, true);\n\n // Cycle heading levels after applying the heading\n if (this.currentHeading === 6) {\n this.currentHeading = 1; // Reset to # for Heading 1 after reaching Heading 6\n } else {\n this.currentHeading++; // Increment the heading level\n }\n }\n}\n\nexport default HeadingTool;\n","import MakeTool from '../MakeTool.js';\nimport { modal } from '../../modal.js';\n\nclass ImageTool extends MakeTool {\n constructor(editor, config = {}) {\n super(editor, 'Image link');\n this.config = config;\n this.fileInputConfig = config.fileInput || false;\n this.altInputConfig = config.altInput || true;\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M16 5h6\"/><path d=\"M19 2v6\"/><path d=\"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5\"/>\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"/><circle cx=\"9\" cy=\"9\" r=\"2\"/>\n </svg>\n `);\n }\n\n // Apply link syntax [text](url)\n applySyntax(event) {\n let editor = this.editor;\n let textarea = editor.usertextarea;\n let { selectionStart, selectionEnd } = textarea;\n let selectedText = textarea.value.substring(selectionStart, selectionEnd);\n \n const acceptFormats = this.fileInputConfig.accept\n ? this.fileInputConfig.accept.map(type => `image/${type}`).join(',')\n : 'image/*'; // Handle file formats\n\n const altRequired = this.altInputConfig.required === undefined ? true : this.altInputConfig.required;\n\n const uploadUrl = this.fileInputConfig.uploadUrl || null;\n\n let fileInputTag = '';\n if(this.fileInputConfig){\n fileInputTag = `\n <input type=\"file\" accept=\"${acceptFormats}\" class=\"img-file-input fj:input fj:w-full\">\n <div class=\"fj:divider fj:my-1\">OR</div>\n `;\n }\n // Check if the selected text contains an image markdown syntax \n const imageRegex = /!\\[([^\\]]*)\\]\\(([^)]+)\\)/;\n\n if (selectedText && imageRegex.test(selectedText)) {\n // If the selected text is already an image markdown, extract the alt text and URL\n const match = selectedText.match(imageRegex);\n const altText = match[1]; // Alt text inside the square brackets\n // const imageUrl = match[2]; // URL inside the parentheses\n\n // Replace the selected text with just the text\n textarea.setRangeText(altText, selectionStart, selectionEnd, 'select');\n } else {\n const bodyHTML =`\n <div class=\"fj:flex fj:justify-between fj:items-center fj:gap-3\">\n <div class=\"fj:font-medium\">Image</div>\n <button type=\"button\" class=\"fj:btn fj:btn-ghost fj:btn-xs fj:btn-circle\" onclick=\"nezanuha_toggleModal.remove()\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n <form method=\"post\">\n <div class=\"fj:flex fj:flex-col fj:justify-center fj:gap-y-4.5 fj:mt-4\">\n ${fileInputTag}\n <input type=\"url\" placeholder=\"URL\" class=\"img-link-input fj:input fj:w-full\" required>\n <input type=\"text\" placeholder=\"Alt text\" class=\"img-link-alt-input fj:input fj:w-full\" value=\"${selectedText}\" ${(altRequired) && 'required'}>\n <button type=\"submit\" class=\"submit-img-link fj:btn fj:btn-sm fj:self-end\">Apply</button>\n </div>\n </form>`;\n\n const modalElement = modal(event, 'fj:max-w-sm', bodyHTML);\n\n if(this.fileInputConfig){\n const fileInputSelector = modalElement.querySelector(\".img-file-input\");\n const urlInputSelector = modalElement.querySelector(\".img-link-input\");\n const submitBtnSelector = modalElement.querySelector(\".submit-img-link\");\n\n fileInputSelector.addEventListener(\"change\", async () => {\n const file = fileInputSelector.files[0];\n if (!file || !uploadUrl) return;\n \n submitBtnSelector.disabled = true;\n submitBtnSelector.textContent = 'Uploading...';\n \n const formData = new FormData();\n formData.append('image', file);\n \n try {\n const res = await fetch(uploadUrl, {\n method: 'POST',\n body: formData\n });\n const result = await res.json();\n \n if (result.success && result.path) {\n urlInputSelector.value = result.path;\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n } else {\n alert('Image upload failed.');\n fileInputSelector.value = ''; // ✅ Reset file input\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n }\n } catch (err) {\n console.error(err);\n alert('Upload error.');\n fileInputSelector.value = ''; // ✅ Reset file input\n submitBtnSelector.disabled = false;\n submitBtnSelector.textContent = 'Apply';\n }\n });\n }\n \n\n modalElement.querySelector(\".submit-img-link\").addEventListener(\"click\", function(e){\n e.preventDefault();\n let imgLinkInput = modalElement.querySelector(\".img-link-input\");\n let imgLinkAltInput = modalElement.querySelector(\".img-link-alt-input\");\n\n if (!imgLinkInput.validity.valid) {\n imgLinkInput.reportValidity();\n } else if (!imgLinkAltInput.validity.valid) {\n imgLinkAltInput.reportValidity();\n } else {\n const imgLink = imgLinkInput.value;\n let imgLinkAlt = imgLinkAltInput.value;\n\n if(imgLinkAlt == ''){\n imgLinkAlt = '';\n }\n\n let newText = '';\n if (selectedText) {\n newText = ``; // Insert the link with selected text\n } else {\n newText = ``; // Insert a placeholder text if nothing is selected\n }\n editor.insertText(newText); // Insert the constructed link markdown\n \n imgLinkInput.value = '';\n imgLinkAltInput.value = '';\n modalElement.close();\n }\n });\n }\n }\n \n}\nexport default ImageTool;","import MakeTool from '../MakeTool.js';\n\nclass UndoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Undo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M3 7v6h6\"/><path d=\"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13\"/>\n </svg>\n `);\n }\n\n applySyntax() {\n // Check if Undo is available and perform the undo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.undo();\n }\n }\n}\n\nexport default UndoTool;","import MakeTool from '../MakeTool.js';\n\nclass RedoTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Redo');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M21 7v6h-6\"/><path d=\"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7\"/>\n </svg>\n `);\n }\n\n applySyntax() {\n // Check if Redo is available and perform the redo action\n const undoRedoManager = this.editor.undoRedoManager;\n if (undoRedoManager) {\n undoRedoManager.redo();\n }\n }\n}\n\nexport default RedoTool;\n","import MakeTool from '../MakeTool.js';\n\nclass IndentTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Indent');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 5H11\"/><path d=\"M21 12H11\"/><path d=\"M21 19H11\"/><path d=\"m3 8 4 4-4 4\"/></svg>\n `);\n }\n \n applySyntax() {\n const indentManager = this.editor.indentManager;\n if (indentManager) {\n indentManager.indent();\n } \n }\n}\n\n\nexport default IndentTool;","import MakeTool from '../MakeTool.js';\n\nclass OutdentTool extends MakeTool {\n constructor(editor) {\n super(editor, 'Outdent');\n this.button = this.createButton(`\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 5H11\"/><path d=\"M21 12H11\"/><path d=\"M21 19H11\"/><path d=\"m7 8-4 4 4 4\"/></svg>\n `);\n }\n \n applySyntax(e) {\n const indentManager = this.editor.indentManager;\n if (indentManager) {\n indentManager.outdent();\n } \n }\n}\n\n\nexport default OutdentTool;","import BoldTool from './tools/BoldTool.js';\nimport ItalicTool from './tools/ItalicTool.js';\nimport StrikethroughTool from './tools/StrikethroughTool.js';\nimport ULTool from './tools/ULTool.js';\nimport OLTool from './tools/OLTool.js';\nimport PreviewTool from './tools/PreviewTool.js'\nimport CheckListTool from './tools/CheckListTool.js';\nimport BlockQuoteTool from './tools/BlockQuoteTool.js';\nimport LinkTool from './tools/LinkTool.js'\nimport HeadingTool from './tools/HeadingTool.js';\nimport ImageTool from './tools/ImageTool.js';\nimport UndoTool from './tools/UndoTool.js';\nimport RedoTool from './tools/RedoTool.js';\nimport IndentTool from './tools/IndentTool.js';\nimport OutdentTool from './tools/OutdentTool.js';\n\nclass Toolbar {\n constructor(editor, options) {\n this.editor = editor;\n this.options = options;\n this.toolbar = document.createElement('div');\n this.toolbar.className = 'toolbar fj:surface fj:surface-1 fj:surface-outline fj:border-0 fj:border-b fj:flex fj:gap-x-1.5 fj:p-1.5 fj:overflow-x-auto';\n this.init();\n }\n\n init() {\n const toolMapping = {\n heading: HeadingTool,\n ul: ULTool,\n ol: OLTool,\n checklist: CheckListTool,\n bold: BoldTool,\n italic: ItalicTool,\n strikethrough: StrikethroughTool,\n blockquote: BlockQuoteTool,\n link: LinkTool,\n image: ImageTool,\n undo: UndoTool,\n redo: RedoTool,\n indent: IndentTool,\n outdent: OutdentTool\n };\n\n // Append all tools except preview\n // this.options.forEach(tool => {\n // if (tool !== 'preview') {\n // const ToolClass = toolMapping[tool];\n // if (ToolClass) {\n // const toolInstance = new ToolClass(this.editor);\n // this.toolbar.appendChild(toolInstance.button); // Directly append to toolbar\n // }\n // }\n // });\n\n this.options.forEach(tool => {\n let ToolClass, config;\n \n if (typeof tool === 'string') {\n ToolClass = toolMapping[tool];\n } else if (typeof tool === 'object') {\n const toolName = Object.keys(tool)[0];\n config = tool[toolName];\n ToolClass = toolMapping[toolName];\n }\n \n if (ToolClass) {\n const toolInstance = new ToolClass(this.editor, config);\n this.toolbar.appendChild(toolInstance.button);\n }\n });\n\n // Append preview button at the end\n if (this.options.includes('preview')) {\n const previewToolInstance = new PreviewTool(this.editor);\n this.toolbar.appendChild(previewToolInstance.button); // Directly append to toolbar at the end\n }\n\n this.editor.editorContainer.insertBefore(this.toolbar, this.editor.markdownEditorDiv);\n }\n}\n\nexport default Toolbar;\n","export default class IndentManager {\n constructor(textarea, renderCallback) {\n this.textarea = textarea;\n this.renderCallback = renderCallback;\n this.pairs = {\n '{': '}',\n '[': ']',\n '(': ')',\n '<': '>',\n '\"': '\"',\n \"'\": \"'\"\n };\n this.init();\n }\n\n init() {\n this.textarea.addEventListener('keydown', (e) => {\n switch (e.key) {\n case 'Tab':\n e.preventDefault();\n e.shiftKey ? this.outdent() : this.indent();\n this._triggerUpdate();\n break;\n case 'Enter':\n this.autoIndent(e);\n break;\n case 'Backspace':\n this.handleBackspace(e);\n break;\n default:\n if (this.pairs[e.key]) this.handlePairs(e);\n }\n });\n }\n\n handlePairs(e) {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n const char = e.key;\n\n // 1. Overtyping Logic\n // If the cursor is right before the closing character and the user types it\n if (selectionStart === selectionEnd && value[selectionStart] === char) {\n const isClosingChar = Object.values(this.pairs).includes(char);\n if (isClosingChar) {\n e.preventDefault();\n const newPos = selectionStart + 1;\n textarea.setSelectionRange(newPos, newPos);\n return; // Just move the cursor, don't trigger an update\n }\n }\n\n const open = char;\n const close = this.pairs[open];\n if (!close) return; // Not a paired character\n\n // 2. Selection Wrapping\n if (selectionStart !== selectionEnd) {\n e.preventDefault();\n const selectedText = value.substring(selectionStart, selectionEnd);\n const newValue = value.substring(0, selectionStart) + open + selectedText + close + value.substring(selectionEnd);\n \n textarea.value = newValue;\n textarea.setSelectionRange(selectionStart + 1, selectionEnd + 1);\n this._triggerUpdate();\n } \n \n // 3. Standard Pair Insertion\n else {\n e.preventDefault();\n const before = value.substring(0, selectionStart);\n const after = value.substring(selectionEnd);\n \n textarea.value = before + open + close + after;\n textarea.setSelectionRange(selectionStart + 1, selectionStart + 1);\n this._triggerUpdate();\n }\n }\n\n // Add this to your init() listener for 'keydown'\n handleBackspace(e) {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n\n if (selectionStart === selectionEnd && selectionStart > 0) {\n const charBefore = value[selectionStart - 1];\n const charAfter = value[selectionStart];\n\n // If user deletes '(' when text is '()', delete the ')' too\n if (this.pairs[charBefore] === charAfter) {\n e.preventDefault();\n const before = value.substring(0, selectionStart - 1);\n const after = value.substring(selectionStart + 1);\n \n textarea.value = before + after;\n textarea.setSelectionRange(selectionStart - 1, selectionStart - 1);\n this._triggerUpdate();\n }\n }\n }\n\n autoIndent(e) {\n const { textarea } = this;\n const { selectionStart, value } = textarea;\n\n const lastNewline = value.lastIndexOf('\\n', selectionStart - 1);\n const currentLine = value.substring(lastNewline + 1, selectionStart);\n const indent = (currentLine.match(/^[ \\t]*/) || [''])[0];\n\n // EXTRA: If user hits Enter between { and }, add an extra indent level\n const charBefore = value[selectionStart - 1];\n const charAfter = value[selectionStart];\n \n if (charBefore === '{' && charAfter === '}') {\n e.preventDefault();\n const tab = '\\t'; // or ' '\n const insertion = '\\n' + indent + tab + '\\n' + indent;\n \n textarea.value = value.substring(0, selectionStart) + insertion + value.substring(selectionStart);\n \n // Put cursor on the middle (indented) line\n const newPos = selectionStart + indent.length + tab.length + 1;\n textarea.setSelectionRange(newPos, newPos);\n this._triggerUpdate();\n return;\n }\n\n if (indent.length > 0) {\n e.preventDefault();\n const insertion = '\\n' + indent;\n textarea.value = value.substring(0, selectionStart) + insertion + value.substring(textarea.selectionEnd);\n const newPos = selectionStart + insertion.length;\n textarea.setSelectionRange(newPos, newPos);\n this._triggerUpdate();\n }\n }\n\n _triggerUpdate() {\n if (typeof this.renderCallback === 'function') this.renderCallback();\n this.textarea.dispatchEvent(new Event('input', { bubbles: true }));\n }\n\n // Inside IndentManager class\n indent() {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n\n const startPos = value.lastIndexOf('\\n', selectionStart - 1) + 1;\n let endPos = value.indexOf('\\n', selectionEnd);\n if (endPos === -1) endPos = value.length;\n\n const targetText = value.substring(startPos, endPos);\n const lines = targetText.split('\\n');\n const indentedText = lines.map(line => '\\t' + line).join('\\n');\n \n this._applyChange(\n value.substring(0, startPos) + indentedText + value.substring(endPos),\n selectionStart + 1,\n selectionEnd + lines.length\n );\n \n // Add this so external calls auto-update\n this._triggerUpdate(); \n }\n\n outdent() {\n const { textarea } = this;\n const { selectionStart, selectionEnd, value } = textarea;\n\n // 1. Find the start and end of the affected lines\n const startPos = value.lastIndexOf('\\n', selectionStart - 1) + 1;\n let endPos = value.indexOf('\\n', selectionEnd);\n if (endPos === -1) endPos = value.length;\n\n const targetText = value.substring(startPos, endPos);\n const lines = targetText.split('\\n');\n \n let removedFromFirst = 0;\n let totalRemoved = 0;\n\n // 2. Process each line\n const unindentedText = lines.map((line, index) => {\n if (line.startsWith('\\t')) {\n if (index === 0) removedFromFirst = 1;\n totalRemoved++;\n return line.substring(1);\n } else if (line.startsWith(' ')) { // Optional: handle 4-space indent\n if (index === 0) removedFromFirst = 4;\n totalRemoved += 4;\n return line.substring(4);\n }\n return line;\n }).join('\\n');\n\n // 3. Apply the change to the DOM\n this._applyChange(\n value.substring(0, startPos) + unindentedText + value.substring(endPos),\n Math.max(startPos, selectionStart - removedFromFirst),\n Math.max(startPos, selectionEnd - totalRemoved)\n );\n\n // 4. Trigger the undo stack and re-render\n this._triggerUpdate();\n }\n\n _applyChange(newValue, newStart, newEnd) {\n this.textarea.value = newValue;\n this.textarea.setSelectionRange(newStart, newEnd);\n }\n}","export default class Diff {\n diff(oldStr, newStr, \n // Type below is not accurate/complete - see above for full possibilities - but it compiles\n options = {}) {\n let callback;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n else if ('callback' in options) {\n callback = options.callback;\n }\n // Allow subclasses to massage the input prior to running\n const oldString = this.castInput(oldStr, options);\n const newString = this.castInput(newStr, options);\n const oldTokens = this.removeEmpty(this.tokenize(oldString, options));\n const newTokens = this.removeEmpty(this.tokenize(newString, options));\n return this.diffWithOptionsObj(oldTokens, newTokens, options, callback);\n }\n diffWithOptionsObj(oldTokens, newTokens, options, callback) {\n var _a;\n const done = (value) => {\n value = this.postProcess(value, options);\n if (callback) {\n setTimeout(function () { callback(value); }, 0);\n return undefined;\n }\n else {\n return value;\n }\n };\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let editLength = 1;\n let maxEditLength = newLen + oldLen;\n if (options.maxEditLength != null) {\n maxEditLength = Math.min(maxEditLength, options.maxEditLength);\n }\n const maxExecutionTime = (_a = options.timeout) !== null && _a !== void 0 ? _a : Infinity;\n const abortAfterTimestamp = Date.now() + maxExecutionTime;\n const bestPath = [{ oldPos: -1, lastComponent: undefined }];\n // Seed editLength = 0, i.e. the content starts with the same values\n let newPos = this.extractCommon(bestPath[0], newTokens, oldTokens, 0, options);\n if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // Identity per the equality and tokenizer\n return done(this.buildValues(bestPath[0].lastComponent, newTokens, oldTokens));\n }\n // Once we hit the right edge of the edit graph on some diagonal k, we can\n // definitely reach the end of the edit graph in no more than k edits, so\n // there's no point in considering any moves to diagonal k+1 any more (from\n // which we're guaranteed to need at least k+1 more edits).\n // Similarly, once we've reached the bottom of the edit graph, there's no\n // point considering moves to lower diagonals.\n // We record this fact by setting minDiagonalToConsider and\n // maxDiagonalToConsider to some finite value once we've hit the edge of\n // the edit graph.\n // This optimization is not faithful to the original algorithm presented in\n // Myers's paper, which instead pointlessly extends D-paths off the end of\n // the edit graph - see page 7 of Myers's paper which notes this point\n // explicitly and illustrates it with a diagram. This has major performance\n // implications for some common scenarios. For instance, to compute a diff\n // where the new text simply appends d characters on the end of the\n // original text of length n, the true Myers algorithm will take O(n+d^2)\n // time while this optimization needs only O(n+d) time.\n let minDiagonalToConsider = -Infinity, maxDiagonalToConsider = Infinity;\n // Main worker method. checks all permutations of a given edit length for acceptance.\n const execEditLength = () => {\n for (let diagonalPath = Math.max(minDiagonalToConsider, -editLength); diagonalPath <= Math.min(maxDiagonalToConsider, editLength); diagonalPath += 2) {\n let basePath;\n const removePath = bestPath[diagonalPath - 1], addPath = bestPath[diagonalPath + 1];\n if (removePath) {\n // No one else is going to attempt to use this value, clear it\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath - 1] = undefined;\n }\n let canAdd = false;\n if (addPath) {\n // what newPos will be after we do an insertion:\n const addPathNewPos = addPath.oldPos - diagonalPath;\n canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen;\n }\n const canRemove = removePath && removePath.oldPos + 1 < oldLen;\n if (!canAdd && !canRemove) {\n // If this path is a terminal then prune\n // @ts-expect-error - perf optimisation. This type-violating value will never be read.\n bestPath[diagonalPath] = undefined;\n continue;\n }\n // Select the diagonal that we want to branch from. We select the prior\n // path whose position in the old string is the farthest from the origin\n // and does not pass the bounds of the diff graph\n if (!canRemove || (canAdd && removePath.oldPos < addPath.oldPos)) {\n basePath = this.addToPath(addPath, true, false, 0, options);\n }\n else {\n basePath = this.addToPath(removePath, false, true, 1, options);\n }\n newPos = this.extractCommon(basePath, newTokens, oldTokens, diagonalPath, options);\n if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) {\n // If we have hit the end of both strings, then we are done\n return done(this.buildValues(basePath.lastComponent, newTokens, oldTokens)) || true;\n }\n else {\n bestPath[diagonalPath] = basePath;\n if (basePath.oldPos + 1 >= oldLen) {\n maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1);\n }\n if (newPos + 1 >= newLen) {\n minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1);\n }\n }\n }\n editLength++;\n };\n // Performs the length of edit iteration. Is a bit fugly as this has to support the\n // sync and async mode which is never fun. Loops over execEditLength until a value\n // is produced, or until the edit length exceeds options.maxEditLength (if given),\n // in which case it will return undefined.\n if (callback) {\n (function exec() {\n setTimeout(function () {\n if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) {\n return callback(undefined);\n }\n if (!execEditLength()) {\n exec();\n }\n }, 0);\n }());\n }\n else {\n while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) {\n const ret = execEditLength();\n if (ret) {\n return ret;\n }\n }\n }\n }\n addToPath(path, added, removed, oldPosInc, options) {\n const last = path.lastComponent;\n if (last && !options.oneChangePerToken && last.added === added && last.removed === removed) {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: last.count + 1, added: added, removed: removed, previousComponent: last.previousComponent }\n };\n }\n else {\n return {\n oldPos: path.oldPos + oldPosInc,\n lastComponent: { count: 1, added: added, removed: removed, previousComponent: last }\n };\n }\n }\n extractCommon(basePath, newTokens, oldTokens, diagonalPath, options) {\n const newLen = newTokens.length, oldLen = oldTokens.length;\n let oldPos = basePath.oldPos, newPos = oldPos - diagonalPath, commonCount = 0;\n while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(oldTokens[oldPos + 1], newTokens[newPos + 1], options)) {\n newPos++;\n oldPos++;\n commonCount++;\n if (options.oneChangePerToken) {\n basePath.lastComponent = { count: 1, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n }\n if (commonCount && !options.oneChangePerToken) {\n basePath.lastComponent = { count: commonCount, previousComponent: basePath.lastComponent, added: false, removed: false };\n }\n basePath.oldPos = oldPos;\n return newPos;\n }\n equals(left, right, options) {\n if (options.comparator) {\n return options.comparator(left, right);\n }\n else {\n return left === right\n || (!!options.ignoreCase && left.toLowerCase() === right.toLowerCase());\n }\n }\n removeEmpty(array) {\n const ret = [];\n for (let i = 0; i < array.length; i++) {\n if (array[i]) {\n ret.push(array[i]);\n }\n }\n return ret;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n castInput(value, options) {\n return value;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n tokenize(value, options) {\n return Array.from(value);\n }\n join(chars) {\n // Assumes ValueT is string, which is the case for most subclasses.\n // When it's false, e.g. in diffArrays, this method needs to be overridden (e.g. with a no-op)\n // Yes, the casts are verbose and ugly, because this pattern - of having the base class SORT OF\n // assume tokens and values are strings, but not completely - is weird and janky.\n return chars.join('');\n }\n postProcess(changeObjects, \n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n options) {\n return changeObjects;\n }\n get useLongestToken() {\n return false;\n }\n buildValues(lastComponent, newTokens, oldTokens) {\n // First we convert our linked list of components in reverse order to an\n // array in the right order:\n const components = [];\n let nextComponent;\n while (lastComponent) {\n components.push(lastComponent);\n nextComponent = lastComponent.previousComponent;\n delete lastComponent.previousComponent;\n lastComponent = nextComponent;\n }\n components.reverse();\n const componentLen = components.length;\n let componentPos = 0, newPos = 0, oldPos = 0;\n for (; componentPos < componentLen; componentPos++) {\n const component = components[componentPos];\n if (!component.removed) {\n if (!component.added && this.useLongestToken) {\n let value = newTokens.slice(newPos, newPos + component.count);\n value = value.map(function (value, i) {\n const oldValue = oldTokens[oldPos + i];\n return oldValue.length > value.length ? oldValue : value;\n });\n component.value = this.join(value);\n }\n else {\n component.value = this.join(newTokens.slice(newPos, newPos + component.count));\n }\n newPos += component.count;\n // Common case\n if (!component.added) {\n oldPos += component.count;\n }\n }\n else {\n component.value = this.join(oldTokens.slice(oldPos, oldPos + component.count));\n oldPos += component.count;\n }\n }\n return components;\n }\n}\n","import Diff from './base.js';\nclass CharacterDiff extends Diff {\n}\nexport const characterDiff = new CharacterDiff();\nexport function diffChars(oldStr, newStr, options) {\n return characterDiff.diff(oldStr, newStr, options);\n}\n","import { diffChars } from 'diff';\n\nexport default class UndoRedoManager {\n constructor(editor) {\n this.editor = editor;\n this.textarea = editor.usertextarea;\n this.undoStack = [];\n this.redoStack = [];\n \n // Internal tracking\n this.lastValue = this.textarea.value;\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n\n // Settings\n this.debounceDelay = 1000;\n this.maxStackSize = 100;\n this._debounceTimer = null;\n\n this._bindEvents();\n }\n\n _bindEvents() {\n this.textarea.addEventListener('keydown', (e) => this._onKeyDown(e));\n \n // Listen for selection changes to \"pre-save\" state before an overwrite happens\n this.textarea.addEventListener('select', () => this._updateLastSelection());\n this.textarea.addEventListener('mousedown', () => {\n // Check selection after a short delay to let the click finish\n setTimeout(() => this._updateLastSelection(), 0);\n });\n\n this.textarea.addEventListener('beforeinput', (e) => {\n if (e.inputType === 'historyUndo') {\n e.preventDefault();\n this.undo();\n } else if (e.inputType === 'historyRedo') {\n e.preventDefault();\n this.redo();\n }\n });\n\n this.textarea.addEventListener('input', (e) => this._onInput(e));\n this.textarea.addEventListener('paste', () => this._saveState());\n this.textarea.addEventListener('blur', () => this._saveState());\n }\n\n _updateLastSelection() {\n // We only care about updating this if the value hasn't changed yet.\n // This marks the \"starting point\" for the next undo step.\n this.lastSelection = {\n selectionStart: this.textarea.selectionStart,\n selectionEnd: this.textarea.selectionEnd\n };\n }\n\n _onKeyDown(e) {\n const modifier = e.metaKey || e.ctrlKey;\n const isZ = e.key.toLowerCase() === 'z';\n const isY = e.key.toLowerCase() === 'y';\n const isShift = e.shiftKey;\n\n // 1. CRITICAL: Save state before selection is overwritten or deleted\n const hasSelection = this.textarea.selectionStart !== this.textarea.selectionEnd;\n const isDeletiveKey = e.key === 'Backspace' || e.key === 'Delete' || e.key === 'Enter';\n\n if (hasSelection && (e.key.length === 1 || isDeletiveKey)) {\n this._saveState();\n }\n\n // 2. Save state on structural keys (Enter, Delete, etc.) or generic Modifiers\n if (modifier || isDeletiveKey) {\n this._saveState();\n }\n\n // 3. UNDO: (Cmd+Z or Ctrl+Z)\n if (modifier && isZ && !isShift) {\n e.preventDefault();\n this.undo();\n } \n \n // 4. REDO: (Cmd+Shift+Z, Ctrl+Shift+Z, or Ctrl+Y)\n else if (modifier && ( (isShift && isZ) || (!e.metaKey && isY) )) {\n e.preventDefault();\n this.redo();\n }\n }\n\n _onInput(e) {\n clearTimeout(this._debounceTimer);\n const value = this.textarea.value;\n const lastChar = value[this.textarea.selectionStart - 1];\n \n if (lastChar && /[\\s.,;:!?()\\[\\]{}'\"`~]/.test(lastChar)) {\n this._saveState();\n } else {\n this._debounceTimer = setTimeout(() => this._saveState(), this.debounceDelay);\n }\n }\n\n _saveState() {\n const newValue = this.textarea.value || '';\n \n // 1. If nothing changed, exit immediately to save CPU\n if (newValue === this.lastValue) return;\n\n // 2. Clear any pending debounced timers so we don't save twice\n clearTimeout(this._debounceTimer);\n\n const diff = diffChars(this.lastValue, newValue);\n \n this.undoStack.push({\n diff,\n selection: { ...this.lastSelection }\n });\n\n // --- Performance Optimization: Max Depth ---\n // If the stack exceeds the limit, remove the oldest entry (bottom of stack)\n if (this.undoStack.length > this.maxStackSize) {\n this.undoStack.shift(); \n }\n\n this.lastValue = newValue;\n this._updateLastSelection();\n this.redoStack = []; // Standard: typing new text clears redo history\n }\n\n undo() {\n if (this.undoStack.length === 0) return;\n\n const lastStep = this.undoStack.pop();\n const prevValue = this._revertDiff(this.lastValue, lastStep.diff);\n\n this.redoStack.push({\n diff: lastStep.diff,\n selection: { \n selectionStart: this.textarea.selectionStart, \n selectionEnd: this.textarea.selectionEnd \n }\n });\n\n this._restoreState(prevValue, lastStep.selection);\n }\n\n redo() {\n if (this.redoStack.length === 0) return;\n\n const redoStep = this.redoStack.pop();\n const newValue = this._applyDiff(this.lastValue, redoStep.diff);\n\n this.undoStack.push({\n diff: redoStep.diff,\n selection: { ...this.lastSelection }\n });\n\n this._restoreState(newValue, redoStep.selection);\n }\n\n _applyDiff(oldValue, diff) {\n let newValue = '';\n diff.forEach(part => { if (!part.removed) newValue += part.value; });\n return newValue;\n }\n\n _revertDiff(currentValue, diff) {\n let oldValue = '';\n diff.forEach(part => { if (!part.added) oldValue += part.value; });\n return oldValue;\n }\n\n _restoreState(value, selection) {\n this.textarea.value = value;\n this.textarea.setSelectionRange(selection.selectionStart, selection.selectionEnd);\n this.lastValue = value;\n this.lastSelection = { ...selection };\n \n if (this.editor.render) this.editor.render();\n this.textarea.focus();\n }\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/**\n * marked v17.0.1 - a markdown parser\n * Copyright (c) 2018-2025, MarkedJS. (MIT License)\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\nfunction L(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T=L();function Z(u){T=u}var C={exec:()=>null};function k(u,e=\"\"){let t=typeof u==\"string\"?u:u.source,n={replace:(r,i)=>{let s=typeof i==\"string\"?i:i.source;return s=s.replace(m.caret,\"$1\"),t=t.replace(r,s),n},getRegex:()=>new RegExp(t,e)};return n}var me=(()=>{try{return!!new RegExp(\"(?<=1)(?<!1)\")}catch{return!1}})(),m={codeRemoveIndent:/^(?: {1,4}| {0,3}\\t)/gm,outputLinkReplace:/\\\\([\\[\\]])/g,indentCodeCompensation:/^(\\s+)(?:```)/,beginningSpace:/^\\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\\n/g,tabCharGlobal:/\\t/g,multipleSpaceGlobal:/\\s+/g,blankLine:/^[ \\t]*$/,doubleBlankLine:/\\n[ \\t]*\\n[ \\t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \\t]?/gm,listReplaceTabs:/^\\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\\[[ xX]\\] +\\S/,listReplaceTask:/^\\[[ xX]\\] +/,listTaskCheckbox:/\\[[ xX]\\]/,anyLine:/\\n.*\\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\\||\\| *$/g,tableRowBlankLine:/\\n[ \\t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\\s|>)/i,endPreScriptTag:/^<\\/(pre|code|kbd|script)(\\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/,unicodeAlphaNumeric:/[\\p{L}\\p{N}]/u,escapeTest:/[&<>\"']/,escapeReplace:/[&<>\"']/g,escapeTestNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/,escapeReplaceNoEncode:/[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/g,unescapeTest:/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig,caret:/(^|[^\\[])\\^/g,percentDecode:/%25/g,findPipe:/\\|/g,splitPipe:/ \\|/,slashPipe:/\\\\\\|/g,carriageReturn:/\\r\\n|\\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\\S*/,endingNewline:/\\n$/,listItemRegex:u=>new RegExp(`^( {0,3}${u})((?:[\t ][^\\\\n]*)?(?:\\\\n|$))`),nextBulletRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \t][^\\\\n]*)?(?:\\\\n|$))`),hrRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`),fencesBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}(?:\\`\\`\\`|~~~)`),headingBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}#`),htmlBeginRegex:u=>new RegExp(`^ {0,${Math.min(3,u-1)}}<(?:[a-z].*>|!--)`,\"i\")},xe=/^(?:[ \\t]*(?:\\n|$))+/,be=/^((?: {4}| {0,3}\\t)[^\\n]+(?:\\n(?:[ \\t]*(?:\\n|$))*)?)+/,Re=/^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/,I=/^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/,Te=/^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/,N=/(?:[*+-]|\\d{1,9}[.)])/,re=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,se=k(re).replace(/bull/g,N).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/\\|table/g,\"\").getRegex(),Oe=k(re).replace(/bull/g,N).replace(/blockCode/g,/(?: {4}| {0,3}\\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\\n>]+>\\n/).replace(/table/g,/ {0,3}\\|?(?:[:\\- ]*\\|)+[\\:\\- ]*\\n/).getRegex(),Q=/^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/,we=/^[^\\n]+/,F=/(?!\\s*\\])(?:\\\\[\\s\\S]|[^\\[\\]\\\\])+/,ye=k(/^ {0,3}\\[(label)\\]: *(?:\\n[ \\t]*)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n[ \\t]*)?| *\\n[ \\t]*)(title))? *(?:\\n+|$)/).replace(\"label\",F).replace(\"title\",/(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/).getRegex(),Pe=k(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/).replace(/bull/g,N).getRegex(),v=\"address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul\",j=/<!--(?:-?>|[\\s\\S]*?(?:-->|$))/,Se=k(\"^ {0,3}(?:<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)|comment[^\\\\n]*(\\\\n+|$)|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$)|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n[ \t]*)+\\\\n|$))\",\"i\").replace(\"comment\",j).replace(\"tag\",v).replace(\"attribute\",/ +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/).getRegex(),ie=k(Q).replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),$e=k(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/).replace(\"paragraph\",ie).getRegex(),U={blockquote:$e,code:be,def:ye,fences:Re,heading:Te,hr:I,html:Se,lheading:se,list:Pe,newline:xe,paragraph:ie,table:C,text:we},te=k(\"^ *([^\\\\n ].*)\\\\n {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)\").replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"blockquote\",\" {0,3}>\").replace(\"code\",\"(?: {4}| {0,3}\t)[^\\\\n]\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex(),_e={...U,lheading:Oe,table:te,paragraph:k(Q).replace(\"hr\",I).replace(\"heading\",\" {0,3}#{1,6}(?:\\\\s|$)\").replace(\"|lheading\",\"\").replace(\"table\",te).replace(\"blockquote\",\" {0,3}>\").replace(\"fences\",\" {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n\").replace(\"list\",\" {0,3}(?:[*+-]|1[.)]) \").replace(\"html\",\"</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)\").replace(\"tag\",v).getRegex()},Le={...U,html:k(`^ *(?:comment *(?:\\\\n|\\\\s*$)|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\\\s[^'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))`).replace(\"comment\",j).replace(/tag/g,\"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b\").getRegex(),def:/^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,heading:/^(#{1,6})(.*)(?:\\n+|$)/,fences:C,lheading:/^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,paragraph:k(Q).replace(\"hr\",I).replace(\"heading\",` *#{1,6} *[^\n]`).replace(\"lheading\",se).replace(\"|table\",\"\").replace(\"blockquote\",\" {0,3}>\").replace(\"|fences\",\"\").replace(\"|list\",\"\").replace(\"|html\",\"\").replace(\"|tag\",\"\").getRegex()},Me=/^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,ze=/^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,oe=/^( {2,}|\\\\)\\n(?!\\s*$)/,Ae=/^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/,D=/[\\p{P}\\p{S}]/u,K=/[\\s\\p{P}\\p{S}]/u,ae=/[^\\s\\p{P}\\p{S}]/u,Ce=k(/^((?![*_])punctSpace)/,\"u\").replace(/punctSpace/g,K).getRegex(),le=/(?!~)[\\p{P}\\p{S}]/u,Ie=/(?!~)[\\s\\p{P}\\p{S}]/u,Ee=/(?:[^\\s\\p{P}\\p{S}]|~)/u,Be=k(/link|precode-code|html/,\"g\").replace(\"link\",/\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)/).replace(\"precode-\",me?\"(?<!`)()\":\"(^^|[^`])\").replace(\"code\",/(?<b>`+)[^`]+\\k<b>(?!`)/).replace(\"html\",/<(?! )[^<>]*?>/).getRegex(),ue=/^(?:\\*+(?:((?!\\*)punct)|[^\\s*]))|^_+(?:((?!_)punct)|([^\\s_]))/,qe=k(ue,\"u\").replace(/punct/g,D).getRegex(),ve=k(ue,\"u\").replace(/punct/g,le).getRegex(),pe=\"^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\\\*)punct(\\\\*+)(?=[\\\\s]|$)|notPunctSpace(\\\\*+)(?!\\\\*)(?=punctSpace|$)|(?!\\\\*)punctSpace(\\\\*+)(?=notPunctSpace)|[\\\\s](\\\\*+)(?!\\\\*)(?=punct)|(?!\\\\*)punct(\\\\*+)(?!\\\\*)(?=punct)|notPunctSpace(\\\\*+)(?=notPunctSpace)\",De=k(pe,\"gu\").replace(/notPunctSpace/g,ae).replace(/punctSpace/g,K).replace(/punct/g,D).getRegex(),He=k(pe,\"gu\").replace(/notPunctSpace/g,Ee).replace(/punctSpace/g,Ie).replace(/punct/g,le).getRegex(),Ze=k(\"^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)\",\"gu\").replace(/notPunctSpace/g,ae).replace(/punctSpace/g,K).replace(/punct/g,D).getRegex(),Ge=k(/\\\\(punct)/,\"gu\").replace(/punct/g,D).getRegex(),Ne=k(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/).replace(\"scheme\",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(\"email\",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Qe=k(j).replace(\"(?:-->|$)\",\"-->\").getRegex(),Fe=k(\"^comment|^</[a-zA-Z][\\\\w:-]*\\\\s*>|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>|^<\\\\?[\\\\s\\\\S]*?\\\\?>|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\").replace(\"comment\",Qe).replace(\"attribute\",/\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/).getRegex(),q=/(?:\\[(?:\\\\[\\s\\S]|[^\\[\\]\\\\])*\\]|\\\\[\\s\\S]|`+[^`]*?`+(?!`)|[^\\[\\]\\\\`])*?/,je=k(/^!?\\[(label)\\]\\(\\s*(href)(?:(?:[ \\t]*(?:\\n[ \\t]*)?)(title))?\\s*\\)/).replace(\"label\",q).replace(\"href\",/<(?:\\\\.|[^\\n<>\\\\])+>|[^ \\t\\n\\x00-\\x1f]*/).replace(\"title\",/\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/).getRegex(),ce=k(/^!?\\[(label)\\]\\[(ref)\\]/).replace(\"label\",q).replace(\"ref\",F).getRegex(),he=k(/^!?\\[(ref)\\](?:\\[\\])?/).replace(\"ref\",F).getRegex(),Ue=k(\"reflink|nolink(?!\\\\()\",\"g\").replace(\"reflink\",ce).replace(\"nolink\",he).getRegex(),ne=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,W={_backpedal:C,anyPunctuation:Ge,autolink:Ne,blockSkip:Be,br:oe,code:ze,del:C,emStrongLDelim:qe,emStrongRDelimAst:De,emStrongRDelimUnd:Ze,escape:Me,link:je,nolink:he,punctuation:Ce,reflink:ce,reflinkSearch:Ue,tag:Fe,text:Ae,url:C},Ke={...W,link:k(/^!?\\[(label)\\]\\((.*?)\\)/).replace(\"label\",q).getRegex(),reflink:k(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/).replace(\"label\",q).getRegex()},G={...W,emStrongRDelimAst:He,emStrongLDelim:ve,url:k(/^((?:protocol):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/).replace(\"protocol\",ne).replace(\"email\",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,del:/^(~~?)(?=[^\\s~])((?:\\\\[\\s\\S]|[^\\\\])*?(?:\\\\[\\s\\S]|[^\\s~\\\\]))\\1(?=[^~]|$)/,text:k(/^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|protocol:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/).replace(\"protocol\",ne).getRegex()},We={...G,br:k(oe).replace(\"{2,}\",\"*\").getRegex(),text:k(G.text).replace(\"\\\\b_\",\"\\\\b_| {2,}\\\\n\").replace(/\\{2,\\}/g,\"*\").getRegex()},E={normal:U,gfm:_e,pedantic:Le},M={normal:W,gfm:G,breaks:We,pedantic:Ke};var Xe={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},ke=u=>Xe[u];function w(u,e){if(e){if(m.escapeTest.test(u))return u.replace(m.escapeReplace,ke)}else if(m.escapeTestNoEncode.test(u))return u.replace(m.escapeReplaceNoEncode,ke);return u}function X(u){try{u=encodeURI(u).replace(m.percentDecode,\"%\")}catch{return null}return u}function J(u,e){let t=u.replace(m.findPipe,(i,s,a)=>{let o=!1,l=s;for(;--l>=0&&a[l]===\"\\\\\";)o=!o;return o?\"|\":\" |\"}),n=t.split(m.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push(\"\");for(;r<n.length;r++)n[r]=n[r].trim().replace(m.slashPipe,\"|\");return n}function z(u,e,t){let n=u.length;if(n===0)return\"\";let r=0;for(;r<n;){let i=u.charAt(n-r-1);if(i===e&&!t)r++;else if(i!==e&&t)r++;else break}return u.slice(0,n-r)}function de(u,e){if(u.indexOf(e[1])===-1)return-1;let t=0;for(let n=0;n<u.length;n++)if(u[n]===\"\\\\\")n++;else if(u[n]===e[0])t++;else if(u[n]===e[1]&&(t--,t<0))return n;return t>0?-2:-1}function ge(u,e,t,n,r){let i=e.href,s=e.title||null,a=u[1].replace(r.other.outputLinkReplace,\"$1\");n.state.inLink=!0;let o={type:u[0].charAt(0)===\"!\"?\"image\":\"link\",raw:t,href:i,title:s,text:a,tokens:n.inlineTokens(a)};return n.state.inLink=!1,o}function Je(u,e,t){let n=u.match(t.other.indentCodeCompensation);if(n===null)return e;let r=n[1];return e.split(`\n`).map(i=>{let s=i.match(t.other.beginningSpace);if(s===null)return i;let[a]=s;return a.length>=r.length?i.slice(r.length):i}).join(`\n`)}var y=class{options;rules;lexer;constructor(e){this.options=e||T}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:\"space\",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,\"\");return{type:\"code\",raw:t[0],codeBlockStyle:\"indented\",text:this.options.pedantic?n:z(n,`\n`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=Je(n,t[3]||\"\",this.rules);return{type:\"code\",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,\"$1\"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=z(n,\"#\");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:\"heading\",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:\"hr\",raw:z(t[0],`\n`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=z(t[0],`\n`).split(`\n`),r=\"\",i=\"\",s=[];for(;n.length>0;){let a=!1,o=[],l;for(l=0;l<n.length;l++)if(this.rules.other.blockquoteStart.test(n[l]))o.push(n[l]),a=!0;else if(!a)o.push(n[l]);else break;n=n.slice(l);let p=o.join(`\n`),c=p.replace(this.rules.other.blockquoteSetextReplace,`\n $1`).replace(this.rules.other.blockquoteSetextReplace2,\"\");r=r?`${r}\n${p}`:p,i=i?`${i}\n${c}`:c;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,s,!0),this.lexer.state.top=g,n.length===0)break;let h=s.at(-1);if(h?.type===\"code\")break;if(h?.type===\"blockquote\"){let R=h,f=R.raw+`\n`+n.join(`\n`),O=this.blockquote(f);s[s.length-1]=O,r=r.substring(0,r.length-R.raw.length)+O.raw,i=i.substring(0,i.length-R.text.length)+O.text;break}else if(h?.type===\"list\"){let R=h,f=R.raw+`\n`+n.join(`\n`),O=this.list(f);s[s.length-1]=O,r=r.substring(0,r.length-h.raw.length)+O.raw,i=i.substring(0,i.length-R.raw.length)+O.raw,n=f.substring(s.at(-1).raw.length).split(`\n`);continue}}return{type:\"blockquote\",raw:r,tokens:s,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:\"list\",raw:\"\",ordered:r,start:r?+n.slice(0,-1):\"\",loose:!1,items:[]};n=r?`\\\\d{1,9}\\\\${n.slice(-1)}`:`\\\\${n}`,this.options.pedantic&&(n=r?n:\"[*+-]\");let s=this.rules.other.listItemRegex(n),a=!1;for(;e;){let l=!1,p=\"\",c=\"\";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;p=t[0],e=e.substring(p.length);let g=t[2].split(`\n`,1)[0].replace(this.rules.other.listReplaceTabs,O=>\" \".repeat(3*O.length)),h=e.split(`\n`,1)[0],R=!g.trim(),f=0;if(this.options.pedantic?(f=2,c=g.trimStart()):R?f=t[1].length+1:(f=t[2].search(this.rules.other.nonSpaceChar),f=f>4?1:f,c=g.slice(f),f+=t[1].length),R&&this.rules.other.blankLine.test(h)&&(p+=h+`\n`,e=e.substring(h.length+1),l=!0),!l){let O=this.rules.other.nextBulletRegex(f),V=this.rules.other.hrRegex(f),Y=this.rules.other.fencesBeginRegex(f),ee=this.rules.other.headingBeginRegex(f),fe=this.rules.other.htmlBeginRegex(f);for(;e;){let H=e.split(`\n`,1)[0],A;if(h=H,this.options.pedantic?(h=h.replace(this.rules.other.listReplaceNesting,\" \"),A=h):A=h.replace(this.rules.other.tabCharGlobal,\" \"),Y.test(h)||ee.test(h)||fe.test(h)||O.test(h)||V.test(h))break;if(A.search(this.rules.other.nonSpaceChar)>=f||!h.trim())c+=`\n`+A.slice(f);else{if(R||g.replace(this.rules.other.tabCharGlobal,\" \").search(this.rules.other.nonSpaceChar)>=4||Y.test(g)||ee.test(g)||V.test(g))break;c+=`\n`+h}!R&&!h.trim()&&(R=!0),p+=H+`\n`,e=e.substring(H.length+1),g=A.slice(f)}}i.loose||(a?i.loose=!0:this.rules.other.doubleBlankLine.test(p)&&(a=!0)),i.items.push({type:\"list_item\",raw:p,task:!!this.options.gfm&&this.rules.other.listIsTask.test(c),loose:!1,text:c,tokens:[]}),i.raw+=p}let o=i.items.at(-1);if(o)o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let l of i.items){if(this.lexer.state.top=!1,l.tokens=this.lexer.blockTokens(l.text,[]),l.task){if(l.text=l.text.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0]?.type===\"text\"||l.tokens[0]?.type===\"paragraph\"){l.tokens[0].raw=l.tokens[0].raw.replace(this.rules.other.listReplaceTask,\"\"),l.tokens[0].text=l.tokens[0].text.replace(this.rules.other.listReplaceTask,\"\");for(let c=this.lexer.inlineQueue.length-1;c>=0;c--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)){this.lexer.inlineQueue[c].src=this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask,\"\");break}}let p=this.rules.other.listTaskCheckbox.exec(l.raw);if(p){let c={type:\"checkbox\",raw:p[0]+\" \",checked:p[0]!==\"[ ]\"};l.checked=c.checked,i.loose?l.tokens[0]&&[\"paragraph\",\"text\"].includes(l.tokens[0].type)&&\"tokens\"in l.tokens[0]&&l.tokens[0].tokens?(l.tokens[0].raw=c.raw+l.tokens[0].raw,l.tokens[0].text=c.raw+l.tokens[0].text,l.tokens[0].tokens.unshift(c)):l.tokens.unshift({type:\"paragraph\",raw:c.raw,text:c.raw,tokens:[c]}):l.tokens.unshift(c)}}if(!i.loose){let p=l.tokens.filter(g=>g.type===\"space\"),c=p.length>0&&p.some(g=>this.rules.other.anyLine.test(g.raw));i.loose=c}}if(i.loose)for(let l of i.items){l.loose=!0;for(let p of l.tokens)p.type===\"text\"&&(p.type=\"paragraph\")}return i}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:\"html\",block:!0,raw:t[0],pre:t[1]===\"pre\"||t[1]===\"script\"||t[1]===\"style\",text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,\" \"),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,\"$1\").replace(this.rules.inline.anyPunctuation,\"$1\"):\"\",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,\"$1\"):t[3];return{type:\"def\",tag:n,raw:t[0],href:r,title:i}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=J(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,\"\").split(\"|\"),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,\"\").split(`\n`):[],s={type:\"table\",raw:t[0],header:[],align:[],rows:[]};if(n.length===r.length){for(let a of r)this.rules.other.tableAlignRight.test(a)?s.align.push(\"right\"):this.rules.other.tableAlignCenter.test(a)?s.align.push(\"center\"):this.rules.other.tableAlignLeft.test(a)?s.align.push(\"left\"):s.align.push(null);for(let a=0;a<n.length;a++)s.header.push({text:n[a],tokens:this.lexer.inline(n[a]),header:!0,align:s.align[a]});for(let a of i)s.rows.push(J(a,s.header.length).map((o,l)=>({text:o,tokens:this.lexer.inline(o),header:!1,align:s.align[l]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:\"heading\",raw:t[0],depth:t[2].charAt(0)===\"=\"?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`\n`?t[1].slice(0,-1):t[1];return{type:\"paragraph\",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:\"text\",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:\"escape\",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:\"html\",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=z(n.slice(0,-1),\"\\\\\");if((n.length-s.length)%2===0)return}else{let s=de(t[2],\"()\");if(s===-2)return;if(s>-1){let o=(t[0].indexOf(\"!\")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,o).trim(),t[3]=\"\"}}let r=t[2],i=\"\";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):\"\";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),ge(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,\"$1\"),title:i&&i.replace(this.rules.inline.anyPunctuation,\"$1\")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,\" \"),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:\"text\",raw:s,text:s}}return ge(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=\"\"){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(r[1]||r[2]||\"\")||!n||this.rules.inline.punctuation.exec(n)){let s=[...r[0]].length-1,a,o,l=s,p=0,c=r[0][0]===\"*\"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+s);(r=c.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){l+=o;continue}else if((r[5]||r[6])&&s%3&&!((s+o)%3)){p+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+p);let g=[...r[0]][0].length,h=e.slice(0,s+r.index+g+o);if(Math.min(s,o)%2){let f=h.slice(1,-1);return{type:\"em\",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}let R=h.slice(2,-2);return{type:\"strong\",raw:h,text:R,tokens:this.lexer.inlineTokens(R)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal,\" \"),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:\"codespan\",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:\"br\",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:\"del\",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]===\"@\"?(n=t[1],r=\"mailto:\"+n):(n=t[1],r=n),{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]===\"@\")n=t[0],r=\"mailto:\"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??\"\";while(i!==t[0]);n=t[0],t[1]===\"www.\"?r=\"http://\"+t[0]:r=t[0]}return{type:\"link\",raw:t[0],text:n,href:r,tokens:[{type:\"text\",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:\"text\",raw:t[0],text:t[0],escaped:n}}}};var x=class u{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||T,this.options.tokenizer=this.options.tokenizer||new y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:m,block:E.normal,inline:M.normal};this.options.pedantic?(t.block=E.pedantic,t.inline=M.pedantic):this.options.gfm&&(t.block=E.gfm,this.options.breaks?t.inline=M.breaks:t.inline=M.gfm),this.tokenizer.rules=t}static get rules(){return{block:E,inline:M}}static lex(e,t){return new u(t).lex(e)}static lexInline(e,t){return new u(t).inlineTokens(e)}lex(e){e=e.replace(m.carriageReturn,`\n`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let n=this.inlineQueue[t];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){for(this.options.pedantic&&(e=e.replace(m.tabCharGlobal,\" \").replace(m.spaceLine,\"\"));e;){let r;if(this.options.extensions?.block?.some(s=>(r=s.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let s=t.at(-1);r.raw.length===1&&s!==void 0?s.raw+=`\n`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"paragraph\"||s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title},t.push(r));continue}if(r=this.tokenizer.table(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.lheading(e)){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startBlock){let s=1/0,a=e.slice(1),o;this.options.extensions.startBlock.forEach(l=>{o=l.call({lexer:this},a),typeof o==\"number\"&&o>=0&&(s=Math.min(s,o))}),s<1/0&&s>=0&&(i=e.substring(0,s+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i))){let s=t.at(-1);n&&s?.type===\"paragraph\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r),n=i.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let s=t.at(-1);s?.type===\"text\"?(s.raw+=(s.raw.endsWith(`\n`)?\"\":`\n`)+r.raw,s.text+=`\n`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(r);continue}if(e){let s=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let n=e,r=null;if(this.tokens.links){let o=Object.keys(this.tokens.links);if(o.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)o.includes(r[0].slice(r[0].lastIndexOf(\"[\")+1,-1))&&(n=n.slice(0,r.index)+\"[\"+\"a\".repeat(r[0].length-2)+\"]\"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,r.index)+\"++\"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+\"[\"+\"a\".repeat(r[0].length-i-2)+\"]\"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,a=\"\";for(;e;){s||(a=\"\"),s=!1;let o;if(this.options.extensions?.inline?.some(p=>(o=p.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let p=t.at(-1);o.type===\"text\"&&p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,a)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let l=e;if(this.options.extensions?.startInline){let p=1/0,c=e.slice(1),g;this.options.extensions.startInline.forEach(h=>{g=h.call({lexer:this},c),typeof g==\"number\"&&g>=0&&(p=Math.min(p,g))}),p<1/0&&p>=0&&(l=e.substring(0,p+1))}if(o=this.tokenizer.inlineText(l)){e=e.substring(o.raw.length),o.raw.slice(-1)!==\"_\"&&(a=o.raw.slice(-1)),s=!0;let p=t.at(-1);p?.type===\"text\"?(p.raw+=o.raw,p.text+=o.text):t.push(o);continue}if(e){let p=\"Infinite loop on byte: \"+e.charCodeAt(0);if(this.options.silent){console.error(p);break}else throw new Error(p)}}return t}};var P=class{options;parser;constructor(e){this.options=e||T}space(e){return\"\"}code({text:e,lang:t,escaped:n}){let r=(t||\"\").match(m.notSpaceStart)?.[0],i=e.replace(m.endingNewline,\"\")+`\n`;return r?'<pre><code class=\"language-'+w(r)+'\">'+(n?i:w(i,!0))+`</code></pre>\n`:\"<pre><code>\"+(n?i:w(i,!0))+`</code></pre>\n`}blockquote({tokens:e}){return`<blockquote>\n${this.parser.parse(e)}</blockquote>\n`}html({text:e}){return e}def(e){return\"\"}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>\n`}hr(e){return`<hr>\n`}list(e){let t=e.ordered,n=e.start,r=\"\";for(let a=0;a<e.items.length;a++){let o=e.items[a];r+=this.listitem(o)}let i=t?\"ol\":\"ul\",s=t&&n!==1?' start=\"'+n+'\"':\"\";return\"<\"+i+s+`>\n`+r+\"</\"+i+`>\n`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>\n`}checkbox({checked:e}){return\"<input \"+(e?'checked=\"\" ':\"\")+'disabled=\"\" type=\"checkbox\"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>\n`}table(e){let t=\"\",n=\"\";for(let i=0;i<e.header.length;i++)n+=this.tablecell(e.header[i]);t+=this.tablerow({text:n});let r=\"\";for(let i=0;i<e.rows.length;i++){let s=e.rows[i];n=\"\";for(let a=0;a<s.length;a++)n+=this.tablecell(s[a]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>\n<thead>\n`+t+`</thead>\n`+r+`</table>\n`}tablerow({text:e}){return`<tr>\n${e}</tr>\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?\"th\":\"td\";return(e.align?`<${n} align=\"${e.align}\">`:`<${n}>`)+t+`</${n}>\n`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${w(e,!0)}</code>`}br(e){return\"<br>\"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=X(e);if(i===null)return r;e=i;let s='<a href=\"'+e+'\"';return t&&(s+=' title=\"'+w(t)+'\"'),s+=\">\"+r+\"</a>\",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=X(e);if(i===null)return w(n);e=i;let s=`<img src=\"${e}\" alt=\"${n}\"`;return t&&(s+=` title=\"${w(t)}\"`),s+=\">\",s}text(e){return\"tokens\"in e&&e.tokens?this.parser.parseInline(e.tokens):\"escaped\"in e&&e.escaped?e.text:w(e.text)}};var $=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return\"\"+e}image({text:e}){return\"\"+e}br(){return\"\"}checkbox({raw:e}){return e}};var b=class u{options;renderer;textRenderer;constructor(e){this.options=e||T,this.options.renderer=this.options.renderer||new P,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $}static parse(e,t){return new u(t).parse(e)}static parseInline(e,t){return new u(t).parseInline(e)}parse(e){let t=\"\";for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let s=r,a=this.options.extensions.renderers[s.type].call({parser:this},s);if(a!==!1||![\"space\",\"hr\",\"heading\",\"code\",\"table\",\"blockquote\",\"list\",\"html\",\"def\",\"paragraph\",\"text\"].includes(s.type)){t+=a||\"\";continue}}let i=r;switch(i.type){case\"space\":{t+=this.renderer.space(i);break}case\"hr\":{t+=this.renderer.hr(i);break}case\"heading\":{t+=this.renderer.heading(i);break}case\"code\":{t+=this.renderer.code(i);break}case\"table\":{t+=this.renderer.table(i);break}case\"blockquote\":{t+=this.renderer.blockquote(i);break}case\"list\":{t+=this.renderer.list(i);break}case\"checkbox\":{t+=this.renderer.checkbox(i);break}case\"html\":{t+=this.renderer.html(i);break}case\"def\":{t+=this.renderer.def(i);break}case\"paragraph\":{t+=this.renderer.paragraph(i);break}case\"text\":{t+=this.renderer.text(i);break}default:{let s='Token with \"'+i.type+'\" type was not found.';if(this.options.silent)return console.error(s),\"\";throw new Error(s)}}}return t}parseInline(e,t=this.renderer){let n=\"\";for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||![\"escape\",\"html\",\"link\",\"image\",\"strong\",\"em\",\"codespan\",\"br\",\"del\",\"text\"].includes(i.type)){n+=a||\"\";continue}}let s=i;switch(s.type){case\"escape\":{n+=t.text(s);break}case\"html\":{n+=t.html(s);break}case\"link\":{n+=t.link(s);break}case\"image\":{n+=t.image(s);break}case\"checkbox\":{n+=t.checkbox(s);break}case\"strong\":{n+=t.strong(s);break}case\"em\":{n+=t.em(s);break}case\"codespan\":{n+=t.codespan(s);break}case\"br\":{n+=t.br(s);break}case\"del\":{n+=t.del(s);break}case\"text\":{n+=t.text(s);break}default:{let a='Token with \"'+s.type+'\" type was not found.';if(this.options.silent)return console.error(a),\"\";throw new Error(a)}}}return n}};var S=class{options;block;constructor(e){this.options=e||T}static passThroughHooks=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\",\"emStrongMask\"]);static passThroughHooksRespectAsync=new Set([\"preprocess\",\"postprocess\",\"processAllTokens\"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?x.lex:x.lexInline}provideParser(){return this.block?b.parse:b.parseInline}};var B=class{defaults=L();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=b;Renderer=P;TextRenderer=$;Lexer=x;Tokenizer=y;Hooks=S;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case\"table\":{let i=r;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,t));for(let s of i.rows)for(let a of s)n=n.concat(this.walkTokens(a.tokens,t));break}case\"list\":{let i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{let i=r;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error(\"extension name required\");if(\"renderer\"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...a){let o=i.renderer.apply(this,a);return o===!1&&(o=s.apply(this,a)),o}:t.renderers[i.name]=i.renderer}if(\"tokenizer\"in i){if(!i.level||i.level!==\"block\"&&i.level!==\"inline\")throw new Error(\"extension level must be 'block' or 'inline'\");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level===\"block\"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level===\"inline\"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}\"childTokens\"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new P(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if([\"options\",\"parser\"].includes(s))continue;let a=s,o=n.renderer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c||\"\"}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new y(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if([\"options\",\"rules\",\"lexer\"].includes(s))continue;let a=s,o=n.tokenizer[a],l=i[a];i[a]=(...p)=>{let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new S;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if([\"options\",\"block\"].includes(s))continue;let a=s,o=n.hooks[a],l=i[a];S.passThroughHooks.has(s)?i[a]=p=>{if(this.defaults.async&&S.passThroughHooksRespectAsync.has(s))return(async()=>{let g=await o.call(i,p);return l.call(i,g)})();let c=o.call(i,p);return l.call(i,c)}:i[a]=(...p)=>{if(this.defaults.async)return(async()=>{let g=await o.apply(i,p);return g===!1&&(g=await l.apply(i,p)),g})();let c=o.apply(i,p);return c===!1&&(c=l.apply(i,p)),c}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(a){let o=[];return o.push(s.call(this,a)),i&&(o=o.concat(i.call(this,a))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return x.lex(e,t??this.defaults)}parser(e,t){return b.parse(e,t??this.defaults)}parseMarkdown(e){return(n,r)=>{let i={...r},s={...this.defaults,...i},a=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&i.async===!1)return a(new Error(\"marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.\"));if(typeof n>\"u\"||n===null)return a(new Error(\"marked(): input parameter is undefined or null\"));if(typeof n!=\"string\")return a(new Error(\"marked(): input parameter is of type \"+Object.prototype.toString.call(n)+\", string expected\"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let o=s.hooks?await s.hooks.preprocess(n):n,p=await(s.hooks?await s.hooks.provideLexer():e?x.lex:x.lexInline)(o,s),c=s.hooks?await s.hooks.processAllTokens(p):p;s.walkTokens&&await Promise.all(this.walkTokens(c,s.walkTokens));let h=await(s.hooks?await s.hooks.provideParser():e?b.parse:b.parseInline)(c,s);return s.hooks?await s.hooks.postprocess(h):h})().catch(a);try{s.hooks&&(n=s.hooks.preprocess(n));let l=(s.hooks?s.hooks.provideLexer():e?x.lex:x.lexInline)(n,s);s.hooks&&(l=s.hooks.processAllTokens(l)),s.walkTokens&&this.walkTokens(l,s.walkTokens);let c=(s.hooks?s.hooks.provideParser():e?b.parse:b.parseInline)(l,s);return s.hooks&&(c=s.hooks.postprocess(c)),c}catch(o){return a(o)}}}onError(e,t){return n=>{if(n.message+=`\nPlease report this to https://github.com/markedjs/marked.`,e){let r=\"<p>An error occurred:</p><pre>\"+w(n.message+\"\",!0)+\"</pre>\";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}};var _=new B;function d(u,e){return _.parse(u,e)}d.options=d.setOptions=function(u){return _.setOptions(u),d.defaults=_.defaults,Z(d.defaults),d};d.getDefaults=L;d.defaults=T;d.use=function(...u){return _.use(...u),d.defaults=_.defaults,Z(d.defaults),d};d.walkTokens=function(u,e){return _.walkTokens(u,e)};d.parseInline=_.parseInline;d.Parser=b;d.parser=b.parse;d.Renderer=P;d.TextRenderer=$;d.Lexer=x;d.lexer=x.lex;d.Tokenizer=y;d.Hooks=S;d.parse=d;var Dt=d.options,Ht=d.setOptions,Zt=d.use,Gt=d.walkTokens,Nt=d.parseInline,Qt=d,Ft=b.parse,jt=x.lex;export{S as Hooks,x as Lexer,B as Marked,b as Parser,P as Renderer,$ as TextRenderer,y as Tokenizer,T as defaults,L as getDefaults,jt as lexer,d as marked,Dt as options,Qt as parse,Nt as parseInline,Ft as parser,Ht as setOptions,Zt as use,Gt as walkTokens};\n//# sourceMappingURL=marked.esm.js.map\n","import '../styles/main.css';\nimport { marked } from 'marked';\nimport Toolbar from './toolbar/Toolbar.js';\nimport Preview from './Preview.js';\nimport UndoRedoManager from '../utils/UndoRedoManager.js';\nimport IndentManager from '../utils/IndentManager.js';\n\nmarked.setOptions({\n breaks: true\n});\n\nclass MarkdownEditor {\n constructor(selector, options = {}) {\n this.usertextarea = typeof selector === 'string' ? document.querySelector(selector) : selector;\n this.options = options;\n this.preview = this.options.toolbar.includes('preview');\n this.init();\n this.undoRedoManager = new UndoRedoManager(this);\n this.indentManager = new IndentManager(this.usertextarea, () => this.render());\n }\n\n init() {\n this.createEditor();\n if (this.options.toolbar) this.addToolbar();\n }\n\n createEditor() {\n if (!this.isTextareaValid()) return;\n\n this.applyDefaultAttributes();\n this.buildEditorLayout();\n this.addInputListener();\n this.render();\n }\n\n isTextareaValid() {\n return this.usertextarea.tagName === 'TEXTAREA';\n }\n\n applyDefaultAttributes() {\n this.usertextarea.classList.add(\n \"fj:textarea\",\n \"fj:focus:ring-0\",\n \"fj:focus:outline-0\",\n \"fj:border-0\",\n \"fj:p-1.5\",\n \"fj:max-w-full\",\n \"fj:size-full\",\n \"fj:bg-transparent\",\n \"fj:outline-0\",\n \"fj:appearance-none\",\n \"fj:prose\",\n \"fj:prose-sm\",\n \"fj:md:prose-base\",\n \"fj:dark:prose-invert\",\n \"fj:overflow-y-auto\",\n );\n if (!this.usertextarea.hasAttribute('placeholder')) {\n this.usertextarea.placeholder = this.options.placeholder || 'Write your markdown...';\n }\n }\n\n buildEditorLayout() {\n this.editorContainer = document.createElement('div');\n this.editorContainer.className = `\n markdown-editor-wrapper\n fj:surface\n fj:surface-1\n fj:surface-outline\n fj:surface-rounded\n fj:overflow-hidden\n `;\n this.usertextarea.parentNode.insertBefore(this.editorContainer, this.usertextarea);\n\n this.markdownEditorDiv = document.createElement('div');\n this.markdownEditorDiv.className = `editor-layout fj:relative`;\n this.editorContainer.appendChild(this.markdownEditorDiv);\n\n this.addTextareaWrapper();\n if (this.preview) this.addPreviewWrapper();\n }\n\n addTextareaWrapper() {\n const textareaContainer = document.createElement('div');\n textareaContainer.className = `\n textarea-wrapper\n fj:surface\n fj:h-full\n fj:p-2\n fj:grid\n fj:after:px-3.5\n fj:after:py-2.5\n fj:after:text-inherit\n fj:[&>textarea]:resize-none\n fj:[&>textarea]:[grid-area:1/1/2/2]\n fj:after:[grid-area:1/1/2/2]\n fj:after:whitespace-pre-wrap\n fj:after:invisible\n fj:after:content-[attr(data-cloned-val)_'_']\n fj:after:border\n `;\n textareaContainer.appendChild(this.usertextarea);\n this.markdownEditorDiv.appendChild(textareaContainer);\n }\n\n \n\n addPreviewWrapper() {\n const previewInstance = new Preview(this.markdownEditorDiv);\n this.previewContent = previewInstance.getPreviewContent();\n }\n\n addInputListener() {\n this.usertextarea.addEventListener('input', () => this.render());\n\n this.usertextarea.addEventListener('scroll', () => {\n const textarea = this.usertextarea;\n const previewPane = this.previewContent;\n \n // Calculate the proportion of the textarea that has been scrolled\n const textareaScrollRatio = textarea.scrollTop / (textarea.scrollHeight - textarea.clientHeight);\n \n // Apply the same scroll ratio to the preview pane\n previewPane.scrollTop = textareaScrollRatio * (previewPane.scrollHeight - previewPane.clientHeight);\n });\n }\n\n addToolbar() {\n new Toolbar(this, this.options.toolbar || ['bold', 'italic', 'strikethrough']);\n }\n\n insertText(text) {\n const { selectionStart, selectionEnd } = this.usertextarea;\n const value = this.usertextarea.value;\n this.usertextarea.value = `${value.substring(0, selectionStart)}${text}${value.substring(selectionEnd)}`;\n this.usertextarea.focus();\n this.usertextarea.setSelectionRange(selectionStart, selectionStart + text.length);\n\n // Scroll the textarea to the inserted text\n this.scrollToView();\n\n this.render();\n }\n\n scrollToView() {\n const textarea = this.usertextarea;\n \n // Calculate the position of the inserted text\n const selectionStart = textarea.selectionStart;\n \n // Get the line height (height of each row of text)\n const lineHeight = parseInt(window.getComputedStyle(textarea).lineHeight);\n \n // Get how many rows fit into the visible area of the textarea\n const rowsInView = Math.floor(textarea.clientHeight / lineHeight);\n \n // Calculate the current line number of the selectionStart\n const currentLine = Math.floor(selectionStart / textarea.cols);\n \n // Scroll to the line number that places the inserted text in the center\n const targetScrollTop = (currentLine - Math.floor(rowsInView / 2)) * lineHeight;\n \n // Adjust scrollTop to center the cursor's line in the view\n textarea.scrollTop = targetScrollTop;\n }\n \n\n render() {\n const html = marked(this.usertextarea.value);\n if (this.preview) this.previewContent.innerHTML = html;\n }\n}\n\nexport default MarkdownEditor;"],"names":["root","factory","exports","module","define","amd","Object","self","this","Preview","container","_classCallCheck","previewContainer","document","createElement","className","previewContent","appendChild","key","value","MakeTool","editor","title","defaultText","concat","button","createButton","iconHtml","_this","btn","btnClass","replace","toLowerCase","innerHTML","type","addEventListener","event","applySyntax","btnWrapper","_MakeTool","BoldTool","_callSuper","_inherits","textarea","usertextarea","selectionStart","selectionEnd","selectedText","substring","syntax","newText","startsWith","endsWith","slice","insertText","ItalicTool","StrikethroughTool","ULTool","OLTool","PreviewTool","preview","_this$editor$previewC","previewWrapper","parentNode","editorDiv","markdownEditorDiv","enablePreview","disablePreview","classList","toggle","remove","querySelector","render","querySelectorAll","forEach","contains","add","CheckListTool","BlockQuoteTool","modal","size","bodyHTML","mde","target","closest","modalHTML","insertAdjacentHTML","showModal","LinkTool","linkRegex","test","linkText","match","setRangeText","modalElement","e","preventDefault","linkInput","linkTextInput","validity","valid","link","close","reportValidity","HeadingTool","currentHeading","cleanText","currentLevel","headingCount","length","repeat","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","_defineProperties","_toPropertyKey","_typeof","toPrimitive","String","Number","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","valueOf","_setPrototypeOf","ImageTool","config","undefined","fileInputConfig","fileInput","altInputConfig","altInput","acceptFormats","accept","map","join","altRequired","required","uploadUrl","fileInputTag","imageRegex","altText","fileInputSelector","urlInputSelector","submitBtnSelector","_callee","file","formData","res","result","_t","_context","files","disabled","textContent","FormData","append","fetch","method","body","json","success","path","alert","console","error","imgLinkInput","imgLinkAltInput","imgLink","imgLinkAlt","UndoTool","undoRedoManager","undo","RedoTool","redo","IndentTool","indentManager","indent","OutdentTool","outdent","Toolbar","options","toolbar","init","toolMapping","heading","ul","ol","checklist","bold","italic","strikethrough","blockquote","image","tool","ToolClass","toolName","keys","toolInstance","includes","previewToolInstance","editorContainer","insertBefore","IndentManager","renderCallback","pairs","shiftKey","_triggerUpdate","autoIndent","handleBackspace","handlePairs","char","values","newPos","setSelectionRange","open","newValue","before","after","charBefore","charAfter","lastNewline","lastIndexOf","insertion","tab","dispatchEvent","Event","bubbles","startPos","endPos","indexOf","lines","split","indentedText","line","_applyChange","removedFromFirst","totalRemoved","unindentedText","index","Math","max","newStart","newEnd","Diff","diff","oldStr","newStr","callback","oldString","castInput","newString","oldTokens","removeEmpty","tokenize","newTokens","diffWithOptionsObj","_a","postProcess","setTimeout","newLen","oldLen","editLength","maxEditLength","min","maxExecutionTime","timeout","Infinity","abortAfterTimestamp","Date","now","bestPath","oldPos","lastComponent","extractCommon","buildValues","minDiagonalToConsider","maxDiagonalToConsider","execEditLength","diagonalPath","basePath","removePath","addPath","canAdd","addPathNewPos","canRemove","addToPath","exec","ret","added","removed","oldPosInc","last","oneChangePerToken","count","previousComponent","commonCount","equals","left","right","comparator","ignoreCase","array","push","Array","from","chars","changeObjects","useLongestToken","components","nextComponent","reverse","componentLen","componentPos","component","oldValue","characterDiff","UndoRedoManager","undoStack","redoStack","lastValue","lastSelection","debounceDelay","maxStackSize","_debounceTimer","_bindEvents","_onKeyDown","_updateLastSelection","inputType","_onInput","_saveState","modifier","metaKey","ctrlKey","isZ","isY","isShift","hasSelection","isDeletiveKey","_this2","clearTimeout","lastChar","selection","_objectSpread","shift","lastStep","pop","prevValue","_revertDiff","_restoreState","redoStep","_applyDiff","part","currentValue","focus","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","get","obj","prop","hasOwnProperty","L","async","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","T","Z","C","k","source","s","caret","getRegex","RegExp","me","codeRemoveIndent","outputLinkReplace","indentCodeCompensation","beginningSpace","endingHash","startingSpaceChar","endingSpaceChar","nonSpaceChar","newLineCharGlobal","tabCharGlobal","multipleSpaceGlobal","blankLine","doubleBlankLine","blockquoteStart","blockquoteSetextReplace","blockquoteSetextReplace2","listReplaceTabs","listReplaceNesting","listIsTask","listReplaceTask","listTaskCheckbox","anyLine","hrefBrackets","tableDelimiter","tableAlignChars","tableRowBlankLine","tableAlignRight","tableAlignCenter","tableAlignLeft","startATag","endATag","startPreScriptTag","endPreScriptTag","startAngleBracket","endAngleBracket","pedanticHrefTitle","unicodeAlphaNumeric","escapeTest","escapeReplace","escapeTestNoEncode","escapeReplaceNoEncode","unescapeTest","percentDecode","findPipe","splitPipe","slashPipe","carriageReturn","spaceLine","notSpaceStart","endingNewline","listItemRegex","nextBulletRegex","hrRegex","fencesBeginRegex","headingBeginRegex","htmlBeginRegex","I","N","re","se","Oe","Q","F","ye","Pe","j","Se","ie","U","code","def","fences","hr","html","lheading","list","newline","paragraph","table","text","te","_e","Le","oe","D","K","ae","Ce","le","Be","ue","qe","ve","pe","De","He","Ze","Ge","Ne","Qe","Fe","q","je","ce","he","ne","W","_backpedal","anyPunctuation","autolink","blockSkip","br","del","emStrongLDelim","emStrongRDelimAst","emStrongRDelimUnd","escape","nolink","punctuation","reflink","reflinkSearch","tag","url","Ke","We","E","normal","M","Xe","ke","X","encodeURI","J","trim","at","splice","z","charAt","ge","href","other","state","inLink","raw","tokens","inlineTokens","rules","lexer","space","block","codeBlockStyle","Je","lang","inline","depth","g","top","blockTokens","h","R","O","ordered","start","loose","items","trimStart","search","V","Y","ee","fe","A","H","task","trimEnd","inlineQueue","src","checked","unshift","filter","some","pre","header","align","rows","inRawBlock","de","emStrong","lastIndex","codespan","inlineText","escaped","x","links","lex","lexInline","startBlock","charCodeAt","Error","emStrongMask","startInline","P","parser","parse","parseInline","listitem","checkbox","tablecell","tablerow","strong","em","textRenderer","$","b","renderers","S","static","Set","preprocess","postprocess","processAllTokens","provideLexer","provideParser","_","defaults","setOptions","parseMarkdown","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","use","childTokens","flat","name","level","passThroughHooks","has","passThroughHooksRespectAsync","onError","toString","all","catch","message","reject","getDefaults","marked","MarkdownEditor","selector","createEditor","addToolbar","isTextareaValid","applyDefaultAttributes","buildEditorLayout","addInputListener","tagName","hasAttribute","placeholder","addTextareaWrapper","addPreviewWrapper","textareaContainer","previewInstance","getPreviewContent","previewPane","textareaScrollRatio","scrollTop","scrollHeight","clientHeight","_this$usertextarea","scrollToView","lineHeight","parseInt","window","getComputedStyle","rowsInView","floor","targetScrollTop","cols"],"sourceRoot":""}
|