sykpcomposer 0.0.24 → 0.0.26
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 +4 -0
- package/dist/assets/icons/3-columns.svg +3 -3
- package/dist/assets/icons/LICENSE.md +5 -5
- package/dist/assets/icons/add-sign.svg +3 -3
- package/dist/assets/icons/file-earmark-text.svg +3 -3
- package/dist/assets/icons/minus-sign.svg +3 -3
- package/dist/assets/icons/scissors.svg +2 -2
- package/dist/index.es.js +3881 -8455
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +23 -41
- package/dist/index.umd.js.map +1 -1
- package/dist/src/components/Editor.d.ts +1 -1
- package/dist/src/components/ExampleTheme.d.ts +43 -0
- package/dist/src/components/hooks/useModal.d.ts +12 -0
- package/dist/src/components/plugins/PageMargin.d.ts +14 -0
- package/dist/src/components/plugins/PageMarginPlugin/CustomMarginDialog.d.ts +13 -0
- package/dist/src/components/plugins/PageMarginPlugin/index.d.ts +46 -0
- package/dist/src/components/plugins/ToolbarPlugin/TextAlignment.d.ts +8 -0
- package/dist/src/components/ui/Button.d.ts +17 -0
- package/dist/src/components/ui/ContentEditable.d.ts +12 -0
- package/dist/src/components/ui/Dialog.d.ts +15 -0
- package/dist/src/components/ui/Divider.d.ts +2 -0
- package/dist/src/components/ui/DropDown.d.ts +24 -0
- package/dist/src/components/ui/Modal.d.ts +14 -0
- package/dist/src/components/ui/TextInput.d.ts +19 -0
- package/dist/src/utils/getSelectedNode.d.ts +2 -0
- package/dist/src/utils/joinClasses.d.ts +8 -0
- package/dist/src/vite-env.d.ts +1 -1
- package/dist/style.css +1 -0
- package/package.json +46 -48
- package/dist/src/components/plugins/AutoLinkPlugin.d.ts +0 -1
- package/dist/src/components/plugins/CodeHighlightPlugin.d.ts +0 -1
- package/dist/src/components/plugins/ListMaxIndentLevelPlugin.d.ts +0 -3
- package/dist/src/components/plugins/TreeViewPlugin.d.ts +0 -1
- package/dist/src/components/themes/ExampleTheme.d.ts +0 -70
- /package/dist/src/components/plugins/{ToolbarPlugin.d.ts → ToolbarPlugin/ToolbarPlugin.d.ts} +0 -0
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../node_modules/object-assign/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/components/themes/ExampleTheme.js","../node_modules/@lexical/react/LexicalComposerContext.prod.mjs","../node_modules/lexical/Lexical.prod.mjs","../node_modules/@lexical/react/LexicalComposer.prod.mjs","../node_modules/@lexical/react/useLexicalEditable.prod.mjs","../node_modules/@lexical/text/LexicalText.prod.mjs","../node_modules/@lexical/selection/LexicalSelection.prod.mjs","../node_modules/@lexical/utils/LexicalUtils.prod.mjs","../node_modules/@lexical/dragon/LexicalDragon.prod.mjs","../node_modules/@lexical/html/LexicalHtml.prod.mjs","../node_modules/@lexical/clipboard/LexicalClipboard.prod.mjs","../node_modules/@lexical/rich-text/LexicalRichText.prod.mjs","../node_modules/@lexical/react/LexicalRichTextPlugin.prod.mjs","../node_modules/@lexical/react/LexicalContentEditable.prod.mjs","../node_modules/@lexical/history/LexicalHistory.prod.mjs","../node_modules/@lexical/react/LexicalHistoryPlugin.prod.mjs","../node_modules/@lexical/react/LexicalAutoFocusPlugin.prod.mjs","../node_modules/@lexical/react/LexicalErrorBoundary.prod.mjs","../node_modules/@lexical/link/LexicalLink.prod.mjs","../node_modules/@lexical/table/LexicalTable.prod.mjs","../node_modules/@lexical/list/LexicalList.prod.mjs","../node_modules/prismjs/prism.js","../node_modules/prismjs/components/prism-clike.js","../node_modules/prismjs/components/prism-javascript.js","../node_modules/prismjs/components/prism-markup.js","../node_modules/prismjs/components/prism-markdown.js","../node_modules/prismjs/components/prism-c.js","../node_modules/prismjs/components/prism-css.js","../node_modules/prismjs/components/prism-objectivec.js","../node_modules/prismjs/components/prism-sql.js","../node_modules/prismjs/components/prism-powershell.js","../node_modules/prismjs/components/prism-python.js","../node_modules/prismjs/components/prism-rust.js","../node_modules/prismjs/components/prism-swift.js","../node_modules/prismjs/components/prism-typescript.js","../node_modules/prismjs/components/prism-java.js","../node_modules/prismjs/components/prism-cpp.js","../node_modules/@lexical/code/LexicalCode.prod.mjs","../src/components/plugins/ToolbarPlugin.jsx","../node_modules/@lexical/react/LexicalLinkPlugin.prod.mjs","../node_modules/@lexical/react/LexicalListPlugin.prod.mjs","../node_modules/@lexical/markdown/LexicalMarkdown.prod.mjs","../node_modules/@lexical/react/useLexicalNodeSelection.prod.mjs","../node_modules/@lexical/react/LexicalHorizontalRuleNode.prod.mjs","../node_modules/@lexical/react/LexicalMarkdownShortcutPlugin.prod.mjs","../src/components/plugins/ListMaxIndentLevelPlugin.jsx","../src/components/plugins/CodeHighlightPlugin.jsx","../node_modules/@lexical/react/LexicalAutoLinkPlugin.prod.mjs","../src/components/plugins/AutoLinkPlugin.jsx","../src/components/Editor.jsx"],"sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\nvar _assign = require('object-assign');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nexports.Fragment = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n exports.Fragment = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_BLOCK_TYPE = symbolFor('react.block');\n REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n }\n\n var argsWithFormat = args.map(function (item) {\n return '' + item;\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === exports.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n}\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentName(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case exports.Fragment:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n return getComponentName(type.type);\n\n case REACT_BLOCK_TYPE:\n return getComponentName(type._render);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentName(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: _assign({}, props, {\n value: prevLog\n }),\n info: _assign({}, props, {\n value: prevInfo\n }),\n warn: _assign({}, props, {\n value: prevWarn\n }),\n error: _assign({}, props, {\n value: prevError\n }),\n group: _assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: _assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: _assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at ');\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_BLOCK_TYPE:\n return describeFunctionComponentFrame(type._render);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentName(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentName(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentName(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (Array.isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentName(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentName(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (Array.isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentName(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === exports.Fragment) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","const exampleTheme = {\n ltr: \"ltr\",\n rtl: \"rtl\",\n placeholder: \"editor-placeholder\",\n paragraph: \"editor-paragraph\",\n quote: \"editor-quote\",\n heading: {\n h1: \"editor-heading-h1\",\n h2: \"editor-heading-h2\",\n h3: \"editor-heading-h3\",\n h4: \"editor-heading-h4\",\n h5: \"editor-heading-h5\"\n },\n list: {\n nested: {\n listitem: \"editor-nested-listitem\"\n },\n ol: \"editor-list-ol\",\n ul: \"editor-list-ul\",\n listitem: \"editor-listitem\"\n },\n image: \"editor-image\",\n link: \"editor-link\",\n text: {\n bold: \"editor-text-bold\",\n italic: \"editor-text-italic\",\n overflowed: \"editor-text-overflowed\",\n hashtag: \"editor-text-hashtag\",\n underline: \"editor-text-underline\",\n strikethrough: \"editor-text-strikethrough\",\n underlineStrikethrough: \"editor-text-underlineStrikethrough\",\n code: \"editor-text-code\"\n },\n code: \"editor-code\",\n codeHighlight: {\n atrule: \"editor-tokenAttr\",\n attr: \"editor-tokenAttr\",\n boolean: \"editor-tokenProperty\",\n builtin: \"editor-tokenSelector\",\n cdata: \"editor-tokenComment\",\n char: \"editor-tokenSelector\",\n class: \"editor-tokenFunction\",\n \"class-name\": \"editor-tokenFunction\",\n comment: \"editor-tokenComment\",\n constant: \"editor-tokenProperty\",\n deleted: \"editor-tokenProperty\",\n doctype: \"editor-tokenComment\",\n entity: \"editor-tokenOperator\",\n function: \"editor-tokenFunction\",\n important: \"editor-tokenVariable\",\n inserted: \"editor-tokenSelector\",\n keyword: \"editor-tokenAttr\",\n namespace: \"editor-tokenVariable\",\n number: \"editor-tokenProperty\",\n operator: \"editor-tokenOperator\",\n prolog: \"editor-tokenComment\",\n property: \"editor-tokenProperty\",\n punctuation: \"editor-tokenPunctuation\",\n regex: \"editor-tokenVariable\",\n selector: \"editor-tokenSelector\",\n string: \"editor-tokenSelector\",\n symbol: \"editor-tokenProperty\",\n tag: \"editor-tokenProperty\",\n url: \"editor-tokenOperator\",\n variable: \"editor-tokenVariable\"\n }\n};\n\nexport default exampleTheme;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createContext as e,useContext as n}from\"react\";function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=r((function(e){const n=new URLSearchParams;n.append(\"code\",e);for(let e=1;e<arguments.length;e++)n.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${n} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const l=e(null);function o(e,n){let r=null;return null!=e&&(r=e[1]),{getTheme:function(){return null!=n?n:null!=r?r.getTheme():null}}}function u(){const e=n(l);return null==e&&t(8),e}export{l as LexicalComposerContext,o as createLexicalComposerContext,u as useLexicalComposerContext};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction t(t){return{}}const e={},n={},r={},i={},s={},o={},l={},c={},a={},u={},f={},d={},h={},g={},_={},p={},y={},m={},x={},v={},S={},T={},C={},k={},b={},w={},N={},E={},P={},F={},D={},L={},O={},I={},A={},M={},W={},z={},B={},R={},K={},$={},J={},U={},V={},j=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,H=j&&\"documentMode\"in document?document.documentMode:null,q=j&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Q=j&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),X=!(!j||!(\"InputEvent\"in window)||H)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),Y=j&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Z=j&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,G=j&&/Android/.test(navigator.userAgent),tt=j&&/^(?=.*Chrome).*/i.test(navigator.userAgent),et=j&&G&&tt,nt=j&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!tt,rt=1,it=3,st=0,ot=1,lt=2,ct=0,at=1,ut=2,ft=1,dt=2,ht=4,gt=8,_t=16,pt=32,yt=64,mt=128,xt=112|(3|ht|gt)|mt,vt=1,St=2,Tt=3,Ct=4,kt=5,bt=6,wt=Y||Z||nt?\" \":\"\",Nt=\"\\n\\n\",Et=Q?\" \":wt,Pt=\"֑-߿יִ-﷽ﹰ-ﻼ\",Ft=\"A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--\",Dt=new RegExp(\"^[^\"+Ft+\"]*[\"+Pt+\"]\"),Lt=new RegExp(\"^[^\"+Pt+\"]*[\"+Ft+\"]\"),Ot={bold:1,code:16,highlight:mt,italic:2,strikethrough:ht,subscript:32,superscript:64,underline:gt},It={directionless:1,unmergeable:2},At={center:St,end:bt,justify:Ct,left:vt,right:Tt,start:kt},Mt={[St]:\"center\",[bt]:\"end\",[Ct]:\"justify\",[vt]:\"left\",[Tt]:\"right\",[kt]:\"start\"},Wt={normal:0,segmented:2,token:1},zt={[ct]:\"normal\",[ut]:\"segmented\",[at]:\"token\"};function Bt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var Rt=Bt((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function Kt(...t){const e=[];for(const n of t)if(n&&\"string\"==typeof n)for(const[t]of n.matchAll(/\\S+/g))e.push(t);return e}const $t=100;let Jt=!1,Ut=0;function Vt(t){Ut=t.timeStamp}function jt(t,e,n){return e.__lexicalLineBreak===t||void 0!==t[`__lexicalKey_${n._key}`]}function Ht(t,e,n){const r=yn(n._window);let i=null,s=null;null!==r&&r.anchorNode===t&&(i=r.anchorOffset,s=r.focusOffset);const o=t.nodeValue;null!==o&&Me(e,o,i,s,!1)}function qt(t,e,n){if(yi(t)){const e=t.anchor.getNode();if(e.is(n)&&t.format!==e.getFormat())return!1}return e.nodeType===it&&n.isAttached()}function Qt(t,e,n){Jt=!0;const r=performance.now()-Ut>$t;try{hs(t,(()=>{const i=Oi()||function(t){return t.getEditorState().read((()=>{const t=Oi();return null!==t?t.clone():null}))}(t),s=new Map,o=t.getRootElement(),l=t._editorState,c=t._blockCursorElement;let a=!1,u=\"\";for(let n=0;n<e.length;n++){const f=e[n],d=f.type,h=f.target;let g=Ce(h,l);if(!(null===g&&h!==o||ms(g)))if(\"characterData\"===d)r&&oi(g)&&qt(i,h,g)&&Ht(h,g,t);else if(\"childList\"===d){a=!0;const e=f.addedNodes;for(let n=0;n<e.length;n++){const r=e[n],i=Te(r),s=r.parentNode;if(null!=s&&r!==c&&null===i&&(\"BR\"!==r.nodeName||!jt(r,s,t))){if(Q){const t=r.innerText||r.nodeValue;t&&(u+=t)}s.removeChild(r)}}const n=f.removedNodes,r=n.length;if(r>0){let e=0;for(let i=0;i<r;i++){const r=n[i];(\"BR\"===r.nodeName&&jt(r,h,t)||c===r)&&(h.appendChild(r),e++)}r!==e&&(h===o&&(g=Ne(l)),s.set(h,g))}}}if(s.size>0)for(const[e,n]of s)if(_s(n)){const r=n.getChildrenKeys();let i=e.firstChild;for(let n=0;n<r.length;n++){const s=r[n],o=t.getElementByKey(s);null!==o&&(null==i?(e.appendChild(o),i=o):i!==o&&e.replaceChild(o,i),i=i.nextSibling)}}else oi(n)&&n.markDirty();const f=n.takeRecords();if(f.length>0){for(let e=0;e<f.length;e++){const n=f[e],r=n.addedNodes,i=n.target;for(let e=0;e<r.length;e++){const n=r[e],s=n.parentNode;null==s||\"BR\"!==n.nodeName||jt(n,i,t)||s.removeChild(n)}}n.takeRecords()}null!==i&&(a&&(i.dirty=!0,Ee(i)),Q&&Ye(t)&&i.insertRawText(u))}))}finally{Jt=!1}}function Xt(t){const e=t._observer;if(null!==e){Qt(t,e.takeRecords(),e)}}function Yt(t){!function(t){0===Ut&&on(t).addEventListener(\"textInput\",Vt,!0)}(t),t._observer=new MutationObserver(((e,n)=>{Qt(t,e,n)}))}function Zt(t,e){const n=t.__mode,r=t.__format,i=t.__style,s=e.__mode,o=e.__format,l=e.__style;return!(null!==n&&n!==s||null!==r&&r!==o||null!==i&&i!==l)}function Gt(t,e){const n=t.mergeWithSibling(e),r=ts()._normalizedNodes;return r.add(t.__key),r.add(e.__key),n}function te(t){let e,n,r=t;if(\"\"!==r.__text||!r.isSimpleText()||r.isUnmergeable()){for(;null!==(e=r.getPreviousSibling())&&oi(e)&&e.isSimpleText()&&!e.isUnmergeable();){if(\"\"!==e.__text){if(Zt(e,r)){r=Gt(e,r);break}break}e.remove()}for(;null!==(n=r.getNextSibling())&&oi(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(\"\"!==n.__text){if(Zt(r,n)){r=Gt(r,n);break}break}n.remove()}}else r.remove()}function ee(t){return ne(t.anchor),ne(t.focus),t}function ne(t){for(;\"element\"===t.type;){const e=t.getNode(),n=t.offset;let r,i;if(n===e.getChildrenSize()?(r=e.getChildAtIndex(n-1),i=!0):(r=e.getChildAtIndex(n),i=!1),oi(r)){t.set(r.__key,i?r.getTextContentSize():0,\"text\");break}if(!_s(r))break;t.set(r.__key,i?r.getChildrenSize():0,\"element\")}}let re=1;function ie(){re=1}const se=\"function\"==typeof queueMicrotask?queueMicrotask:t=>{Promise.resolve().then(t)};function oe(t){const e=document.activeElement;if(null===e)return!1;const n=e.nodeName;return ms(Ce(t))&&(\"INPUT\"===n||\"TEXTAREA\"===n||\"true\"===e.contentEditable&&null==ue(e))}function le(t,e,n){const r=t.getRootElement();try{return null!==r&&r.contains(e)&&r.contains(n)&&null!==e&&!oe(e)&&ae(e)===t}catch(t){return!1}}function ce(t){return t instanceof Ms}function ae(t){let e=t;for(;null!=e;){const t=ue(e);if(ce(t))return t;e=en(e)}return null}function ue(t){return t?t.__lexicalEditor:null}function fe(t){return t.isToken()||t.isSegmented()}function de(t){return t.nodeType===it}function he(t){let e=t;for(;null!=e;){if(de(e))return e;e=e.firstChild}return null}function ge(t,e,n){const r=Ot[e];if(null!==n&&(t&r)==(n&r))return t;let i=t^r;return\"subscript\"===e?i&=~Ot.superscript:\"superscript\"===e&&(i&=~Ot.subscript),i}function _e(t){return oi(t)||$r(t)||ms(t)}function pe(t,e){if(null!=e)return void(t.__key=e);Yi(),Zi();const n=ts(),r=Gi(),i=\"\"+re++;r._nodeMap.set(i,t),_s(t)?n._dirtyElements.set(i,!0):n._dirtyLeaves.add(i),n._cloneNotNeeded.add(i),n._dirtyType=ot,t.__key=i}function ye(t){const e=t.getParent();if(null!==e){const n=t.getWritable(),r=e.getWritable(),i=t.getPreviousSibling(),s=t.getNextSibling();if(null===i)if(null!==s){const t=s.getWritable();r.__first=s.__key,t.__prev=null}else r.__first=null;else{const t=i.getWritable();if(null!==s){const e=s.getWritable();e.__prev=t.__key,t.__next=e.__key}else t.__next=null;n.__prev=null}if(null===s)if(null!==i){const t=i.getWritable();r.__last=i.__key,t.__next=null}else r.__last=null;else{const t=s.getWritable();if(null!==i){const e=i.getWritable();e.__next=t.__key,t.__prev=e.__key}else t.__prev=null;n.__next=null}r.__size--,n.__parent=null}}function me(t){Zi();const e=t.getLatest(),n=e.__parent,r=Gi(),i=ts(),s=r._nodeMap,o=i._dirtyElements;null!==n&&function(t,e,n){let r=t;for(;null!==r;){if(n.has(r))return;const t=e.get(r);if(void 0===t)break;n.set(r,!1),r=t.__parent}}(n,s,o);const l=e.__key;i._dirtyType=ot,_s(t)?o.set(l,!0):i._dirtyLeaves.add(l)}function xe(t){Yi();const e=ts(),n=e._compositionKey;if(t!==n){if(e._compositionKey=t,null!==n){const t=Se(n);null!==t&&t.getWritable()}if(null!==t){const e=Se(t);null!==e&&e.getWritable()}}}function ve(){if(Xi())return null;return ts()._compositionKey}function Se(t,e){const n=(e||Gi())._nodeMap.get(t);return void 0===n?null:n}function Te(t,e){const n=t[`__lexicalKey_${ts()._key}`];return void 0!==n?Se(n,e):null}function Ce(t,e){let n=t;for(;null!=n;){const t=Te(n,e);if(null!==t)return t;n=en(n)}return null}function ke(t){const e=t._decorators,n=Object.assign({},e);return t._pendingDecorators=n,n}function be(t){return t.read((()=>we().getTextContent()))}function we(){return Ne(Gi())}function Ne(t){return t._nodeMap.get(\"root\")}function Ee(t){Yi();const e=Gi();null!==t&&(t.dirty=!0,t.setCachedNodes(null)),e._selection=t}function Pe(t){const e=ts(),n=function(t,e){let n=t;for(;null!=n;){const t=n[`__lexicalKey_${e._key}`];if(void 0!==t)return t;n=en(n)}return null}(t,e);if(null===n){return t===e.getRootElement()?Se(\"root\"):null}return Se(n)}function Fe(t,e){return e?t.getTextContentSize():0}function De(t){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(t)}function Le(t){const e=[];let n=t;for(;null!==n;)e.push(n),n=n._parentEditor;return e}function Oe(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}function Ie(t){return t.nodeType===it?t.nodeValue:null}function Ae(t,e,n){const r=yn(e._window);if(null===r)return;const i=r.anchorNode;let{anchorOffset:s,focusOffset:o}=r;if(null!==i){let e=Ie(i);const r=Ce(i);if(null!==e&&oi(r)){if(e===wt&&n){const t=n.length;e=n,s=t,o=t}null!==e&&Me(r,e,s,o,t)}}}function Me(t,e,n,r,i){let s=t;if(s.isAttached()&&(i||!s.isDirty())){const o=s.isComposing();let l=e;(o||i)&&e[e.length-1]===wt&&(l=e.slice(0,-1));const c=s.getTextContent();if(i||l!==c){if(\"\"===l){if(xe(null),Y||Z||nt)s.remove();else{const t=ts();setTimeout((()=>{t.update((()=>{s.isAttached()&&s.remove()}))}),20)}return}const e=s.getParent(),i=Ii(),c=s.getTextContentSize(),a=ve(),u=s.getKey();if(s.isToken()||null!==a&&u===a&&!o||yi(i)&&(null!==e&&!e.canInsertTextBefore()&&0===i.anchor.offset||i.anchor.key===t.__key&&0===i.anchor.offset&&!s.canInsertTextBefore()&&!o||i.focus.key===t.__key&&i.focus.offset===c&&!s.canInsertTextAfter()&&!o))return void s.markDirty();const f=Oi();if(!yi(f)||null===n||null===r)return void s.setTextContent(l);if(f.setTextNodeRange(s,n,s,r),s.isSegmented()){const t=si(s.getTextContent());s.replace(t),s=t}s.setTextContent(l)}}}function We(t,e){if(e.isSegmented())return!0;if(!t.isCollapsed())return!1;const n=t.anchor.offset,r=e.getParentOrThrow(),i=e.isToken();return 0===n?!e.canInsertTextBefore()||!r.canInsertTextBefore()&&!e.isComposing()||i||function(t){const e=t.getPreviousSibling();return(oi(e)||_s(e)&&e.isInline())&&!e.canInsertTextAfter()}(e):n===e.getTextContentSize()&&(!e.canInsertTextAfter()||!r.canInsertTextAfter()&&!e.isComposing()||i)}function ze(t){return\"ArrowLeft\"===t}function Be(t){return\"ArrowRight\"===t}function Re(t,e){return q?t:e}function Ke(t){return\"Enter\"===t}function $e(t){return\"Backspace\"===t}function Je(t){return\"Delete\"===t}function Ue(t,e,n){return\"a\"===t.toLowerCase()&&Re(e,n)}function Ve(){const t=we();Ee(ee(t.select(0,t.getChildrenSize())))}function je(t,e){void 0===t.__lexicalClassNameCache&&(t.__lexicalClassNameCache={});const n=t.__lexicalClassNameCache,r=n[e];if(void 0!==r)return r;const i=t[e];if(\"string\"==typeof i){const t=Kt(i);return n[e]=t,t}return i}function He(t,e,n,r,i){if(0===n.size)return;const s=r.__type,o=r.__key,l=e.get(s);void 0===l&&Rt(33,s);const c=l.klass;let a=t.get(c);void 0===a&&(a=new Map,t.set(c,a));const u=a.get(o),f=\"destroyed\"===u&&\"created\"===i;(void 0===u||f)&&a.set(o,f?\"updated\":i)}function qe(t){const e=t.getType(),n=Gi();if(n._readOnly){const t=En(n).get(e);return t?Array.from(t.values()):[]}const r=n._nodeMap,i=[];for(const[,n]of r)n instanceof t&&n.__type===e&&n.isAttached()&&i.push(n);return i}function Qe(t,e,n){const r=t.getParent();let i=n,s=t;return null!==r&&(e&&0===n?(i=s.getIndexWithinParent(),s=r):e||n!==s.getChildrenSize()||(i=s.getIndexWithinParent()+1,s=r)),s.getChildAtIndex(e?i-1:i)}function Xe(t,e){const n=t.offset;if(\"element\"===t.type){return Qe(t.getNode(),e,n)}{const r=t.getNode();if(e&&0===n||!e&&n===r.getTextContentSize()){const t=e?r.getPreviousSibling():r.getNextSibling();return null===t?Qe(r.getParentOrThrow(),e,r.getIndexWithinParent()+(e?0:1)):t}}return null}function Ye(t){const e=on(t).event,n=e&&e.inputType;return\"insertFromPaste\"===n||\"insertFromPasteAsQuotation\"===n}function Ze(t,e,n){return us(t,e,n)}function Ge(t){return!vs(t)&&!t.isLastChild()&&!t.isInline()}function tn(t,e){const n=t._keyToDOMMap.get(e);return void 0===n&&Rt(75,e),n}function en(t){const e=t.assignedSlot||t.parentElement;return null!==e&&11===e.nodeType?e.host:e}function nn(t){return ts()._updateTags.has(t)}function rn(t){Yi();ts()._updateTags.add(t)}function sn(t,e){let n=t.getParent();for(;null!==n;){if(n.is(e))return!0;n=n.getParent()}return!1}function on(t){const e=t._window;return null===e&&Rt(78),e}function ln(t){return _s(t)&&t.isInline()||ms(t)&&t.isInline()}function cn(t){let e=t.getParentOrThrow();for(;null!==e;){if(an(e))return e;e=e.getParentOrThrow()}return e}function an(t){return vs(t)||_s(t)&&t.isShadowRoot()}function un(t){const e=t.constructor.clone(t);return pe(e,null),e}function fn(t){const e=ts(),n=t.constructor.getType(),r=e._nodes.get(n);void 0===r&&Rt(97);const i=r.replace;if(null!==i){const e=i(t);return e instanceof t.constructor||Rt(98),e}return t}function dn(t,e){!vs(t.getParent())||_s(e)||ms(e)||Rt(99)}function hn(t){const e=Se(t);return null===e&&Rt(63,t),e}function gn(t){return(ms(t)||_s(t)&&!t.canBeEmpty())&&!t.isInline()}function _n(t,e,n){n.style.removeProperty(\"caret-color\"),e._blockCursorElement=null;const r=t.parentElement;null!==r&&r.removeChild(t)}function pn(t,e,n){let r=t._blockCursorElement;if(yi(n)&&n.isCollapsed()&&\"element\"===n.anchor.type&&e.contains(document.activeElement)){const i=n.anchor,s=i.getNode(),o=i.offset;let l=!1,c=null;if(o===s.getChildrenSize()){gn(s.getChildAtIndex(o-1))&&(l=!0)}else{const e=s.getChildAtIndex(o);if(gn(e)){const n=e.getPreviousSibling();(null===n||gn(n))&&(l=!0,c=t.getElementByKey(e.__key))}}if(l){const n=t.getElementByKey(s.__key);return null===r&&(t._blockCursorElement=r=function(t){const e=t.theme,n=document.createElement(\"div\");n.contentEditable=\"false\",n.setAttribute(\"data-lexical-cursor\",\"true\");let r=e.blockCursor;if(void 0!==r){if(\"string\"==typeof r){const t=Kt(r);r=e.blockCursor=t}void 0!==r&&n.classList.add(...r)}return n}(t._config)),e.style.caretColor=\"transparent\",void(null===c?n.appendChild(r):n.insertBefore(r,c))}}null!==r&&_n(r,t,e)}function yn(t){return j?(t||window).getSelection():null}function mn(t,e){let n=t.getChildAtIndex(e);null==n&&(n=t),an(t)&&Rt(102);const r=t=>{const e=t.getParentOrThrow(),i=an(e),s=t!==n||i?un(t):t;if(i)return _s(t)&&_s(s)||Rt(133),t.insertAfter(s),[t,s,s];{const[n,i,o]=r(e),l=t.getNextSiblings();return o.append(s,...l),[n,i,s]}},[i,s]=r(n);return[i,s]}function xn(t){return vn(t)&&\"A\"===t.tagName}function vn(t){return 1===t.nodeType}function Sn(t){const e=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,\"i\");return null!==t.nodeName.match(e)}function Tn(t){const e=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,\"i\");return null!==t.nodeName.match(e)}function Cn(t){if(vs(t)||ms(t)&&!t.isInline())return!0;if(!_s(t)||an(t))return!1;const e=t.getFirstChild(),n=null===e||$r(e)||oi(e)||e.isInline();return!t.isInline()&&!1!==t.canBeEmpty()&&n}function kn(t,e){let n=t;for(;null!==n&&null!==n.getParent()&&!e(n);)n=n.getParentOrThrow();return e(n)?n:null}function bn(){return ts()}const wn=new WeakMap,Nn=new Map;function En(t){if(!t._readOnly&&t.isEmpty())return Nn;t._readOnly||Rt(192);let e=wn.get(t);if(!e){e=new Map,wn.set(t,e);for(const[n,r]of t._nodeMap){const t=r.__type;let i=e.get(t);i||(i=new Map,e.set(t,i)),i.set(n,r)}}return e}function Pn(t){const e=t.constructor.clone(t);return e.afterCloneFrom(t),e}function Fn(t,e,n,r,i,s){let o=t.getFirstChild();for(;null!==o;){const t=o.__key;o.__parent===e&&(_s(o)&&Fn(o,t,n,r,i,s),n.has(t)||s.delete(t),i.push(t)),o=o.getNextSibling()}}let Dn,Ln,On,In,An,Mn,Wn,zn,Bn,Rn,Kn=\"\",$n=\"\",Jn=null,Un=\"\",Vn=\"\",jn=!1,Hn=!1,qn=null;function Qn(t,e){const n=Wn.get(t);if(null!==e){const n=dr(t);n.parentNode===e&&e.removeChild(n)}if(zn.has(t)||Ln._keyToDOMMap.delete(t),_s(n)){const t=lr(n,Wn);Xn(t,0,t.length-1,null)}void 0!==n&&He(Rn,On,In,n,\"destroyed\")}function Xn(t,e,n,r){let i=e;for(;i<=n;++i){const e=t[i];void 0!==e&&Qn(e,r)}}function Yn(t,e){t.setProperty(\"text-align\",e)}const Zn=\"40px\";function Gn(t,e){const n=Dn.theme.indent;if(\"string\"==typeof n){const r=t.classList.contains(n);e>0&&!r?t.classList.add(n):e<1&&r&&t.classList.remove(n)}const r=getComputedStyle(t).getPropertyValue(\"--lexical-indent-base-value\")||Zn;t.style.setProperty(\"padding-inline-start\",0===e?\"\":`calc(${e} * ${r})`)}function tr(t,e){const n=t.style;0===e?Yn(n,\"\"):e===vt?Yn(n,\"left\"):e===St?Yn(n,\"center\"):e===Tt?Yn(n,\"right\"):e===Ct?Yn(n,\"justify\"):e===kt?Yn(n,\"start\"):e===bt&&Yn(n,\"end\")}function er(t,e,n){const r=zn.get(t);void 0===r&&Rt(60);const i=r.createDOM(Dn,Ln);if(function(t,e,n){const r=n._keyToDOMMap;e[\"__lexicalKey_\"+n._key]=t,r.set(t,e)}(t,i,Ln),oi(r)?i.setAttribute(\"data-lexical-text\",\"true\"):ms(r)&&i.setAttribute(\"data-lexical-decorator\",\"true\"),_s(r)){const t=r.__indent,e=r.__size;if(0!==t&&Gn(i,t),0!==e){const t=e-1;!function(t,e,n,r){const i=$n;$n=\"\",nr(t,n,0,e,r,null),sr(n,r),$n=i}(lr(r,zn),t,r,i)}const n=r.__format;0!==n&&tr(i,n),r.isInline()||ir(null,r,i),Ge(r)&&(Kn+=Nt,Vn+=Nt)}else{const e=r.getTextContent();if(ms(r)){const e=r.decorate(Ln,Dn);null!==e&&ar(t,e),i.contentEditable=\"false\"}else oi(r)&&(r.isDirectionless()||($n+=e));Kn+=e,Vn+=e}if(null!==e)if(null!=n)e.insertBefore(i,n);else{const t=e.__lexicalLineBreak;null!=t?e.insertBefore(i,t):e.appendChild(i)}return He(Rn,On,In,r,\"created\"),i}function nr(t,e,n,r,i,s){const o=Kn;Kn=\"\";let l=n;for(;l<=r;++l){er(t[l],i,s);const e=zn.get(t[l]);null!==e&&oi(e)&&(null===Jn&&(Jn=e.getFormat()),\"\"===Un&&(Un=e.getStyle()))}Ge(e)&&(Kn+=Nt),i.__lexicalTextContent=Kn,Kn=o+Kn}function rr(t,e){const n=e.get(t);return $r(n)||ms(n)&&n.isInline()}function ir(t,e,n){const r=null!==t&&(0===t.__size||rr(t.__last,Wn)),i=0===e.__size||rr(e.__last,zn);if(r){if(!i){const t=n.__lexicalLineBreak;if(null!=t)try{n.removeChild(t)}catch(e){if(\"object\"==typeof e&&null!=e){const r=`${e.toString()} Parent: ${n.tagName}, child: ${t.tagName}.`;throw new Error(r)}throw e}n.__lexicalLineBreak=null}}else if(i){const t=document.createElement(\"br\");n.__lexicalLineBreak=t,n.appendChild(t)}}function sr(t,e){const n=e.__lexicalDirTextContent,r=e.__lexicalDir;if(n!==$n||r!==qn){const n=\"\"===$n,s=n?qn:(i=$n,Dt.test(i)?\"rtl\":Lt.test(i)?\"ltr\":null);if(s!==r){const i=e.classList,o=Dn.theme;let l=null!==r?o[r]:void 0,c=null!==s?o[s]:void 0;if(void 0!==l){if(\"string\"==typeof l){const t=Kt(l);l=o[r]=t}i.remove(...l)}if(null===s||n&&\"ltr\"===s)e.removeAttribute(\"dir\");else{if(void 0!==c){if(\"string\"==typeof c){const t=Kt(c);c=o[s]=t}void 0!==c&&i.add(...c)}e.dir=s}if(!Hn){t.getWritable().__dir=s}}qn=s,e.__lexicalDirTextContent=$n,e.__lexicalDir=s}var i}function or(t,e,n){const r=$n;var i;$n=\"\",Jn=null,Un=\"\",function(t,e,n){const r=Kn,i=t.__size,s=e.__size;if(Kn=\"\",1===i&&1===s){const r=t.__first,i=e.__first;if(r===i)cr(r,n);else{const t=dr(r),e=er(i,null,null);try{n.replaceChild(e,t)}catch(s){if(\"object\"==typeof s&&null!=s){const o=`${s.toString()} Parent: ${n.tagName}, new child: {tag: ${e.tagName} key: ${i}}, old child: {tag: ${t.tagName}, key: ${r}}.`;throw new Error(o)}throw s}Qn(r,null)}const s=zn.get(i);oi(s)&&(null===Jn&&(Jn=s.getFormat()),\"\"===Un&&(Un=s.getStyle()))}else{const r=lr(t,Wn),o=lr(e,zn);if(0===i)0!==s&&nr(o,e,0,s-1,n,null);else if(0===s){if(0!==i){const t=null==n.__lexicalLineBreak;Xn(r,0,i-1,t?null:n),t&&(n.textContent=\"\")}}else!function(t,e,n,r,i,s){const o=r-1,l=i-1;let c,a,u=(h=s,h.firstChild),f=0,d=0;var h;for(;f<=o&&d<=l;){const t=e[f],r=n[d];if(t===r)u=ur(cr(r,s)),f++,d++;else{void 0===c&&(c=new Set(e)),void 0===a&&(a=new Set(n));const i=a.has(t),o=c.has(r);if(i)if(o){const t=tn(Ln,r);t===u?u=ur(cr(r,s)):(null!=u?s.insertBefore(t,u):s.appendChild(t),cr(r,s)),f++,d++}else er(r,s,u),d++;else u=ur(dr(t)),Qn(t,s),f++}const i=zn.get(r);null!==i&&oi(i)&&(null===Jn&&(Jn=i.getFormat()),\"\"===Un&&(Un=i.getStyle()))}const g=f>o,_=d>l;if(g&&!_){const e=n[l+1];nr(n,t,d,l,s,void 0===e?null:Ln.getElementByKey(e))}else _&&!g&&Xn(e,f,o,s)}(e,r,o,i,s,n)}Ge(e)&&(Kn+=Nt);n.__lexicalTextContent=Kn,Kn=r+Kn}(t,e,n),sr(e,n),Es(i=e)&&null!=Jn&&Jn!==i.__textFormat&&!Hn&&(i.setTextFormat(Jn),i.setTextStyle(Un)),function(t){Es(t)&&\"\"!==Un&&Un!==t.__textStyle&&!Hn&&t.setTextStyle(Un)}(e),$n=r}function lr(t,e){const n=[];let r=t.__first;for(;null!==r;){const t=e.get(r);void 0===t&&Rt(101),n.push(r),r=t.__next}return n}function cr(t,e){const n=Wn.get(t);let r=zn.get(t);void 0!==n&&void 0!==r||Rt(61);const i=jn||Mn.has(t)||An.has(t),s=tn(Ln,t);if(n===r&&!i){if(_s(n)){const t=s.__lexicalTextContent;void 0!==t&&(Kn+=t,Vn+=t);const e=s.__lexicalDirTextContent;void 0!==e&&($n+=e)}else{const t=n.getTextContent();oi(n)&&!n.isDirectionless()&&($n+=t),Vn+=t,Kn+=t}return s}if(n!==r&&i&&He(Rn,On,In,r,\"updated\"),r.updateDOM(n,s,Dn)){const n=er(t,null,null);return null===e&&Rt(62),e.replaceChild(n,s),Qn(t,null),n}if(_s(n)&&_s(r)){const t=r.__indent;t!==n.__indent&&Gn(s,t);const e=r.__format;e!==n.__format&&tr(s,e),i&&(or(n,r,s),vs(r)||r.isInline()||ir(n,r,s)),Ge(r)&&(Kn+=Nt,Vn+=Nt)}else{const e=r.getTextContent();if(ms(r)){const e=r.decorate(Ln,Dn);null!==e&&ar(t,e)}else oi(r)&&!r.isDirectionless()&&($n+=e);Kn+=e,Vn+=e}if(!Hn&&vs(r)&&r.__cachedText!==Vn){const t=r.getWritable();t.__cachedText=Vn,r=t}return s}function ar(t,e){let n=Ln._pendingDecorators;const r=Ln._decorators;if(null===n){if(r[t]===e)return;n=ke(Ln)}n[t]=e}function ur(t){let e=t.nextSibling;return null!==e&&e===Ln._blockCursorElement&&(e=e.nextSibling),e}function fr(t,e,n,r,i,s){Kn=\"\",Vn=\"\",$n=\"\",jn=r===lt,qn=null,Ln=n,Dn=n._config,On=n._nodes,In=Ln._listeners.mutation,An=i,Mn=s,Wn=t._nodeMap,zn=e._nodeMap,Hn=e._readOnly,Bn=new Map(n._keyToDOMMap);const o=new Map;return Rn=o,cr(\"root\",null),Ln=void 0,On=void 0,An=void 0,Mn=void 0,Wn=void 0,zn=void 0,Dn=void 0,Bn=void 0,Rn=void 0,o}function dr(t){const e=Bn.get(t);return void 0===e&&Rt(75,t),e}const hr=Object.freeze({}),gr=30,_r=[[\"keydown\",function(t,e){if(pr=t.timeStamp,yr=t.key,e.isComposing())return;const{key:n,shiftKey:r,ctrlKey:o,metaKey:l,altKey:c}=t;if(Ze(e,_,t))return;if(null==n)return;if(function(t,e,n,r){return Be(t)&&!e&&!r&&!n}(n,o,c,l))Ze(e,p,t);else if(function(t,e,n,r,i){return Be(t)&&!r&&!n&&(e||i)}(n,o,r,c,l))Ze(e,y,t);else if(function(t,e,n,r){return ze(t)&&!e&&!r&&!n}(n,o,c,l))Ze(e,m,t);else if(function(t,e,n,r,i){return ze(t)&&!r&&!n&&(e||i)}(n,o,r,c,l))Ze(e,x,t);else if(function(t,e,n){return function(t){return\"ArrowUp\"===t}(t)&&!e&&!n}(n,o,l))Ze(e,v,t);else if(function(t,e,n){return function(t){return\"ArrowDown\"===t}(t)&&!e&&!n}(n,o,l))Ze(e,S,t);else if(function(t,e){return Ke(t)&&e}(n,r))Cr=!0,Ze(e,T,t);else if(function(t){return\" \"===t}(n))Ze(e,C,t);else if(function(t,e){return q&&e&&\"o\"===t.toLowerCase()}(n,o))t.preventDefault(),Cr=!0,Ze(e,s,!0);else if(function(t,e){return Ke(t)&&!e}(n,r))Cr=!1,Ze(e,T,t);else if(function(t,e,n,r){return q?!e&&!n&&($e(t)||\"h\"===t.toLowerCase()&&r):!(r||e||n)&&$e(t)}(n,c,l,o))$e(n)?Ze(e,k,t):(t.preventDefault(),Ze(e,i,!0));else if(function(t){return\"Escape\"===t}(n))Ze(e,b,t);else if(function(t,e,n,r,i){return q?!(n||r||i)&&(Je(t)||\"d\"===t.toLowerCase()&&e):!(e||r||i)&&Je(t)}(n,o,r,c,l))Je(n)?Ze(e,w,t):(t.preventDefault(),Ze(e,i,!1));else if(function(t,e,n){return $e(t)&&(q?e:n)}(n,c,o))t.preventDefault(),Ze(e,u,!0);else if(function(t,e,n){return Je(t)&&(q?e:n)}(n,c,o))t.preventDefault(),Ze(e,u,!1);else if(function(t,e){return q&&e&&$e(t)}(n,l))t.preventDefault(),Ze(e,f,!0);else if(function(t,e){return q&&e&&Je(t)}(n,l))t.preventDefault(),Ze(e,f,!1);else if(function(t,e,n,r){return\"b\"===t.toLowerCase()&&!e&&Re(n,r)}(n,c,l,o))t.preventDefault(),Ze(e,d,\"bold\");else if(function(t,e,n,r){return\"u\"===t.toLowerCase()&&!e&&Re(n,r)}(n,c,l,o))t.preventDefault(),Ze(e,d,\"underline\");else if(function(t,e,n,r){return\"i\"===t.toLowerCase()&&!e&&Re(n,r)}(n,c,l,o))t.preventDefault(),Ze(e,d,\"italic\");else if(function(t,e,n,r){return\"Tab\"===t&&!e&&!n&&!r}(n,c,o,l))Ze(e,N,t);else if(function(t,e,n,r){return\"z\"===t.toLowerCase()&&!e&&Re(n,r)}(n,r,l,o))t.preventDefault(),Ze(e,h,void 0);else if(function(t,e,n,r){return q?\"z\"===t.toLowerCase()&&n&&e:\"y\"===t.toLowerCase()&&r||\"z\"===t.toLowerCase()&&r&&e}(n,r,l,o))t.preventDefault(),Ze(e,g,void 0);else{xi(e._editorState._selection)?!function(t,e,n,r){return!e&&\"c\"===t.toLowerCase()&&(q?n:r)}(n,r,l,o)?!function(t,e,n,r){return!e&&\"x\"===t.toLowerCase()&&(q?n:r)}(n,r,l,o)?Ue(n,l,o)&&(t.preventDefault(),Ze(e,z,t)):(t.preventDefault(),Ze(e,W,t)):(t.preventDefault(),Ze(e,M,t)):!Q&&Ue(n,l,o)&&(t.preventDefault(),Ze(e,z,t))}(function(t,e,n,r){return t||e||n||r})(o,r,c,l)&&Ze(e,V,t)}],[\"pointerdown\",function(t,e){const n=t.target,r=t.pointerType;n instanceof Node&&\"touch\"!==r&&hs(e,(()=>{ms(Ce(n))||(Tr=!0)}))}],[\"compositionstart\",function(t,e){hs(e,(()=>{const n=Oi();if(yi(n)&&!e.isComposing()){const r=n.anchor,i=n.anchor.getNode();xe(r.key),(t.timeStamp<pr+gr||\"element\"===r.type||!n.isCollapsed()||i.getFormat()!==n.format||oi(i)&&i.getStyle()!==n.style)&&Ze(e,l,Et)}}))}],[\"compositionend\",function(t,e){Q?kr=!0:hs(e,(()=>{Fr(e,t.data)}))}],[\"input\",function(t,e){t.stopPropagation(),hs(e,(()=>{const n=Oi(),r=t.data,i=Pr(t);if(null!=r&&yi(n)&&wr(n,i,r,t.timeStamp,!1)){kr&&(Fr(e,r),kr=!1);const i=n.anchor.getNode(),s=yn(e._window);if(null===s)return;const o=n.isBackward(),c=o?n.anchor.offset:n.focus.offset,a=o?n.focus.offset:n.anchor.offset;X&&!n.isCollapsed()&&oi(i)&&null!==s.anchorNode&&i.getTextContent().slice(0,c)+r+i.getTextContent().slice(c+a)===Ie(s.anchorNode)||Ze(e,l,r);const u=r.length;Q&&u>1&&\"insertCompositionText\"===t.inputType&&!e.isComposing()&&(n.anchor.offset-=u),Y||Z||nt||!e.isComposing()||(pr=0,xe(null))}else{Ae(!1,e,null!==r?r:void 0),kr&&(Fr(e,r||void 0),kr=!1)}Yi(),Xt(ts())})),xr=null}],[\"click\",function(t,e){hs(e,(()=>{const n=Oi(),i=yn(e._window),s=Ii();if(i)if(yi(n)){const e=n.anchor,r=e.getNode();if(\"element\"===e.type&&0===e.offset&&n.isCollapsed()&&!vs(r)&&1===we().getChildrenSize()&&r.getTopLevelElementOrThrow().isEmpty()&&null!==s&&n.is(s))i.removeAllRanges(),n.dirty=!0;else if(3===t.detail&&!n.isCollapsed()){r!==n.focus.getNode()&&(_s(r)?r.select(0):r.getParentOrThrow().select(0))}}else if(\"touch\"===t.pointerType){const n=i.anchorNode;if(null!==n){const r=n.nodeType;if(r===rt||r===it){Ee(Li(s,i,e,t))}}}Ze(e,r,t)}))}],[\"cut\",hr],[\"copy\",hr],[\"dragstart\",hr],[\"dragover\",hr],[\"dragend\",hr],[\"paste\",hr],[\"focus\",hr],[\"blur\",hr],[\"drop\",hr]];X&&_r.push([\"beforeinput\",(t,e)=>function(t,e){const n=t.inputType,r=Pr(t);if(\"deleteCompositionText\"===n||Q&&Ye(e))return;if(\"insertCompositionText\"===n)return;hs(e,(()=>{const _=Oi();if(\"deleteContentBackward\"===n){if(null===_){const t=Ii();if(!yi(t))return;Ee(t.clone())}if(yi(_)){const n=_.anchor.key===_.focus.key;if(p=t.timeStamp,\"MediaLast\"===yr&&p<pr+gr&&e.isComposing()&&n){if(xe(null),pr=0,setTimeout((()=>{hs(e,(()=>{xe(null)}))}),gr),yi(_)){const t=_.anchor.getNode();t.markDirty(),_.format=t.getFormat(),oi(t)||Rt(142),_.style=t.getStyle()}}else{xe(null),t.preventDefault();const r=_.anchor.getNode().getTextContent(),s=0===_.anchor.offset&&_.focus.offset===r.length;et&&n&&!s||Ze(e,i,!0)}return}}var p;if(!yi(_))return;const y=t.data;null!==xr&&Ae(!1,e,xr),_.dirty&&null===xr||!_.isCollapsed()||vs(_.anchor.getNode())||null===r||_.applyDOMRange(r),xr=null;const m=_.anchor,x=_.focus,v=m.getNode(),S=x.getNode();if(\"insertText\"!==n&&\"insertTranspose\"!==n)switch(t.preventDefault(),n){case\"insertFromYank\":case\"insertFromDrop\":case\"insertReplacementText\":Ze(e,l,t);break;case\"insertFromComposition\":xe(null),Ze(e,l,t);break;case\"insertLineBreak\":xe(null),Ze(e,s,!1);break;case\"insertParagraph\":xe(null),Cr&&!Z?(Cr=!1,Ze(e,s,!1)):Ze(e,o,void 0);break;case\"insertFromPaste\":case\"insertFromPasteAsQuotation\":Ze(e,c,t);break;case\"deleteByComposition\":(function(t,e){return t!==e||_s(t)||_s(e)||!t.isToken()||!e.isToken()})(v,S)&&Ze(e,a,t);break;case\"deleteByDrag\":case\"deleteByCut\":Ze(e,a,t);break;case\"deleteContent\":Ze(e,i,!1);break;case\"deleteWordBackward\":Ze(e,u,!0);break;case\"deleteWordForward\":Ze(e,u,!1);break;case\"deleteHardLineBackward\":case\"deleteSoftLineBackward\":Ze(e,f,!0);break;case\"deleteContentForward\":case\"deleteHardLineForward\":case\"deleteSoftLineForward\":Ze(e,f,!1);break;case\"formatStrikeThrough\":Ze(e,d,\"strikethrough\");break;case\"formatBold\":Ze(e,d,\"bold\");break;case\"formatItalic\":Ze(e,d,\"italic\");break;case\"formatUnderline\":Ze(e,d,\"underline\");break;case\"historyUndo\":Ze(e,h,void 0);break;case\"historyRedo\":Ze(e,g,void 0)}else{if(\"\\n\"===y)t.preventDefault(),Ze(e,s,!1);else if(y===Nt)t.preventDefault(),Ze(e,o,void 0);else if(null==y&&t.dataTransfer){const e=t.dataTransfer.getData(\"text/plain\");t.preventDefault(),_.insertRawText(e)}else null!=y&&wr(_,r,y,t.timeStamp,!0)?(t.preventDefault(),Ze(e,l,y)):xr=y;mr=t.timeStamp}}))}(t,e)]);let pr=0,yr=null,mr=0,xr=null;const vr=new WeakMap;let Sr=!1,Tr=!1,Cr=!1,kr=!1,br=[0,\"\",0,\"root\",0];function wr(t,e,n,r,i){const s=t.anchor,o=t.focus,l=s.getNode(),c=ts(),a=yn(c._window),u=null!==a?a.anchorNode:null,f=s.key,d=c.getElementByKey(f),h=n.length;return f!==o.key||!oi(l)||(!i&&(!X||mr<r+50)||l.isDirty()&&h<2||De(n))&&s.offset!==o.offset&&!l.isComposing()||fe(l)||l.isDirty()&&h>1||(i||!X)&&null!==d&&!l.isComposing()&&u!==he(d)||null!==a&&null!==e&&(!e.collapsed||e.startContainer!==a.anchorNode||e.startOffset!==a.anchorOffset)||l.getFormat()!==t.format||l.getStyle()!==t.style||We(t,l)}function Nr(t,e){return null!==t&&null!==t.nodeValue&&t.nodeType===it&&0!==e&&e!==t.nodeValue.length}function Er(t,n,r){const{anchorNode:i,anchorOffset:s,focusNode:o,focusOffset:l}=t;Sr&&(Sr=!1,Nr(i,s)&&Nr(o,l))||hs(n,(()=>{if(!r)return void Ee(null);if(!le(n,i,o))return;const c=Oi();if(yi(c)){const e=c.anchor,r=e.getNode();if(c.isCollapsed()){\"Range\"===t.type&&t.anchorNode===t.focusNode&&(c.dirty=!0);const i=on(n).event,s=i?i.timeStamp:performance.now(),[o,l,a,u,f]=br,d=we(),h=!1===n.isComposing()&&\"\"===d.getTextContent();if(s<f+200&&e.offset===a&&e.key===u)c.format=o,c.style=l;else if(\"text\"===e.type)oi(r)||Rt(141),c.format=r.getFormat(),c.style=r.getStyle();else if(\"element\"===e.type&&!h){const t=e.getNode();c.style=\"\",t instanceof bs&&0===t.getChildrenSize()?(c.format=t.getTextFormat(),c.style=t.getTextStyle()):c.format=0}}else{const t=e.key,n=c.focus.key,r=c.getNodes(),i=r.length,o=c.isBackward(),a=o?l:s,u=o?s:l,f=o?n:t,d=o?t:n;let h=xt,g=!1;for(let t=0;t<i;t++){const e=r[t],n=e.getTextContentSize();if(oi(e)&&0!==n&&!(0===t&&e.__key===f&&a===n||t===i-1&&e.__key===d&&0===u)&&(g=!0,h&=e.getFormat(),0===h))break}c.format=g?h:0}}Ze(n,e,void 0)}))}function Pr(t){if(!t.getTargetRanges)return null;const e=t.getTargetRanges();return 0===e.length?null:e[0]}function Fr(t,e){const n=t._compositionKey;if(xe(null),null!==n&&null!=e){if(\"\"===e){const e=Se(n),r=he(t.getElementByKey(n));return void(null!==r&&null!==r.nodeValue&&oi(e)&&Me(e,r.nodeValue,null,null,!0))}if(\"\\n\"===e[e.length-1]){const e=Oi();if(yi(e)){const n=e.focus;return e.anchor.set(n.key,n.offset,n.type),void Ze(t,T,null)}}}Ae(!0,t,e)}function Dr(t){let e=t.__lexicalEventHandles;return void 0===e&&(e=[],t.__lexicalEventHandles=e),e}const Lr=new Map;function Or(t){const e=t.target,n=yn(null==e?null:9===e.nodeType?e.defaultView:e.ownerDocument.defaultView);if(null===n)return;const r=ae(n.anchorNode);if(null===r)return;Tr&&(Tr=!1,hs(r,(()=>{const e=Ii(),i=n.anchorNode;if(null===i)return;const s=i.nodeType;if(s!==rt&&s!==it)return;Ee(Li(e,n,r,t))})));const i=Le(r),s=i[i.length-1],o=s._key,l=Lr.get(o),c=l||s;c!==r&&Er(n,c,!1),Er(n,r,!0),r!==s?Lr.set(o,r):l&&Lr.delete(o)}function Ir(t){t._lexicalHandled=!0}function Ar(t){return!0===t._lexicalHandled}function Mr(t){const e=t.ownerDocument,n=vr.get(e);void 0===n&&Rt(162);const r=n-1;r>=0||Rt(164),vr.set(e,r),0===r&&e.removeEventListener(\"selectionchange\",Or);const i=ue(t);ce(i)?(!function(t){if(null!==t._parentEditor){const e=Le(t),n=e[e.length-1]._key;Lr.get(n)===t&&Lr.delete(n)}else Lr.delete(t._key)}(i),t.__lexicalEditor=null):i&&Rt(198);const s=Dr(t);for(let t=0;t<s.length;t++)s[t]();t.__lexicalEventHandles=[]}function Wr(t,e,n){Yi();const r=t.__key,i=t.getParent();if(null===i)return;const s=function(t){const e=Oi();if(!yi(e)||!_s(t))return e;const{anchor:n,focus:r}=e,i=n.getNode(),s=r.getNode();return sn(i,t)&&n.set(t.__key,0,\"element\"),sn(s,t)&&r.set(t.__key,0,\"element\"),e}(t);let o=!1;if(yi(s)&&e){const e=s.anchor,n=s.focus;e.key===r&&(Wi(e,t,i,t.getPreviousSibling(),t.getNextSibling()),o=!0),n.key===r&&(Wi(n,t,i,t.getPreviousSibling(),t.getNextSibling()),o=!0)}else xi(s)&&e&&t.isSelected()&&t.selectPrevious();if(yi(s)&&e&&!o){const e=t.getIndexWithinParent();ye(t),Ai(s,i,e,-1)}else ye(t);n||an(i)||i.canBeEmpty()||!i.isEmpty()||Wr(i,e),e&&vs(i)&&i.isEmpty()&&i.selectEnd()}class zr{static getType(){Rt(64,this.name)}static clone(t){Rt(65,this.name)}afterCloneFrom(t){this.__parent=t.__parent,this.__next=t.__next,this.__prev=t.__prev}constructor(t){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,pe(this,t)}getType(){return this.__type}isInline(){Rt(137,this.constructor.name)}isAttached(){let t=this.__key;for(;null!==t;){if(\"root\"===t)return!0;const e=Se(t);if(null===e)break;t=e.__parent}return!1}isSelected(t){const e=t||Oi();if(null==e)return!1;const n=e.getNodes().some((t=>t.__key===this.__key));if(oi(this))return n;if(yi(e)&&\"element\"===e.anchor.type&&\"element\"===e.focus.type){if(e.isCollapsed())return!1;const t=this.getParent();if(ms(this)&&this.isInline()&&t){const n=e.isBackward()?e.focus:e.anchor,r=n.getNode();if(n.offset===r.getChildrenSize()&&r.is(t)&&r.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){const t=this.getParent();if(null===t)return-1;let e=t.getFirstChild(),n=0;for(;null!==e;){if(this.is(e))return n;n++,e=e.getNextSibling()}return-1}getParent(){const t=this.getLatest().__parent;return null===t?null:Se(t)}getParentOrThrow(){const t=this.getParent();return null===t&&Rt(66,this.__key),t}getTopLevelElement(){let t=this;for(;null!==t;){const e=t.getParent();if(an(e))return _s(t)||t===this&&ms(t)||Rt(194),t;t=e}return null}getTopLevelElementOrThrow(){const t=this.getTopLevelElement();return null===t&&Rt(67,this.__key),t}getParents(){const t=[];let e=this.getParent();for(;null!==e;)t.push(e),e=e.getParent();return t}getParentKeys(){const t=[];let e=this.getParent();for(;null!==e;)t.push(e.__key),e=e.getParent();return t}getPreviousSibling(){const t=this.getLatest().__prev;return null===t?null:Se(t)}getPreviousSiblings(){const t=[],e=this.getParent();if(null===e)return t;let n=e.getFirstChild();for(;null!==n&&!n.is(this);)t.push(n),n=n.getNextSibling();return t}getNextSibling(){const t=this.getLatest().__next;return null===t?null:Se(t)}getNextSiblings(){const t=[];let e=this.getNextSibling();for(;null!==e;)t.push(e),e=e.getNextSibling();return t}getCommonAncestor(t){const e=this.getParents(),n=t.getParents();_s(this)&&e.unshift(this),_s(t)&&n.unshift(t);const r=e.length,i=n.length;if(0===r||0===i||e[r-1]!==n[i-1])return null;const s=new Set(n);for(let t=0;t<r;t++){const n=e[t];if(s.has(n))return n}return null}is(t){return null!=t&&this.__key===t.__key}isBefore(t){if(this===t)return!1;if(t.isParentOf(this))return!0;if(this.isParentOf(t))return!1;const e=this.getCommonAncestor(t);let n=0,r=0,i=this;for(;;){const t=i.getParentOrThrow();if(t===e){n=i.getIndexWithinParent();break}i=t}for(i=t;;){const t=i.getParentOrThrow();if(t===e){r=i.getIndexWithinParent();break}i=t}return n<r}isParentOf(t){const e=this.__key;if(e===t.__key)return!1;let n=t;for(;null!==n;){if(n.__key===e)return!0;n=n.getParent()}return!1}getNodesBetween(t){const e=this.isBefore(t),n=[],r=new Set;let i=this;for(;null!==i;){const s=i.__key;if(r.has(s)||(r.add(s),n.push(i)),i===t)break;const o=_s(i)?e?i.getFirstChild():i.getLastChild():null;if(null!==o){i=o;continue}const l=e?i.getNextSibling():i.getPreviousSibling();if(null!==l){i=l;continue}const c=i.getParentOrThrow();if(r.has(c.__key)||n.push(c),c===t)break;let a=null,u=c;do{if(null===u&&Rt(68),a=e?u.getNextSibling():u.getPreviousSibling(),u=u.getParent(),null===u)break;null!==a||r.has(u.__key)||n.push(u)}while(null===a);i=a}return e||n.reverse(),n}isDirty(){const t=ts()._dirtyLeaves;return null!==t&&t.has(this.__key)}getLatest(){const t=Se(this.__key);return null===t&&Rt(113),t}getWritable(){Yi();const t=Gi(),e=ts(),n=t._nodeMap,r=this.__key,i=this.getLatest(),s=e._cloneNotNeeded,o=Oi();if(null!==o&&o.setCachedNodes(null),s.has(r))return me(i),i;const l=Pn(i);return s.add(r),me(l),n.set(r,l),l}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(t,e){Rt(70)}updateDOM(t,e,n){Rt(71)}exportDOM(t){return{element:this.createDOM(t._config,t)}}exportJSON(){Rt(72)}static importJSON(t){Rt(18,this.name)}static transform(){return null}remove(t){Wr(this,!0,t)}replace(t,e){Yi();let n=Oi();null!==n&&(n=n.clone()),dn(this,t);const r=this.getLatest(),i=this.__key,s=t.__key,o=t.getWritable(),l=this.getParentOrThrow().getWritable(),c=l.__size;ye(o);const a=r.getPreviousSibling(),u=r.getNextSibling(),f=r.__prev,d=r.__next,h=r.__parent;if(Wr(r,!1,!0),null===a)l.__first=s;else{a.getWritable().__next=s}if(o.__prev=f,null===u)l.__last=s;else{u.getWritable().__prev=s}if(o.__next=d,o.__parent=h,l.__size=c,e&&(_s(this)&&_s(o)||Rt(139),this.getChildren().forEach((t=>{o.append(t)}))),yi(n)){Ee(n);const t=n.anchor,e=n.focus;t.key===i&&gi(t,o),e.key===i&&gi(e,o)}return ve()===i&&xe(s),o}insertAfter(t,e=!0){Yi(),dn(this,t);const n=this.getWritable(),r=t.getWritable(),i=r.getParent(),s=Oi();let o=!1,l=!1;if(null!==i){const e=t.getIndexWithinParent();if(ye(r),yi(s)){const t=i.__key,n=s.anchor,r=s.focus;o=\"element\"===n.type&&n.key===t&&n.offset===e+1,l=\"element\"===r.type&&r.key===t&&r.offset===e+1}}const c=this.getNextSibling(),a=this.getParentOrThrow().getWritable(),u=r.__key,f=n.__next;if(null===c)a.__last=u;else{c.getWritable().__prev=u}if(a.__size++,n.__next=u,r.__next=f,r.__prev=n.__key,r.__parent=n.__parent,e&&yi(s)){const t=this.getIndexWithinParent();Ai(s,a,t+1);const e=a.__key;o&&s.anchor.set(e,t+2,\"element\"),l&&s.focus.set(e,t+2,\"element\")}return t}insertBefore(t,e=!0){Yi(),dn(this,t);const n=this.getWritable(),r=t.getWritable(),i=r.__key;ye(r);const s=this.getPreviousSibling(),o=this.getParentOrThrow().getWritable(),l=n.__prev,c=this.getIndexWithinParent();if(null===s)o.__first=i;else{s.getWritable().__next=i}o.__size++,n.__prev=i,r.__prev=l,r.__next=n.__key,r.__parent=n.__parent;const a=Oi();if(e&&yi(a)){Ai(a,this.getParentOrThrow(),c)}return t}isParentRequired(){return!1}createParentElementNode(){return Ns()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(t,e){Yi();const n=this.getPreviousSibling(),r=this.getParentOrThrow();if(null===n)return r.select(0,0);if(_s(n))return n.select();if(!oi(n)){const t=n.getIndexWithinParent()+1;return r.select(t,t)}return n.select(t,e)}selectNext(t,e){Yi();const n=this.getNextSibling(),r=this.getParentOrThrow();if(null===n)return r.select();if(_s(n))return n.select(0,0);if(!oi(n)){const t=n.getIndexWithinParent();return r.select(t,t)}return n.select(t,e)}markDirty(){this.getWritable()}}class Br extends zr{static getType(){return\"linebreak\"}static clone(t){return new Br(t.__key)}constructor(t){super(t)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:t=>function(t){const e=t.parentElement;if(null!==e&&Tn(e)){const n=e.firstChild;if(n===t||n.nextSibling===t&&Jr(n)){const n=e.lastChild;if(n===t||n.previousSibling===t&&Jr(n))return!0}}return!1}(t)||function(t){const e=t.parentElement;if(null!==e&&Tn(e)){const n=e.firstChild;if(n===t||n.nextSibling===t&&Jr(n))return!1;const r=e.lastChild;if(r===t||r.previousSibling===t&&Jr(r))return!0}return!1}(t)?null:{conversion:Rr,priority:0}}}static importJSON(t){return Kr()}exportJSON(){return{type:\"linebreak\",version:1}}}function Rr(t){return{node:Kr()}}function Kr(){return fn(new Br)}function $r(t){return t instanceof Br}function Jr(t){return t.nodeType===it&&/^( |\\t|\\r?\\n)+$/.test(t.textContent||\"\")}function Ur(t,e){return 16&e?\"code\":e&mt?\"mark\":32&e?\"sub\":64&e?\"sup\":null}function Vr(t,e){return 1&e?\"strong\":2&e?\"em\":\"span\"}function jr(t,e,n,r,i){const s=r.classList;let o=je(i,\"base\");void 0!==o&&s.add(...o),o=je(i,\"underlineStrikethrough\");let l=!1;const c=e>&&e&ht;void 0!==o&&(n>&&n&ht?(l=!0,c||s.add(...o)):c&&s.remove(...o));for(const t in Ot){const r=Ot[t];if(o=je(i,t),void 0!==o)if(n&r){if(l&&(\"underline\"===t||\"strikethrough\"===t)){e&r&&s.remove(...o);continue}e&r&&(!c||\"underline\"!==t)&&\"strikethrough\"!==t||s.add(...o)}else e&r&&s.remove(...o)}}function Hr(t,e,n){const r=e.firstChild,i=n.isComposing(),s=t+(i?wt:\"\");if(null==r)e.textContent=s;else{const t=r.nodeValue;if(t!==s)if(i||Q){const[e,n,i]=function(t,e){const n=t.length,r=e.length;let i=0,s=0;for(;i<n&&i<r&&t[i]===e[i];)i++;for(;s+i<n&&s+i<r&&t[n-s-1]===e[r-s-1];)s++;return[i,n-i-s,e.slice(i,r-s)]}(t,s);0!==n&&r.deleteData(e,n),r.insertData(e,i)}else r.nodeValue=s}}function qr(t,e,n,r,i,s){Hr(i,t,e);const o=s.theme.text;void 0!==o&&jr(0,0,r,t,o)}function Qr(t,e){const n=document.createElement(e);return n.appendChild(t),n}class Xr extends zr{static getType(){return\"text\"}static clone(t){return new Xr(t.__text,t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__format=t.__format,this.__style=t.__style,this.__mode=t.__mode,this.__detail=t.__detail}constructor(t,e){super(e),this.__text=t,this.__format=0,this.__style=\"\",this.__mode=0,this.__detail=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){const t=this.getLatest();return zt[t.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===ve()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return!!(1&this.getLatest().__detail)}isUnmergeable(){return!!(2&this.getLatest().__detail)}hasFormat(t){const e=Ot[t];return!!(this.getFormat()&e)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(t,e){return ge(this.getLatest().__format,t,e)}canHaveFormat(){return!0}createDOM(t,e){const n=this.__format,r=Ur(0,n),i=Vr(0,n),s=null===r?i:r,o=document.createElement(s);let l=o;this.hasFormat(\"code\")&&o.setAttribute(\"spellcheck\",\"false\"),null!==r&&(l=document.createElement(i),o.appendChild(l));qr(l,this,0,n,this.__text,t);const c=this.__style;return\"\"!==c&&(o.style.cssText=c),o}updateDOM(t,e,n){const r=this.__text,i=t.__format,s=this.__format,o=Ur(0,i),l=Ur(0,s),c=Vr(0,i),a=Vr(0,s);if((null===o?c:o)!==(null===l?a:l))return!0;if(o===l&&c!==a){const t=e.firstChild;null==t&&Rt(48);const i=document.createElement(a);return qr(i,this,0,s,r,n),e.replaceChild(i,t),!1}let u=e;null!==l&&null!==o&&(u=e.firstChild,null==u&&Rt(49)),Hr(r,u,this);const f=n.theme.text;void 0!==f&&i!==s&&jr(0,i,s,u,f);const d=t.__style,h=this.__style;return d!==h&&(e.style.cssText=h),!1}static importDOM(){return{\"#text\":()=>({conversion:ei,priority:0}),b:()=>({conversion:Zr,priority:0}),code:()=>({conversion:ii,priority:0}),em:()=>({conversion:ii,priority:0}),i:()=>({conversion:ii,priority:0}),s:()=>({conversion:ii,priority:0}),span:()=>({conversion:Yr,priority:0}),strong:()=>({conversion:ii,priority:0}),sub:()=>({conversion:ii,priority:0}),sup:()=>({conversion:ii,priority:0}),u:()=>({conversion:ii,priority:0})}}static importJSON(t){const e=si(t.text);return e.setFormat(t.format),e.setDetail(t.detail),e.setMode(t.mode),e.setStyle(t.style),e}exportDOM(t){let{element:e}=super.exportDOM(t);return null!==e&&vn(e)||Rt(132),e.style.whiteSpace=\"pre-wrap\",this.hasFormat(\"bold\")&&(e=Qr(e,\"b\")),this.hasFormat(\"italic\")&&(e=Qr(e,\"i\")),this.hasFormat(\"strikethrough\")&&(e=Qr(e,\"s\")),this.hasFormat(\"underline\")&&(e=Qr(e,\"u\")),{element:e}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(t,e){}setFormat(t){const e=this.getWritable();return e.__format=\"string\"==typeof t?Ot[t]:t,e}setDetail(t){const e=this.getWritable();return e.__detail=\"string\"==typeof t?It[t]:t,e}setStyle(t){const e=this.getWritable();return e.__style=t,e}toggleFormat(t){const e=ge(this.getFormat(),t,null);return this.setFormat(e)}toggleDirectionless(){const t=this.getWritable();return t.__detail^=1,t}toggleUnmergeable(){const t=this.getWritable();return t.__detail^=2,t}setMode(t){const e=Wt[t];if(this.__mode===e)return this;const n=this.getWritable();return n.__mode=e,n}setTextContent(t){if(this.__text===t)return this;const e=this.getWritable();return e.__text=t,e}select(t,e){Yi();let n=t,r=e;const i=Oi(),s=this.getTextContent(),o=this.__key;if(\"string\"==typeof s){const t=s.length;void 0===n&&(n=t),void 0===r&&(r=t)}else n=0,r=0;if(!yi(i))return Ei(o,n,o,r,\"text\",\"text\");{const t=ve();t!==i.anchor.key&&t!==i.focus.key||xe(o),i.setTextNodeRange(this,n,this,r)}return i}selectStart(){return this.select(0,0)}selectEnd(){const t=this.getTextContentSize();return this.select(t,t)}spliceText(t,e,n,r){const i=this.getWritable(),s=i.__text,o=n.length;let l=t;l<0&&(l=o+l,l<0&&(l=0));const c=Oi();if(r&&yi(c)){const e=t+o;c.setTextNodeRange(i,e,i,e)}const a=s.slice(0,l)+n+s.slice(l+e);return i.__text=a,i}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...t){Yi();const e=this.getLatest(),n=e.getTextContent(),r=e.__key,i=ve(),s=new Set(t),o=[],l=n.length;let c=\"\";for(let t=0;t<l;t++)\"\"!==c&&s.has(t)&&(o.push(c),c=\"\"),c+=n[t];\"\"!==c&&o.push(c);const a=o.length;if(0===a)return[];if(o[0]===n)return[e];const u=o[0],f=e.getParent();let d;const h=e.getFormat(),g=e.getStyle(),_=e.__detail;let p=!1;e.isSegmented()?(d=si(u),d.__format=h,d.__style=g,d.__detail=_,p=!0):(d=e.getWritable(),d.__text=u);const y=Oi(),m=[d];let x=u.length;for(let t=1;t<a;t++){const e=o[t],n=e.length,s=si(e).getWritable();s.__format=h,s.__style=g,s.__detail=_;const l=s.__key,c=x+n;if(yi(y)){const t=y.anchor,e=y.focus;t.key===r&&\"text\"===t.type&&t.offset>x&&t.offset<=c&&(t.key=l,t.offset-=x,y.dirty=!0),e.key===r&&\"text\"===e.type&&e.offset>x&&e.offset<=c&&(e.key=l,e.offset-=x,y.dirty=!0)}i===r&&xe(l),x=c,m.push(s)}if(null!==f){!function(t){const e=t.getPreviousSibling(),n=t.getNextSibling();null!==e&&me(e),null!==n&&me(n)}(this);const t=f.getWritable(),e=this.getIndexWithinParent();p?(t.splice(e,0,m),this.remove()):t.splice(e,1,m),yi(y)&&Ai(y,f,e,a-1)}return m}mergeWithSibling(t){const e=t===this.getPreviousSibling();e||t===this.getNextSibling()||Rt(50);const n=this.__key,r=t.__key,i=this.__text,s=i.length;ve()===r&&xe(n);const o=Oi();if(yi(o)){const i=o.anchor,l=o.focus;null!==i&&i.key===r&&(zi(i,e,n,t,s),o.dirty=!0),null!==l&&l.key===r&&(zi(l,e,n,t,s),o.dirty=!0)}const l=t.__text,c=e?l+i:i+l;this.setTextContent(c);const a=this.getWritable();return t.remove(),a}isTextEntity(){return!1}}function Yr(t){return{forChild:li(t.style),node:null}}function Zr(t){const e=t,n=\"normal\"===e.style.fontWeight;return{forChild:li(e.style,n?void 0:\"bold\"),node:null}}const Gr=new WeakMap;function ti(t){return\"PRE\"===t.nodeName||t.nodeType===rt&&void 0!==t.style&&void 0!==t.style.whiteSpace&&t.style.whiteSpace.startsWith(\"pre\")}function ei(t){const e=t;null===t.parentElement&&Rt(129);let n=e.textContent||\"\";if(null!==function(t){let e,n=t.parentNode;const r=[t];for(;null!==n&&void 0===(e=Gr.get(n))&&!ti(n);)r.push(n),n=n.parentNode;const i=void 0===e?n:e;for(let t=0;t<r.length;t++)Gr.set(r[t],i);return i}(e)){const t=n.split(/(\\r?\\n|\\t)/),e=[],r=t.length;for(let n=0;n<r;n++){const r=t[n];\"\\n\"===r||\"\\r\\n\"===r?e.push(Kr()):\"\\t\"===r?e.push(ai()):\"\"!==r&&e.push(si(r))}return{node:e}}if(n=n.replace(/\\r/g,\"\").replace(/[ \\t\\n]+/g,\" \"),\"\"===n)return{node:null};if(\" \"===n[0]){let t=e,r=!0;for(;null!==t&&null!==(t=ni(t,!1));){const e=t.textContent||\"\";if(e.length>0){/[ \\t\\n]$/.test(e)&&(n=n.slice(1)),r=!1;break}}r&&(n=n.slice(1))}if(\" \"===n[n.length-1]){let t=e,r=!0;for(;null!==t&&null!==(t=ni(t,!0));){if((t.textContent||\"\").replace(/^( |\\t|\\r?\\n)+/,\"\").length>0){r=!1;break}}r&&(n=n.slice(0,n.length-1))}return\"\"===n?{node:null}:{node:si(n)}}function ni(t,e){let n=t;for(;;){let t;for(;null===(t=e?n.nextSibling:n.previousSibling);){const t=n.parentElement;if(null===t)return null;n=t}if(n=t,n.nodeType===rt){const t=n.style.display;if(\"\"===t&&!Sn(n)||\"\"!==t&&!t.startsWith(\"inline\"))return null}let r=n;for(;null!==(r=e?n.firstChild:n.lastChild);)n=r;if(n.nodeType===it)return n;if(\"BR\"===n.nodeName)return null}}const ri={code:\"code\",em:\"italic\",i:\"italic\",s:\"strikethrough\",strong:\"bold\",sub:\"subscript\",sup:\"superscript\",u:\"underline\"};function ii(t){const e=ri[t.nodeName.toLowerCase()];return void 0===e?{node:null}:{forChild:li(t.style,e),node:null}}function si(t=\"\"){return fn(new Xr(t))}function oi(t){return t instanceof Xr}function li(t,e){const n=t.fontWeight,r=t.textDecoration.split(\" \"),i=\"700\"===n||\"bold\"===n,s=r.includes(\"line-through\"),o=\"italic\"===t.fontStyle,l=r.includes(\"underline\"),c=t.verticalAlign;return t=>oi(t)?(i&&!t.hasFormat(\"bold\")&&t.toggleFormat(\"bold\"),s&&!t.hasFormat(\"strikethrough\")&&t.toggleFormat(\"strikethrough\"),o&&!t.hasFormat(\"italic\")&&t.toggleFormat(\"italic\"),l&&!t.hasFormat(\"underline\")&&t.toggleFormat(\"underline\"),\"sub\"!==c||t.hasFormat(\"subscript\")||t.toggleFormat(\"subscript\"),\"super\"!==c||t.hasFormat(\"superscript\")||t.toggleFormat(\"superscript\"),e&&!t.hasFormat(e)&&t.toggleFormat(e),t):t}class ci extends Xr{static getType(){return\"tab\"}static clone(t){return new ci(t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__text=t.__text}constructor(t){super(\"\\t\",t),this.__detail=2}static importDOM(){return null}static importJSON(t){const e=ai();return e.setFormat(t.format),e.setStyle(t.style),e}exportJSON(){return{...super.exportJSON(),type:\"tab\",version:1}}setTextContent(t){Rt(126)}setDetail(t){Rt(127)}setMode(t){Rt(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function ai(){return fn(new ci)}function ui(t){return t instanceof ci}class fi{constructor(t,e,n){this._selection=null,this.key=t,this.offset=e,this.type=n}is(t){return this.key===t.key&&this.offset===t.offset&&this.type===t.type}isBefore(t){let e=this.getNode(),n=t.getNode();const r=this.offset,i=t.offset;if(_s(e)){const t=e.getDescendantByIndex(r);e=null!=t?t:e}if(_s(n)){const t=n.getDescendantByIndex(i);n=null!=t?t:n}return e===n?r<i:e.isBefore(n)}getNode(){const t=Se(this.key);return null===t&&Rt(20),t}set(t,e,n){const r=this._selection,i=this.key;this.key=t,this.offset=e,this.type=n,Xi()||(ve()===i&&xe(t),null!==r&&(r.setCachedNodes(null),r.dirty=!0))}}function di(t,e,n){return new fi(t,e,n)}function hi(t,e){let n=e.__key,r=t.offset,i=\"element\";if(oi(e)){i=\"text\";const t=e.getTextContentSize();r>t&&(r=t)}else if(!_s(e)){const t=e.getNextSibling();if(oi(t))n=t.__key,r=0,i=\"text\";else{const t=e.getParent();t&&(n=t.__key,r=e.getIndexWithinParent()+1)}}t.set(n,r,i)}function gi(t,e){if(_s(e)){const n=e.getLastDescendant();_s(n)||oi(n)?hi(t,n):hi(t,e)}else hi(t,e)}function _i(t,e,n,r){t.key=e,t.offset=n,t.type=r}class pi{constructor(t){this._cachedNodes=null,this._nodes=t,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(t){this._cachedNodes=t}is(t){if(!xi(t))return!1;const e=this._nodes,n=t._nodes;return e.size===n.size&&Array.from(e).every((t=>n.has(t)))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(t){this.dirty=!0,this._nodes.add(t),this._cachedNodes=null}delete(t){this.dirty=!0,this._nodes.delete(t),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(t){return this._nodes.has(t)}clone(){return new pi(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(t){}insertText(){}insertNodes(t){const e=this.getNodes(),n=e.length,r=e[n-1];let i;if(oi(r))i=r.select();else{const t=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(t,t)}i.insertNodes(t);for(let t=0;t<n;t++)e[t].remove()}getNodes(){const t=this._cachedNodes;if(null!==t)return t;const e=this._nodes,n=[];for(const t of e){const e=Se(t);null!==e&&n.push(e)}return Xi()||(this._cachedNodes=n),n}getTextContent(){const t=this.getNodes();let e=\"\";for(let n=0;n<t.length;n++)e+=t[n].getTextContent();return e}}function yi(t){return t instanceof mi}class mi{constructor(t,e,n,r){this.anchor=t,this.focus=e,t._selection=this,e._selection=this,this._cachedNodes=null,this.format=n,this.style=r,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(t){this._cachedNodes=t}is(t){return!!yi(t)&&(this.anchor.is(t.anchor)&&this.focus.is(t.focus)&&this.format===t.format&&this.style===t.style)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){const t=this._cachedNodes;if(null!==t)return t;const e=this.anchor,n=this.focus,r=e.isBefore(n),i=r?e:n,s=r?n:e;let o=i.getNode(),l=s.getNode();const c=i.offset,a=s.offset;if(_s(o)){const t=o.getDescendantByIndex(c);o=null!=t?t:o}if(_s(l)){let t=l.getDescendantByIndex(a);null!==t&&t!==o&&l.getChildAtIndex(a)===t&&(t=t.getPreviousSibling()),l=null!=t?t:l}let u;return u=o.is(l)?_s(o)&&o.getChildrenSize()>0?[]:[o]:o.getNodesBetween(l),Xi()||(this._cachedNodes=u),u}setTextNodeRange(t,e,n,r){_i(this.anchor,t.__key,e,\"text\"),_i(this.focus,n.__key,r,\"text\"),this._cachedNodes=null,this.dirty=!0}getTextContent(){const t=this.getNodes();if(0===t.length)return\"\";const e=t[0],n=t[t.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[o,l]=Si(this);let c=\"\",a=!0;for(let u=0;u<t.length;u++){const f=t[u];if(_s(f)&&!f.isInline())a||(c+=\"\\n\"),a=!f.isEmpty();else if(a=!1,oi(f)){let t=f.getTextContent();f===e?f===n?\"element\"===r.type&&\"element\"===i.type&&i.offset!==r.offset||(t=o<l?t.slice(o,l):t.slice(l,o)):t=s?t.slice(o):t.slice(l):f===n&&(t=s?t.slice(0,l):t.slice(0,o)),c+=t}else!ms(f)&&!$r(f)||f===n&&this.isCollapsed()||(c+=f.getTextContent())}return c}applyDOMRange(t){const e=ts(),n=e.getEditorState()._selection,r=wi(t.startContainer,t.startOffset,t.endContainer,t.endOffset,e,n);if(null===r)return;const[i,s]=r;_i(this.anchor,i.key,i.offset,i.type),_i(this.focus,s.key,s.offset,s.type),this._cachedNodes=null}clone(){const t=this.anchor,e=this.focus;return new mi(di(t.key,t.offset,t.type),di(e.key,e.offset,e.type),this.format,this.style)}toggleFormat(t){this.format=ge(this.format,t,null),this.dirty=!0}setStyle(t){this.style=t,this.dirty=!0}hasFormat(t){const e=Ot[t];return!!(this.format&e)}insertRawText(t){const e=t.split(/(\\r?\\n|\\t)/),n=[],r=e.length;for(let t=0;t<r;t++){const r=e[t];\"\\n\"===r||\"\\r\\n\"===r?n.push(Kr()):\"\\t\"===r?n.push(ai()):n.push(si(r))}this.insertNodes(n)}insertText(t){const e=this.anchor,n=this.focus,r=this.format,i=this.style;let s=e,o=n;!this.isCollapsed()&&n.isBefore(e)&&(s=n,o=e),\"element\"===s.type&&function(t,e,n,r){const i=t.getNode(),s=i.getChildAtIndex(t.offset),o=si(),l=vs(i)?Ns().append(o):o;o.setFormat(n),o.setStyle(r),null===s?i.append(l):s.insertBefore(l),t.is(e)&&e.set(o.__key,0,\"text\"),t.set(o.__key,0,\"text\")}(s,o,r,i);const l=s.offset;let c=o.offset;const a=this.getNodes(),u=a.length;let f=a[0];oi(f)||Rt(26);const d=f.getTextContent().length,h=f.getParentOrThrow();let g=a[u-1];if(1===u&&\"element\"===o.type&&(c=d,o.set(s.key,c,\"text\")),this.isCollapsed()&&l===d&&(f.isSegmented()||f.isToken()||!f.canInsertTextAfter()||!h.canInsertTextAfter()&&null===f.getNextSibling())){let e=f.getNextSibling();if(oi(e)&&e.canInsertTextBefore()&&!fe(e)||(e=si(),e.setFormat(r),e.setStyle(i),h.canInsertTextAfter()?f.insertAfter(e):h.insertAfter(e)),e.select(0,0),f=e,\"\"!==t)return void this.insertText(t)}else if(this.isCollapsed()&&0===l&&(f.isSegmented()||f.isToken()||!f.canInsertTextBefore()||!h.canInsertTextBefore()&&null===f.getPreviousSibling())){let e=f.getPreviousSibling();if(oi(e)&&!fe(e)||(e=si(),e.setFormat(r),h.canInsertTextBefore()?f.insertBefore(e):h.insertBefore(e)),e.select(),f=e,\"\"!==t)return void this.insertText(t)}else if(f.isSegmented()&&l!==d){const t=si(f.getTextContent());t.setFormat(r),f.replace(t),f=t}else if(!this.isCollapsed()&&\"\"!==t){const e=g.getParent();if(!h.canInsertTextBefore()||!h.canInsertTextAfter()||_s(e)&&(!e.canInsertTextBefore()||!e.canInsertTextAfter()))return this.insertText(\"\"),bi(this.anchor,this.focus,null),void this.insertText(t)}if(1===u){if(f.isToken()){const e=si(t);return e.select(),void f.replace(e)}const e=f.getFormat(),n=f.getStyle();if(l!==c||e===r&&n===i){if(ui(f)){const e=si(t);return e.setFormat(r),e.setStyle(i),e.select(),void f.replace(e)}}else{if(\"\"!==f.getTextContent()){const e=si(t);if(e.setFormat(r),e.setStyle(i),e.select(),0===l)f.insertBefore(e,!1);else{const[t]=f.splitText(l);t.insertAfter(e,!1)}return void(e.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=t.length))}f.setFormat(r),f.setStyle(i)}const s=c-l;f=f.spliceText(l,s,t,!0),\"\"===f.getTextContent()?f.remove():\"text\"===this.anchor.type&&(f.isComposing()?this.anchor.offset-=t.length:(this.format=e,this.style=n))}else{const e=new Set([...f.getParentKeys(),...g.getParentKeys()]),n=_s(f)?f:f.getParentOrThrow();let r=_s(g)?g:g.getParentOrThrow(),i=g;if(!n.is(r)&&r.isInline())do{i=r,r=r.getParentOrThrow()}while(r.isInline());if(\"text\"===o.type&&(0!==c||\"\"===g.getTextContent())||\"element\"===o.type&&g.getIndexWithinParent()<c)if(oi(g)&&!g.isToken()&&c!==g.getTextContentSize()){if(g.isSegmented()){const t=si(g.getTextContent());g.replace(t),g=t}vs(o.getNode())||\"text\"!==o.type||(g=g.spliceText(0,c,\"\")),e.add(g.__key)}else{const t=g.getParentOrThrow();t.canBeEmpty()||1!==t.getChildrenSize()?g.remove():t.remove()}else e.add(g.__key);const s=r.getChildren(),h=new Set(a),_=n.is(r),p=n.isInline()&&null===f.getNextSibling()?n:f;for(let t=s.length-1;t>=0;t--){const e=s[t];if(e.is(f)||_s(e)&&e.isParentOf(f))break;e.isAttached()&&(!h.has(e)||e.is(i)?_||p.insertAfter(e,!1):e.remove())}if(!_){let t=r,n=null;for(;null!==t;){const r=t.getChildren(),i=r.length;(0===i||r[i-1].is(n))&&(e.delete(t.__key),n=t),t=t.getParent()}}if(f.isToken())if(l===d)f.select();else{const e=si(t);e.select(),f.replace(e)}else f=f.spliceText(l,d-l,t,!0),\"\"===f.getTextContent()?f.remove():f.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=t.length);for(let t=1;t<u;t++){const n=a[t],r=n.__key;e.has(r)||n.remove()}}}removeText(){this.insertText(\"\")}formatText(t){if(this.isCollapsed())return this.toggleFormat(t),void xe(null);const e=this.getNodes(),n=[];for(const t of e)oi(t)&&n.push(t);const r=n.length;if(0===r)return this.toggleFormat(t),void xe(null);const i=this.anchor,s=this.focus,o=this.isBackward(),l=o?s:i,c=o?i:s;let a=0,u=n[0],f=\"element\"===l.type?0:l.offset;if(\"text\"===l.type&&f===u.getTextContentSize()&&(a=1,u=n[1],f=0),null==u)return;const d=u.getFormatFlags(t,null),h=r-1;let g=n[h];const _=\"text\"===c.type?c.offset:g.getTextContentSize();if(u.is(g)){if(f===_)return;if(fe(u)||0===f&&_===u.getTextContentSize())u.setFormat(d);else{const t=u.splitText(f,_),e=0===f?t[0]:t[1];e.setFormat(d),\"text\"===l.type&&l.set(e.__key,0,\"text\"),\"text\"===c.type&&c.set(e.__key,_-f,\"text\")}return void(this.format=d)}0===f||fe(u)||([,u]=u.splitText(f),f=0),u.setFormat(d);const p=g.getFormatFlags(t,d);_>0&&(_===g.getTextContentSize()||fe(g)||([g]=g.splitText(_)),g.setFormat(p));for(let e=a+1;e<h;e++){const r=n[e],i=r.getFormatFlags(t,p);r.setFormat(i)}\"text\"===l.type&&l.set(u.__key,f,\"text\"),\"text\"===c.type&&c.set(g.__key,_,\"text\"),this.format=d|p}insertNodes(t){if(0===t.length)return;if(\"root\"===this.anchor.key){this.insertParagraph();const e=Oi();return yi(e)||Rt(134),e.insertNodes(t)}const e=kn((this.isBackward()?this.focus:this.anchor).getNode(),Cn),n=t[t.length-1];if(\"__language\"in e&&_s(e)){if(\"__language\"in t[0])this.insertText(t[0].getTextContent());else{const r=$i(this);e.splice(r,0,t),n.selectEnd()}return}if(!t.some((t=>(_s(t)||ms(t))&&!t.isInline()))){_s(e)||Rt(135);const r=$i(this);return e.splice(r,0,t),void n.selectEnd()}const r=function(t){const e=Ns();let n=null;for(let r=0;r<t.length;r++){const i=t[r],s=$r(i);if(s||ms(i)&&i.isInline()||_s(i)&&i.isInline()||oi(i)||i.isParentRequired()){if(null===n&&(n=i.createParentElementNode(),e.append(n),s))continue;null!==n&&n.append(i)}else e.append(i),n=null}return e}(t),i=r.getLastDescendant(),s=r.getChildren(),o=!_s(e)||!e.isEmpty()?this.insertParagraph():null,l=s[s.length-1];let c=s[0];var a;_s(a=c)&&Cn(a)&&!a.isEmpty()&&_s(e)&&(!e.isEmpty()||e.canMergeWhenEmpty())&&(_s(e)||Rt(135),e.append(...c.getChildren()),c=s[1]),c&&function(t,e,n){const r=e.getParentOrThrow().getLastChild();let i=e;const s=[e];for(;i!==r;)i.getNextSibling()||Rt(140),i=i.getNextSibling(),s.push(i);let o=t;for(const t of s)o=o.insertAfter(t)}(e,c);const u=kn(i,Cn);o&&_s(u)&&(o.canMergeWhenEmpty()||Cn(l))&&(u.append(...o.getChildren()),o.remove()),_s(e)&&e.isEmpty()&&e.remove(),i.selectEnd();const f=_s(e)?e.getLastChild():null;$r(f)&&u!==e&&f.remove()}insertParagraph(){if(\"root\"===this.anchor.key){const t=Ns();return we().splice(this.anchor.offset,0,[t]),t.select(),t}const t=$i(this),e=kn(this.anchor.getNode(),Cn);_s(e)||Rt(136);const n=e.getChildAtIndex(t),r=n?[n,...n.getNextSiblings()]:[],i=e.insertNewAfter(this,!1);return i?(i.append(...r),i.selectStart(),i):null}insertLineBreak(t){const e=Kr();if(this.insertNodes([e]),t){const t=e.getParentOrThrow(),n=e.getIndexWithinParent();t.select(n,n)}}extract(){const t=this.getNodes(),e=t.length,n=e-1,r=this.anchor,i=this.focus;let s=t[0],o=t[n];const[l,c]=Si(this);if(0===e)return[];if(1===e){if(oi(s)&&!this.isCollapsed()){const t=l>c?c:l,e=l>c?l:c,n=s.splitText(t,e),r=0===t?n[0]:n[1];return null!=r?[r]:[]}return[s]}const a=r.isBefore(i);if(oi(s)){const e=a?l:c;e===s.getTextContentSize()?t.shift():0!==e&&([,s]=s.splitText(e),t[0]=s)}if(oi(o)){const e=o.getTextContent().length,r=a?c:l;0===r?t.pop():r!==e&&([o]=o.splitText(r),t[n]=o)}return t}modify(t,e,n){const r=this.focus,i=this.anchor,s=\"move\"===t,o=Xe(r,e);if(ms(o)&&!o.isIsolated()){if(s&&o.isKeyboardSelectable()){const t=Fi();return t.add(o.__key),void Ee(t)}const t=e?o.getPreviousSibling():o.getNextSibling();if(oi(t)){const n=t.__key,o=e?t.getTextContent().length:0;return r.set(n,o,\"text\"),void(s&&i.set(n,o,\"text\"))}{const n=o.getParentOrThrow();let l,c;return _s(t)?(c=t.__key,l=e?t.getChildrenSize():0):(l=o.getIndexWithinParent(),c=n.__key,e||l++),r.set(c,l,\"element\"),void(s&&i.set(c,l,\"element\"))}}const l=ts(),c=yn(l._window);if(!c)return;const a=l._blockCursorElement,u=l._rootElement;if(null===u||null===a||!_s(o)||o.isInline()||o.canBeEmpty()||_n(a,l,u),function(t,e,n,r){t.modify(e,n,r)}(c,t,e?\"backward\":\"forward\",n),c.rangeCount>0){const t=c.getRangeAt(0),n=this.anchor.getNode(),r=vs(n)?n:cn(n);if(this.applyDOMRange(t),this.dirty=!0,!s){const n=this.getNodes(),i=[];let s=!1;for(let t=0;t<n.length;t++){const e=n[t];sn(e,r)?i.push(e):s=!0}if(s&&i.length>0)if(e){const t=i[0];_s(t)?t.selectStart():t.getParentOrThrow().selectStart()}else{const t=i[i.length-1];_s(t)?t.selectEnd():t.getParentOrThrow().selectEnd()}c.anchorNode===t.startContainer&&c.anchorOffset===t.startOffset||function(t){const e=t.focus,n=t.anchor,r=n.key,i=n.offset,s=n.type;_i(n,e.key,e.offset,e.type),_i(e,r,i,s),t._cachedNodes=null}(this)}}}forwardDeletion(t,e,n){if(!n&&(\"element\"===t.type&&_s(e)&&t.offset===e.getChildrenSize()||\"text\"===t.type&&t.offset===e.getTextContentSize())){const t=e.getParent(),n=e.getNextSibling()||(null===t?null:t.getNextSibling());if(_s(n)&&n.isShadowRoot())return!0}return!1}deleteCharacter(t){const n=this.isCollapsed();if(this.isCollapsed()){const n=this.anchor;let r=n.getNode();if(this.forwardDeletion(n,r,t))return;const i=this.focus,s=Xe(i,t);if(ms(s)&&!s.isIsolated()){if(s.isKeyboardSelectable()&&_s(r)&&0===r.getChildrenSize()){r.remove();const t=Fi();t.add(s.__key),Ee(t)}else{s.remove();ts().dispatchCommand(e,void 0)}return}if(!t&&_s(s)&&_s(r)&&r.isEmpty())return r.remove(),void s.selectStart();if(this.modify(\"extend\",t,\"character\"),this.isCollapsed()){if(t&&0===n.offset){if((\"element\"===n.type?n.getNode():n.getNode().getParentOrThrow()).collapseAtStart(this))return}}else{const e=\"text\"===i.type?i.getNode():null;if(r=\"text\"===n.type?n.getNode():null,null!==e&&e.isSegmented()){const n=i.offset,s=e.getTextContentSize();if(e.is(r)||t&&n!==s||!t&&0!==n)return void Ti(e,t,n)}else if(null!==r&&r.isSegmented()){const i=n.offset,s=r.getTextContentSize();if(r.is(e)||t&&0!==i||!t&&i!==s)return void Ti(r,t,i)}!function(t,e){const n=t.anchor,r=t.focus,i=n.getNode(),s=r.getNode();if(i===s&&\"text\"===n.type&&\"text\"===r.type){const t=n.offset,s=r.offset,o=t<s,l=o?t:s,c=o?s:t,a=c-1;if(l!==a){De(i.getTextContent().slice(l,c))||(e?r.offset=a:n.offset=a)}}}(this,t)}}if(this.removeText(),t&&!n&&this.isCollapsed()&&\"element\"===this.anchor.type&&0===this.anchor.offset){const t=this.anchor.getNode();t.isEmpty()&&vs(t.getParent())&&0===t.getIndexWithinParent()&&t.collapseAtStart(this)}}deleteLine(t){if(this.isCollapsed()){const e=\"element\"===this.anchor.type;e&&this.insertText(\" \"),this.modify(\"extend\",t,\"lineboundary\");if(0===(t?this.focus:this.anchor).offset&&this.modify(\"extend\",t,\"character\"),e){const e=t?this.anchor:this.focus;e.set(e.key,e.offset+1,e.type)}}this.removeText()}deleteWord(t){if(this.isCollapsed()){const e=this.anchor,n=e.getNode();if(this.forwardDeletion(e,n,t))return;this.modify(\"extend\",t,\"word\")}this.removeText()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}}function xi(t){return t instanceof pi}function vi(t){const e=t.offset;if(\"text\"===t.type)return e;const n=t.getNode();return e===n.getChildrenSize()?n.getTextContent().length:0}function Si(t){const e=t.getStartEndPoints();if(null===e)return[0,0];const[n,r]=e;return\"element\"===n.type&&\"element\"===r.type&&n.key===r.key&&n.offset===r.offset?[0,0]:[vi(n),vi(r)]}function Ti(t,e,n){const r=t,i=r.getTextContent().split(/(?=\\s)/g),s=i.length;let o=0,l=0;for(let t=0;t<s;t++){const r=t===s-1;if(l=o,o+=i[t].length,e&&o===n||o>n||r){i.splice(t,1),r&&(l=void 0);break}}const c=i.join(\"\").trim();\"\"===c?r.remove():(r.setTextContent(c),r.select(l,l))}function Ci(t,e,n,r){let i,s=e;if(t.nodeType===rt){let o=!1;const l=t.childNodes,c=l.length,a=r._blockCursorElement;s===c&&(o=!0,s=c-1);let u=l[s],f=!1;if(u===a)u=l[s+1],f=!0;else if(null!==a){const n=a.parentNode;if(t===n){e>Array.prototype.indexOf.call(n.children,a)&&s--}}if(i=Pe(u),oi(i))s=Fe(i,o);else{let r=Pe(t);if(null===r)return null;if(_s(r)){s=Math.min(r.getChildrenSize(),s);let t=r.getChildAtIndex(s);if(_s(t)&&function(t,e,n){const r=t.getParent();return null===n||null===r||!r.canBeEmpty()||r!==n.getNode()}(t,0,n)){const e=o?t.getLastDescendant():t.getFirstDescendant();null===e?r=t:(t=e,r=_s(t)?t:t.getParentOrThrow()),s=0}oi(t)?(i=t,r=null,s=Fe(t,o)):t!==r&&o&&!f&&s++}else{const n=r.getIndexWithinParent();s=0===e&&ms(r)&&Pe(t)===r?n:n+1,r=r.getParentOrThrow()}if(_s(r))return di(r.__key,s,\"element\")}}else i=Pe(t);return oi(i)?di(i.__key,s,\"text\"):null}function ki(t,e,n){const r=t.offset,i=t.getNode();if(0===r){const r=i.getPreviousSibling(),s=i.getParent();if(e){if((n||!e)&&null===r&&_s(s)&&s.isInline()){const e=s.getPreviousSibling();oi(e)&&(t.key=e.__key,t.offset=e.getTextContent().length)}}else _s(r)&&!n&&r.isInline()?(t.key=r.__key,t.offset=r.getChildrenSize(),t.type=\"element\"):oi(r)&&(t.key=r.__key,t.offset=r.getTextContent().length)}else if(r===i.getTextContent().length){const r=i.getNextSibling(),s=i.getParent();if(e&&_s(r)&&r.isInline())t.key=r.__key,t.offset=0,t.type=\"element\";else if((n||e)&&null===r&&_s(s)&&s.isInline()&&!s.canInsertTextAfter()){const e=s.getNextSibling();oi(e)&&(t.key=e.__key,t.offset=0)}}}function bi(t,e,n){if(\"text\"===t.type&&\"text\"===e.type){const r=t.isBefore(e),i=t.is(e);ki(t,r,i),ki(e,!r,i),i&&(e.key=t.key,e.offset=t.offset,e.type=t.type);const s=ts();if(s.isComposing()&&s._compositionKey!==t.key&&yi(n)){const r=n.anchor,i=n.focus;_i(t,r.key,r.offset,r.type),_i(e,i.key,i.offset,i.type)}}}function wi(t,e,n,r,i,s){if(null===t||null===n||!le(i,t,n))return null;const o=Ci(t,e,yi(s)?s.anchor:null,i);if(null===o)return null;const l=Ci(n,r,yi(s)?s.focus:null,i);if(null===l)return null;if(\"element\"===o.type&&\"element\"===l.type){const e=Pe(t),r=Pe(n);if(ms(e)&&ms(r))return null}return bi(o,l,s),[o,l]}function Ni(t){return _s(t)&&!t.isInline()}function Ei(t,e,n,r,i,s){const o=Gi(),l=new mi(di(t,e,i),di(n,r,s),0,\"\");return l.dirty=!0,o._selection=l,l}function Pi(){const t=di(\"root\",0,\"element\"),e=di(\"root\",0,\"element\");return new mi(t,e,0,\"\")}function Fi(){return new pi(new Set)}function Di(t,e){return Li(null,t,e,null)}function Li(t,e,n,r){const i=n._window;if(null===i)return null;const s=r||i.event,o=s?s.type:void 0,l=\"selectionchange\"===o,c=!Jt&&(l||\"beforeinput\"===o||\"compositionstart\"===o||\"compositionend\"===o||\"click\"===o&&s&&3===s.detail||\"drop\"===o||void 0===o);let a,u,f,d;if(yi(t)&&!c)return t.clone();if(null===e)return null;if(a=e.anchorNode,u=e.focusNode,f=e.anchorOffset,d=e.focusOffset,l&&yi(t)&&!le(n,a,u))return t.clone();const h=wi(a,f,u,d,n,t);if(null===h)return null;const[g,_]=h;return new mi(g,_,yi(t)?t.format:0,yi(t)?t.style:\"\")}function Oi(){return Gi()._selection}function Ii(){return ts()._editorState._selection}function Ai(t,e,n,r=1){const i=t.anchor,s=t.focus,o=i.getNode(),l=s.getNode();if(!e.is(o)&&!e.is(l))return;const c=e.__key;if(t.isCollapsed()){const e=i.offset;if(n<=e&&r>0||n<e&&r<0){const n=Math.max(0,e+r);i.set(c,n,\"element\"),s.set(c,n,\"element\"),Mi(t)}}else{const o=t.isBackward(),l=o?s:i,a=l.getNode(),u=o?i:s,f=u.getNode();if(e.is(a)){const t=l.offset;(n<=t&&r>0||n<t&&r<0)&&l.set(c,Math.max(0,t+r),\"element\")}if(e.is(f)){const t=u.offset;(n<=t&&r>0||n<t&&r<0)&&u.set(c,Math.max(0,t+r),\"element\")}}Mi(t)}function Mi(t){const e=t.anchor,n=e.offset,r=t.focus,i=r.offset,s=e.getNode(),o=r.getNode();if(t.isCollapsed()){if(!_s(s))return;const t=s.getChildrenSize(),i=n>=t,o=i?s.getChildAtIndex(t-1):s.getChildAtIndex(n);if(oi(o)){let t=0;i&&(t=o.getTextContentSize()),e.set(o.__key,t,\"text\"),r.set(o.__key,t,\"text\")}}else{if(_s(s)){const t=s.getChildrenSize(),r=n>=t,i=r?s.getChildAtIndex(t-1):s.getChildAtIndex(n);if(oi(i)){let t=0;r&&(t=i.getTextContentSize()),e.set(i.__key,t,\"text\")}}if(_s(o)){const t=o.getChildrenSize(),e=i>=t,n=e?o.getChildAtIndex(t-1):o.getChildAtIndex(i);if(oi(n)){let t=0;e&&(t=n.getTextContentSize()),r.set(n.__key,t,\"text\")}}}}function Wi(t,e,n,r,i){let s=null,o=0,l=null;null!==r?(s=r.__key,oi(r)?(o=r.getTextContentSize(),l=\"text\"):_s(r)&&(o=r.getChildrenSize(),l=\"element\")):null!==i&&(s=i.__key,oi(i)?l=\"text\":_s(i)&&(l=\"element\")),null!==s&&null!==l?t.set(s,o,l):(o=e.getIndexWithinParent(),-1===o&&(o=n.getChildrenSize()),t.set(n.__key,o,\"element\"))}function zi(t,e,n,r,i){\"text\"===t.type?(t.key=n,e||(t.offset+=i)):t.offset>r.getIndexWithinParent()&&(t.offset-=1)}function Bi(t,e,n,r,i,s,o){const l=r.anchorNode,c=r.focusNode,a=r.anchorOffset,u=r.focusOffset,f=document.activeElement;if(i.has(\"collaboration\")&&f!==s||null!==f&&oe(f))return;if(!yi(e))return void(null!==t&&le(n,l,c)&&r.removeAllRanges());const d=e.anchor,h=e.focus,g=d.key,_=h.key,p=tn(n,g),y=tn(n,_),m=d.offset,x=h.offset,v=e.format,S=e.style,T=e.isCollapsed();let C=p,k=y,b=!1;if(\"text\"===d.type){C=he(p);const t=d.getNode();b=t.getFormat()!==v||t.getStyle()!==S}else yi(t)&&\"text\"===t.anchor.type&&(b=!0);var w,N,E,P,F;if((\"text\"===h.type&&(k=he(y)),null!==C&&null!==k)&&(T&&(null===t||b||yi(t)&&(t.format!==v||t.style!==S))&&(w=v,N=S,E=m,P=g,F=performance.now(),br=[w,N,E,P,F]),a!==m||u!==x||l!==C||c!==k||\"Range\"===r.type&&T||(null!==f&&s.contains(f)||s.focus({preventScroll:!0}),\"element\"===d.type))){try{r.setBaseAndExtent(C,m,k,x)}catch(t){}if(!i.has(\"skip-scroll-into-view\")&&e.isCollapsed()&&null!==s&&s===document.activeElement){const t=e instanceof mi&&\"element\"===e.anchor.type?C.childNodes[m]||null:r.rangeCount>0?r.getRangeAt(0):null;if(null!==t){let e;if(t instanceof Text){const n=document.createRange();n.selectNode(t),e=n.getBoundingClientRect()}else e=t.getBoundingClientRect();!function(t,e,n){const r=n.ownerDocument,i=r.defaultView;if(null===i)return;let{top:s,bottom:o}=e,l=0,c=0,a=n;for(;null!==a;){const e=a===r.body;if(e)l=0,c=on(t).innerHeight;else{const t=a.getBoundingClientRect();l=t.top,c=t.bottom}let n=0;if(s<l?n=-(l-s):o>c&&(n=o-c),0!==n)if(e)i.scrollBy(0,n);else{const t=a.scrollTop;a.scrollTop+=n;const e=a.scrollTop-t;s-=e,o-=e}if(e)break;a=en(a)}}(n,e,s)}}Sr=!0}}function Ri(t){let e=Oi()||Ii();null===e&&(e=we().selectEnd()),e.insertNodes(t)}function Ki(){const t=Oi();return null===t?\"\":t.getTextContent()}function $i(t){let e=t;t.isCollapsed()||e.removeText();const n=Oi();yi(n)&&(e=n),yi(e)||Rt(161);const r=e.anchor;let i=r.getNode(),s=r.offset;for(;!Cn(i);)[i,s]=Ji(i,s);return s}function Ji(t,e){const n=t.getParent();if(!n){const t=Ns();return we().append(t),t.select(),[we(),0]}if(oi(t)){const r=t.splitText(e);if(0===r.length)return[n,t.getIndexWithinParent()];const i=0===e?0:1;return[n,r[0].getIndexWithinParent()+i]}if(!_s(t)||0===e)return[n,t.getIndexWithinParent()];const r=t.getChildAtIndex(e);if(r){const n=new mi(di(t.__key,e,\"element\"),di(t.__key,e,\"element\"),0,\"\"),i=t.insertNewAfter(n);i&&i.append(r,...r.getNextSiblings())}return[n,t.getIndexWithinParent()+1]}let Ui=null,Vi=null,ji=!1,Hi=!1,qi=0;const Qi={characterData:!0,childList:!0,subtree:!0};function Xi(){return ji||null!==Ui&&Ui._readOnly}function Yi(){ji&&Rt(13)}function Zi(){qi>99&&Rt(14)}function Gi(){return null===Ui&&Rt(195,es()),Ui}function ts(){return null===Vi&&Rt(196,es()),Vi}function es(){let t=0;const e=new Set,n=Ms.version;if(\"undefined\"!=typeof window)for(const r of document.querySelectorAll(\"[contenteditable]\")){const i=ue(r);if(ce(i))t++;else if(i){let t=String(i.constructor.version||\"<0.17.1\");t===n&&(t+=\" (separately built, likely a bundler configuration issue)\"),e.add(t)}}let r=` Detected on the page: ${t} compatible editor(s) with version ${n}`;return e.size&&(r+=` and incompatible editors with versions ${Array.from(e).join(\", \")}`),r}function ns(){return Vi}function rs(t,e,n){const r=e.__type,i=function(t,e){const n=t._nodes.get(e);return void 0===n&&Rt(30,e),n}(t,r);let s=n.get(r);void 0===s&&(s=Array.from(i.transforms),n.set(r,s));const o=s.length;for(let t=0;t<o&&(s[t](e),e.isAttached());t++);}function is(t,e){return void 0!==t&&t.__key!==e&&t.isAttached()}function ss(t){return os(t,ts()._nodes)}function os(t,e){const n=t.type,r=e.get(n);void 0===r&&Rt(17,n);const i=r.klass;t.type!==i.getType()&&Rt(18,i.name);const s=i.importJSON(t),o=t.children;if(_s(s)&&Array.isArray(o))for(let t=0;t<o.length;t++){const n=os(o[t],e);s.append(n)}return s}function ls(t,e,n){const r=Ui,i=ji,s=Vi;Ui=e,ji=!0,Vi=t;try{return n()}finally{Ui=r,ji=i,Vi=s}}function cs(t,n){const r=t._pendingEditorState,i=t._rootElement,s=t._headless||null===i;if(null===r)return;const o=t._editorState,l=o._selection,c=r._selection,a=t._dirtyType!==st,u=Ui,f=ji,d=Vi,h=t._updating,g=t._observer;let _=null;if(t._pendingEditorState=null,t._editorState=r,!s&&a&&null!==g){Vi=t,Ui=r,ji=!1,t._updating=!0;try{const e=t._dirtyType,n=t._dirtyElements,i=t._dirtyLeaves;g.disconnect(),_=fr(o,r,t,e,n,i)}catch(e){if(e instanceof Error&&t._onError(e),Hi)throw e;return Is(t,null,i,r),Yt(t),t._dirtyType=lt,Hi=!0,cs(t,o),void(Hi=!1)}finally{g.observe(i,Qi),t._updating=h,Ui=u,ji=f,Vi=d}}r._readOnly||(r._readOnly=!0);const p=t._dirtyLeaves,y=t._dirtyElements,m=t._normalizedNodes,x=t._updateTags,v=t._deferred;a&&(t._dirtyType=st,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements=new Map,t._normalizedNodes=new Set,t._updateTags=new Set),function(t,e){const n=t._decorators;let r=t._pendingDecorators||n;const i=e._nodeMap;let s;for(s in r)i.has(s)||(r===n&&(r=ke(t)),delete r[s])}(t,r);const S=s?null:yn(t._window);if(t._editable&&null!==S&&(a||null===c||c.dirty)){Vi=t,Ui=r;try{if(null!==g&&g.disconnect(),a||null===c||c.dirty){const e=t._blockCursorElement;null!==e&&_n(e,t,i),Bi(l,c,t,S,x,i)}pn(t,i,c),null!==g&&g.observe(i,Qi)}finally{Vi=d,Ui=u}}null!==_&&function(t,e,n,r,i){const s=Array.from(t._listeners.mutation),o=s.length;for(let t=0;t<o;t++){const[o,l]=s[t],c=e.get(l);void 0!==c&&o(c,{dirtyLeaves:r,prevEditorState:i,updateTags:n})}}(t,_,x,p,o),yi(c)||null===c||null!==l&&l.is(c)||t.dispatchCommand(e,void 0);const T=t._pendingDecorators;null!==T&&(t._decorators=T,t._pendingDecorators=null,as(\"decorator\",t,!0,T)),function(t,e,n){const r=be(e),i=be(n);r!==i&&as(\"textcontent\",t,!0,i)}(t,n||o,r),as(\"update\",t,!0,{dirtyElements:y,dirtyLeaves:p,editorState:r,normalizedNodes:m,prevEditorState:n||o,tags:x}),function(t,e){if(t._deferred=[],0!==e.length){const n=t._updating;t._updating=!0;try{for(let t=0;t<e.length;t++)e[t]()}finally{t._updating=n}}}(t,v),function(t){const e=t._updates;if(0!==e.length){const n=e.shift();if(n){const[e,r]=n;ds(t,e,r)}}}(t)}function as(t,e,n,...r){const i=e._updating;e._updating=n;try{const n=Array.from(e._listeners[t]);for(let t=0;t<n.length;t++)n[t].apply(null,r)}finally{e._updating=i}}function us(t,e,n){if(!1===t._updating||Vi!==t){let r=!1;return t.update((()=>{r=us(t,e,n)})),r}const r=Le(t);for(let i=4;i>=0;i--)for(let s=0;s<r.length;s++){const o=r[s]._commands.get(e);if(void 0!==o){const e=o[i];if(void 0!==e){const r=Array.from(e),i=r.length;for(let e=0;e<i;e++)if(!0===r[e](n,t))return!0}}}return!1}function fs(t,e){const n=t._updates;let r=e||!1;for(;0!==n.length;){const e=n.shift();if(e){const[n,i]=e;let s,o;if(void 0!==i){if(s=i.onUpdate,o=i.tag,i.skipTransforms&&(r=!0),i.discrete){const e=t._pendingEditorState;null===e&&Rt(191),e._flushSync=!0}s&&t._deferred.push(s),o&&t._updateTags.add(o)}n()}}return r}function ds(t,e,n){const r=t._updateTags;let i,s,o=!1,l=!1;void 0!==n&&(i=n.onUpdate,s=n.tag,null!=s&&r.add(s),o=n.skipTransforms||!1,l=n.discrete||!1),i&&t._deferred.push(i);const c=t._editorState;let a=t._pendingEditorState,u=!1;(null===a||a._readOnly)&&(a=t._pendingEditorState=new Cs(new Map((a||c)._nodeMap)),u=!0),a._flushSync=l;const f=Ui,d=ji,h=Vi,g=t._updating;Ui=a,ji=!1,t._updating=!0,Vi=t;try{u&&(t._headless?null!==c._selection&&(a._selection=c._selection.clone()):a._selection=function(t){const e=t.getEditorState()._selection,n=yn(t._window);return yi(e)||null==e?Li(e,n,t,null):e.clone()}(t));const n=t._compositionKey;e(),o=fs(t,o),function(t,e){const n=e.getEditorState()._selection,r=t._selection;if(yi(r)){const t=r.anchor,e=r.focus;let i;if(\"text\"===t.type&&(i=t.getNode(),i.selectionTransform(n,r)),\"text\"===e.type){const t=e.getNode();i!==t&&t.selectionTransform(n,r)}}}(a,t),t._dirtyType!==st&&(o?function(t,e){const n=e._dirtyLeaves,r=t._nodeMap;for(const t of n){const e=r.get(t);oi(e)&&e.isAttached()&&e.isSimpleText()&&!e.isUnmergeable()&&te(e)}}(a,t):function(t,e){const n=e._dirtyLeaves,r=e._dirtyElements,i=t._nodeMap,s=ve(),o=new Map;let l=n,c=l.size,a=r,u=a.size;for(;c>0||u>0;){if(c>0){e._dirtyLeaves=new Set;for(const t of l){const r=i.get(t);oi(r)&&r.isAttached()&&r.isSimpleText()&&!r.isUnmergeable()&&te(r),void 0!==r&&is(r,s)&&rs(e,r,o),n.add(t)}if(l=e._dirtyLeaves,c=l.size,c>0){qi++;continue}}e._dirtyLeaves=new Set,e._dirtyElements=new Map;for(const t of a){const n=t[0],l=t[1];if(\"root\"!==n&&!l)continue;const c=i.get(n);void 0!==c&&is(c,s)&&rs(e,c,o),r.set(n,l)}l=e._dirtyLeaves,c=l.size,a=e._dirtyElements,u=a.size,qi++}e._dirtyLeaves=n,e._dirtyElements=r}(a,t),fs(t),function(t,e,n,r){const i=t._nodeMap,s=e._nodeMap,o=[];for(const[t]of r){const e=s.get(t);void 0!==e&&(e.isAttached()||(_s(e)&&Fn(e,t,i,s,o,r),i.has(t)||r.delete(t),o.push(t)))}for(const t of o)s.delete(t);for(const t of n){const e=s.get(t);void 0===e||e.isAttached()||(i.has(t)||n.delete(t),s.delete(t))}}(c,a,t._dirtyLeaves,t._dirtyElements));n!==t._compositionKey&&(a._flushSync=!0);const r=a._selection;if(yi(r)){const t=a._nodeMap,e=r.anchor.key,n=r.focus.key;void 0!==t.get(e)&&void 0!==t.get(n)||Rt(19)}else xi(r)&&0===r._nodes.size&&(a._selection=null)}catch(e){return e instanceof Error&&t._onError(e),t._pendingEditorState=c,t._dirtyType=lt,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements.clear(),void cs(t)}finally{Ui=f,ji=d,Vi=h,t._updating=g,qi=0}const _=t._dirtyType!==st||function(t,e){const n=e.getEditorState()._selection,r=t._selection;if(null!==r){if(r.dirty||!r.is(n))return!0}else if(null!==n)return!0;return!1}(a,t);_?a._flushSync?(a._flushSync=!1,cs(t)):u&&se((()=>{cs(t)})):(a._flushSync=!1,u&&(r.clear(),t._deferred=[],t._pendingEditorState=null))}function hs(t,e,n){t._updating?t._updates.push([e,n]):ds(t,e,n)}class gs extends zr{constructor(t){super(t),this.__first=null,this.__last=null,this.__size=0,this.__format=0,this.__style=\"\",this.__indent=0,this.__dir=null}afterCloneFrom(t){super.afterCloneFrom(t),this.__first=t.__first,this.__last=t.__last,this.__size=t.__size,this.__indent=t.__indent,this.__format=t.__format,this.__style=t.__style,this.__dir=t.__dir}getFormat(){return this.getLatest().__format}getFormatType(){const t=this.getFormat();return Mt[t]||\"\"}getStyle(){return this.getLatest().__style}getIndent(){return this.getLatest().__indent}getChildren(){const t=[];let e=this.getFirstChild();for(;null!==e;)t.push(e),e=e.getNextSibling();return t}getChildrenKeys(){const t=[];let e=this.getFirstChild();for(;null!==e;)t.push(e.__key),e=e.getNextSibling();return t}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===this.getChildrenSize()}isDirty(){const t=ts()._dirtyElements;return null!==t&&t.has(this.__key)}isLastChild(){const t=this.getLatest(),e=this.getParentOrThrow().getLastChild();return null!==e&&e.is(t)}getAllTextNodes(){const t=[];let e=this.getFirstChild();for(;null!==e;){if(oi(e)&&t.push(e),_s(e)){const n=e.getAllTextNodes();t.push(...n)}e=e.getNextSibling()}return t}getFirstDescendant(){let t=this.getFirstChild();for(;_s(t);){const e=t.getFirstChild();if(null===e)break;t=e}return t}getLastDescendant(){let t=this.getLastChild();for(;_s(t);){const e=t.getLastChild();if(null===e)break;t=e}return t}getDescendantByIndex(t){const e=this.getChildren(),n=e.length;if(t>=n){const t=e[n-1];return _s(t)&&t.getLastDescendant()||t||null}const r=e[t];return _s(r)&&r.getFirstDescendant()||r||null}getFirstChild(){const t=this.getLatest().__first;return null===t?null:Se(t)}getFirstChildOrThrow(){const t=this.getFirstChild();return null===t&&Rt(45,this.__key),t}getLastChild(){const t=this.getLatest().__last;return null===t?null:Se(t)}getLastChildOrThrow(){const t=this.getLastChild();return null===t&&Rt(96,this.__key),t}getChildAtIndex(t){const e=this.getChildrenSize();let n,r;if(t<e/2){for(n=this.getFirstChild(),r=0;null!==n&&r<=t;){if(r===t)return n;n=n.getNextSibling(),r++}return null}for(n=this.getLastChild(),r=e-1;null!==n&&r>=t;){if(r===t)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let t=\"\";const e=this.getChildren(),n=e.length;for(let r=0;r<n;r++){const i=e[r];t+=i.getTextContent(),_s(i)&&r!==n-1&&!i.isInline()&&(t+=Nt)}return t}getTextContentSize(){let t=0;const e=this.getChildren(),n=e.length;for(let r=0;r<n;r++){const i=e[r];t+=i.getTextContentSize(),_s(i)&&r!==n-1&&!i.isInline()&&(t+=Nt.length)}return t}getDirection(){return this.getLatest().__dir}hasFormat(t){if(\"\"!==t){const e=At[t];return!!(this.getFormat()&e)}return!1}select(t,e){Yi();const n=Oi();let r=t,i=e;const s=this.getChildrenSize();if(!this.canBeEmpty())if(0===t&&0===e){const t=this.getFirstChild();if(oi(t)||_s(t))return t.select(0,0)}else if(!(void 0!==t&&t!==s||void 0!==e&&e!==s)){const t=this.getLastChild();if(oi(t)||_s(t))return t.select()}void 0===r&&(r=s),void 0===i&&(i=s);const o=this.__key;return yi(n)?(n.anchor.set(o,r,\"element\"),n.focus.set(o,i,\"element\"),n.dirty=!0,n):Ei(o,r,o,i,\"element\",\"element\")}selectStart(){const t=this.getFirstDescendant();return t?t.selectStart():this.select()}selectEnd(){const t=this.getLastDescendant();return t?t.selectEnd():this.select()}clear(){const t=this.getWritable();return this.getChildren().forEach((t=>t.remove())),t}append(...t){return this.splice(this.getChildrenSize(),0,t)}setDirection(t){const e=this.getWritable();return e.__dir=t,e}setFormat(t){return this.getWritable().__format=\"\"!==t?At[t]:0,this}setStyle(t){return this.getWritable().__style=t||\"\",this}setIndent(t){return this.getWritable().__indent=t,this}splice(t,e,n){const r=n.length,i=this.getChildrenSize(),s=this.getWritable(),o=s.__key,l=[],c=[],a=this.getChildAtIndex(t+e);let u=null,f=i-e+r;if(0!==t)if(t===i)u=this.getLastChild();else{const e=this.getChildAtIndex(t);null!==e&&(u=e.getPreviousSibling())}if(e>0){let t=null===u?this.getFirstChild():u.getNextSibling();for(let n=0;n<e;n++){null===t&&Rt(100);const e=t.getNextSibling(),n=t.__key;ye(t.getWritable()),c.push(n),t=e}}let d=u;for(let t=0;t<r;t++){const e=n[t];null!==d&&e.is(d)&&(u=d=d.getPreviousSibling());const r=e.getWritable();r.__parent===o&&f--,ye(r);const i=e.__key;if(null===d)s.__first=i,r.__prev=null;else{const t=d.getWritable();t.__next=i,r.__prev=t.__key}e.__key===o&&Rt(76),r.__parent=o,l.push(i),d=e}if(t+e===i){if(null!==d){d.getWritable().__next=null,s.__last=d.__key}}else if(null!==a){const t=a.getWritable();if(null!==d){const e=d.getWritable();t.__prev=d.__key,e.__next=a.__key}else t.__prev=null}if(s.__size=f,c.length){const t=Oi();if(yi(t)){const e=new Set(c),n=new Set(l),{anchor:r,focus:i}=t;ps(r,e,n)&&Wi(r,r.getNode(),this,u,a),ps(i,e,n)&&Wi(i,i.getNode(),this,u,a),0!==f||this.canBeEmpty()||an(this)||this.remove()}}return s}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"element\",version:1}}insertNewAfter(t,e){return null}canIndent(){return!0}collapseAtStart(t){return!1}excludeFromCopy(t){return!1}canReplaceWith(t){return!0}canInsertAfter(t){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(t){return!1}extractWithChild(t,e,n){return!1}canMergeWhenEmpty(){return!1}}function _s(t){return t instanceof gs}function ps(t,e,n){let r=t.getNode();for(;r;){const t=r.__key;if(e.has(t)&&!n.has(t))return!0;r=r.getParent()}return!1}class ys extends zr{constructor(t){super(t)}decorate(t,e){Rt(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function ms(t){return t instanceof ys}class xs extends gs{static getType(){return\"root\"}static clone(){return new xs}constructor(){super(\"root\"),this.__cachedText=null}getTopLevelElementOrThrow(){Rt(51)}getTextContent(){const t=this.__cachedText;return!Xi()&&ts()._dirtyType!==st||null===t?super.getTextContent():t}remove(){Rt(52)}replace(t){Rt(53)}insertBefore(t){Rt(54)}insertAfter(t){Rt(55)}updateDOM(t,e){return!1}append(...t){for(let e=0;e<t.length;e++){const n=t[e];_s(n)||ms(n)||Rt(56)}return super.append(...t)}static importJSON(t){const e=we();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}collapseAtStart(){return!0}}function vs(t){return t instanceof xs}function Ss(){return new Cs(new Map([[\"root\",new xs]]))}function Ts(t){const e=t.exportJSON(),n=t.constructor;if(e.type!==n.getType()&&Rt(130,n.name),_s(t)){const r=e.children;Array.isArray(r)||Rt(59,n.name);const i=t.getChildren();for(let t=0;t<i.length;t++){const e=Ts(i[t]);r.push(e)}}return e}class Cs{constructor(t,e){this._nodeMap=t,this._selection=e||null,this._flushSync=!1,this._readOnly=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(t,e){return ls(e&&e.editor||null,this,t)}clone(t){const e=new Cs(this._nodeMap,void 0===t?this._selection:t);return e._readOnly=!0,e}toJSON(){return ls(null,this,(()=>({root:Ts(we())})))}}class ks extends gs{static getType(){return\"artificial\"}createDOM(t){return document.createElement(\"div\")}}class bs extends gs{constructor(t){super(t),this.__textFormat=0,this.__textStyle=\"\"}static getType(){return\"paragraph\"}getTextFormat(){return this.getLatest().__textFormat}setTextFormat(t){const e=this.getWritable();return e.__textFormat=t,e}hasTextFormat(t){const e=Ot[t];return!!(this.getTextFormat()&e)}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(t){const e=this.getWritable();return e.__textStyle=t,e}static clone(t){return new bs(t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__textFormat=t.__textFormat,this.__textStyle=t.__textStyle}createDOM(t){const e=document.createElement(\"p\"),n=je(t.theme,\"paragraph\");if(void 0!==n){e.classList.add(...n)}return e}updateDOM(t,e,n){return!1}static importDOM(){return{p:t=>({conversion:ws,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&vn(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n);const r=this.getIndent();r>0&&(e.style.textIndent=20*r+\"px\")}return{element:e}}static importJSON(t){const e=Ns();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e.setTextFormat(t.textFormat),e}exportJSON(){return{...super.exportJSON(),textFormat:this.getTextFormat(),textStyle:this.getTextStyle(),type:\"paragraph\",version:1}}insertNewAfter(t,e){const n=Ns();n.setTextFormat(t.format),n.setTextStyle(t.style);const r=this.getDirection();return n.setDirection(r),n.setFormat(this.getFormatType()),n.setStyle(this.getTextStyle()),this.insertAfter(n,e),n}collapseAtStart(){const t=this.getChildren();if(0===t.length||oi(t[0])&&\"\"===t[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function ws(t){const e=Ns();if(t.style){e.setFormat(t.style.textAlign);const n=parseInt(t.style.textIndent,10)/20;n>0&&e.setIndent(n)}return{node:e}}function Ns(){return fn(new bs)}function Es(t){return t instanceof bs}const Ps=0,Fs=1,Ds=2,Ls=3,Os=4;function Is(t,e,n,r){const i=t._keyToDOMMap;i.clear(),t._editorState=Ss(),t._pendingEditorState=r,t._compositionKey=null,t._dirtyType=st,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements.clear(),t._normalizedNodes=new Set,t._updateTags=new Set,t._updates=[],t._blockCursorElement=null;const s=t._observer;null!==s&&(s.disconnect(),t._observer=null),null!==e&&(e.textContent=\"\"),null!==n&&(n.textContent=\"\",i.set(\"root\",n))}function As(t){const e=t||{},n=ns(),r=e.theme||{},i=void 0===t?n:e.parentEditor||null,s=e.disableEvents||!1,o=Ss(),l=e.namespace||(null!==i?i._config.namespace:Oe()),c=e.editorState,a=[xs,Xr,Br,ci,bs,ks,...e.nodes||[]],{onError:u,html:f}=e,d=void 0===e.editable||e.editable;let h;if(void 0===t&&null!==n)h=n._nodes;else{h=new Map;for(let t=0;t<a.length;t++){let e=a[t],n=null,r=null;if(\"function\"!=typeof e){const t=e;e=t.replace,n=t.with,r=t.withKlass||null}const i=e.getType(),s=e.transform(),o=new Set;null!==s&&o.add(s),h.set(i,{exportDOM:f&&f.export?f.export.get(e):void 0,klass:e,replace:n,replaceWithKlass:r,transforms:o})}}const g=new Ms(o,i,h,{disableEvents:s,namespace:l,theme:r},u||console.error,function(t,e){const n=new Map,r=new Set,i=t=>{Object.keys(t).forEach((e=>{let r=n.get(e);void 0===r&&(r=[],n.set(e,r)),r.push(t[e])}))};return t.forEach((t=>{const e=t.klass.importDOM;if(null==e||r.has(e))return;r.add(e);const n=e.call(t.klass);null!==n&&i(n)})),e&&i(e),n}(h,f?f.import:void 0),d);return void 0!==c&&(g._pendingEditorState=c,g._dirtyType=lt),g}class Ms{constructor(t,e,n,r,i,s,o){this._parentEditor=e,this._rootElement=null,this._editorState=t,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=st,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=Oe(),this._onError=i,this._htmlConversions=s,this._editable=o,this._headless=null!==e&&e._headless,this._window=null,this._blockCursorElement=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(t){const e=this._listeners.update;return e.add(t),()=>{e.delete(t)}}registerEditableListener(t){const e=this._listeners.editable;return e.add(t),()=>{e.delete(t)}}registerDecoratorListener(t){const e=this._listeners.decorator;return e.add(t),()=>{e.delete(t)}}registerTextContentListener(t){const e=this._listeners.textcontent;return e.add(t),()=>{e.delete(t)}}registerRootListener(t){const e=this._listeners.root;return t(this._rootElement,null),e.add(t),()=>{t(null,this._rootElement),e.delete(t)}}registerCommand(t,e,n){void 0===n&&Rt(35);const r=this._commands;r.has(t)||r.set(t,[new Set,new Set,new Set,new Set,new Set]);const i=r.get(t);void 0===i&&Rt(36,String(t));const s=i[n];return s.add(e),()=>{s.delete(e),i.every((t=>0===t.size))&&r.delete(t)}}registerMutationListener(t,e,n){const r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(t)).klass,i=this._listeners.mutation;i.set(e,r);const s=n&&n.skipInitialization;return void 0===s||s||this.initializeMutationListener(e,r),()=>{i.delete(e)}}getRegisteredNode(t){const e=this._nodes.get(t.getType());return void 0===e&&Rt(37,t.name),e}resolveRegisteredNodeAfterReplacements(t){for(;t.replaceWithKlass;)t=this.getRegisteredNode(t.replaceWithKlass);return t}initializeMutationListener(t,e){const n=this._editorState,r=En(n).get(e.getType());if(!r)return;const i=new Map;for(const t of r.keys())i.set(t,\"created\");i.size>0&&t(i,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set([\"registerMutationListener\"])})}registerNodeTransformToKlass(t,e){const n=this.getRegisteredNode(t);return n.transforms.add(e),n}registerNodeTransform(t,e){const n=this.registerNodeTransformToKlass(t,e),r=[n],i=n.replaceWithKlass;if(null!=i){const t=this.registerNodeTransformToKlass(i,e);r.push(t)}var s,o;return s=this,o=t.getType(),hs(s,(()=>{const t=Gi();if(t.isEmpty())return;if(\"root\"===o)return void we().markDirty();const e=t._nodeMap;for(const[,t]of e)t.markDirty()}),null===s._pendingEditorState?{tag:\"history-merge\"}:void 0),()=>{r.forEach((t=>t.transforms.delete(e)))}}hasNode(t){return this._nodes.has(t.getType())}hasNodes(t){return t.every(this.hasNode.bind(this))}dispatchCommand(t,e){return Ze(this,t,e)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(t){const e=this._rootElement;if(t!==e){const n=je(this._config.theme,\"root\"),r=this._pendingEditorState||this._editorState;if(this._rootElement=t,Is(this,e,t,r),null!==e&&(this._config.disableEvents||Mr(e),null!=n&&e.classList.remove(...n)),null!==t){const e=function(t){const e=t.ownerDocument;return e&&e.defaultView||null}(t),r=t.style;r.userSelect=\"text\",r.whiteSpace=\"pre-wrap\",r.wordBreak=\"break-word\",t.setAttribute(\"data-lexical-editor\",\"true\"),this._window=e,this._dirtyType=lt,Yt(this),this._updateTags.add(\"history-merge\"),cs(this),this._config.disableEvents||function(t,e){const n=t.ownerDocument,r=vr.get(n);(void 0===r||r<1)&&n.addEventListener(\"selectionchange\",Or),vr.set(n,(r||0)+1),t.__lexicalEditor=e;const i=Dr(t);for(let n=0;n<_r.length;n++){const[r,s]=_r[n],o=\"function\"==typeof s?t=>{Ar(t)||(Ir(t),(e.isEditable()||\"click\"===r)&&s(t,e))}:t=>{if(Ar(t))return;Ir(t);const n=e.isEditable();switch(r){case\"cut\":return n&&Ze(e,W,t);case\"copy\":return Ze(e,M,t);case\"paste\":return n&&Ze(e,c,t);case\"dragstart\":return n&&Ze(e,O,t);case\"dragover\":return n&&Ze(e,I,t);case\"dragend\":return n&&Ze(e,A,t);case\"focus\":return n&&Ze(e,J,t);case\"blur\":return n&&Ze(e,U,t);case\"drop\":return n&&Ze(e,D,t)}};t.addEventListener(r,o),i.push((()=>{t.removeEventListener(r,o)}))}}(t,this),null!=n&&t.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;as(\"root\",this,!1,t,e)}}getElementByKey(t){return this._keyToDOMMap.get(t)||null}getEditorState(){return this._editorState}setEditorState(t,e){t.isEmpty()&&Rt(38),Xt(this);const n=this._pendingEditorState,r=this._updateTags,i=void 0!==e?e.tag:null;null===n||n.isEmpty()||(null!=i&&r.add(i),cs(this)),this._pendingEditorState=t,this._dirtyType=lt,this._dirtyElements.set(\"root\",!1),this._compositionKey=null,null!=i&&r.add(i),cs(this)}parseEditorState(t,e){return function(t,e,n){const r=Ss(),i=Ui,s=ji,o=Vi,l=e._dirtyElements,c=e._dirtyLeaves,a=e._cloneNotNeeded,u=e._dirtyType;e._dirtyElements=new Map,e._dirtyLeaves=new Set,e._cloneNotNeeded=new Set,e._dirtyType=0,Ui=r,ji=!1,Vi=e;try{const i=e._nodes;os(t.root,i),n&&n(),r._readOnly=!0}catch(t){t instanceof Error&&e._onError(t)}finally{e._dirtyElements=l,e._dirtyLeaves=c,e._cloneNotNeeded=a,e._dirtyType=u,Ui=i,ji=s,Vi=o}return r}(\"string\"==typeof t?JSON.parse(t):t,this,e)}read(t){return cs(this),this.getEditorState().read(t,{editor:this})}update(t,e){hs(this,t,e)}focus(t,e={}){const n=this._rootElement;null!==n&&(n.setAttribute(\"autocapitalize\",\"off\"),hs(this,(()=>{const t=Oi(),n=we();null!==t?t.dirty=!0:0!==n.getChildrenSize()&&(\"rootStart\"===e.defaultSelection?n.selectStart():n.selectEnd())}),{onUpdate:()=>{n.removeAttribute(\"autocapitalize\"),t&&t()},tag:\"focus\"}),null===this._pendingEditorState&&n.removeAttribute(\"autocapitalize\"))}blur(){const t=this._rootElement;null!==t&&t.blur();const e=yn(this._window);null!==e&&e.removeAllRanges()}isEditable(){return this._editable}setEditable(t){this._editable!==t&&(this._editable=t,as(\"editable\",this,!0,t))}toJSON(){return{editorState:this._editorState.toJSON()}}}Ms.version=\"0.17.1+prod.esm\";export{rn as $addUpdateTag,fn as $applyNodeReplacement,Pn as $cloneWithProperties,un as $copyNode,Kr as $createLineBreakNode,Fi as $createNodeSelection,Ns as $createParagraphNode,di as $createPoint,Pi as $createRangeSelection,Di as $createRangeSelectionFromDom,ai as $createTabNode,si as $createTextNode,Xe as $getAdjacentNode,Si as $getCharacterOffsets,bn as $getEditor,Ce as $getNearestNodeFromDOMNode,cn as $getNearestRootOrShadowRoot,Se as $getNodeByKey,hn as $getNodeByKeyOrThrow,Ii as $getPreviousSelection,we as $getRoot,Oi as $getSelection,Ki as $getTextContent,sn as $hasAncestor,nn as $hasUpdateTag,Ri as $insertNodes,Ni as $isBlockElementNode,ms as $isDecoratorNode,_s as $isElementNode,ln as $isInlineElementOrDecoratorNode,_e as $isLeafNode,$r as $isLineBreakNode,xi as $isNodeSelection,Es as $isParagraphNode,yi as $isRangeSelection,vs as $isRootNode,an as $isRootOrShadowRoot,ui as $isTabNode,oi as $isTextNode,fe as $isTokenOrSegmented,qe as $nodesOfType,ee as $normalizeSelection__EXPERIMENTAL,ss as $parseSerializedNode,Ve as $selectAll,xe as $setCompositionKey,Ee as $setSelection,mn as $splitNode,ks as ArtificialNode__DO_NOT_USE,U as BLUR_COMMAND,K as CAN_REDO_COMMAND,$ as CAN_UNDO_COMMAND,B as CLEAR_EDITOR_COMMAND,R as CLEAR_HISTORY_COMMAND,r as CLICK_COMMAND,Os as COMMAND_PRIORITY_CRITICAL,Ps as COMMAND_PRIORITY_EDITOR,Ls as COMMAND_PRIORITY_HIGH,Fs as COMMAND_PRIORITY_LOW,Ds as COMMAND_PRIORITY_NORMAL,l as CONTROLLED_TEXT_INSERTION_COMMAND,M as COPY_COMMAND,W as CUT_COMMAND,i as DELETE_CHARACTER_COMMAND,f as DELETE_LINE_COMMAND,u as DELETE_WORD_COMMAND,A as DRAGEND_COMMAND,I as DRAGOVER_COMMAND,O as DRAGSTART_COMMAND,D as DROP_COMMAND,ys as DecoratorNode,gs as ElementNode,J as FOCUS_COMMAND,L as FORMAT_ELEMENT_COMMAND,d as FORMAT_TEXT_COMMAND,P as INDENT_CONTENT_COMMAND,s as INSERT_LINE_BREAK_COMMAND,o as INSERT_PARAGRAPH_COMMAND,E as INSERT_TAB_COMMAND,xt as IS_ALL_FORMATTING,ft as IS_BOLD,_t as IS_CODE,mt as IS_HIGHLIGHT,dt as IS_ITALIC,ht as IS_STRIKETHROUGH,pt as IS_SUBSCRIPT,yt as IS_SUPERSCRIPT,gt as IS_UNDERLINE,S as KEY_ARROW_DOWN_COMMAND,m as KEY_ARROW_LEFT_COMMAND,p as KEY_ARROW_RIGHT_COMMAND,v as KEY_ARROW_UP_COMMAND,k as KEY_BACKSPACE_COMMAND,w as KEY_DELETE_COMMAND,_ as KEY_DOWN_COMMAND,T as KEY_ENTER_COMMAND,b as KEY_ESCAPE_COMMAND,V as KEY_MODIFIER_COMMAND,C as KEY_SPACE_COMMAND,N as KEY_TAB_COMMAND,Br as LineBreakNode,y as MOVE_TO_END,x as MOVE_TO_START,F as OUTDENT_CONTENT_COMMAND,c as PASTE_COMMAND,bs as ParagraphNode,g as REDO_COMMAND,a as REMOVE_TEXT_COMMAND,xs as RootNode,e as SELECTION_CHANGE_COMMAND,n as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND,z as SELECT_ALL_COMMAND,Ot as TEXT_TYPE_TO_FORMAT,ci as TabNode,Xr as TextNode,h as UNDO_COMMAND,t as createCommand,As as createEditor,ue as getEditorPropertyFromDOMNode,ae as getNearestEditorFromDOMNode,Tn as isBlockDomNode,Xi as isCurrentlyReadOnlyMode,xn as isHTMLAnchorElement,vn as isHTMLElement,Sn as isInlineDomNode,ce as isLexicalEditor,oe as isSelectionCapturedInDecoratorInput,le as isSelectionWithinEditor,ie as resetRandomKey};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createLexicalComposerContext as e,LexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEditor as o,$getRoot as n,$createParagraphNode as i,$getSelection as r}from\"lexical\";import{useLayoutEffect as a,useEffect as c,useMemo as l}from\"react\";import{jsx as d}from\"react/jsx-runtime\";const s=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,m=s?a:c,u={tag:\"history-merge\"};function p({initialConfig:a,children:c}){const p=l((()=>{const{theme:t,namespace:c,nodes:l,onError:d,editorState:m,html:p}=a,f=e(null,t),E=o({editable:a.editable,html:p,namespace:c,nodes:l,onError:e=>d(e,E),theme:t});return function(e,t){if(null===t)return;if(void 0===t)e.update((()=>{const t=n();if(t.isEmpty()){const o=i();t.append(o);const n=s?document.activeElement:null;(null!==r()||null!==n&&n===e.getRootElement())&&o.select()}}),u);else if(null!==t)switch(typeof t){case\"string\":{const o=e.parseEditorState(t);e.setEditorState(o,u);break}case\"object\":e.setEditorState(t,u);break;case\"function\":e.update((()=>{n().isEmpty()&&t(e)}),u)}}(E,m),[E,f]}),[]);return m((()=>{const e=a.editable,[t]=p;t.setEditable(void 0===e||e)}),[]),d(t.Provider,{value:p,children:c})}export{p as LexicalComposer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as n,useMemo as r,useRef as i,useState as o}from\"react\";const u=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t:n;function c(e){return{initialValueFn:()=>e.isEditable(),subscribe:t=>e.registerEditableListener(t)}}function a(){return function(t){const[n]=e(),c=r((()=>t(n)),[n,t]),a=i(c.initialValueFn()),[l,d]=o(a.current);return u((()=>{const{initialValueFn:e,subscribe:t}=c,n=e();return a.current!==n&&(a.current=n,d(n)),t((e=>{a.current=e,d(e)}))}),[c,t]),l}(c)}export{a as default,a as useLexicalEditable};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getRoot as t,$isDecoratorNode as e,$isElementNode as n,$isParagraphNode as r,$isTextNode as i,TextNode as o,$createTextNode as l}from\"lexical\";function s(){return t().getTextContent()}function u(t,e=!0){if(t)return!1;let n=s();return e&&(n=n.trim()),\"\"===n}function f(t,e){return()=>u(t,e)}function c(o){if(!u(o,!1))return!1;const l=t().getChildren(),s=l.length;if(s>1)return!1;for(let t=0;t<s;t++){const o=l[t];if(e(o))return!1;if(n(o)){if(!r(o))return!1;if(0!==o.__indent)return!1;const e=o.getChildren(),n=e.length;for(let r=0;r<n;r++){const n=e[t];if(!i(n))return!1}}}return!0}function g(t){return()=>c(t)}function a(t,e){let r=t.getFirstChild(),o=0;t:for(;null!==r;){if(n(r)){const t=r.getFirstChild();if(null!==t){r=t;continue}}else if(i(r)){const t=r.getTextContentSize();if(o+t>e)return{node:r,offset:e-o};o+=t}const t=r.getNextSibling();if(null!==t){r=t;continue}let l=r.getParent();for(;null!==l;){const t=l.getNextSibling();if(null!==t){r=t;continue t}l=l.getParent()}break}return null}function d(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var x=d((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function T(t,e,n,r){const s=t=>t instanceof n,u=t=>{const e=l(t.getTextContent());e.setFormat(t.getFormat()),t.replace(e)};return[t.registerNodeTransform(o,(t=>{if(!t.isSimpleText())return;let n,o=t.getPreviousSibling(),l=t.getTextContent(),f=t;if(i(o)){const n=o.getTextContent(),r=e(n+l);if(s(o)){if(null===r||0!==(t=>t.getLatest().__mode)(o))return void u(o);{const e=r.end-n.length;if(e>0){const r=n+l.slice(0,e);if(o.select(),o.setTextContent(r),e===l.length)t.remove();else{const n=l.slice(e);t.setTextContent(n)}return}}}else if(null===r||r.start<n.length)return}let c=0;for(;;){n=e(l);let t,g=null===n?\"\":l.slice(n.end);if(l=g,\"\"===g){const t=f.getNextSibling();if(i(t)){g=f.getTextContent()+t.getTextContent();const n=e(g);if(null===n)return void(s(t)?u(t):t.markDirty());if(0!==n.start)return}}if(null===n)return;if(0===n.start&&i(o)&&o.isTextEntity()){c+=n.end;continue}0===n.start?[t,f]=f.splitText(n.end):[,t,f]=f.splitText(n.start+c,n.end+c),void 0===t&&x(165,\"nodeToReplace\");const a=r(t);if(a.setFormat(t.getFormat()),t.replace(a),null==f)return;c=0,o=a}})),t.registerNodeTransform(n,(t=>{const n=t.getTextContent(),r=e(n);if(null===r||0!==r.start)return void u(t);if(n.length>r.end)return void t.splitText(r.end);const o=t.getPreviousSibling();i(o)&&o.isTextEntity()&&(u(o),u(t));const l=t.getNextSibling();i(l)&&l.isTextEntity()&&(u(l),s(t)&&u(t))}))]}export{c as $canShowPlaceholder,g as $canShowPlaceholderCurry,a as $findTextIntersectionFromCharacters,u as $isRootTextContentEmpty,f as $isRootTextContentEmptyCurry,s as $rootTextContent,T as registerLexicalTextEntity};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$isTextNode as e,$getCharacterOffsets as t,$isElementNode as n,$isRootNode as l,$getNodeByKey as o,$getPreviousSelection as r,$createTextNode as s,$isRangeSelection as i,$isTokenOrSegmented as c,$getRoot as f,$isRootOrShadowRoot as u,$hasAncestor as g,$isLeafNode as a,$setSelection as d,$getAdjacentNode as p,$isDecoratorNode as h,$isLineBreakNode as y}from\"lexical\";export{$cloneWithProperties}from\"lexical\";function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var T=m((function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e<arguments.length;e++)t.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const x=new Map;function S(e){let t=e;for(;null!=t;){if(t.nodeType===Node.TEXT_NODE)return t;t=t.firstChild}return null}function v(e){const t=e.parentNode;if(null==t)throw new Error(\"Should never happen\");return[t,Array.from(t.childNodes).indexOf(e)]}function C(t,n,l,o,r){const s=n.getKey(),i=o.getKey(),c=document.createRange();let f=t.getElementByKey(s),u=t.getElementByKey(i),g=l,a=r;if(e(n)&&(f=S(f)),e(o)&&(u=S(u)),void 0===n||void 0===o||null===f||null===u)return null;\"BR\"===f.nodeName&&([f,g]=v(f)),\"BR\"===u.nodeName&&([u,a]=v(u));const d=f.firstChild;f===u&&null!=d&&\"BR\"===d.nodeName&&0===g&&0===a&&(a=1);try{c.setStart(f,g),c.setEnd(u,a)}catch(e){return null}return!c.collapsed||g===a&&s===i||(c.setStart(u,a),c.setEnd(f,g)),c}function P(e,t){const n=e.getRootElement();if(null===n)return[];const l=n.getBoundingClientRect(),o=getComputedStyle(n),r=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),s=Array.from(t.getClientRects());let i,c=s.length;s.sort(((e,t)=>{const n=e.top-t.top;return Math.abs(n)<=3?e.left-t.left:n}));for(let e=0;e<c;e++){const t=s[e],n=i&&i.top<=t.top&&i.top+i.height>t.top&&i.left+i.width>t.left,o=t.width+r===l.width;n||o?(s.splice(e--,1),c--):i=t}return s}function w(e){const t={},n=e.split(\";\");for(const e of n)if(\"\"!==e){const[n,l]=e.split(/:([^]+)/);n&&l&&(t[n.trim()]=l.trim())}return t}function N(e){let t=x.get(e);return void 0===t&&(t=w(e),x.set(e,t)),t}function E(e,n){const l=e.getStartEndPoints();if(n.isSelected(e)&&!n.isSegmented()&&!n.isToken()&&null!==l){const[o,r]=l,s=e.isBackward(),i=o.getNode(),c=r.getNode(),f=n.is(i),u=n.is(c);if(f||u){const[l,o]=t(e),r=i.is(c),f=n.is(s?c:i),u=n.is(s?i:c);let g,a=0;if(r)a=l>o?o:l,g=l>o?l:o;else if(f){a=s?o:l,g=void 0}else if(u){a=0,g=s?l:o}return n.__text=n.__text.slice(a,g),n}}return n}function F(e){if(\"text\"===e.type)return e.offset===e.getNode().getTextContentSize();const t=e.getNode();return n(t)||T(177),e.offset===t.getChildrenSize()}function K(t,c,f){let u=c.getNode(),g=f;if(n(u)){const e=u.getDescendantByIndex(c.offset);null!==e&&(u=e)}for(;g>0&&null!==u;){if(n(u)){const e=u.getLastDescendant();null!==e&&(u=e)}let f=u.getPreviousSibling(),a=0;if(null===f){let e=u.getParentOrThrow(),t=e.getPreviousSibling();for(;null===t;){if(e=e.getParent(),null===e){f=null;break}t=e.getPreviousSibling()}null!==e&&(a=e.isInline()?0:2,f=t)}let d=u.getTextContent();\"\"===d&&n(u)&&!u.isInline()&&(d=\"\\n\\n\");const p=d.length;if(!e(u)||g>=p){const e=u.getParent();u.remove(),null==e||0!==e.getChildrenSize()||l(e)||e.remove(),g-=p+a,u=f}else{const n=u.getKey(),l=t.getEditorState().read((()=>{const t=o(n);return e(t)&&t.isSimpleText()?t.getTextContent():null})),f=p-g,a=d.slice(0,f);if(null!==l&&l!==d){const e=r();let t=u;if(u.isSimpleText())u.setTextContent(l);else{const e=s(l);u.replace(e),t=e}if(i(e)&&e.isCollapsed()){const n=e.anchor.offset;t.select(n,n)}}else if(u.isSimpleText()){const e=c.key===n;let t=c.offset;t<g&&(t=p);const l=e?t-g:0,o=e?t:f;if(e&&0===l){const[e]=u.splitText(l,o);e.remove()}else{const[,e]=u.splitText(l,o);e.remove()}}else{const e=s(a);u.replace(e)}g=0}}}function I(e){const t=e.getStyle(),n=w(t);x.set(t,n)}function O(e,t){const n=N(\"getStyle\"in e?e.getStyle():e.style),l=Object.entries(t).reduce(((t,[l,o])=>(\"function\"==typeof o?t[l]=o(n[l],e):null===o?delete t[l]:t[l]=o,t)),{...n}||{}),o=function(e){let t=\"\";for(const n in e)n&&(t+=`${n}: ${e[n]};`);return t}(l);e.setStyle(o),x.set(o,l)}function B(t,n){const l=t.getNodes(),o=l.length,r=t.getStartEndPoints();if(null===r)return;const[s,f]=r,u=o-1;let g=l[0],a=l[u];if(t.isCollapsed()&&i(t))return void O(t,n);const d=g.getTextContent().length,p=f.offset;let h=s.offset;const y=s.isBefore(f);let m=y?h:p,T=y?p:h;const x=y?s.type:f.type,S=y?f.type:s.type,v=y?f.key:s.key;if(e(g)&&m===d){const t=g.getNextSibling();e(t)&&(h=0,m=0,g=t)}if(1===l.length){if(e(g)&&g.canHaveFormat()){if(m=\"element\"===x?0:h>p?p:h,T=\"element\"===S?d:h>p?h:p,m===T)return;if(c(g)||0===m&&T===d)O(g,n),g.select(m,T);else{const e=g.splitText(m,T),t=0===m?e[0]:e[1];O(t,n),t.select(0,T-m)}}}else{if(e(g)&&m<g.getTextContentSize()&&g.canHaveFormat()&&(0===m||c(g)||(g=g.splitText(m)[1],m=0,y?s.set(g.getKey(),m,\"text\"):f.set(g.getKey(),m,\"text\")),O(g,n)),e(a)&&a.canHaveFormat()){const e=a.getTextContent().length;a.__key!==v&&0!==T&&(T=e),T===e||c(a)||([a]=a.splitText(T)),0===T&&\"element\"!==S||O(a,n)}for(let t=1;t<u;t++){const o=l[t],r=o.getKey();e(o)&&o.canHaveFormat()&&r!==g.getKey()&&r!==a.getKey()&&!o.isToken()&&O(o,n)}}}function k(e,t){if(null===e)return;const l=e.getStartEndPoints(),o=l?l[0]:null;if(null!==o&&\"root\"===o.key){const e=t(),n=f(),l=n.getFirstChild();return void(l?l.replace(e,!0):n.append(e))}const r=e.getNodes(),s=null!==o&&function(e,t){let n=e;for(;null!==n&&null!==n.getParent()&&!t(n);)n=n.getParentOrThrow();return t(n)?n:null}(o.getNode(),U);s&&-1===r.indexOf(s)&&r.push(s);for(let e=0;e<r.length;e++){const l=r[e];if(!U(l))continue;n(l)||T(178);const o=t();o.setFormat(l.getFormatType()),o.setIndent(l.getIndent()),l.replace(o,!0)}}function b(e){return e.getNode().isAttached()}function R(e){let t=e;for(;null!==t&&!u(t);){const e=t.getLatest(),n=t.getParent();0===e.getChildrenSize()&&t.remove(!0),t=n}}function _(e,t,n=null){const l=e.getStartEndPoints(),o=l?l[0]:null,r=e.getNodes(),s=r.length;if(null!==o&&(0===s||1===s&&\"element\"===o.type&&0===o.getNode().getChildrenSize())){const e=\"text\"===o.type?o.getNode().getParentOrThrow():o.getNode(),l=e.getChildren();let r=t();return r.setFormat(e.getFormatType()),r.setIndent(e.getIndent()),l.forEach((e=>r.append(e))),n&&(r=n.append(r)),void e.replace(r)}let i=null,c=[];for(let l=0;l<s;l++){const o=r[l];u(o)?(z(e,c,c.length,t,n),c=[],i=o):null===i||null!==i&&g(o,i)?c.push(o):(z(e,c,c.length,t,n),c=[o])}z(e,c,c.length,t,n)}function z(e,t,l,o,s=null){if(0===t.length)return;const c=t[0],f=new Map,g=[];let p=n(c)?c:c.getParentOrThrow();p.isInline()&&(p=p.getParentOrThrow());let h=!1;for(;null!==p;){const e=p.getPreviousSibling();if(null!==e){p=e,h=!0;break}if(p=p.getParentOrThrow(),u(p))break}const y=new Set;for(let e=0;e<l;e++){const l=t[e];n(l)&&0===l.getChildrenSize()&&y.add(l.getKey())}const m=new Set;for(let e=0;e<l;e++){const l=t[e];let r=l.getParent();if(null!==r&&r.isInline()&&(r=r.getParent()),null!==r&&a(l)&&!m.has(l.getKey())){const e=r.getKey();if(void 0===f.get(e)){const t=o();t.setFormat(r.getFormatType()),t.setIndent(r.getIndent()),g.push(t),f.set(e,t),r.getChildren().forEach((e=>{t.append(e),m.add(e.getKey()),n(e)&&e.getChildrenKeys().forEach((e=>m.add(e)))})),R(r)}}else if(y.has(l.getKey())){n(l)||T(179);const e=o();e.setFormat(l.getFormatType()),e.setIndent(l.getIndent()),g.push(e),l.remove(!0)}}if(null!==s)for(let e=0;e<g.length;e++){const t=g[e];s.append(t)}let x=null;if(u(p))if(h)if(null!==s)p.insertAfter(s);else for(let e=g.length-1;e>=0;e--){const t=g[e];p.insertAfter(t)}else{const e=p.getFirstChild();if(n(e)&&(p=e),null===e)if(s)p.append(s);else for(let e=0;e<g.length;e++){const t=g[e];p.append(t),x=t}else if(null!==s)e.insertBefore(s);else for(let t=0;t<g.length;t++){const n=g[t];e.insertBefore(n),x=n}}else if(s)p.insertAfter(s);else for(let e=g.length-1;e>=0;e--){const t=g[e];p.insertAfter(t),x=t}const S=r();i(S)&&b(S.anchor)&&b(S.focus)?d(S.clone()):null!==x?x.selectEnd():e.dirty=!0}function A(e,t){const l=p(e.focus,t);return h(l)&&!l.isIsolated()||n(l)&&!l.isInline()&&!l.canBeEmpty()}function L(e,t,n,l){e.modify(t?\"extend\":\"move\",n,l)}function D(e){const t=e.anchor.getNode();return\"rtl\"===(l(t)?t:t.getParentOrThrow()).getDirection()}function M(e,t,n){const l=D(e);L(e,t,n?!l:l,\"character\")}function $(t){const l=t.anchor,o=t.focus,r=l.getNode().getTopLevelElementOrThrow().getParentOrThrow();let s=r.getFirstDescendant(),i=r.getLastDescendant(),c=\"element\",f=\"element\",u=0;e(s)?c=\"text\":n(s)||null===s||(s=s.getParentOrThrow()),e(i)?(f=\"text\",u=i.getTextContentSize()):n(i)||null===i||(i=i.getParentOrThrow()),s&&i&&(l.set(s.getKey(),0,c),o.set(i.getKey(),u,f))}function H(e,t,n){const l=N(e.getStyle());return null!==l&&l[t]||n}function j(t,n,l=\"\"){let o=null;const r=t.getNodes(),s=t.anchor,c=t.focus,f=t.isBackward(),u=f?c.offset:s.offset,g=f?c.getNode():s.getNode();if(i(t)&&t.isCollapsed()&&\"\"!==t.style){const e=N(t.style);if(null!==e&&n in e)return e[n]}for(let t=0;t<r.length;t++){const s=r[t];if((0===t||0!==u||!s.is(g))&&e(s)){const e=H(s,n,l);if(null===o)o=e;else if(o!==e){o=\"\";break}}}return null===o?l:o}function U(t){if(h(t))return!1;if(!n(t)||u(t))return!1;const l=t.getFirstChild(),o=null===l||y(l)||e(l)||l.isInline();return!t.isInline()&&!1!==t.canBeEmpty()&&o}const W=K;export{I as $addNodeStyle,j as $getSelectionStyleValueForProperty,F as $isAtNodeEnd,D as $isParentElementRTL,L as $moveCaretSelection,M as $moveCharacter,B as $patchStyleText,$ as $selectAll,k as $setBlocksType,A as $shouldOverrideDefaultCharacterSelection,E as $sliceSelectedTextNodeContent,K as $trimTextContentFromAnchor,_ as $wrapNodes,C as createDOMRange,P as createRectsFromDOMRange,N as getStyleObjectFromCSS,W as trimTextContentFromAnchor};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getSelection as e,$isRangeSelection as t,TextNode as n,$getRoot as o,$isElementNode as r,$cloneWithProperties as l,$setSelection as i,$getPreviousSelection as s,$isRootOrShadowRoot as u,$isTextNode as c,$splitNode as f,$createParagraphNode as a}from\"lexical\";export{$splitNode,isBlockDomNode,isHTMLAnchorElement,isHTMLElement,isInlineDomNode}from\"lexical\";import{createRectsFromDOMRange as d}from\"@lexical/selection\";function g(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var p=g((function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e<arguments.length;e++)t.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const h=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,m=h&&\"documentMode\"in document?document.documentMode:null,v=h&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),y=h&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),w=!(!h||!(\"InputEvent\"in window)||m)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),E=h&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),P=h&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,S=h&&/Android/.test(navigator.userAgent),x=h&&/^(?=.*Chrome).*/i.test(navigator.userAgent),N=h&&S&&x,A=h&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!x;function L(...e){const t=[];for(const n of e)if(n&&\"string\"==typeof n)for(const[e]of n.matchAll(/\\S+/g))t.push(e);return t}function b(...e){return()=>{for(let t=e.length-1;t>=0;t--)e[t]();e.length=0}}function T(e){return`${e}px`}const M={attributes:!0,characterData:!0,childList:!0,subtree:!0};function C(e,t,n){let o=null,r=null,l=null,i=[];const s=document.createElement(\"div\");function u(){null===o&&p(182),null===r&&p(183);const{left:l,top:u}=o.getBoundingClientRect(),c=r,f=d(e,t);s.isConnected||c.append(s);let a=!1;for(let e=0;e<f.length;e++){const t=f[e],n=i[e]||document.createElement(\"div\"),o=n.style;\"absolute\"!==o.position&&(o.position=\"absolute\",a=!0);const r=T(t.left-l);o.left!==r&&(o.left=r,a=!0);const c=T(t.top-u);o.top!==c&&(n.style.top=c,a=!0);const d=T(t.width);o.width!==d&&(n.style.width=d,a=!0);const g=T(t.height);o.height!==g&&(n.style.height=g,a=!0),n.parentNode!==s&&(s.append(n),a=!0),i[e]=n}for(;i.length>f.length;)i.pop();a&&n(i)}function c(){r=null,o=null,null!==l&&l.disconnect(),l=null,s.remove();for(const e of i)e.remove();i=[]}const f=e.registerRootListener((function t(){const n=e.getRootElement();if(null===n)return c();const i=n.parentElement;if(!(i instanceof HTMLElement))return c();c(),o=n,r=i,l=new MutationObserver((n=>{const l=e.getRootElement(),i=l&&l.parentElement;if(l!==o||i!==r)return t();for(const e of n)if(!s.contains(e.target))return u()})),l.observe(i,M),u()}));return()=>{f(),c()}}function B(o,r){let l=null,i=null,s=null,u=null,c=()=>{};function f(f){f.read((()=>{const f=e();if(!t(f))return l=null,i=null,s=null,u=null,c(),void(c=()=>{});const{anchor:a,focus:d}=f,g=a.getNode(),h=g.getKey(),m=a.offset,v=d.getNode(),y=v.getKey(),w=d.offset,E=o.getElementByKey(h),P=o.getElementByKey(y),S=null===l||null===E||m!==i||h!==l.getKey()||g!==l&&(!(l instanceof n)||g.updateDOM(l,E,o._config)),x=null===s||null===P||w!==u||y!==s.getKey()||v!==s&&(!(s instanceof n)||v.updateDOM(s,P,o._config));if(S||x){const e=o.getElementByKey(a.getNode().getKey()),t=o.getElementByKey(d.getNode().getKey());if(null!==e&&null!==t&&\"SPAN\"===e.tagName&&\"SPAN\"===t.tagName){const n=document.createRange();let l,i,s,u;d.isBefore(a)?(l=t,i=d.offset,s=e,u=a.offset):(l=e,i=a.offset,s=t,u=d.offset);const f=l.firstChild;null===f&&p(181);const g=s.firstChild;null===g&&p(181),n.setStart(f,i),n.setEnd(g,u),c(),c=C(o,n,(e=>{for(const t of e){const e=t.style;\"Highlight\"!==e.background&&(e.background=\"Highlight\"),\"HighlightText\"!==e.color&&(e.color=\"HighlightText\"),\"-1\"!==e.zIndex&&(e.zIndex=\"-1\"),\"none\"!==e.pointerEvents&&(e.pointerEvents=\"none\"),e.marginTop!==T(-1.5)&&(e.marginTop=T(-1.5)),e.paddingTop!==T(4)&&(e.paddingTop=T(4)),e.paddingBottom!==T(0)&&(e.paddingBottom=T(0))}void 0!==r&&r(e)}))}}l=g,i=m,s=v,u=w}))}return f(o.getEditorState()),b(o.registerUpdateListener((({editorState:e})=>f(e))),c,(()=>{c()}))}const _=w,K=h,O=S,R=N,I=v,D=A,H=x,z=y,k=P,F=E;function $(e,...t){const n=L(...t);n.length>0&&e.classList.add(...n)}function U(e,...t){const n=L(...t);n.length>0&&e.classList.remove(...n)}function W(e,t){for(const n of t)if(e.type.startsWith(n))return!0;return!1}function j(e,t){const n=e[Symbol.iterator]();return new Promise(((e,o)=>{const r=[],l=()=>{const{done:i,value:s}=n.next();if(i)return e(r);const u=new FileReader;u.addEventListener(\"error\",o),u.addEventListener(\"load\",(()=>{const e=u.result;\"string\"==typeof e&&r.push({file:s,result:e}),l()})),W(s,t)?u.readAsDataURL(s):l()};l()}))}function V(e,t){const n=[],l=(e||o()).getLatest(),i=t||r(l)&&l.getLastDescendant()||l;let s=l,u=function(e){let t=e,n=0;for(;null!==(t=t.getParent());)n++;return n}(s);for(;null!==s&&!s.is(i);)if(n.push({depth:u,node:s}),r(s)&&s.getChildrenSize()>0)s=s.getFirstChild(),u++;else{let e=null;for(;null===e&&null!==s;)e=s.getNextSibling(),null===e?(s=s.getParent(),u--):s=e}return null!==s&&s.is(i)&&n.push({depth:u,node:s}),n}function q(e){let t=e;if(r(t)&&t.getChildrenSize()>0)t=t.getLastChild();else{let e=null;for(;null===e&&null!==t;)e=t.getPreviousSibling(),t=null===e?t.getParent():e}return t}function G(e,t){let n=e;for(;null!=n;){if(n instanceof t)return n;n=n.getParent()}return null}function J(e){const t=Q(e,(e=>r(e)&&!e.isInline()));return r(t)||p(4,e.__key),t}const Q=(e,t)=>{let n=e;for(;n!==o()&&null!=n;){if(t(n))return n;n=n.getParent()}return null};function X(e,t,n,o){const r=e=>e instanceof t;return e.registerNodeTransform(t,(e=>{const t=(e=>{const t=e.getChildren();for(let e=0;e<t.length;e++){const n=t[e];if(r(n))return null}let n=e,o=e;for(;null!==n;)if(o=n,n=n.getParent(),r(n))return{child:o,parent:n};return null})(e);if(null!==t){const{child:r,parent:l}=t;if(r.is(e)){o(l,e);const t=r.getNextSiblings(),i=t.length;if(l.insertAfter(r),0!==i){const e=n(l);r.insertAfter(e);for(let n=0;n<i;n++)e.append(t[n])}l.canBeEmpty()||0!==l.getChildrenSize()||l.remove()}}}))}function Y(e,t){const n=new Map,o=e._pendingEditorState;for(const[e,o]of t._nodeMap)n.set(e,l(o));o&&(o._nodeMap=n),e._dirtyType=2;const r=t._selection;i(null===r?null:r.clone())}function Z(n){const r=e()||s();if(t(r)){const{focus:e}=r,t=e.getNode(),o=e.offset;if(u(t)){const e=t.getChildAtIndex(o);null==e?t.append(n):e.insertBefore(n),n.selectNext()}else{let e,r;c(t)?(e=t.getParentOrThrow(),r=t.getIndexWithinParent(),o>0&&(r+=1,t.splitText(o))):(e=t,r=o);const[,l]=f(e,r);l.insertBefore(n),l.selectStart()}}else{if(null!=r){const e=r.getNodes();e[e.length-1].getTopLevelElementOrThrow().insertAfter(n)}else{o().append(n)}const e=a();n.insertAfter(e),e.select()}return n.getLatest()}function ee(e,t){const n=t();return e.replace(n),n.append(e),n}function te(e,t){return null!==e&&Object.getPrototypeOf(e).constructor.name===t.name}function ne(e,t){const n=[];for(let o=0;o<e.length;o++){const r=t(e[o]);null!==r&&n.push(r)}return n}function oe(e,t){const n=e.getFirstChild();null!==n?n.insertBefore(t):e.append(t)}function re(e){if(z)return 1;let t=1;for(;e;)t*=Number(window.getComputedStyle(e).getPropertyValue(\"zoom\")),e=e.parentElement;return t}function le(e){return null!==e._parentEditor}export{V as $dfs,ne as $filter,Q as $findMatchingParent,J as $getNearestBlockElementAncestorOrThrow,G as $getNearestNodeOfType,q as $getNextRightPreorderNode,oe as $insertFirst,Z as $insertNodeToNearestRoot,le as $isEditorIsNestedEditor,Y as $restoreEditorState,ee as $wrapNodeInElement,_ as CAN_USE_BEFORE_INPUT,K as CAN_USE_DOM,O as IS_ANDROID,R as IS_ANDROID_CHROME,I as IS_APPLE,D as IS_APPLE_WEBKIT,H as IS_CHROME,z as IS_FIREFOX,k as IS_IOS,F as IS_SAFARI,$ as addClassNamesToElement,re as calculateZoomLevel,W as isMimeType,B as markSelection,j as mediaFileReader,b as mergeRegister,te as objectKlassEquals,C as positionNodeOnRange,X as registerNestedElementResolver,U as removeClassNamesFromElement};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getSelection as e,$isRangeSelection as t,$isTextNode as n}from\"lexical\";function o(o){const i=window.location.origin,a=a=>{if(a.origin!==i)return;const r=o.getRootElement();if(document.activeElement!==r)return;const s=a.data;if(\"string\"==typeof s){let i;try{i=JSON.parse(s)}catch(e){return}if(i&&\"nuanria_messaging\"===i.protocol&&\"request\"===i.type){const r=i.payload;if(r&&\"makeChanges\"===r.functionId){const i=r.args;if(i){const[r,s,c,g,d,f]=i;o.update((()=>{const o=e();if(t(o)){const e=o.anchor;let t=e.getNode(),i=0,f=0;if(n(t)&&r>=0&&s>=0&&(i=r,f=r+s,o.setTextNodeRange(t,i,t,f)),i===f&&\"\"===c||(o.insertRawText(c),t=e.getNode()),n(t)){i=g,f=g+d;const e=t.getTextContentSize();i=i>e?e:i,f=f>e?e:f,o.setTextNodeRange(t,i,t,f)}a.stopImmediatePropagation()}}))}}}}};return window.addEventListener(\"message\",a,!0),()=>{window.removeEventListener(\"message\",a,!0)}}export{o as registerDragonSupport};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$sliceSelectedTextNodeContent as e}from\"@lexical/selection\";import{isHTMLElement as n,isBlockDomNode as t}from\"@lexical/utils\";import{$getRoot as o,$isElementNode as l,$cloneWithProperties as r,$isTextNode as i,$isRootOrShadowRoot as s,$isBlockElementNode as c,$createLineBreakNode as u,ArtificialNode__DO_NOT_USE as f,isInlineDomNode as a,$createParagraphNode as d}from\"lexical\";function p(e,n){const t=n.body?n.body.childNodes:[];let o=[];const l=[];for(let n=0;n<t.length;n++){const r=t[n];if(!g.has(r.nodeName)){const n=x(r,e,l,!1);null!==n&&(o=o.concat(n))}}return function(e){for(const n of e)n.getNextSibling()instanceof f&&n.insertAfter(u());for(const n of e){const e=n.getChildren();for(const t of e)n.insertBefore(t);n.remove()}}(l),o}function h(e,n){if(\"undefined\"==typeof document||\"undefined\"==typeof window&&void 0===global.window)throw new Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");const t=document.createElement(\"div\"),l=o().getChildren();for(let o=0;o<l.length;o++){m(e,l[o],t,n)}return t.innerHTML}function m(t,o,s,c=null){let u=null===c||o.isSelected(c);const f=l(o)&&o.excludeFromCopy(\"html\");let a=o;if(null!==c){let n=r(o);n=i(n)&&null!==c?e(c,n):n,a=n}const d=l(a)?a.getChildren():[],p=t._nodes.get(a.getType());let h;h=p&&void 0!==p.exportDOM?p.exportDOM(t,a):a.exportDOM(t);const{element:g,after:x}=h;if(!g)return!1;const y=document.createDocumentFragment();for(let e=0;e<d.length;e++){const n=d[e],r=m(t,n,y,c);!u&&l(o)&&r&&o.extractWithChild(n,c,\"html\")&&(u=!0)}if(u&&!f){if(n(g)&&g.append(y),s.append(g),x){const e=x.call(a,g);e&&g.replaceWith(e)}}else s.append(y);return u}const g=new Set([\"STYLE\",\"SCRIPT\"]);function x(e,n,o,r,i=new Map,p){let h=[];if(g.has(e.nodeName))return h;let m=null;const w=function(e,n){const{nodeName:t}=e,o=n._htmlConversions.get(t.toLowerCase());let l=null;if(void 0!==o)for(const n of o){const t=n(e);null!==t&&(null===l||(l.priority||0)<(t.priority||0))&&(l=t)}return null!==l?l.conversion:null}(e,n),b=w?w(e):null;let C=null;if(null!==b){C=b.after;const n=b.node;if(m=Array.isArray(n)?n[n.length-1]:n,null!==m){for(const[,e]of i)if(m=e(m,p),!m)break;m&&h.push(...Array.isArray(n)?n:[m])}null!=b.forChild&&i.set(e.nodeName,b.forChild)}const S=e.childNodes;let v=[];const N=(null==m||!s(m))&&(null!=m&&c(m)||r);for(let e=0;e<S.length;e++)v.push(...x(S[e],n,o,N,new Map(i),m));return null!=C&&(v=C(v)),t(e)&&(v=y(e,v,N?()=>{const e=new f;return o.push(e),e}:d)),null==m?v.length>0?h=h.concat(v):t(e)&&function(e){if(null==e.nextSibling||null==e.previousSibling)return!1;return a(e.nextSibling)&&a(e.previousSibling)}(e)&&(h=h.concat(u())):l(m)&&m.append(...v),h}function y(e,n,t){const o=e.style.textAlign,l=[];let r=[];for(let e=0;e<n.length;e++){const i=n[e];if(c(i))o&&!i.getFormat()&&i.setFormat(o),l.push(i);else if(r.push(i),e===n.length-1||e<n.length-1&&c(n[e+1])){const e=t();e.setFormat(o),e.append(...r),l.push(e),r=[]}}return l}export{h as $generateHtmlFromNodes,p as $generateNodesFromDOM};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$generateHtmlFromNodes as t,$generateNodesFromDOM as e}from\"@lexical/html\";import{$addNodeStyle as n,$sliceSelectedTextNodeContent as o}from\"@lexical/selection\";import{objectKlassEquals as r}from\"@lexical/utils\";import{$isRangeSelection as l,$getSelection as i,$createTabNode as c,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as s,$getRoot as a,$parseSerializedNode as u,$isTextNode as d,COPY_COMMAND as f,COMMAND_PRIORITY_CRITICAL as p,isSelectionWithinEditor as m,$getEditor as h,$isElementNode as g,$cloneWithProperties as x}from\"lexical\";function w(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var y=w((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const v=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,C=t=>v?(t||window).getSelection():null;function D(e,n=i()){return null==n&&y(166),l(n)&&n.isCollapsed()||0===n.getNodes().length?\"\":t(e,n)}function N(t,e=i()){return null==e&&y(166),l(e)&&e.isCollapsed()||0===e.getNodes().length?null:JSON.stringify(R(t,e))}function _(t,e){const n=t.getData(\"text/plain\")||t.getData(\"text/uri-list\");null!=n&&e.insertRawText(n)}function T(t,n,o){const r=t.getData(\"application/x-lexical-editor\");if(r)try{const t=JSON.parse(r);if(t.namespace===o._config.namespace&&Array.isArray(t.nodes)){return S(o,E(t.nodes),n)}}catch(t){}const s=t.getData(\"text/html\");if(s)try{const t=(new DOMParser).parseFromString(s,\"text/html\");return S(o,e(o,t),n)}catch(t){}const a=t.getData(\"text/plain\")||t.getData(\"text/uri-list\");if(null!=a)if(l(n)){const t=a.split(/(\\r?\\n|\\t)/);\"\"===t[t.length-1]&&t.pop();for(let e=0;e<t.length;e++){const n=i();if(l(n)){const o=t[e];\"\\n\"===o||\"\\r\\n\"===o?n.insertParagraph():\"\\t\"===o?n.insertNodes([c()]):n.insertText(o)}}}else n.insertRawText(a)}function S(t,e,n){t.dispatchCommand(s,{nodes:e,selection:n})||n.insertNodes(e)}function A(t,e,n,r=[]){let l=null===e||n.isSelected(e);const i=g(n)&&n.excludeFromCopy(\"html\");let c=n;if(null!==e){let t=x(n);t=d(t)&&null!==e?o(e,t):t,c=t}const s=g(c)?c.getChildren():[],a=function(t){const e=t.exportJSON(),n=t.constructor;if(e.type!==n.getType()&&y(58,n.name),g(t)){const t=e.children;Array.isArray(t)||y(59,n.name)}return e}(c);if(d(c)){const t=c.__text;t.length>0?a.text=t:l=!1}for(let o=0;o<s.length;o++){const r=s[o],i=A(t,e,r,a.children);!l&&g(n)&&i&&n.extractWithChild(r,e,\"clone\")&&(l=!0)}if(l&&!i)r.push(a);else if(Array.isArray(a.children))for(let t=0;t<a.children.length;t++){const e=a.children[t];r.push(e)}return l}function R(t,e){const n=[],o=a().getChildren();for(let r=0;r<o.length;r++){A(t,e,o[r],n)}return{namespace:t._config.namespace,nodes:n}}function E(t){const e=[];for(let o=0;o<t.length;o++){const r=t[o],l=u(r);d(l)&&n(l),e.push(l)}return e}let O=null;async function P(t,e,n){if(null!==O)return!1;if(null!==e)return new Promise(((o,r)=>{t.update((()=>{o(b(t,e,n))}))}));const o=t.getRootElement(),l=null==t._window?window.document:t._window.document,i=C(t._window);if(null===o||null===i)return!1;const c=l.createElement(\"span\");c.style.cssText=\"position: fixed; top: -1000px;\",c.append(l.createTextNode(\"#\")),o.append(c);const s=new Range;return s.setStart(c,0),s.setEnd(c,1),i.removeAllRanges(),i.addRange(s),new Promise(((e,o)=>{const i=t.registerCommand(f,(o=>(r(o,ClipboardEvent)&&(i(),null!==O&&(window.clearTimeout(O),O=null),e(b(t,o,n))),!0)),p);O=window.setTimeout((()=>{i(),O=null,e(!1)}),50),l.execCommand(\"copy\"),c.remove()}))}function b(t,e,n){if(void 0===n){const e=C(t._window);if(!e)return!1;const o=e.anchorNode,r=e.focusNode;if(null!==o&&null!==r&&!m(t,o,r))return!1;const l=i();if(null===l)return!1;n=M(l)}e.preventDefault();const o=e.clipboardData;return null!==o&&(F(o,n),!0)}const J=[[\"text/html\",D],[\"application/x-lexical-editor\",N]];function M(t=i()){const e={\"text/plain\":t?t.getTextContent():\"\"};if(t){const n=h();for(const[o,r]of J){const l=r(n,t);null!==l&&(e[o]=l)}}return e}function F(t,e){for(const n in e){const o=e[n];void 0!==o&&t.setData(n,o)}}export{R as $generateJSONFromSelectedNodes,E as $generateNodesFromSerializedNodes,M as $getClipboardDataFromSelection,D as $getHtmlContent,N as $getLexicalContent,_ as $insertDataTransferForPlainText,T as $insertDataTransferForRichText,S as $insertGeneratedNodes,P as copyToClipboard,F as setLexicalClipboardDataTransfer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$insertDataTransferForRichText as t,copyToClipboard as e}from\"@lexical/clipboard\";import{$shouldOverrideDefaultCharacterSelection as n,$moveCharacter as r}from\"@lexical/selection\";import{addClassNamesToElement as o,isHTMLElement as i,objectKlassEquals as s,mergeRegister as c,$findMatchingParent as a,$getNearestBlockElementAncestorOrThrow as u}from\"@lexical/utils\";import{createCommand as l,ElementNode as d,$createParagraphNode as m,$applyNodeReplacement as f,CLICK_COMMAND as g,$getSelection as p,$isNodeSelection as h,DELETE_CHARACTER_COMMAND as C,$isRangeSelection as y,COMMAND_PRIORITY_EDITOR as v,DELETE_WORD_COMMAND as D,DELETE_LINE_COMMAND as x,CONTROLLED_TEXT_INSERTION_COMMAND as w,REMOVE_TEXT_COMMAND as E,FORMAT_TEXT_COMMAND as N,FORMAT_ELEMENT_COMMAND as I,$isElementNode as O,INSERT_LINE_BREAK_COMMAND as T,INSERT_PARAGRAPH_COMMAND as A,INSERT_TAB_COMMAND as P,$insertNodes as S,$createTabNode as _,INDENT_CONTENT_COMMAND as M,OUTDENT_CONTENT_COMMAND as b,KEY_ARROW_UP_COMMAND as F,$getAdjacentNode as K,$isDecoratorNode as k,KEY_ARROW_DOWN_COMMAND as J,KEY_ARROW_LEFT_COMMAND as L,KEY_ARROW_RIGHT_COMMAND as q,KEY_BACKSPACE_COMMAND as R,$isRootNode as W,KEY_DELETE_COMMAND as z,KEY_ENTER_COMMAND as X,KEY_ESCAPE_COMMAND as Y,DROP_COMMAND as B,$getNearestNodeFromDOMNode as G,$createRangeSelection as V,$isTextNode as j,$normalizeSelection__EXPERIMENTAL as H,$setSelection as Q,DRAGSTART_COMMAND as U,DRAGOVER_COMMAND as Z,SELECT_ALL_COMMAND as $,$selectAll as tt,COPY_COMMAND as et,CUT_COMMAND as nt,PASTE_COMMAND as rt,isSelectionCapturedInDecoratorInput as ot,$getRoot as it}from\"lexical\";function st(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if(\"undefined\"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}const ct=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,at=ct&&\"documentMode\"in document?document.documentMode:null,ut=!(!ct||!(\"InputEvent\"in window)||at)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),lt=ct&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),dt=ct&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,mt=ct&&/^(?=.*Chrome).*/i.test(navigator.userAgent),ft=ct&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!mt,gt=l(\"DRAG_DROP_PASTE_FILE\");class pt extends d{static getType(){return\"quote\"}static clone(t){return new pt(t.__key)}constructor(t){super(t)}createDOM(t){const e=document.createElement(\"blockquote\");return o(e,t.theme.quote),e}updateDOM(t,e){return!1}static importDOM(){return{blockquote:t=>({conversion:xt,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=ht();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(t,e){const n=m(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=m();return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}canMergeWhenEmpty(){return!0}}function ht(){return f(new pt)}function Ct(t){return t instanceof pt}class yt extends d{static getType(){return\"heading\"}static clone(t){return new yt(t.__tag,t.__key)}constructor(t,e){super(e),this.__tag=t}getTag(){return this.__tag}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];o(n,t)}return n}updateDOM(t,e){return!1}static importDOM(){return{h1:t=>({conversion:Dt,priority:0}),h2:t=>({conversion:Dt,priority:0}),h3:t=>({conversion:Dt,priority:0}),h4:t=>({conversion:Dt,priority:0}),h5:t=>({conversion:Dt,priority:0}),h6:t=>({conversion:Dt,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&vt(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>vt(t)?{conversion:t=>({node:wt(\"h1\")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=wt(t.tag);return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=this.getLastDescendant(),o=!r||t&&t.anchor.key===r.getKey()&&n===r.getTextContentSize()||!t?m():wt(this.getTag()),i=this.getDirection();if(o.setDirection(i),this.insertAfter(o,e),0===n&&!this.isEmpty()&&t){const t=m();t.select(),this.replace(t,!0)}return o}collapseAtStart(){const t=this.isEmpty()?m():wt(this.getTag());return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}extractWithChild(){return!0}}function vt(t){return\"span\"===t.nodeName.toLowerCase()&&\"26pt\"===t.style.fontSize}function Dt(t){const e=t.nodeName.toLowerCase();let n=null;return\"h1\"!==e&&\"h2\"!==e&&\"h3\"!==e&&\"h4\"!==e&&\"h5\"!==e&&\"h6\"!==e||(n=wt(e),null!==t.style&&n.setFormat(t.style.textAlign)),{node:n}}function xt(t){const e=ht();return null!==t.style&&e.setFormat(t.style.textAlign),{node:e}}function wt(t){return f(new yt(t))}function Et(t){return t instanceof yt}function Nt(t){let e=null;if(s(t,DragEvent)?e=t.dataTransfer:s(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes(\"Files\"),o=n.includes(\"text/html\")||n.includes(\"text/plain\");return[r,Array.from(e.files),o]}function It(t){const e=p();if(!y(e))return!1;const n=new Set,r=e.getNodes();for(let e=0;e<r.length;e++){const o=r[e],i=o.getKey();if(n.has(i))continue;const s=a(o,(t=>O(t)&&!t.isInline()));if(null===s)continue;const c=s.getKey();s.canIndent()&&!n.has(c)&&(n.add(c),t(s))}return n.size>0}function Ot(t){const e=G(t);return k(e)}function Tt(o){return c(o.registerCommand(g,(t=>{const e=p();return!!h(e)&&(e.clear(),!0)}),0),o.registerCommand(C,(t=>{const e=p();return!!y(e)&&(e.deleteCharacter(t),!0)}),v),o.registerCommand(D,(t=>{const e=p();return!!y(e)&&(e.deleteWord(t),!0)}),v),o.registerCommand(x,(t=>{const e=p();return!!y(e)&&(e.deleteLine(t),!0)}),v),o.registerCommand(w,(e=>{const n=p();if(\"string\"==typeof e)null!==n&&n.insertText(e);else{if(null===n)return!1;const r=e.dataTransfer;if(null!=r)t(r,n,o);else if(y(n)){const t=e.data;return t&&n.insertText(t),!0}}return!0}),v),o.registerCommand(E,(()=>{const t=p();return!!y(t)&&(t.removeText(),!0)}),v),o.registerCommand(N,(t=>{const e=p();return!!y(e)&&(e.formatText(t),!0)}),v),o.registerCommand(I,(t=>{const e=p();if(!y(e)&&!h(e))return!1;const n=e.getNodes();for(const e of n){const n=a(e,(t=>O(t)&&!t.isInline()));null!==n&&n.setFormat(t)}return!0}),v),o.registerCommand(T,(t=>{const e=p();return!!y(e)&&(e.insertLineBreak(t),!0)}),v),o.registerCommand(A,(()=>{const t=p();return!!y(t)&&(t.insertParagraph(),!0)}),v),o.registerCommand(P,(()=>(S([_()]),!0)),v),o.registerCommand(M,(()=>It((t=>{const e=t.getIndent();t.setIndent(e+1)}))),v),o.registerCommand(b,(()=>It((t=>{const e=t.getIndent();e>0&&t.setIndent(e-1)}))),v),o.registerCommand(F,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const t=e.getNodes();if(t.length>0)return t[0].selectPrevious(),!0}else if(y(e)){const n=K(e.focus,!0);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1}),v),o.registerCommand(J,(t=>{const e=p();if(h(e)){const t=e.getNodes();if(t.length>0)return t[0].selectNext(0,0),!0}else if(y(e)){if(function(t){const e=t.focus;return\"root\"===e.key&&e.offset===it().getChildrenSize()}(e))return t.preventDefault(),!0;const n=K(e.focus,!1);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1}),v),o.registerCommand(L,(t=>{const e=p();if(h(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}if(!y(e))return!1;if(n(e,!0)){const n=t.shiftKey;return t.preventDefault(),r(e,n,!0),!0}return!1}),v),o.registerCommand(q,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}if(!y(e))return!1;const o=t.shiftKey;return!!n(e,!1)&&(t.preventDefault(),r(e,o,!1),!0)}),v),o.registerCommand(R,(t=>{if(Ot(t.target))return!1;const e=p();if(!y(e))return!1;t.preventDefault();const{anchor:n}=e,r=n.getNode();if(e.isCollapsed()&&0===n.offset&&!W(r)){if(u(r).getIndent()>0)return o.dispatchCommand(b,void 0)}return o.dispatchCommand(C,!0)}),v),o.registerCommand(z,(t=>{if(Ot(t.target))return!1;const e=p();return!!y(e)&&(t.preventDefault(),o.dispatchCommand(C,!1))}),v),o.registerCommand(X,(t=>{const e=p();if(!y(e))return!1;if(null!==t){if((dt||lt||ft)&&ut)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(T,!1)}return o.dispatchCommand(A,void 0)}),v),o.registerCommand(Y,(()=>{const t=p();return!!y(t)&&(o.blur(),!0)}),v),o.registerCommand(B,(t=>{const[,e]=Nt(t);if(e.length>0){const n=st(t.clientX,t.clientY);if(null!==n){const{offset:t,node:r}=n,i=G(r);if(null!==i){const e=V();if(j(i))e.anchor.set(i.getKey(),t,\"text\"),e.focus.set(i.getKey(),t,\"text\");else{const t=i.getParentOrThrow().getKey(),n=i.getIndexWithinParent()+1;e.anchor.set(t,n,\"element\"),e.focus.set(t,n,\"element\")}const n=H(e);Q(n)}o.dispatchCommand(gt,e)}return t.preventDefault(),!0}const n=p();return!!y(n)}),v),o.registerCommand(U,(t=>{const[e]=Nt(t),n=p();return!(e&&!y(n))}),v),o.registerCommand(Z,(t=>{const[e]=Nt(t),n=p();if(e&&!y(n))return!1;const r=st(t.clientX,t.clientY);if(null!==r){const e=G(r.node);k(e)&&t.preventDefault()}return!0}),v),o.registerCommand($,(()=>(tt(),!0)),v),o.registerCommand(et,(t=>(e(o,s(t,ClipboardEvent)?t:null),!0)),v),o.registerCommand(nt,(t=>(async function(t,n){await e(n,s(t,ClipboardEvent)?t:null),n.update((()=>{const t=p();y(t)?t.removeText():h(t)&&t.getNodes().forEach((t=>t.remove()))}))}(t,o),!0)),v),o.registerCommand(rt,(e=>{const[,n,r]=Nt(e);if(n.length>0&&!r)return o.dispatchCommand(gt,n),!0;if(ot(e.target))return!1;return null!==p()&&(function(e,n){e.preventDefault(),n.update((()=>{const r=p(),o=s(e,InputEvent)||s(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)}),{tag:\"paste\"})}(e,o),!0)}),v))}export{wt as $createHeadingNode,ht as $createQuoteNode,Et as $isHeadingNode,Ct as $isQuoteNode,gt as DRAG_DROP_PASTE,yt as HeadingNode,pt as QuoteNode,Nt as eventFiles,Tt as registerRichText};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{useLexicalEditable as e}from\"@lexical/react/useLexicalEditable\";import{$canShowPlaceholderCurry as r}from\"@lexical/text\";import{mergeRegister as o}from\"@lexical/utils\";import{useLayoutEffect as n,useEffect as i,useState as c,useMemo as l,Suspense as a}from\"react\";import{flushSync as u,createPortal as m}from\"react-dom\";import{jsx as s,jsxs as d,Fragment as f}from\"react/jsx-runtime\";import{registerDragonSupport as p}from\"@lexical/dragon\";import{registerRichText as x}from\"@lexical/rich-text\";const g=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:i;function E(t){return t.getEditorState().read(r(t.isComposing()))}function h({contentEditable:e,placeholder:r=null,ErrorBoundary:n}){const[E]=t(),h=function(t,e){const[r,o]=c((()=>t.getDecorators()));return g((()=>t.registerDecoratorListener((t=>{u((()=>{o(t)}))}))),[t]),i((()=>{o(t.getDecorators())}),[t]),l((()=>{const o=[],n=Object.keys(r);for(let i=0;i<n.length;i++){const c=n[i],l=s(e,{onError:e=>t._onError(e),children:s(a,{fallback:null,children:r[c]})}),u=t.getElementByKey(c);null!==u&&o.push(m(l,u,c))}return o}),[e,r,t])}(E,n);return function(t){g((()=>o(x(t),p(t))),[t])}(E),d(f,{children:[e,s(w,{content:r}),h]})}function w({content:r}){const[n]=t(),i=function(t){const[e,r]=c((()=>E(t)));return g((()=>{function e(){const e=E(t);r(e)}return e(),o(t.registerUpdateListener((()=>{e()})),t.registerEditableListener((()=>{e()})))}),[t]),e}(n),l=e();return i?\"function\"==typeof r?r(l):r:null}export{h as RichTextPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as i,forwardRef as a,useState as r,useCallback as n,useMemo as o}from\"react\";import{jsx as l,jsxs as d,Fragment as c}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as s}from\"@lexical/text\";import{mergeRegister as u}from\"@lexical/utils\";const m=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t:i;function f({editor:e,ariaActiveDescendant:t,ariaAutoComplete:i,ariaControls:a,ariaDescribedBy:d,ariaExpanded:c,ariaLabel:s,ariaLabelledBy:u,ariaMultiline:f,ariaOwns:b,ariaRequired:p,autoCapitalize:x,className:E,id:v,role:w=\"textbox\",spellCheck:y=!0,style:C,tabIndex:h,\"data-testid\":L,...g},D){const[R,k]=r(e.isEditable()),q=n((t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)}),[e]),z=o((()=>function(...e){return t=>{e.forEach((e=>{\"function\"==typeof e?e(t):null!=e&&(e.current=t)}))}}(D,q)),[q,D]);return m((()=>(k(e.isEditable()),e.registerEditableListener((e=>{k(e)})))),[e]),l(\"div\",{...g,\"aria-activedescendant\":R?t:void 0,\"aria-autocomplete\":R?i:\"none\",\"aria-controls\":R?a:void 0,\"aria-describedby\":d,\"aria-expanded\":R&&\"combobox\"===w?!!c:void 0,\"aria-label\":s,\"aria-labelledby\":u,\"aria-multiline\":f,\"aria-owns\":R?b:void 0,\"aria-readonly\":!R||void 0,\"aria-required\":p,autoCapitalize:x,className:E,contentEditable:R,\"data-testid\":L,id:v,ref:z,role:R?w:void 0,spellCheck:y,style:C,tabIndex:h})}const b=a(f);function p(e){return e.getEditorState().read(s(e.isComposing()))}const x=a(E);function E(t,i){const{placeholder:a,...r}=t,[n]=e();return d(c,{children:[l(b,{editor:n,...r,ref:i}),null!=a&&l(v,{editor:n,content:a})]})}function v({content:e,editor:i}){const a=function(e){const[t,i]=r((()=>p(e)));return m((()=>{function t(){const t=p(e);i(t)}return t(),u(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(i),[n,o]=r(i.isEditable());if(t((()=>(o(i.isEditable()),i.registerEditableListener((e=>{o(e)})))),[i]),!a)return null;let d=null;return\"function\"==typeof e?d=e(n):null!==e&&(d=e),null===d?null:l(\"div\",{\"aria-hidden\":!0,children:d})}export{x as ContentEditable};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{mergeRegister as t}from\"@lexical/utils\";import{UNDO_COMMAND as e,COMMAND_PRIORITY_EDITOR as n,REDO_COMMAND as r,CLEAR_EDITOR_COMMAND as o,CLEAR_HISTORY_COMMAND as i,CAN_REDO_COMMAND as s,CAN_UNDO_COMMAND as c,$isRangeSelection as a,$isTextNode as u,$isRootNode as d}from\"lexical\";const l=0,f=1,p=2,h=0,m=1,g=2,_=3,S=4;function y(t,e,n,r,o){if(null===t||0===n.size&&0===r.size&&!o)return h;const i=e._selection,s=t._selection;if(o)return m;if(!(a(i)&&a(s)&&s.isCollapsed()&&i.isCollapsed()))return h;const c=function(t,e,n){const r=t._nodeMap,o=[];for(const t of e){const e=r.get(t);void 0!==e&&o.push(e)}for(const[t,e]of n){if(!e)continue;const n=r.get(t);void 0===n||d(n)||o.push(n)}return o}(e,n,r);if(0===c.length)return h;if(c.length>1){const n=e._nodeMap,r=n.get(i.anchor.key),o=n.get(s.anchor.key);return r&&o&&!t._nodeMap.has(r.__key)&&u(r)&&1===r.__text.length&&1===i.anchor.offset?g:h}const l=c[0],f=t._nodeMap.get(l.__key);if(!u(f)||!u(l)||f.__mode!==l.__mode)return h;const p=f.__text,y=l.__text;if(p===y)return h;const k=i.anchor,C=s.anchor;if(k.key!==C.key||\"text\"!==k.type)return h;const x=k.offset,M=C.offset,z=y.length-p.length;return 1===z&&M===x-1?g:-1===z&&M===x+1?_:-1===z&&M===x?S:h}function k(t,e){let n=Date.now(),r=h;return(o,i,s,c,d,m)=>{const g=Date.now();if(m.has(\"historic\"))return r=h,n=g,p;const _=y(o,i,c,d,t.isComposing()),S=(()=>{const S=null===s||s.editor===t,y=m.has(\"history-push\");if(!y&&S&&m.has(\"history-merge\"))return l;if(null===o)return f;const k=i._selection;if(!(c.size>0||d.size>0))return null!==k?l:p;if(!1===y&&_!==h&&_===r&&g<n+e&&S)return l;if(1===c.size){if(function(t,e,n){const r=e._nodeMap.get(t),o=n._nodeMap.get(t),i=e._selection,s=n._selection;return!(a(i)&&a(s)&&\"element\"===i.anchor.type&&\"element\"===i.focus.type&&\"text\"===s.anchor.type&&\"text\"===s.focus.type||!u(r)||!u(o)||r.__parent!==o.__parent)&&JSON.stringify(e.read((()=>r.exportJSON())))===JSON.stringify(n.read((()=>o.exportJSON())))}(Array.from(c)[0],o,i))return l}return f})();return n=g,r=_,S}}function C(t){t.undoStack=[],t.redoStack=[],t.current=null}function x(a,u,d){const l=k(a,d),h=t(a.registerCommand(e,(()=>(function(t,e){const n=e.redoStack,r=e.undoStack;if(0!==r.length){const o=e.current,i=r.pop();null!==o&&(n.push(o),t.dispatchCommand(s,!0)),0===r.length&&t.dispatchCommand(c,!1),e.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(a,u),!0)),n),a.registerCommand(r,(()=>(function(t,e){const n=e.redoStack,r=e.undoStack;if(0!==n.length){const o=e.current;null!==o&&(r.push(o),t.dispatchCommand(c,!0));const i=n.pop();0===n.length&&t.dispatchCommand(s,!1),e.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(a,u),!0)),n),a.registerCommand(o,(()=>(C(u),!1)),n),a.registerCommand(i,(()=>(C(u),a.dispatchCommand(s,!1),a.dispatchCommand(c,!1),!0)),n),a.registerUpdateListener((({editorState:t,prevEditorState:e,dirtyLeaves:n,dirtyElements:r,tags:o})=>{const i=u.current,d=u.redoStack,h=u.undoStack,m=null===i?null:i.editorState;if(null!==i&&t===m)return;const g=l(e,t,i,n,r,o);if(g===f)0!==d.length&&(u.redoStack=[],a.dispatchCommand(s,!1)),null!==i&&(h.push({...i}),a.dispatchCommand(c,!0));else if(g===p)return;u.current={editor:a,editorState:t}})));return h}function M(){return{current:null,redoStack:[],undoStack:[]}}export{M as createEmptyHistoryState,x as registerHistory};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEmptyHistoryState as o,registerHistory as r}from\"@lexical/history\";export{createEmptyHistoryState}from\"@lexical/history\";import{useMemo as e,useEffect as i}from\"react\";function a({delay:a,externalHistoryState:c}){const[l]=t();return function(t,a,c=1e3){const l=e((()=>a||o()),[a]);i((()=>r(t,l,c)),[c,t,l])}(l,c,a),null}export{a as HistoryPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useEffect as t}from\"react\";function o({defaultSelection:o}){const[l]=e();return t((()=>{l.focus((()=>{const e=document.activeElement,t=l.getRootElement();null===t||null!==e&&t.contains(e)||t.focus({preventScroll:!0})}),{defaultSelection:o})}),[o,l]),null}export{o as AutoFocusPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport*as r from\"react\";import{jsx as e}from\"react/jsx-runtime\";function t(r,e){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,e){return r.__proto__=e,r},t(r,e)}var o={error:null},n=function(e){var n,a;function s(){for(var r,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return(r=e.call.apply(e,[this].concat(n))||this).state=o,r.resetErrorBoundary=function(){for(var e,t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];null==r.props.onReset||(e=r.props).onReset.apply(e,o),r.reset()},r}a=e,(n=s).prototype=Object.create(a.prototype),n.prototype.constructor=n,t(n,a),s.getDerivedStateFromError=function(r){return{error:r}};var l=s.prototype;return l.reset=function(){this.setState(o)},l.componentDidCatch=function(r,e){var t,o;null==(t=(o=this.props).onError)||t.call(o,r,e)},l.componentDidUpdate=function(r,e){var t,o,n,a,s=this.state.error,l=this.props.resetKeys;null!==s&&null!==e.error&&(void 0===(n=r.resetKeys)&&(n=[]),void 0===(a=l)&&(a=[]),n.length!==a.length||n.some((function(r,e){return!Object.is(r,a[e])})))&&(null==(t=(o=this.props).onResetKeysChange)||t.call(o,r.resetKeys,l),this.reset())},l.render=function(){var e=this.state.error,t=this.props,o=t.fallbackRender,n=t.FallbackComponent,a=t.fallback;if(null!==e){var s={error:e,resetErrorBoundary:this.resetErrorBoundary};if(r.isValidElement(a))return a;if(\"function\"==typeof o)return o(s);if(n)return r.createElement(n,s);throw new Error(\"react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop\")}return this.props.children},s}(r.Component);function a({children:r,onError:t}){return e(n,{fallback:e(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"},children:\"An error was thrown.\"}),onError:t,children:r})}export{a as LexicalErrorBoundary,a as default};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{addClassNamesToElement as t,isHTMLAnchorElement as e}from\"@lexical/utils\";import{createCommand as r,ElementNode as i,$isRangeSelection as n,$applyNodeReplacement as l,$isElementNode as s,$getSelection as u}from\"lexical\";const _=new Set([\"http:\",\"https:\",\"mailto:\",\"sms:\",\"tel:\"]);class o extends i{static getType(){return\"link\"}static clone(t){return new o(t.__url,{rel:t.__rel,target:t.__target,title:t.__title},t.__key)}constructor(t,e={},r){super(r);const{target:i=null,rel:n=null,title:l=null}=e;this.__url=t,this.__target=i,this.__rel=n,this.__title=l}createDOM(e){const r=document.createElement(\"a\");return r.href=this.sanitizeUrl(this.__url),null!==this.__target&&(r.target=this.__target),null!==this.__rel&&(r.rel=this.__rel),null!==this.__title&&(r.title=this.__title),t(r,e.theme.link),r}updateDOM(t,e,r){if(e instanceof HTMLAnchorElement){const r=this.__url,i=this.__target,n=this.__rel,l=this.__title;r!==t.__url&&(e.href=r),i!==t.__target&&(i?e.target=i:e.removeAttribute(\"target\")),n!==t.__rel&&(n?e.rel=n:e.removeAttribute(\"rel\")),l!==t.__title&&(l?e.title=l:e.removeAttribute(\"title\"))}return!1}static importDOM(){return{a:t=>({conversion:a,priority:1})}}static importJSON(t){const e=h(t.url,{rel:t.rel,target:t.target,title:t.title});return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}sanitizeUrl(t){try{const e=new URL(t);if(!_.has(e.protocol))return\"about:blank\"}catch(e){return t}return t}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),title:this.getTitle(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(t){this.getWritable().__url=t}getTarget(){return this.getLatest().__target}setTarget(t){this.getWritable().__target=t}getRel(){return this.getLatest().__rel}setRel(t){this.getWritable().__rel=t}getTitle(){return this.getLatest().__title}setTitle(t){this.getWritable().__title=t}insertNewAfter(t,e=!0){const r=h(this.__url,{rel:this.__rel,target:this.__target,title:this.__title});return this.insertAfter(r,e),r}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(t,e,r){if(!n(e))return!1;const i=e.anchor.getNode(),l=e.focus.getNode();return this.isParentOf(i)&&this.isParentOf(l)&&e.getTextContent().length>0}isEmailURI(){return this.__url.startsWith(\"mailto:\")}isWebSiteURI(){return this.__url.startsWith(\"https://\")||this.__url.startsWith(\"http://\")}}function a(t){let r=null;if(e(t)){const e=t.textContent;(null!==e&&\"\"!==e||t.children.length>0)&&(r=h(t.getAttribute(\"href\")||\"\",{rel:t.getAttribute(\"rel\"),target:t.getAttribute(\"target\"),title:t.getAttribute(\"title\")}))}return{node:r}}function h(t,e){return l(new o(t,e))}function c(t){return t instanceof o}class g extends o{constructor(t,e={},r){super(t,e,r),this.__isUnlinked=void 0!==e.isUnlinked&&null!==e.isUnlinked&&e.isUnlinked}static getType(){return\"autolink\"}static clone(t){return new g(t.__url,{isUnlinked:t.__isUnlinked,rel:t.__rel,target:t.__target,title:t.__title},t.__key)}getIsUnlinked(){return this.__isUnlinked}setIsUnlinked(t){const e=this.getWritable();return e.__isUnlinked=t,e}createDOM(t){return this.__isUnlinked?document.createElement(\"span\"):super.createDOM(t)}updateDOM(t,e,r){return super.updateDOM(t,e,r)||t.__isUnlinked!==this.__isUnlinked}static importJSON(t){const e=f(t.url,{isUnlinked:t.isUnlinked,rel:t.rel,target:t.target,title:t.title});return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),isUnlinked:this.__isUnlinked,type:\"autolink\",version:1}}insertNewAfter(t,e=!0){const r=this.getParentOrThrow().insertNewAfter(t,e);if(s(r)){const t=f(this.__url,{isUnlinked:this.__isUnlinked,rel:this.__rel,target:this.__target,title:this.__title});return r.append(t),t}return null}}function f(t,e){return l(new g(t,e))}function d(t){return t instanceof g}const p=r(\"TOGGLE_LINK_COMMAND\");function U(t,e={}){const{target:r,title:i}=e,l=void 0===e.rel?\"noreferrer\":e.rel,_=u();if(!n(_))return;const o=_.extract();if(null===t)o.forEach((t=>{const e=t.getParent();if(!d(e)&&c(e)){const t=e.getChildren();for(let r=0;r<t.length;r++)e.insertBefore(t[r]);e.remove()}}));else{if(1===o.length){const e=function(t,e){let r=t;for(;null!==r&&null!==r.getParent()&&!e(r);)r=r.getParentOrThrow();return e(r)?r:null}(o[0],c);if(null!==e)return e.setURL(t),void 0!==r&&e.setTarget(r),null!==l&&e.setRel(l),void(void 0!==i&&e.setTitle(i))}let e=null,n=null;o.forEach((u=>{const _=u.getParent();if(_!==n&&null!==_&&(!s(u)||u.isInline())){if(c(_))return n=_,_.setURL(t),void 0!==r&&_.setTarget(r),null!==l&&n.setRel(l),void(void 0!==i&&n.setTitle(i));if(_.is(e)||(e=_,n=h(t,{rel:l,target:r,title:i}),c(_)?null===u.getPreviousSibling()?_.insertBefore(n):_.insertAfter(n):u.insertBefore(n)),c(u)){if(u.is(n))return;if(null!==n){const t=u.getChildren();for(let e=0;e<t.length;e++)n.append(t[e])}u.remove()}else null!==n&&n.append(u)}}))}}const m=U;export{f as $createAutoLinkNode,h as $createLinkNode,d as $isAutoLinkNode,c as $isLinkNode,U as $toggleLink,g as AutoLinkNode,o as LinkNode,p as TOGGLE_LINK_COMMAND,m as toggleLink};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{addClassNamesToElement as e,$findMatchingParent as t,removeClassNamesFromElement as n,objectKlassEquals as o,isHTMLElement as r}from\"@lexical/utils\";import{ElementNode as l,$createParagraphNode as s,$isElementNode as i,$isLineBreakNode as c,$isTextNode as a,$applyNodeReplacement as d,createCommand as u,$createTextNode as h,$getSelection as g,$isRangeSelection as f,$createPoint as m,$normalizeSelection__EXPERIMENTAL as p,$getNodeByKey as C,isCurrentlyReadOnlyMode as S,$setSelection as _,SELECTION_CHANGE_COMMAND as w,$getNearestNodeFromDOMNode as b,$createRangeSelection as y,$getRoot as N,KEY_ARROW_DOWN_COMMAND as T,COMMAND_PRIORITY_HIGH as x,KEY_ARROW_UP_COMMAND as v,KEY_ARROW_LEFT_COMMAND as E,KEY_ARROW_RIGHT_COMMAND as O,KEY_ESCAPE_COMMAND as M,DELETE_WORD_COMMAND as R,DELETE_LINE_COMMAND as K,DELETE_CHARACTER_COMMAND as F,COMMAND_PRIORITY_CRITICAL as k,KEY_BACKSPACE_COMMAND as A,KEY_DELETE_COMMAND as H,CUT_COMMAND as D,FORMAT_TEXT_COMMAND as P,FORMAT_ELEMENT_COMMAND as B,CONTROLLED_TEXT_INSERTION_COMMAND as L,KEY_TAB_COMMAND as I,FOCUS_COMMAND as W,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as U,$getPreviousSelection as z,$createRangeSelectionFromDom as Y,INSERT_PARAGRAPH_COMMAND as X,$isRootOrShadowRoot as J,$isDecoratorNode as $}from\"lexical\";import{copyToClipboard as j,$getClipboardDataFromSelection as q}from\"@lexical/clipboard\";const G=/^(\\d+(?:\\.\\d+)?)px$/,Q={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1};class V extends l{static getType(){return\"tablecell\"}static clone(e){const t=new V(e.__headerState,e.__colSpan,e.__width,e.__key);return t.__rowSpan=e.__rowSpan,t.__backgroundColor=e.__backgroundColor,t}static importDOM(){return{td:e=>({conversion:Z,priority:0}),th:e=>({conversion:Z,priority:0})}}static importJSON(e){const t=e.colSpan||1,n=e.rowSpan||1,o=ee(e.headerState,t,e.width||void 0);return o.__rowSpan=n,o.__backgroundColor=e.backgroundColor||null,o}constructor(e=Q.NO_STATUS,t=1,n,o){super(o),this.__colSpan=t,this.__rowSpan=1,this.__headerState=e,this.__width=n,this.__backgroundColor=null}createDOM(t){const n=document.createElement(this.getTag());return this.__width&&(n.style.width=`${this.__width}px`),this.__colSpan>1&&(n.colSpan=this.__colSpan),this.__rowSpan>1&&(n.rowSpan=this.__rowSpan),null!==this.__backgroundColor&&(n.style.backgroundColor=this.__backgroundColor),e(n,t.theme.tableCell,this.hasHeader()&&t.theme.tableCellHeader),n}exportDOM(e){const{element:t}=super.exportDOM(e);if(t){const e=t;e.style.border=\"1px solid black\",this.__colSpan>1&&(e.colSpan=this.__colSpan),this.__rowSpan>1&&(e.rowSpan=this.__rowSpan),e.style.width=`${this.getWidth()||75}px`,e.style.verticalAlign=\"top\",e.style.textAlign=\"start\";const n=this.getBackgroundColor();null!==n?e.style.backgroundColor=n:this.hasHeader()&&(e.style.backgroundColor=\"#f2f3f5\")}return{element:t}}exportJSON(){return{...super.exportJSON(),backgroundColor:this.getBackgroundColor(),colSpan:this.__colSpan,headerState:this.__headerState,rowSpan:this.__rowSpan,type:\"tablecell\",width:this.getWidth()}}getColSpan(){return this.__colSpan}setColSpan(e){return this.getWritable().__colSpan=e,this}getRowSpan(){return this.__rowSpan}setRowSpan(e){return this.getWritable().__rowSpan=e,this}getTag(){return this.hasHeader()?\"th\":\"td\"}setHeaderStyles(e){return this.getWritable().__headerState=e,this.__headerState}getHeaderStyles(){return this.getLatest().__headerState}setWidth(e){return this.getWritable().__width=e,this.__width}getWidth(){return this.getLatest().__width}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(e){this.getWritable().__backgroundColor=e}toggleHeaderStyle(e){const t=this.getWritable();return(t.__headerState&e)===e?t.__headerState-=e:t.__headerState+=e,t}hasHeaderState(e){return(this.getHeaderStyles()&e)===e}hasHeader(){return this.getLatest().__headerState!==Q.NO_STATUS}updateDOM(e){return e.__headerState!==this.__headerState||e.__width!==this.__width||e.__colSpan!==this.__colSpan||e.__rowSpan!==this.__rowSpan||e.__backgroundColor!==this.__backgroundColor}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}}function Z(e){const t=e,n=e.nodeName.toLowerCase();let o;G.test(t.style.width)&&(o=parseFloat(t.style.width));const r=ee(\"th\"===n?Q.ROW:Q.NO_STATUS,t.colSpan,o);r.__rowSpan=t.rowSpan;const l=t.style.backgroundColor;\"\"!==l&&(r.__backgroundColor=l);const d=t.style,u=d.textDecoration.split(\" \"),h=\"700\"===d.fontWeight||\"bold\"===d.fontWeight,g=u.includes(\"line-through\"),f=\"italic\"===d.fontStyle,m=u.includes(\"underline\");return{after:e=>(0===e.length&&e.push(s()),e),forChild:(e,t)=>{if(te(t)&&!i(e)){const t=s();return c(e)&&\"\\n\"===e.getTextContent()?null:(a(e)&&(h&&e.toggleFormat(\"bold\"),g&&e.toggleFormat(\"strikethrough\"),f&&e.toggleFormat(\"italic\"),m&&e.toggleFormat(\"underline\")),t.append(e),t)}return e},node:r}}function ee(e,t=1,n){return d(new V(e,t,n))}function te(e){return e instanceof V}const ne=u(\"INSERT_TABLE_COMMAND\");class oe extends l{static getType(){return\"tablerow\"}static clone(e){return new oe(e.__height,e.__key)}static importDOM(){return{tr:e=>({conversion:re,priority:0})}}static importJSON(e){return le(e.height)}constructor(e,t){super(t),this.__height=e}exportJSON(){return{...super.exportJSON(),...this.getHeight()&&{height:this.getHeight()},type:\"tablerow\",version:1}}createDOM(t){const n=document.createElement(\"tr\");return this.__height&&(n.style.height=`${this.__height}px`),e(n,t.theme.tableRow),n}isShadowRoot(){return!0}setHeight(e){return this.getWritable().__height=e,this.__height}getHeight(){return this.getLatest().__height}updateDOM(e){return e.__height!==this.__height}canBeEmpty(){return!1}canIndent(){return!1}}function re(e){const t=e;let n;return G.test(t.style.height)&&(n=parseFloat(t.style.height)),{node:le(n)}}function le(e){return d(new oe(e))}function se(e){return e instanceof oe}function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var ce=ie((function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e<arguments.length;e++)t.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const ae=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function de(e,t,n=!0){const o=at();for(let r=0;r<e;r++){const e=le();for(let o=0;o<t;o++){let t=Q.NO_STATUS;\"object\"==typeof n?(0===r&&n.rows&&(t|=Q.ROW),0===o&&n.columns&&(t|=Q.COLUMN)):n&&(0===r&&(t|=Q.ROW),0===o&&(t|=Q.COLUMN));const l=ee(t),i=s();i.append(h()),l.append(i),e.append(l)}o.append(e)}return o}function ue(e){const n=t(e,(e=>te(e)));return te(n)?n:null}function he(e){const n=t(e,(e=>se(e)));if(se(n))return n;throw new Error(\"Expected table cell to be inside of table row.\")}function ge(e){const n=t(e,(e=>dt(e)));if(dt(n))return n;throw new Error(\"Expected table cell to be inside of table.\")}function fe(e){const t=he(e);return ge(t).getChildren().findIndex((e=>e.is(t)))}function me(e){return he(e).getChildren().findIndex((t=>t.is(e)))}function pe(e,t){const n=ge(e),{x:o,y:r}=n.getCordsFromCellNode(e,t);return{above:n.getCellNodeFromCords(o,r-1,t),below:n.getCellNodeFromCords(o,r+1,t),left:n.getCellNodeFromCords(o-1,r,t),right:n.getCellNodeFromCords(o+1,r,t)}}function Ce(e,t){const n=e.getChildren();if(t>=n.length||t<0)throw new Error(\"Expected table cell to be inside of table row.\");return n[t].remove(),e}function Se(e,t,n=!0,o,r){const l=e.getChildren();if(t>=l.length||t<0)throw new Error(\"Table row target index out of range\");const i=l[t];if(!se(i))throw new Error(\"Row before insertion index does not exist.\");for(let e=0;e<o;e++){const e=i.getChildren(),t=e.length,o=le();for(let n=0;n<t;n++){const t=e[n];te(t)||ce(12);const{above:l,below:i}=pe(t,r);let c=Q.NO_STATUS;const a=l&&l.getWidth()||i&&i.getWidth()||void 0;(l&&l.hasHeaderState(Q.COLUMN)||i&&i.hasHeaderState(Q.COLUMN))&&(c|=Q.COLUMN);const d=ee(c,1,a);d.append(s()),o.append(d)}n?i.insertAfter(o):i.insertBefore(o)}return e}const _e=(e,t)=>e===Q.BOTH||e===t?t:Q.NO_STATUS;function we(e=!0){const t=g();f(t)||Ae(t)||ce(188);const n=t.focus.getNode(),[o,,r]=Ke(n),[l,i]=Me(r,o,o),c=l[0].length,{startRow:a}=i;if(e){const e=a+o.__rowSpan-1,t=l[e],n=le();for(let o=0;o<c;o++){const{cell:r,startRow:l}=t[o];if(l+r.__rowSpan-1<=e){const e=t[o].cell.__headerState,r=_e(e,Q.COLUMN);n.append(ee(r).append(s()))}else r.setRowSpan(r.__rowSpan+1)}const i=r.getChildAtIndex(e);se(i)||ce(145),i.insertAfter(n)}else{const e=l[a],t=le();for(let n=0;n<c;n++){const{cell:o,startRow:r}=e[n];if(r===a){const o=e[n].cell.__headerState,r=_e(o,Q.COLUMN);t.append(ee(r).append(s()))}else o.setRowSpan(o.__rowSpan+1)}const n=r.getChildAtIndex(a);se(n)||ce(145),n.insertBefore(t)}}function be(e,t,n=!0,o,r){const l=e.getChildren(),i=[];for(let e=0;e<l.length;e++){const n=l[e];if(se(n))for(let e=0;e<o;e++){const e=n.getChildren();if(t>=e.length||t<0)throw new Error(\"Table column target index out of range\");const o=e[t];te(o)||ce(12);const{left:l,right:c}=pe(o,r);let a=Q.NO_STATUS;(l&&l.hasHeaderState(Q.ROW)||c&&c.hasHeaderState(Q.ROW))&&(a|=Q.ROW);const d=ee(a);d.append(s()),i.push({newTableCell:d,targetCell:o})}}return i.forEach((({newTableCell:e,targetCell:t})=>{n?t.insertAfter(e):t.insertBefore(e)})),e}function ye(e=!0){const t=g();f(t)||Ae(t)||ce(188);const n=t.anchor.getNode(),o=t.focus.getNode(),[r]=Ke(n),[l,,i]=Ke(o),[c,a,d]=Me(i,l,r),u=c.length,h=e?Math.max(a.startColumn,d.startColumn):Math.min(a.startColumn,d.startColumn),m=e?h+l.__colSpan-1:h-1,p=i.getFirstChild();se(p)||ce(120);let C=null;function S(e=Q.NO_STATUS){const t=ee(e).append(s());return null===C&&(C=t),t}let _=p;e:for(let e=0;e<u;e++){if(0!==e){const e=_.getNextSibling();se(e)||ce(121),_=e}const t=c[e],n=t[m<0?0:m].cell.__headerState,o=_e(n,Q.ROW);if(m<0){Ee(_,S(o));continue}const{cell:r,startColumn:l,startRow:s}=t[m];if(l+r.__colSpan-1<=m){let n=r,l=s,i=m;for(;l!==e&&n.__rowSpan>1;){if(i-=r.__colSpan,!(i>=0)){_.append(S(o));continue e}{const{cell:e,startRow:o}=t[i];n=e,l=o}}n.insertAfter(S(o))}else r.setColSpan(r.__colSpan+1)}null!==C&&ve(C)}function Ne(e,t){const n=e.getChildren();for(let e=0;e<n.length;e++){const o=n[e];if(se(o)){const e=o.getChildren();if(t>=e.length||t<0)throw new Error(\"Table column target index out of range\");e[t].remove()}}return e}function Te(){const e=g();f(e)||Ae(e)||ce(188);const t=e.anchor.getNode(),n=e.focus.getNode(),[o,,r]=Ke(t),[l]=Ke(n),[s,i,c]=Me(r,o,l),{startRow:a}=i,{startRow:d}=c,u=d+l.__rowSpan-1;if(s.length===u-a+1)return void r.remove();const h=s[0].length,m=s[u+1],p=r.getChildAtIndex(u+1);for(let e=u;e>=a;e--){for(let t=h-1;t>=0;t--){const{cell:n,startRow:o,startColumn:r}=s[e][t];if(r===t&&(e===a&&o<a&&n.setRowSpan(n.__rowSpan-(o-a)),o>=a&&o+n.__rowSpan-1>u))if(n.setRowSpan(n.__rowSpan-(u-o+1)),null===p&&ce(122),0===t)Ee(p,n);else{const{cell:e}=m[t-1];e.insertAfter(n)}}const t=r.getChildAtIndex(e);se(t)||ce(123,String(e)),t.remove()}if(void 0!==m){const{cell:e}=m[0];ve(e)}else{const e=s[a-1],{cell:t}=e[0];ve(t)}}function xe(){const e=g();f(e)||Ae(e)||ce(188);const t=e.anchor.getNode(),n=e.focus.getNode(),[o,,r]=Ke(t),[l]=Ke(n),[s,i,c]=Me(r,o,l),{startColumn:a}=i,{startRow:d,startColumn:u}=c,h=Math.min(a,u),m=Math.max(a+o.__colSpan-1,u+l.__colSpan-1),p=m-h+1;if(s[0].length===m-h+1)return r.selectPrevious(),void r.remove();const C=s.length;for(let e=0;e<C;e++)for(let t=h;t<=m;t++){const{cell:n,startColumn:o}=s[e][t];if(o<h){if(t===h){const e=h-o;n.setColSpan(n.__colSpan-Math.min(p,n.__colSpan-e))}}else if(o+n.__colSpan-1>m){if(t===m){const e=m-o+1;n.setColSpan(n.__colSpan-e)}}else n.remove()}const S=s[d],_=a>u?S[a+o.__colSpan]:S[u+l.__colSpan];if(void 0!==_){const{cell:e}=_;ve(e)}else{const e=u<a?S[u-1]:S[a-1],{cell:t}=e;ve(t)}}function ve(e){const t=e.getFirstDescendant();null==t?e.selectStart():t.getParentOrThrow().selectStart()}function Ee(e,t){const n=e.getFirstChild();null!==n?n.insertBefore(t):e.append(t)}function Oe(){const e=g();f(e)||Ae(e)||ce(188);const t=e.anchor.getNode(),[n,o,r]=Ke(t),l=n.__colSpan,i=n.__rowSpan;if(l>1){for(let e=1;e<l;e++)n.insertAfter(ee(Q.NO_STATUS).append(s()));n.setColSpan(1)}if(i>1){const[e,t]=Me(r,n,n),{startColumn:c,startRow:a}=t;let d;for(let t=1;t<i;t++){const n=a+t,r=e[n];d=(d||o).getNextSibling(),se(d)||ce(125);let i=null;for(let e=0;e<c;e++){const t=r[e],o=t.cell;t.startRow===n&&(i=o),o.__colSpan>1&&(e+=o.__colSpan-1)}if(null===i)for(let e=0;e<l;e++)Ee(d,ee(Q.NO_STATUS).append(s()));else for(let e=0;e<l;e++)i.insertAfter(ee(Q.NO_STATUS).append(s()))}n.setRowSpan(1)}}function Me(e,t,n){const[o,r,l]=Re(e,t,n);return null===r&&ce(110),null===l&&ce(111),[o,r,l]}function Re(e,t,n){const o=[];let r=null,l=null;function s(e,s,i){const c={cell:i,startColumn:s,startRow:e},a=i.__rowSpan,d=i.__colSpan;for(let t=0;t<a;t++){void 0===o[e+t]&&(o[e+t]=[]);for(let n=0;n<d;n++)o[e+t][s+n]=c}null!==t&&t.is(i)&&(r=c),null!==n&&n.is(i)&&(l=c)}function i(e,t){return void 0===o[e]||void 0===o[e][t]}const c=e.getChildren();for(let e=0;e<c.length;e++){const t=c[e];se(t)||ce(146);const n=t.getChildren();let o=0;for(const t of n){for(te(t)||ce(147);!i(e,o);)o++;s(e,o,t),o+=t.__colSpan}}return[o,r,l]}function Ke(e){let n;if(e instanceof V)n=e;else if(\"__type\"in e){const o=t(e,te);te(o)||ce(148),n=o}else{const o=t(e.getNode(),te);te(o)||ce(148),n=o}const o=n.getParent();se(o)||ce(149);const r=o.getParent();return dt(r)||ce(150),[n,o,r]}function Fe(e){const[t,,n]=Ke(e),o=n.getChildren(),r=o.length,l=o[0].getChildren().length,s=new Array(r);for(let e=0;e<r;e++)s[e]=new Array(l);for(let e=0;e<r;e++){const n=o[e].getChildren();let r=0;for(let o=0;o<n.length;o++){for(;s[e][r];)r++;const l=n[o],i=l.__rowSpan||1,c=l.__colSpan||1;for(let t=0;t<i;t++)for(let n=0;n<c;n++)s[e+t][r+n]=l;if(t===l)return{colSpan:c,columnIndex:r,rowIndex:e,rowSpan:i};r+=c}}return null}class ke{constructor(e,t,n){this.anchor=t,this.focus=n,t._selection=this,n._selection=this,this._cachedNodes=null,this.dirty=!1,this.tableKey=e}getStartEndPoints(){return[this.anchor,this.focus]}isBackward(){return this.focus.isBefore(this.anchor)}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return!!Ae(e)&&(this.tableKey===e.tableKey&&this.anchor.is(e.anchor)&&this.focus.is(e.focus))}set(e,t,n){this.dirty=!0,this.tableKey=e,this.anchor.key=t,this.focus.key=n,this._cachedNodes=null}clone(){return new ke(this.tableKey,this.anchor,this.focus)}isCollapsed(){return!1}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){const t=this.focus.getNode();i(t)||ce(151);p(t.select(0,t.getChildrenSize())).insertNodes(e)}getShape(){const e=C(this.anchor.key);te(e)||ce(152);const t=Fe(e);null===t&&ce(153);const n=C(this.focus.key);te(n)||ce(154);const o=Fe(n);null===o&&ce(155);const r=Math.min(t.columnIndex,o.columnIndex),l=Math.max(t.columnIndex,o.columnIndex),s=Math.min(t.rowIndex,o.rowIndex),i=Math.max(t.rowIndex,o.rowIndex);return{fromX:Math.min(r,l),fromY:Math.min(s,i),toX:Math.max(r,l),toY:Math.max(s,i)}}getNodes(){const e=this._cachedNodes;if(null!==e)return e;const n=this.anchor.getNode(),o=this.focus.getNode(),r=t(n,te),l=t(o,te);te(r)||ce(152),te(l)||ce(154);const s=r.getParent();se(s)||ce(156);const i=s.getParent();dt(i)||ce(157);const c=l.getParents()[1];if(c!==i){if(i.isParentOf(l)){const e=c.getParent();null==e&&ce(159),this.set(this.tableKey,l.getKey(),e.getKey())}else{const e=i.getParent();null==e&&ce(158),this.set(this.tableKey,e.getKey(),l.getKey())}return this.getNodes()}const[a,d,u]=Me(i,r,l);let h=Math.min(d.startColumn,u.startColumn),g=Math.min(d.startRow,u.startRow),f=Math.max(d.startColumn+d.cell.__colSpan-1,u.startColumn+u.cell.__colSpan-1),m=Math.max(d.startRow+d.cell.__rowSpan-1,u.startRow+u.cell.__rowSpan-1),p=h,C=g,_=h,w=g;function b(e){const{cell:t,startColumn:n,startRow:o}=e;h=Math.min(h,n),g=Math.min(g,o),f=Math.max(f,n+t.__colSpan-1),m=Math.max(m,o+t.__rowSpan-1)}for(;h<p||g<C||f>_||m>w;){if(h<p){const e=w-C,t=p-1;for(let n=0;n<=e;n++)b(a[C+n][t]);p=t}if(g<C){const e=_-p,t=C-1;for(let n=0;n<=e;n++)b(a[t][p+n]);C=t}if(f>_){const e=w-C,t=_+1;for(let n=0;n<=e;n++)b(a[C+n][t]);_=t}if(m>w){const e=_-p,t=w+1;for(let n=0;n<=e;n++)b(a[t][p+n]);w=t}}const y=[i];let N=null;for(let e=g;e<=m;e++)for(let t=h;t<=f;t++){const{cell:n}=a[e][t],o=n.getParent();se(o)||ce(160),o!==N&&y.push(o),y.push(n,...De(n)),N=o}return S()||(this._cachedNodes=y),y}getTextContent(){const e=this.getNodes().filter((e=>te(e)));let t=\"\";for(let n=0;n<e.length;n++){const o=e[n],r=o.__parent,l=(e[n+1]||{}).__parent;t+=o.getTextContent()+(l!==r?\"\\n\":\"\\t\")}return t}}function Ae(e){return e instanceof ke}function He(){const e=m(\"root\",0,\"element\"),t=m(\"root\",0,\"element\");return new ke(\"root\",e,t)}function De(e){const t=[],n=[e];for(;n.length>0;){const o=n.pop();void 0===o&&ce(112),i(o)&&n.unshift(...o.getChildren()),o!==e&&t.push(o)}return t}class Pe{constructor(e,t){this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.listenersToRemove=new Set,this.tableNodeKey=t,this.editor=e,this.table={columns:0,domRows:[],rows:0},this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.trackTable(),this.isSelecting=!1}getTable(){return this.table}removeListeners(){Array.from(this.listenersToRemove).forEach((e=>e()))}trackTable(){const e=new MutationObserver((e=>{this.editor.update((()=>{let t=!1;for(let n=0;n<e.length;n++){const o=e[n].target.nodeName;if(\"TABLE\"===o||\"TBODY\"===o||\"THEAD\"===o||\"TR\"===o){t=!0;break}}if(!t)return;const n=this.editor.getElementByKey(this.tableNodeKey);if(!n)throw new Error(\"Expected to find TableElement in DOM\");this.table=ze(n)}))}));this.editor.update((()=>{const t=this.editor.getElementByKey(this.tableNodeKey);if(!t)throw new Error(\"Expected to find TableElement in DOM\");this.table=ze(t),e.observe(t,{attributes:!0,childList:!0,subtree:!0})}))}clearHighlight(){const e=this.editor;this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.enableHighlightStyle(),e.update((()=>{if(!dt(C(this.tableNodeKey)))throw new Error(\"Expected TableNode.\");const t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error(\"Expected to find TableElement in DOM\");const n=ze(t);Ye(e,n,null),_(null),e.dispatchCommand(w,void 0)}))}enableHighlightStyle(){const e=this.editor;e.update((()=>{const t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error(\"Expected to find TableElement in DOM\");n(t,e._config.theme.tableSelection),t.classList.remove(\"disable-selection\"),this.hasHijackedSelectionStyles=!1}))}disableHighlightStyle(){const t=this.editor;t.update((()=>{const n=t.getElementByKey(this.tableNodeKey);if(!n)throw new Error(\"Expected to find TableElement in DOM\");e(n,t._config.theme.tableSelection),this.hasHijackedSelectionStyles=!0}))}updateTableTableSelection(e){if(null!==e&&e.tableKey===this.tableNodeKey){const t=this.editor;this.tableSelection=e,this.isHighlightingCells=!0,this.disableHighlightStyle(),Ye(t,this.table,this.tableSelection)}else null==e?this.clearHighlight():(this.tableNodeKey=e.tableKey,this.updateTableTableSelection(e))}setFocusCellForSelection(e,t=!1){const n=this.editor;n.update((()=>{const o=C(this.tableNodeKey);if(!dt(o))throw new Error(\"Expected TableNode.\");if(!n.getElementByKey(this.tableNodeKey))throw new Error(\"Expected to find TableElement in DOM\");const r=e.x,l=e.y;if(this.focusCell=e,null!==this.anchorCell){const e=Le(n._window);e&&e.setBaseAndExtent(this.anchorCell.elem,0,this.focusCell.elem,0)}if(this.isHighlightingCells||this.anchorX===r&&this.anchorY===l&&!t){if(r===this.focusX&&l===this.focusY)return}else this.isHighlightingCells=!0,this.disableHighlightStyle();if(this.focusX=r,this.focusY=l,this.isHighlightingCells){const t=b(e.elem);if(null!=this.tableSelection&&null!=this.anchorCellNodeKey&&te(t)&&o.is(tt(t))){const e=t.getKey();this.tableSelection=this.tableSelection.clone()||He(),this.focusCellNodeKey=e,this.tableSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),_(this.tableSelection),n.dispatchCommand(w,void 0),Ye(n,this.table,this.tableSelection)}}}))}setAnchorCellForSelection(e){this.isHighlightingCells=!1,this.anchorCell=e,this.anchorX=e.x,this.anchorY=e.y,this.editor.update((()=>{const t=b(e.elem);if(te(t)){const e=t.getKey();this.tableSelection=null!=this.tableSelection?this.tableSelection.clone():He(),this.anchorCellNodeKey=e}}))}formatCells(e){this.editor.update((()=>{const t=g();Ae(t)||ce(11);const n=y(),o=n.anchor,r=n.focus;t.getNodes().forEach((t=>{te(t)&&0!==t.getTextContentSize()&&(o.set(t.getKey(),0,\"element\"),r.set(t.getKey(),t.getChildrenSize(),\"element\"),n.formatText(e))})),_(t),this.editor.dispatchCommand(w,void 0)}))}clearText(){const e=this.editor;e.update((()=>{const t=C(this.tableNodeKey);if(!dt(t))throw new Error(\"Expected TableNode.\");const n=g();Ae(n)||ce(11);const o=n.getNodes().filter(te);if(o.length!==this.table.columns*this.table.rows)o.forEach((e=>{if(i(e)){const t=s(),n=h();t.append(n),e.append(t),e.getChildren().forEach((e=>{e!==t&&e.remove()}))}})),Ye(e,this.table,null),_(null),e.dispatchCommand(w,void 0);else{t.selectPrevious(),t.remove();N().selectStart()}}))}}const Be=\"__lexicalTableSelection\",Le=e=>ae?(e||window).getSelection():null;function Ie(e,n,r,l){const c=r.getRootElement();if(null===c)throw new Error(\"No root element.\");const d=new Pe(r,e.getKey()),u=r._window||window;!function(e,t){e[Be]=t}(n,d);const m=()=>{const e=()=>{d.isSelecting=!1,u.removeEventListener(\"mouseup\",e),u.removeEventListener(\"mousemove\",t)},t=n=>{setTimeout((()=>{if(1&~n.buttons&&d.isSelecting)return d.isSelecting=!1,u.removeEventListener(\"mouseup\",e),void u.removeEventListener(\"mousemove\",t);const o=Ue(n.target);null===o||d.anchorX===o.x&&d.anchorY===o.y||(n.preventDefault(),d.setFocusCellForSelection(o))}),0)};return{onMouseMove:t,onMouseUp:e}};n.addEventListener(\"mousedown\",(e=>{setTimeout((()=>{if(0!==e.button)return;if(!u)return;const t=Ue(e.target);null!==t&&(ot(e),d.setAnchorCellForSelection(t));const{onMouseUp:n,onMouseMove:o}=m();d.isSelecting=!0,u.addEventListener(\"mouseup\",n),u.addEventListener(\"mousemove\",o)}),0)}));const p=e=>{0===e.button&&r.update((()=>{const t=g(),n=e.target;Ae(t)&&t.tableKey===d.tableNodeKey&&c.contains(n)&&d.clearHighlight()}))};u.addEventListener(\"mousedown\",p),d.listenersToRemove.add((()=>u.removeEventListener(\"mousedown\",p))),d.listenersToRemove.add(r.registerCommand(T,(t=>nt(r,t,\"down\",e,d)),x)),d.listenersToRemove.add(r.registerCommand(v,(t=>nt(r,t,\"up\",e,d)),x)),d.listenersToRemove.add(r.registerCommand(E,(t=>nt(r,t,\"backward\",e,d)),x)),d.listenersToRemove.add(r.registerCommand(O,(t=>nt(r,t,\"forward\",e,d)),x)),d.listenersToRemove.add(r.registerCommand(M,(e=>{const n=g();if(Ae(n)){const o=t(n.focus.getNode(),te);if(te(o))return ot(e),o.selectEnd(),!0}return!1}),x));[R,K,F].forEach((n=>{d.listenersToRemove.add(r.registerCommand(n,(n=>()=>{const o=g();if(!qe(o,e))return!1;if(Ae(o))return d.clearText(),!0;if(f(o)){const r=t(o.anchor.getNode(),(e=>te(e)));if(!te(r))return!1;const l=o.anchor.getNode(),s=o.focus.getNode(),c=e.isParentOf(l),a=e.isParentOf(s);if(c&&!a||a&&!c)return d.clearText(),!0;const u=t(o.anchor.getNode(),(e=>i(e))),h=u&&t(u,(e=>i(e)&&te(e.getParent())));if(!i(h)||!i(u))return!1;if(n===K&&null===h.getPreviousSibling())return!0}return!1})(n),k))}));const C=n=>{const o=g();if(!qe(o,e)){const e=o?o.getNodes():null;if(e){const t=e.find((e=>dt(e)&&e.getKey()===d.tableNodeKey));if(dt(t)){if(!t.getParent())return!1;t.remove()}}return!1}if(Ae(o))return n&&(n.preventDefault(),n.stopPropagation()),d.clearText(),!0;if(f(o)){const e=t(o.anchor.getNode(),(e=>te(e)));if(!te(e))return!1}return!1};function S(t){const n=e.getCordsFromCellNode(t,d.table);return e.getDOMCellFromCordsOrThrow(n.x,n.y,d.table)}return d.listenersToRemove.add(r.registerCommand(A,C,k)),d.listenersToRemove.add(r.registerCommand(H,C,k)),d.listenersToRemove.add(r.registerCommand(D,(e=>{const t=g();if(t){if(!Ae(t)&&!f(t))return!1;j(r,o(e,ClipboardEvent)?e:null,q(t));const n=C(e);return f(t)&&t.removeText(),n}return!1}),k)),d.listenersToRemove.add(r.registerCommand(P,(n=>{const o=g();if(!qe(o,e))return!1;if(Ae(o))return d.formatCells(n),!0;if(f(o)){const e=t(o.anchor.getNode(),(e=>te(e)));if(!te(e))return!1}return!1}),k)),d.listenersToRemove.add(r.registerCommand(B,(t=>{const n=g();if(!Ae(n)||!qe(n,e))return!1;const o=n.anchor.getNode(),r=n.focus.getNode();if(!te(o)||!te(r))return!1;const[l,s,c]=Me(e,o,r),a=Math.max(s.startRow,c.startRow),d=Math.max(s.startColumn,c.startColumn),u=Math.min(s.startRow,c.startRow),h=Math.min(s.startColumn,c.startColumn);for(let e=u;e<=a;e++)for(let n=h;n<=d;n++){const o=l[e][n].cell;o.setFormat(t);const r=o.getChildren();for(let e=0;e<r.length;e++){const n=r[e];i(n)&&!n.isInline()&&n.setFormat(t)}}return!0}),k)),d.listenersToRemove.add(r.registerCommand(L,(n=>{const o=g();if(!qe(o,e))return!1;if(Ae(o))return d.clearHighlight(),!1;if(f(o)){const l=t(o.anchor.getNode(),(e=>te(e)));if(!te(l))return!1;if(\"string\"==typeof n){const t=lt(r,o,e);if(t)return rt(t,e,[h(n)]),!0}}return!1}),k)),l&&d.listenersToRemove.add(r.registerCommand(I,(t=>{const n=g();if(!f(n)||!n.isCollapsed()||!qe(n,e))return!1;const o=et(n.anchor.getNode());if(null===o)return!1;ot(t);const r=e.getCordsFromCellNode(o,d.table);return $e(d,e,r.x,r.y,t.shiftKey?\"backward\":\"forward\"),!0}),k)),d.listenersToRemove.add(r.registerCommand(W,(t=>e.isSelected()),x)),d.listenersToRemove.add(r.registerCommand(U,(e=>{const{nodes:n,selection:o}=e,r=o.getStartEndPoints(),l=Ae(o),i=f(o)&&null!==t(o.anchor.getNode(),(e=>te(e)))&&null!==t(o.focus.getNode(),(e=>te(e)))||l;if(1!==n.length||!dt(n[0])||!i||null===r)return!1;const[c]=r,d=n[0],u=d.getChildren(),h=d.getFirstChildOrThrow().getChildrenSize(),g=d.getChildrenSize(),m=t(c.getNode(),(e=>te(e))),p=m&&t(m,(e=>se(e))),C=p&&t(p,(e=>dt(e)));if(!te(m)||!se(p)||!dt(C))return!1;const S=p.getIndexWithinParent(),_=Math.min(C.getChildrenSize()-1,S+g-1),w=m.getIndexWithinParent(),b=Math.min(p.getChildrenSize()-1,w+h-1),y=Math.min(w,b),N=Math.min(S,_),T=Math.max(w,b),x=Math.max(S,_),v=C.getChildren();let E=0;for(let e=N;e<=x;e++){const t=v[e];if(!se(t))return!1;const n=u[E];if(!se(n))return!1;const o=t.getChildren(),r=n.getChildren();let l=0;for(let e=y;e<=T;e++){const t=o[e];if(!te(t))return!1;const n=r[l];if(!te(n))return!1;const i=t.getChildren();n.getChildren().forEach((e=>{if(a(e)){s().append(e),t.append(e)}else t.append(e)})),i.forEach((e=>e.remove())),l++}E++}return!0}),k)),d.listenersToRemove.add(r.registerCommand(w,(()=>{const t=g(),n=z();if(f(t)){const{anchor:n,focus:o}=t,l=n.getNode(),s=o.getNode(),i=et(l),c=et(s),a=!(!i||!e.is(tt(i))),h=!(!c||!e.is(tt(c))),g=a!==h,f=a&&h,p=t.isBackward();if(g){const n=t.clone();if(h){const[t]=Me(e,c,c),o=t[0][0].cell,r=t[t.length-1].at(-1).cell;n.focus.set(p?o.getKey():r.getKey(),p?o.getChildrenSize():r.getChildrenSize(),\"element\")}_(n),Je(r,d)}else f&&(i.is(c)||(d.setAnchorCellForSelection(S(i)),d.setFocusCellForSelection(S(c),!0),d.isSelecting||setTimeout((()=>{const{onMouseUp:e,onMouseMove:t}=m();d.isSelecting=!0,u.addEventListener(\"mouseup\",e),u.addEventListener(\"mousemove\",t)}),0)))}else if(t&&Ae(t)&&t.is(n)&&t.tableKey===e.getKey()){const n=Le(r._window);if(n&&n.anchorNode&&n.focusNode){const o=b(n.focusNode),l=o&&!e.is(tt(o)),s=b(n.anchorNode),i=s&&e.is(tt(s));if(l&&i&&n.rangeCount>0){const o=Y(n,r);o&&(o.anchor.set(e.getKey(),t.isBackward()?e.getChildrenSize():0,\"element\"),n.removeAllRanges(),_(o))}}}return t&&!t.is(n)&&(Ae(t)||Ae(n))&&d.tableSelection&&!d.tableSelection.is(n)?(Ae(t)&&t.tableKey===d.tableNodeKey?d.updateTableTableSelection(t):!Ae(t)&&Ae(n)&&n.tableKey===d.tableNodeKey&&d.updateTableTableSelection(null),!1):(d.hasHijackedSelectionStyles&&!e.isSelected()?function(e,t){t.enableHighlightStyle(),Xe(t.table,(t=>{const n=t.elem;t.highlighted=!1,Ze(e,t),n.getAttribute(\"style\")||n.removeAttribute(\"style\")}))}(r,d):!d.hasHijackedSelectionStyles&&e.isSelected()&&Je(r,d),!1)}),k)),d.listenersToRemove.add(r.registerCommand(X,(()=>{const t=g();if(!f(t)||!t.isCollapsed()||!qe(t,e))return!1;const n=lt(r,t,e);return!!n&&(rt(n,e),!0)}),k)),d}function We(e){return e[Be]}function Ue(e){let t=e;for(;null!=t;){const e=t.nodeName;if(\"TD\"===e||\"TH\"===e){const e=t._cell;return void 0===e?null:e}t=t.parentNode}return null}function ze(e){const t=[],n={columns:0,domRows:t,rows:0};let o=e.firstChild,r=0,l=0;for(t.length=0;null!=o;){const e=o.nodeName;if(\"TD\"===e||\"TH\"===e){const e={elem:o,hasBackgroundColor:\"\"!==o.style.backgroundColor,highlighted:!1,x:r,y:l};o._cell=e;let n=t[l];void 0===n&&(n=t[l]=[]),n[r]=e}else{const e=o.firstChild;if(null!=e){o=e;continue}}const n=o.nextSibling;if(null!=n){r++,o=n;continue}const s=o.parentNode;if(null!=s){const e=s.nextSibling;if(null==e)break;l++,r=0,o=e}}return n.columns=r+1,n.rows=l+1,n}function Ye(e,t,n){const o=new Set(n?n.getNodes():[]);Xe(t,((t,n)=>{const r=t.elem;o.has(n)?(t.highlighted=!0,Ve(e,t)):(t.highlighted=!1,Ze(e,t),r.getAttribute(\"style\")||r.removeAttribute(\"style\"))}))}function Xe(e,t){const{domRows:n}=e;for(let e=0;e<n.length;e++){const o=n[e];if(o)for(let n=0;n<o.length;n++){const r=o[n];if(!r)continue;const l=b(r.elem);null!==l&&t(r,l,{x:n,y:e})}}}function Je(e,t){t.disableHighlightStyle(),Xe(t.table,(t=>{t.highlighted=!0,Ve(e,t)}))}const $e=(e,t,n,o,r)=>{const l=\"forward\"===r;switch(r){case\"backward\":case\"forward\":return n!==(l?e.table.columns-1:0)?Ge(t.getCellNodeFromCordsOrThrow(n+(l?1:-1),o,e.table),l):o!==(l?e.table.rows-1:0)?Ge(t.getCellNodeFromCordsOrThrow(l?0:e.table.columns-1,o+(l?1:-1),e.table),l):l?t.selectNext():t.selectPrevious(),!0;case\"up\":return 0!==o?Ge(t.getCellNodeFromCordsOrThrow(n,o-1,e.table),!1):t.selectPrevious(),!0;case\"down\":return o!==e.table.rows-1?Ge(t.getCellNodeFromCordsOrThrow(n,o+1,e.table),!0):t.selectNext(),!0;default:return!1}},je=(e,t,n,o,r)=>{const l=\"forward\"===r;switch(r){case\"backward\":case\"forward\":return n!==(l?e.table.columns-1:0)&&e.setFocusCellForSelection(t.getDOMCellFromCordsOrThrow(n+(l?1:-1),o,e.table)),!0;case\"up\":return 0!==o&&(e.setFocusCellForSelection(t.getDOMCellFromCordsOrThrow(n,o-1,e.table)),!0);case\"down\":return o!==e.table.rows-1&&(e.setFocusCellForSelection(t.getDOMCellFromCordsOrThrow(n,o+1,e.table)),!0);default:return!1}};function qe(e,t){if(f(e)||Ae(e)){const n=t.isParentOf(e.anchor.getNode()),o=t.isParentOf(e.focus.getNode());return n&&o}return!1}function Ge(e,t){t?e.selectStart():e.selectEnd()}const Qe=\"172,206,247\";function Ve(e,t){const n=t.elem,o=b(n);te(o)||ce(131);null===o.getBackgroundColor()?n.style.setProperty(\"background-color\",`rgb(${Qe})`):n.style.setProperty(\"background-image\",`linear-gradient(to right, rgba(${Qe},0.85), rgba(${Qe},0.85))`),n.style.setProperty(\"caret-color\",\"transparent\")}function Ze(e,t){const n=t.elem,o=b(n);te(o)||ce(131);null===o.getBackgroundColor()&&n.style.removeProperty(\"background-color\"),n.style.removeProperty(\"background-image\"),n.style.removeProperty(\"caret-color\")}function et(e){const n=t(e,te);return te(n)?n:null}function tt(e){const n=t(e,dt);return dt(n)?n:null}function nt(e,n,o,r,l){if((\"up\"===o||\"down\"===o)&&function(e){const t=e.getRootElement();if(!t)return!1;return t.hasAttribute(\"aria-controls\")&&\"typeahead-menu\"===t.getAttribute(\"aria-controls\")}(e))return!1;const s=g();if(!qe(s,r)){if(f(s)){if(s.isCollapsed()&&\"backward\"===o){const e=s.anchor.type,o=s.anchor.offset;if(\"element\"!==e&&(\"text\"!==e||0!==o))return!1;const r=s.anchor.getNode();if(!r)return!1;const l=t(r,(e=>i(e)&&!e.isInline()));if(!l)return!1;const c=l.getPreviousSibling();return!(!c||!dt(c))&&(ot(n),c.selectEnd(),!0)}if(n.shiftKey&&(\"up\"===o||\"down\"===o)){const e=s.focus.getNode();if(J(e)){const e=s.getNodes()[0];if(e){const n=t(e,te);if(n&&r.isParentOf(n)){const e=r.getFirstDescendant(),t=r.getLastDescendant();if(!e||!t)return!1;const[n]=Ke(e),[o]=Ke(t),s=r.getCordsFromCellNode(n,l.table),i=r.getCordsFromCellNode(o,l.table),c=r.getDOMCellFromCordsOrThrow(s.x,s.y,l.table),a=r.getDOMCellFromCordsOrThrow(i.x,i.y,l.table);return l.setAnchorCellForSelection(c),l.setFocusCellForSelection(a,!0),!0}}return!1}{const n=t(e,(e=>i(e)&&!e.isInline()));if(!n)return!1;const r=\"down\"===o?n.getNextSibling():n.getPreviousSibling();if(dt(r)&&l.tableNodeKey===r.getKey()){const e=r.getFirstDescendant(),t=r.getLastDescendant();if(!e||!t)return!1;const[n]=Ke(e),[l]=Ke(t),i=s.clone();return i.focus.set((\"up\"===o?n:l).getKey(),\"up\"===o?0:l.getChildrenSize(),\"element\"),_(i),!0}}}}return!1}if(f(s)&&s.isCollapsed()){const{anchor:c,focus:a}=s,d=t(c.getNode(),te),u=t(a.getNode(),te);if(!te(d)||!d.is(u))return!1;const h=tt(d);if(h!==r&&null!=h){const t=e.getElementByKey(h.getKey());if(null!=t)return l.table=ze(t),nt(e,n,o,h,l)}if(\"backward\"===o||\"forward\"===o){const e=c.type,l=c.offset,a=c.getNode();if(!a)return!1;const d=s.getNodes();return(1!==d.length||!$(d[0]))&&(!!function(e,n,o,r){return function(e,t,n){return\"element\"===e&&(\"backward\"===n?null===t.getPreviousSibling():null===t.getNextSibling())}(e,o,r)||function(e,n,o,r){const l=t(o,(e=>i(e)&&!e.isInline()));if(!l)return!1;const s=\"backward\"===r?0===n:n===o.getTextContentSize();return\"text\"===e&&s&&(\"backward\"===r?null===l.getPreviousSibling():null===l.getNextSibling())}(e,n,o,r)}(e,l,a,o)&&function(e,n,o,r){const l=t(n,te);if(!te(l))return!1;const[s,c]=Me(o,l,l);if(!function(e,t,n){const o=e[0][0],r=e[e.length-1][e[0].length-1],{startColumn:l,startRow:s}=t;return\"backward\"===n?l===o.startColumn&&s===o.startRow:l===r.startColumn&&s===r.startRow}(s,c,r))return!1;const a=function(e,n,o){const r=t(e,(e=>i(e)&&!e.isInline()));if(!r)return;const l=\"backward\"===n?r.getPreviousSibling():r.getNextSibling();return l&&dt(l)?l:\"backward\"===n?o.getPreviousSibling():o.getNextSibling()}(n,r,o);if(!a||dt(a))return!1;ot(e),\"backward\"===r?a.selectEnd():a.selectStart();return!0}(n,a,r,o))}const g=e.getElementByKey(d.__key),f=e.getElementByKey(c.key);if(null==f||null==g)return!1;let m;if(\"element\"===c.type)m=f.getBoundingClientRect();else{const e=window.getSelection();if(null===e||0===e.rangeCount)return!1;m=e.getRangeAt(0).getBoundingClientRect()}const p=\"up\"===o?d.getFirstChild():d.getLastChild();if(null==p)return!1;const C=e.getElementByKey(p.__key);if(null==C)return!1;const S=C.getBoundingClientRect();if(\"up\"===o?S.top>m.top-m.height:m.bottom+m.height>S.bottom){ot(n);const e=r.getCordsFromCellNode(d,l.table);if(!n.shiftKey)return $e(l,r,e.x,e.y,o);{const t=r.getDOMCellFromCordsOrThrow(e.x,e.y,l.table);l.setAnchorCellForSelection(t),l.setFocusCellForSelection(t,!0)}return!0}}else if(Ae(s)){const{anchor:i,focus:c}=s,a=t(i.getNode(),te),d=t(c.getNode(),te),[u]=s.getNodes(),h=e.getElementByKey(u.getKey());if(!te(a)||!te(d)||!dt(u)||null==h)return!1;l.updateTableTableSelection(s);const g=ze(h),f=r.getCordsFromCellNode(a,g),m=r.getDOMCellFromCordsOrThrow(f.x,f.y,g);if(l.setAnchorCellForSelection(m),ot(n),n.shiftKey){const e=r.getCordsFromCellNode(d,g);return je(l,u,e.x,e.y,o)}return d.selectEnd(),!0}return!1}function ot(e){e.preventDefault(),e.stopImmediatePropagation(),e.stopPropagation()}function rt(e,t,n){const o=s();\"first\"===e?t.insertBefore(o):t.insertAfter(o),o.append(...n||[]),o.selectEnd()}function lt(e,n,o){const r=o.getParent();if(!r)return;const l=e.getElementByKey(r.getKey());if(!l)return;const s=window.getSelection();if(!s||s.anchorNode!==l)return;const i=t(n.anchor.getNode(),(e=>te(e)));if(!i)return;const c=t(i,(e=>dt(e)));if(!dt(c)||!c.is(o))return;const[a,d]=Me(o,i,i),u=a[0][0],h=a[a.length-1][a[0].length-1],{startRow:g,startColumn:f}=d,m=g===u.startRow&&f===u.startColumn,p=g===h.startRow&&f===h.startColumn;return m?\"first\":p?\"last\":void 0}class st extends l{static getType(){return\"table\"}static clone(e){return new st(e.__key)}static importDOM(){return{table:e=>({conversion:ct,priority:1})}}static importJSON(e){return at()}constructor(e){super(e)}exportJSON(){return{...super.exportJSON(),type:\"table\",version:1}}createDOM(t,n){const o=document.createElement(\"table\");return e(o,t.theme.table),o}updateDOM(){return!1}exportDOM(e){return{...super.exportDOM(e),after:e=>{if(e){const t=e.cloneNode(),n=document.createElement(\"colgroup\"),o=document.createElement(\"tbody\");r(e)&&o.append(...e.children);const l=this.getFirstChildOrThrow();if(!se(l))throw new Error(\"Expected to find row node.\");const s=l.getChildrenSize();for(let e=0;e<s;e++){const e=document.createElement(\"col\");n.append(e)}return t.replaceChildren(n,o),t}}}}canBeEmpty(){return!1}isShadowRoot(){return!0}getCordsFromCellNode(e,t){const{rows:n,domRows:o}=t;for(let t=0;t<n;t++){const n=o[t];if(null==n)continue;const r=n.findIndex((t=>{if(!t)return;const{elem:n}=t;return b(n)===e}));if(-1!==r)return{x:r,y:t}}throw new Error(\"Cell not found in table.\")}getDOMCellFromCords(e,t,n){const{domRows:o}=n,r=o[t];if(null==r)return null;const l=r[e<r.length?e:r.length-1];return null==l?null:l}getDOMCellFromCordsOrThrow(e,t,n){const o=this.getDOMCellFromCords(e,t,n);if(!o)throw new Error(\"Cell not found at cords.\");return o}getCellNodeFromCords(e,t,n){const o=this.getDOMCellFromCords(e,t,n);if(null==o)return null;const r=b(o.elem);return te(r)?r:null}getCellNodeFromCordsOrThrow(e,t,n){const o=this.getCellNodeFromCords(e,t,n);if(!o)throw new Error(\"Node at cords not TableCellNode.\");return o}canSelectBefore(){return!0}canIndent(){return!1}}function it(e,t){const n=e.getElementByKey(t.getKey());if(null==n)throw new Error(\"Table Element Not Found\");return ze(n)}function ct(e){return{node:at()}}function at(){return d(new st)}function dt(e){return e instanceof st}export{Me as $computeTableMap,Re as $computeTableMapSkipCellCheck,ee as $createTableCellNode,at as $createTableNode,de as $createTableNodeWithDimensions,le as $createTableRowNode,He as $createTableSelection,Ne as $deleteTableColumn,xe as $deleteTableColumn__EXPERIMENTAL,Te as $deleteTableRow__EXPERIMENTAL,et as $findCellNode,tt as $findTableNode,it as $getElementForTableNode,Ke as $getNodeTriplet,ue as $getTableCellNodeFromLexicalNode,Fe as $getTableCellNodeRect,me as $getTableColumnIndexFromTableCellNode,ge as $getTableNodeFromLexicalNodeOrThrow,fe as $getTableRowIndexFromTableCellNode,he as $getTableRowNodeFromTableCellNodeOrThrow,be as $insertTableColumn,ye as $insertTableColumn__EXPERIMENTAL,Se as $insertTableRow,we as $insertTableRow__EXPERIMENTAL,te as $isTableCellNode,dt as $isTableNode,se as $isTableRowNode,Ae as $isTableSelection,Ce as $removeTableRowAtIndex,Oe as $unmergeCell,ne as INSERT_TABLE_COMMAND,Q as TableCellHeaderStates,V as TableCellNode,st as TableNode,Pe as TableObserver,oe as TableRowNode,Ie as applyTableHandlers,Ue as getDOMCellFromTarget,We as getTableObserverFromTableElement};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getSelection as e,$isRangeSelection as t,$isRootOrShadowRoot as n,$isElementNode as r,$isLeafNode as i,$createParagraphNode as s,$isParagraphNode as o,ElementNode as c,$applyNodeReplacement as l,$createTextNode as a,createCommand as h}from\"lexical\";import{$getNearestNodeOfType as u,removeClassNamesFromElement as g,addClassNamesToElement as f,isHTMLElement as d}from\"@lexical/utils\";function p(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var _=p((function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e<arguments.length;e++)t.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function m(e){let t=1,n=e.getParent();for(;null!=n;){if(B(n)){const e=n.getParent();if($(e)){t++,n=e.getParent();continue}_(40)}return t}return t}function v(e){let t=e.getParent();$(t)||_(40);let n=t;for(;null!==n;)n=n.getParent(),$(n)&&(t=n);return t}function y(e){let t=[];const n=e.getChildren().filter(B);for(let e=0;e<n.length;e++){const r=n[e],i=r.getFirstChild();$(i)?t=t.concat(y(i)):t.push(r)}return t}function C(e){return B(e)&&$(e.getFirstChild())}function k(e){return R().append(e)}function T(e,t){return B(e)&&(0===t.length||1===t.length&&e.is(t[0])&&0===e.getChildrenSize())}function b(s,o){s.update((()=>{const s=e();if(null!==s){const e=s.getNodes();if(t(s)){const t=s.getStartEndPoints();null===t&&_(143);const[i]=t,c=i.getNode(),l=c.getParent();if(T(c,e)){const e=U(o);if(n(l)){c.replace(e);const t=R();r(c)&&(t.setFormat(c.getFormatType()),t.setIndent(c.getIndent())),e.append(t)}else if(B(c)){const t=c.getParentOrThrow();S(e,t.getChildren()),t.replace(e)}return}}const c=new Set;for(let t=0;t<e.length;t++){const s=e[t];if(!r(s)||!s.isEmpty()||B(s)||c.has(s.getKey())){if(i(s)){let e=s.getParent();for(;null!=e;){const t=e.getKey();if($(e)){if(!c.has(t)){const n=U(o);S(n,e.getChildren()),e.replace(n),c.add(t)}break}{const r=e.getParent();if(n(r)&&!c.has(t)){c.add(t),P(e,o);break}e=r}}}}else P(s,o)}}}))}function S(e,t){e.splice(e.getChildrenSize(),0,t)}function P(e,t){if($(e))return e;const n=e.getPreviousSibling(),r=e.getNextSibling(),i=R();if(i.setFormat(e.getFormatType()),i.setIndent(e.getIndent()),S(i,e.getChildren()),$(n)&&t===n.getListType())return n.append(i),e.remove(),$(r)&&t===r.getListType()&&(S(n,r.getChildren()),r.remove()),n;if($(r)&&t===r.getListType())return r.getFirstChildOrThrow().insertBefore(i),e.remove(),r;{const n=U(t);return n.append(i),e.replace(n),n}}function A(e,t){const n=e.getLastChild(),r=t.getFirstChild();n&&r&&C(n)&&C(r)&&(A(n.getFirstChild(),r.getFirstChild()),r.remove());const i=t.getChildren();i.length>0&&e.append(...i),t.remove()}function N(n){n.update((()=>{const n=e();if(t(n)){const e=new Set,t=n.getNodes(),r=n.anchor.getNode();if(T(r,t))e.add(v(r));else for(let n=0;n<t.length;n++){const r=t[n];if(i(r)){const t=u(r,M);null!=t&&e.add(v(t))}}for(const t of e){let e=t;const r=y(t);for(const t of r){const r=s();S(r,t.getChildren()),e.insertAfter(r),e=r,t.__key===n.anchor.key&&n.anchor.set(r.getKey(),0,\"element\"),t.__key===n.focus.key&&n.focus.set(r.getKey(),0,\"element\"),t.remove()}t.remove()}}}))}function x(e){const t=new Set;if(C(e)||t.has(e.getKey()))return;const n=e.getParent(),r=e.getNextSibling(),i=e.getPreviousSibling();if(C(r)&&C(i)){const n=i.getFirstChild();if($(n)){n.append(e);const i=r.getFirstChild();if($(i)){S(n,i.getChildren()),r.remove(),t.add(r.getKey())}}}else if(C(r)){const t=r.getFirstChild();if($(t)){const n=t.getFirstChild();null!==n&&n.insertBefore(e)}}else if(C(i)){const t=i.getFirstChild();$(t)&&t.append(e)}else if($(n)){const t=R(),s=U(n.getListType());t.append(s),s.append(e),i?i.insertAfter(t):r?r.insertBefore(t):n.append(t)}}function L(e){if(C(e))return;const t=e.getParent(),n=t?t.getParent():void 0;if($(n?n.getParent():void 0)&&B(n)&&$(t)){const r=t?t.getFirstChild():void 0,i=t?t.getLastChild():void 0;if(e.is(r))n.insertBefore(e),t.isEmpty()&&n.remove();else if(e.is(i))n.insertAfter(e),t.isEmpty()&&n.remove();else{const r=t.getListType(),i=R(),s=U(r);i.append(s),e.getPreviousSiblings().forEach((e=>s.append(e)));const o=R(),c=U(r);o.append(c),S(c,e.getNextSiblings()),n.insertBefore(i),n.insertAfter(o),n.replace(e)}}}function O(){const r=e();if(!t(r)||!r.isCollapsed())return!1;const i=r.anchor.getNode();if(!B(i)||0!==i.getChildrenSize())return!1;const c=v(i),l=i.getParent();$(l)||_(40);const a=l.getParent();let h;if(n(a))h=s(),c.insertAfter(h);else{if(!B(a))return!1;h=R(),a.insertAfter(h)}h.select();const u=i.getNextSiblings();if(u.length>0){const e=U(l.getListType());if(o(h))h.insertAfter(e);else{const t=R();t.append(e),h.insertAfter(t)}u.forEach((t=>{t.remove(),e.append(t)}))}return function(e){let t=e;for(;null==t.getNextSibling()&&null==t.getPreviousSibling();){const e=t.getParent();if(null==e||!B(t)&&!$(t))break;t=e}t.remove()}(i),!0}function E(...e){const t=[];for(const n of e)if(n&&\"string\"==typeof n)for(const[e]of n.matchAll(/\\S+/g))t.push(e);return t}class M extends c{static getType(){return\"listitem\"}static clone(e){return new M(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=void 0===e?1:e,this.__checked=t}createDOM(e){const t=document.createElement(\"li\"),n=this.getParent();return $(n)&&\"check\"===n.getListType()&&w(t,this,null),t.value=this.__value,F(t,e.theme,this),t}updateDOM(e,t,n){const r=this.getParent();return $(r)&&\"check\"===r.getListType()&&w(t,this,e),t.value=this.__value,F(t,n.theme,this),!1}static transform(){return e=>{if(B(e)||_(144),null==e.__checked)return;const t=e.getParent();$(t)&&\"check\"!==t.getListType()&&null!=e.getChecked()&&e.setChecked(void 0)}}static importDOM(){return{li:()=>({conversion:D,priority:0})}}static importJSON(e){const t=R();return t.setChecked(e.checked),t.setValue(e.value),t.setFormat(e.format),t.setDirection(e.direction),t}exportDOM(e){const t=this.createDOM(e._config);return t.style.textAlign=this.getFormatType(),{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:\"listitem\",value:this.getValue(),version:1}}append(...e){for(let t=0;t<e.length;t++){const n=e[t];if(r(n)&&this.canMergeWith(n)){const e=n.getChildren();this.append(...e),n.remove()}else super.append(n)}return this}replace(e,t){if(B(e))return super.replace(e);this.setIndent(0);const n=this.getParentOrThrow();if(!$(n))return e;if(n.__first===this.getKey())n.insertBefore(e);else if(n.__last===this.getKey())n.insertAfter(e);else{const t=U(n.getListType());let r=this.getNextSibling();for(;r;){const e=r;r=r.getNextSibling(),t.append(e)}n.insertAfter(e),e.insertAfter(t)}return t&&(r(e)||_(139),this.getChildren().forEach((t=>{e.append(t)}))),this.remove(),0===n.getChildrenSize()&&n.remove(),e}insertAfter(e,t=!0){const n=this.getParentOrThrow();if($(n)||_(39),B(e))return super.insertAfter(e,t);const r=this.getNextSiblings();if(n.insertAfter(e,t),0!==r.length){const i=U(n.getListType());r.forEach((e=>i.append(e))),e.insertAfter(i,t)}return e}remove(e){const t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&C(t)&&C(n)&&(A(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){const n=R(null==this.__checked&&void 0);return this.insertAfter(n,t),n}collapseAtStart(e){const t=s();this.getChildren().forEach((e=>t.append(e)));const n=this.getParentOrThrow(),r=n.getParentOrThrow(),i=B(r);if(1===n.getChildrenSize())if(i)n.remove(),r.select();else{n.insertBefore(t),n.remove();const r=e.anchor,i=e.focus,s=t.getKey();\"element\"===r.type&&r.getNode().is(this)&&r.set(s,r.offset,\"element\"),\"element\"===i.type&&i.getNode().is(this)&&i.set(s,i.offset,\"element\")}else n.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){this.getWritable().__value=e}getChecked(){const e=this.getLatest();let t;const n=this.getParent();return $(n)&&(t=n.getListType()),\"check\"===t?Boolean(e.__checked):void 0}setChecked(e){this.getWritable().__checked=e}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){const e=this.getParent();if(null===e)return this.getLatest().__indent;let t=e.getParentOrThrow(),n=0;for(;B(t);)t=t.getParentOrThrow().getParentOrThrow(),n++;return n}setIndent(e){\"number\"!=typeof e&&_(117),(e=Math.floor(e))>=0||_(199);let t=this.getIndent();for(;t!==e;)t<e?(x(this),t++):(L(this),t--);return this}canInsertAfter(e){return B(e)}canReplaceWith(e){return B(e)}canMergeWith(e){return o(e)||B(e)}extractWithChild(e,n){if(!t(n))return!1;const r=n.anchor.getNode(),i=n.focus.getNode();return this.isParentOf(r)&&this.isParentOf(i)&&this.getTextContent().length===n.getTextContent().length}isParentRequired(){return!0}createParentElementNode(){return U(\"bullet\")}canMergeWhenEmpty(){return!0}}function F(e,t,n){const r=[],i=[],s=t.list,o=s?s.listitem:void 0;let c;if(s&&s.nested&&(c=s.nested.listitem),void 0!==o&&r.push(...E(o)),s){const e=n.getParent(),t=$(e)&&\"check\"===e.getListType(),o=n.getChecked();t&&!o||i.push(s.listitemUnchecked),t&&o||i.push(s.listitemChecked),t&&r.push(o?s.listitemChecked:s.listitemUnchecked)}if(void 0!==c){const e=E(c);n.getChildren().some((e=>$(e)))?r.push(...e):i.push(...e)}i.length>0&&g(e,...i),r.length>0&&f(e,...r)}function w(e,t,n,r){$(t.getFirstChild())?(e.removeAttribute(\"role\"),e.removeAttribute(\"tabIndex\"),e.removeAttribute(\"aria-checked\")):(e.setAttribute(\"role\",\"checkbox\"),e.setAttribute(\"tabIndex\",\"-1\"),n&&t.__checked===n.__checked||e.setAttribute(\"aria-checked\",t.getChecked()?\"true\":\"false\"))}function D(e){if(e.classList.contains(\"task-list-item\"))for(const t of e.children)if(\"INPUT\"===t.tagName)return I(t);const t=e.getAttribute(\"aria-checked\");return{node:R(\"true\"===t||\"false\"!==t&&void 0)}}function I(e){if(!(\"checkbox\"===e.getAttribute(\"type\")))return{node:null};return{node:R(e.hasAttribute(\"checked\"))}}function R(e){return l(new M(void 0,e))}function B(e){return e instanceof M}class K extends c{static getType(){return\"list\"}static clone(e){const t=e.__listType||z[e.__tag];return new K(t,e.__start,e.__key)}constructor(e,t,n){super(n);const r=z[e]||e;this.__listType=r,this.__tag=\"number\"===r?\"ol\":\"ul\",this.__start=t}getTag(){return this.__tag}setListType(e){const t=this.getWritable();t.__listType=e,t.__tag=\"number\"===e?\"ol\":\"ul\"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(e,t){const n=this.__tag,r=document.createElement(n);return 1!==this.__start&&r.setAttribute(\"start\",String(this.__start)),r.__lexicalListType=this.__listType,W(r,e.theme,this),r}updateDOM(e,t,n){return e.__tag!==this.__tag||(W(t,n.theme,this),!1)}static transform(){return e=>{$(e)||_(163),function(e){const t=e.getNextSibling();$(t)&&e.getListType()===t.getListType()&&A(e,t)}(e),function(e){const t=\"check\"!==e.getListType();let n=e.getStart();for(const r of e.getChildren())B(r)&&(r.getValue()!==n&&r.setValue(n),t&&null!=r.getLatest().__checked&&r.setChecked(void 0),$(r.getFirstChild())||n++)}(e)}}static importDOM(){return{ol:()=>({conversion:J,priority:0}),ul:()=>({conversion:J,priority:0})}}static importJSON(e){const t=U(e.listType,e.start);return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t}exportDOM(e){const{element:t}=super.exportDOM(e);return t&&d(t)&&(1!==this.__start&&t.setAttribute(\"start\",String(this.__start)),\"check\"===this.__listType&&t.setAttribute(\"__lexicalListType\",\"check\")),{element:t}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:\"list\",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...e){for(let t=0;t<e.length;t++){const n=e[t];if(B(n))super.append(n);else{const e=R();if($(n))e.append(n);else if(r(n)){const t=a(n.getTextContent());e.append(t)}else e.append(n);super.append(e)}}return this}extractWithChild(e){return B(e)}}function W(e,t,n){const r=[],i=[],s=t.list;if(void 0!==s){const e=s[`${n.__tag}Depth`]||[],t=m(n)-1,o=t%e.length,c=e[o],l=s[n.__tag];let a;const h=s.nested,u=s.checklist;if(void 0!==h&&h.list&&(a=h.list),void 0!==l&&r.push(l),void 0!==u&&\"check\"===n.__listType&&r.push(u),void 0!==c){r.push(...E(c));for(let t=0;t<e.length;t++)t!==o&&i.push(n.__tag+t)}if(void 0!==a){const e=E(a);t>1?r.push(...e):i.push(...e)}}i.length>0&&g(e,...i),r.length>0&&f(e,...r)}function V(e){const t=[];for(let n=0;n<e.length;n++){const r=e[n];if(B(r)){t.push(r);const e=r.getChildren();e.length>1&&e.forEach((e=>{$(e)&&t.push(k(e))}))}else t.push(k(r))}return t}function J(e){const t=e.nodeName.toLowerCase();let n=null;if(\"ol\"===t){n=U(\"number\",e.start)}else\"ul\"===t&&(n=function(e){if(\"check\"===e.getAttribute(\"__lexicallisttype\")||e.classList.contains(\"contains-task-list\"))return!0;for(const t of e.childNodes)if(d(t)&&t.hasAttribute(\"aria-checked\"))return!0;return!1}(e)?U(\"check\"):U(\"bullet\"));return{after:V,node:n}}const z={ol:\"number\",ul:\"bullet\"};function U(e,t=1){return l(new K(e,t))}function $(e){return e instanceof K}const j=h(\"INSERT_UNORDERED_LIST_COMMAND\"),q=h(\"INSERT_ORDERED_LIST_COMMAND\"),H=h(\"INSERT_CHECK_LIST_COMMAND\"),G=h(\"REMOVE_LIST_COMMAND\");export{R as $createListItemNode,U as $createListNode,m as $getListDepth,O as $handleListInsertParagraph,B as $isListItemNode,$ as $isListNode,H as INSERT_CHECK_LIST_COMMAND,q as INSERT_ORDERED_LIST_COMMAND,j as INSERT_UNORDERED_LIST_COMMAND,M as ListItemNode,K as ListNode,G as REMOVE_LIST_COMMAND,b as insertList,N as removeList};\n","\n/* **********************************************\n Begin prism-core.js\n********************************************** */\n\n/// <reference lib=\"WebWorker\"/>\n\nvar _self = (typeof window !== 'undefined')\n\t? window // if in browser\n\t: (\n\t\t(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)\n\t\t\t? self // if in worker\n\t\t\t: {} // if in node js\n\t);\n\n/**\n * Prism: Lightweight, robust, elegant syntax highlighting\n *\n * @license MIT <https://opensource.org/licenses/MIT>\n * @author Lea Verou <https://lea.verou.me>\n * @namespace\n * @public\n */\nvar Prism = (function (_self) {\n\n\t// Private helper vars\n\tvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i;\n\tvar uniqueId = 0;\n\n\t// The grammar object for plaintext\n\tvar plainTextGrammar = {};\n\n\n\tvar _ = {\n\t\t/**\n\t\t * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the\n\t\t * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load\n\t\t * additional languages or plugins yourself.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not automatically highlight all code elements on the page.\n\t\t *\n\t\t * You obviously have to change this value before the automatic highlighting started. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.manual = true;\n\t\t * // add a new <script> to load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tmanual: _self.Prism && _self.Prism.manual,\n\t\t/**\n\t\t * By default, if Prism is in a web worker, it assumes that it is in a worker it created itself, so it uses\n\t\t * `addEventListener` to communicate with its parent instance. However, if you're using Prism manually in your\n\t\t * own worker, you don't want it to do this.\n\t\t *\n\t\t * By setting this value to `true`, Prism will not add its own listeners to the worker.\n\t\t *\n\t\t * You obviously have to change this value before Prism executes. To do this, you can add an\n\t\t * empty Prism object into the global scope before loading the Prism script like this:\n\t\t *\n\t\t * ```js\n\t\t * window.Prism = window.Prism || {};\n\t\t * Prism.disableWorkerMessageHandler = true;\n\t\t * // Load Prism's script\n\t\t * ```\n\t\t *\n\t\t * @default false\n\t\t * @type {boolean}\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tdisableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,\n\n\t\t/**\n\t\t * A namespace for utility methods.\n\t\t *\n\t\t * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n\t\t * change or disappear at any time.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t */\n\t\tutil: {\n\t\t\tencode: function encode(tokens) {\n\t\t\t\tif (tokens instanceof Token) {\n\t\t\t\t\treturn new Token(tokens.type, encode(tokens.content), tokens.alias);\n\t\t\t\t} else if (Array.isArray(tokens)) {\n\t\t\t\t\treturn tokens.map(encode);\n\t\t\t\t} else {\n\t\t\t\t\treturn tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\\u00a0/g, ' ');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the name of the type of the given value.\n\t\t\t *\n\t\t\t * @param {any} o\n\t\t\t * @returns {string}\n\t\t\t * @example\n\t\t\t * type(null) === 'Null'\n\t\t\t * type(undefined) === 'Undefined'\n\t\t\t * type(123) === 'Number'\n\t\t\t * type('foo') === 'String'\n\t\t\t * type(true) === 'Boolean'\n\t\t\t * type([1, 2]) === 'Array'\n\t\t\t * type({}) === 'Object'\n\t\t\t * type(String) === 'Function'\n\t\t\t * type(/abc+/) === 'RegExp'\n\t\t\t */\n\t\t\ttype: function (o) {\n\t\t\t\treturn Object.prototype.toString.call(o).slice(8, -1);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns a unique number for the given object. Later calls will still return the same number.\n\t\t\t *\n\t\t\t * @param {Object} obj\n\t\t\t * @returns {number}\n\t\t\t */\n\t\t\tobjId: function (obj) {\n\t\t\t\tif (!obj['__id']) {\n\t\t\t\t\tObject.defineProperty(obj, '__id', { value: ++uniqueId });\n\t\t\t\t}\n\t\t\t\treturn obj['__id'];\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Creates a deep clone of the given object.\n\t\t\t *\n\t\t\t * The main intended use of this function is to clone language definitions.\n\t\t\t *\n\t\t\t * @param {T} o\n\t\t\t * @param {Record<number, any>} [visited]\n\t\t\t * @returns {T}\n\t\t\t * @template T\n\t\t\t */\n\t\t\tclone: function deepClone(o, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar clone; var id;\n\t\t\t\tswitch (_.util.type(o)) {\n\t\t\t\t\tcase 'Object':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = /** @type {Record<string, any>} */ ({});\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\tfor (var key in o) {\n\t\t\t\t\t\t\tif (o.hasOwnProperty(key)) {\n\t\t\t\t\t\t\t\tclone[key] = deepClone(o[key], visited);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tcase 'Array':\n\t\t\t\t\t\tid = _.util.objId(o);\n\t\t\t\t\t\tif (visited[id]) {\n\t\t\t\t\t\t\treturn visited[id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t\tvisited[id] = clone;\n\n\t\t\t\t\t\t(/** @type {Array} */(/** @type {any} */(o))).forEach(function (v, i) {\n\t\t\t\t\t\t\tclone[i] = deepClone(v, visited);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn /** @type {any} */ (clone);\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn o;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the Prism language of the given element set by a `language-xxxx` or `lang-xxxx` class.\n\t\t\t *\n\t\t\t * If no language is set for the element or the element is `null` or `undefined`, `none` will be returned.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @returns {string}\n\t\t\t */\n\t\t\tgetLanguage: function (element) {\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar m = lang.exec(element.className);\n\t\t\t\t\tif (m) {\n\t\t\t\t\t\treturn m[1].toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn 'none';\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Sets the Prism `language-xxxx` class of the given element.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} language\n\t\t\t * @returns {void}\n\t\t\t */\n\t\t\tsetLanguage: function (element, language) {\n\t\t\t\t// remove all `language-xxxx` classes\n\t\t\t\t// (this might leave behind a leading space)\n\t\t\t\telement.className = element.className.replace(RegExp(lang, 'gi'), '');\n\n\t\t\t\t// add the new `language-xxxx` class\n\t\t\t\t// (using `classList` will automatically clean up spaces for us)\n\t\t\t\telement.classList.add('language-' + language);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns the script element that is currently executing.\n\t\t\t *\n\t\t\t * This does __not__ work for line script element.\n\t\t\t *\n\t\t\t * @returns {HTMLScriptElement | null}\n\t\t\t */\n\t\t\tcurrentScript: function () {\n\t\t\t\tif (typeof document === 'undefined') {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif ('currentScript' in document && 1 < 2 /* hack to trip TS' flow analysis */) {\n\t\t\t\t\treturn /** @type {any} */ (document.currentScript);\n\t\t\t\t}\n\n\t\t\t\t// IE11 workaround\n\t\t\t\t// we'll get the src of the current script by parsing IE11's error stack trace\n\t\t\t\t// this will not work for inline scripts\n\n\t\t\t\ttry {\n\t\t\t\t\tthrow new Error();\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// Get file src url from stack. Specifically works with the format of stack traces in IE.\n\t\t\t\t\t// A stack will look like this:\n\t\t\t\t\t//\n\t\t\t\t\t// Error\n\t\t\t\t\t// at _.util.currentScript (http://localhost/components/prism-core.js:119:5)\n\t\t\t\t\t// at Global code (http://localhost/components/prism-core.js:606:1)\n\n\t\t\t\t\tvar src = (/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(err.stack) || [])[1];\n\t\t\t\t\tif (src) {\n\t\t\t\t\t\tvar scripts = document.getElementsByTagName('script');\n\t\t\t\t\t\tfor (var i in scripts) {\n\t\t\t\t\t\t\tif (scripts[i].src == src) {\n\t\t\t\t\t\t\t\treturn scripts[i];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Returns whether a given class is active for `element`.\n\t\t\t *\n\t\t\t * The class can be activated if `element` or one of its ancestors has the given class and it can be deactivated\n\t\t\t * if `element` or one of its ancestors has the negated version of the given class. The _negated version_ of the\n\t\t\t * given class is just the given class with a `no-` prefix.\n\t\t\t *\n\t\t\t * Whether the class is active is determined by the closest ancestor of `element` (where `element` itself is\n\t\t\t * closest ancestor) that has the given class or the negated version of it. If neither `element` nor any of its\n\t\t\t * ancestors have the given class or the negated version of it, then the default activation will be returned.\n\t\t\t *\n\t\t\t * In the paradoxical situation where the closest ancestor contains __both__ the given class and the negated\n\t\t\t * version of it, the class is considered active.\n\t\t\t *\n\t\t\t * @param {Element} element\n\t\t\t * @param {string} className\n\t\t\t * @param {boolean} [defaultActivation=false]\n\t\t\t * @returns {boolean}\n\t\t\t */\n\t\t\tisActive: function (element, className, defaultActivation) {\n\t\t\t\tvar no = 'no-' + className;\n\n\t\t\t\twhile (element) {\n\t\t\t\t\tvar classList = element.classList;\n\t\t\t\t\tif (classList.contains(className)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (classList.contains(no)) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telement = element.parentElement;\n\t\t\t\t}\n\t\t\t\treturn !!defaultActivation;\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n\t\t *\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\tlanguages: {\n\t\t\t/**\n\t\t\t * The grammar for plain, unformatted text.\n\t\t\t */\n\t\t\tplain: plainTextGrammar,\n\t\t\tplaintext: plainTextGrammar,\n\t\t\ttext: plainTextGrammar,\n\t\t\ttxt: plainTextGrammar,\n\n\t\t\t/**\n\t\t\t * Creates a deep copy of the language with the given id and appends the given tokens.\n\t\t\t *\n\t\t\t * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n\t\t\t * will be overwritten at its original position.\n\t\t\t *\n\t\t\t * ## Best practices\n\t\t\t *\n\t\t\t * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n\t\t\t * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n\t\t\t * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n\t\t\t *\n\t\t\t * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n\t\t\t * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n\t\t\t *\n\t\t\t * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n\t\t\t * @param {Grammar} redef The new tokens to append.\n\t\t\t * @returns {Grammar} The new language created.\n\t\t\t * @public\n\t\t\t * @example\n\t\t\t * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n\t\t\t * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n\t\t\t * // at its original position\n\t\t\t * 'comment': { ... },\n\t\t\t * // CSS doesn't have a 'color' token, so this token will be appended\n\t\t\t * 'color': /\\b(?:red|green|blue)\\b/\n\t\t\t * });\n\t\t\t */\n\t\t\textend: function (id, redef) {\n\t\t\t\tvar lang = _.util.clone(_.languages[id]);\n\n\t\t\t\tfor (var key in redef) {\n\t\t\t\t\tlang[key] = redef[key];\n\t\t\t\t}\n\n\t\t\t\treturn lang;\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Inserts tokens _before_ another token in a language definition or any other grammar.\n\t\t\t *\n\t\t\t * ## Usage\n\t\t\t *\n\t\t\t * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n\t\t\t * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n\t\t\t * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n\t\t\t * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n\t\t\t * this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.markup.style = {\n\t\t\t * // token\n\t\t\t * };\n\t\t\t * ```\n\t\t\t *\n\t\t\t * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n\t\t\t * before existing tokens. For the CSS example above, you would use it like this:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'cdata', {\n\t\t\t * 'style': {\n\t\t\t * // token\n\t\t\t * }\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Special cases\n\t\t\t *\n\t\t\t * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n\t\t\t * will be ignored.\n\t\t\t *\n\t\t\t * This behavior can be used to insert tokens after `before`:\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * Prism.languages.insertBefore('markup', 'comment', {\n\t\t\t * 'comment': Prism.languages.markup.comment,\n\t\t\t * // tokens after 'comment'\n\t\t\t * });\n\t\t\t * ```\n\t\t\t *\n\t\t\t * ## Limitations\n\t\t\t *\n\t\t\t * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n\t\t\t * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n\t\t\t * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n\t\t\t * deleting properties which is necessary to insert at arbitrary positions.\n\t\t\t *\n\t\t\t * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n\t\t\t * Instead, it will create a new object and replace all references to the target object with the new one. This\n\t\t\t * can be done without temporarily deleting properties, so the iteration order is well-defined.\n\t\t\t *\n\t\t\t * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n\t\t\t * you hold the target object in a variable, then the value of the variable will not change.\n\t\t\t *\n\t\t\t * ```js\n\t\t\t * var oldMarkup = Prism.languages.markup;\n\t\t\t * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n\t\t\t *\n\t\t\t * assert(oldMarkup !== Prism.languages.markup);\n\t\t\t * assert(newMarkup === Prism.languages.markup);\n\t\t\t * ```\n\t\t\t *\n\t\t\t * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n\t\t\t * object to be modified.\n\t\t\t * @param {string} before The key to insert before.\n\t\t\t * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n\t\t\t * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n\t\t\t * object to be modified.\n\t\t\t *\n\t\t\t * Defaults to `Prism.languages`.\n\t\t\t * @returns {Grammar} The new grammar object.\n\t\t\t * @public\n\t\t\t */\n\t\t\tinsertBefore: function (inside, before, insert, root) {\n\t\t\t\troot = root || /** @type {any} */ (_.languages);\n\t\t\t\tvar grammar = root[inside];\n\t\t\t\t/** @type {Grammar} */\n\t\t\t\tvar ret = {};\n\n\t\t\t\tfor (var token in grammar) {\n\t\t\t\t\tif (grammar.hasOwnProperty(token)) {\n\n\t\t\t\t\t\tif (token == before) {\n\t\t\t\t\t\t\tfor (var newToken in insert) {\n\t\t\t\t\t\t\t\tif (insert.hasOwnProperty(newToken)) {\n\t\t\t\t\t\t\t\t\tret[newToken] = insert[newToken];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Do not insert token which also occur in insert. See #1525\n\t\t\t\t\t\tif (!insert.hasOwnProperty(token)) {\n\t\t\t\t\t\t\tret[token] = grammar[token];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar old = root[inside];\n\t\t\t\troot[inside] = ret;\n\n\t\t\t\t// Update references in other language definitions\n\t\t\t\t_.languages.DFS(_.languages, function (key, value) {\n\t\t\t\t\tif (value === old && key != inside) {\n\t\t\t\t\t\tthis[key] = ret;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn ret;\n\t\t\t},\n\n\t\t\t// Traverse a language definition with Depth First Search\n\t\t\tDFS: function DFS(o, callback, type, visited) {\n\t\t\t\tvisited = visited || {};\n\n\t\t\t\tvar objId = _.util.objId;\n\n\t\t\t\tfor (var i in o) {\n\t\t\t\t\tif (o.hasOwnProperty(i)) {\n\t\t\t\t\t\tcallback.call(o, i, o[i], type || i);\n\n\t\t\t\t\t\tvar property = o[i];\n\t\t\t\t\t\tvar propertyType = _.util.type(property);\n\n\t\t\t\t\t\tif (propertyType === 'Object' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, null, visited);\n\t\t\t\t\t\t} else if (propertyType === 'Array' && !visited[objId(property)]) {\n\t\t\t\t\t\t\tvisited[objId(property)] = true;\n\t\t\t\t\t\t\tDFS(property, callback, i, visited);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tplugins: {},\n\n\t\t/**\n\t\t * This is the most high-level function in Prism’s API.\n\t\t * It fetches all the elements that have a `.language-xxxx` class and then calls {@link Prism.highlightElement} on\n\t\t * each one of them.\n\t\t *\n\t\t * This is equivalent to `Prism.highlightAllUnder(document, async, callback)`.\n\t\t *\n\t\t * @param {boolean} [async=false] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @param {HighlightCallback} [callback] Same as in {@link Prism.highlightAllUnder}.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAll: function (async, callback) {\n\t\t\t_.highlightAllUnder(document, async, callback);\n\t\t},\n\n\t\t/**\n\t\t * Fetches all the descendants of `container` that have a `.language-xxxx` class and then calls\n\t\t * {@link Prism.highlightElement} on each one of them.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-highlightall`\n\t\t * 2. `before-all-elements-highlight`\n\t\t * 3. All hooks of {@link Prism.highlightElement} for each element.\n\t\t *\n\t\t * @param {ParentNode} container The root element, whose descendants that have a `.language-xxxx` class will be highlighted.\n\t\t * @param {boolean} [async=false] Whether each element is to be highlighted asynchronously using Web Workers.\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked on each element after its highlighting is done.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightAllUnder: function (container, async, callback) {\n\t\t\tvar env = {\n\t\t\t\tcallback: callback,\n\t\t\t\tcontainer: container,\n\t\t\t\tselector: 'code[class*=\"language-\"], [class*=\"language-\"] code, code[class*=\"lang-\"], [class*=\"lang-\"] code'\n\t\t\t};\n\n\t\t\t_.hooks.run('before-highlightall', env);\n\n\t\t\tenv.elements = Array.prototype.slice.apply(env.container.querySelectorAll(env.selector));\n\n\t\t\t_.hooks.run('before-all-elements-highlight', env);\n\n\t\t\tfor (var i = 0, element; (element = env.elements[i++]);) {\n\t\t\t\t_.highlightElement(element, async === true, env.callback);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Highlights the code inside a single element.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-sanity-check`\n\t\t * 2. `before-highlight`\n\t\t * 3. All hooks of {@link Prism.highlight}. These hooks will be run by an asynchronous worker if `async` is `true`.\n\t\t * 4. `before-insert`\n\t\t * 5. `after-highlight`\n\t\t * 6. `complete`\n\t\t *\n\t\t * Some the above hooks will be skipped if the element doesn't contain any text or there is no grammar loaded for\n\t\t * the element's language.\n\t\t *\n\t\t * @param {Element} element The element containing the code.\n\t\t * It must have a class of `language-xxxx` to be processed, where `xxxx` is a valid language identifier.\n\t\t * @param {boolean} [async=false] Whether the element is to be highlighted asynchronously using Web Workers\n\t\t * to improve performance and avoid blocking the UI when highlighting very large chunks of code. This option is\n\t\t * [disabled by default](https://prismjs.com/faq.html#why-is-asynchronous-highlighting-disabled-by-default).\n\t\t *\n\t\t * Note: All language definitions required to highlight the code must be included in the main `prism.js` file for\n\t\t * asynchronous highlighting to work. You can build your own bundle on the\n\t\t * [Download page](https://prismjs.com/download.html).\n\t\t * @param {HighlightCallback} [callback] An optional callback to be invoked after the highlighting is done.\n\t\t * Mostly useful when `async` is `true`, since in that case, the highlighting is done asynchronously.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thighlightElement: function (element, async, callback) {\n\t\t\t// Find language\n\t\t\tvar language = _.util.getLanguage(element);\n\t\t\tvar grammar = _.languages[language];\n\n\t\t\t// Set language on the element, if not present\n\t\t\t_.util.setLanguage(element, language);\n\n\t\t\t// Set language on the parent, for styling\n\t\t\tvar parent = element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre') {\n\t\t\t\t_.util.setLanguage(parent, language);\n\t\t\t}\n\n\t\t\tvar code = element.textContent;\n\n\t\t\tvar env = {\n\t\t\t\telement: element,\n\t\t\t\tlanguage: language,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tcode: code\n\t\t\t};\n\n\t\t\tfunction insertHighlightedCode(highlightedCode) {\n\t\t\t\tenv.highlightedCode = highlightedCode;\n\n\t\t\t\t_.hooks.run('before-insert', env);\n\n\t\t\t\tenv.element.innerHTML = env.highlightedCode;\n\n\t\t\t\t_.hooks.run('after-highlight', env);\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t}\n\n\t\t\t_.hooks.run('before-sanity-check', env);\n\n\t\t\t// plugins may change/add the parent/element\n\t\t\tparent = env.element.parentElement;\n\t\t\tif (parent && parent.nodeName.toLowerCase() === 'pre' && !parent.hasAttribute('tabindex')) {\n\t\t\t\tparent.setAttribute('tabindex', '0');\n\t\t\t}\n\n\t\t\tif (!env.code) {\n\t\t\t\t_.hooks.run('complete', env);\n\t\t\t\tcallback && callback.call(env.element);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t_.hooks.run('before-highlight', env);\n\n\t\t\tif (!env.grammar) {\n\t\t\t\tinsertHighlightedCode(_.util.encode(env.code));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (async && _self.Worker) {\n\t\t\t\tvar worker = new Worker(_.filename);\n\n\t\t\t\tworker.onmessage = function (evt) {\n\t\t\t\t\tinsertHighlightedCode(evt.data);\n\t\t\t\t};\n\n\t\t\t\tworker.postMessage(JSON.stringify({\n\t\t\t\t\tlanguage: env.language,\n\t\t\t\t\tcode: env.code,\n\t\t\t\t\timmediateClose: true\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tinsertHighlightedCode(_.highlight(env.code, env.grammar, env.language));\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns a string with the HTML produced.\n\t\t *\n\t\t * The following hooks will be run:\n\t\t * 1. `before-tokenize`\n\t\t * 2. `after-tokenize`\n\t\t * 3. `wrap`: On each {@link Token}.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @param {string} language The name of the language definition passed to `grammar`.\n\t\t * @returns {string} The highlighted HTML.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n\t\t */\n\t\thighlight: function (text, grammar, language) {\n\t\t\tvar env = {\n\t\t\t\tcode: text,\n\t\t\t\tgrammar: grammar,\n\t\t\t\tlanguage: language\n\t\t\t};\n\t\t\t_.hooks.run('before-tokenize', env);\n\t\t\tif (!env.grammar) {\n\t\t\t\tthrow new Error('The language \"' + env.language + '\" has no grammar.');\n\t\t\t}\n\t\t\tenv.tokens = _.tokenize(env.code, env.grammar);\n\t\t\t_.hooks.run('after-tokenize', env);\n\t\t\treturn Token.stringify(_.util.encode(env.tokens), env.language);\n\t\t},\n\n\t\t/**\n\t\t * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n\t\t * and the language definitions to use, and returns an array with the tokenized code.\n\t\t *\n\t\t * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n\t\t *\n\t\t * This method could be useful in other contexts as well, as a very crude parser.\n\t\t *\n\t\t * @param {string} text A string with the code to be highlighted.\n\t\t * @param {Grammar} grammar An object containing the tokens to use.\n\t\t *\n\t\t * Usually a language definition like `Prism.languages.markup`.\n\t\t * @returns {TokenStream} An array of strings and tokens, a token stream.\n\t\t * @memberof Prism\n\t\t * @public\n\t\t * @example\n\t\t * let code = `var foo = 0;`;\n\t\t * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n\t\t * tokens.forEach(token => {\n\t\t * if (token instanceof Prism.Token && token.type === 'number') {\n\t\t * console.log(`Found numeric literal: ${token.content}`);\n\t\t * }\n\t\t * });\n\t\t */\n\t\ttokenize: function (text, grammar) {\n\t\t\tvar rest = grammar.rest;\n\t\t\tif (rest) {\n\t\t\t\tfor (var token in rest) {\n\t\t\t\t\tgrammar[token] = rest[token];\n\t\t\t\t}\n\n\t\t\t\tdelete grammar.rest;\n\t\t\t}\n\n\t\t\tvar tokenList = new LinkedList();\n\t\t\taddAfter(tokenList, tokenList.head, text);\n\n\t\t\tmatchGrammar(text, tokenList, grammar, tokenList.head, 0);\n\n\t\t\treturn toArray(tokenList);\n\t\t},\n\n\t\t/**\n\t\t * @namespace\n\t\t * @memberof Prism\n\t\t * @public\n\t\t */\n\t\thooks: {\n\t\t\tall: {},\n\n\t\t\t/**\n\t\t\t * Adds the given callback to the list of callbacks for the given hook.\n\t\t\t *\n\t\t\t * The callback will be invoked when the hook it is registered for is run.\n\t\t\t * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n\t\t\t *\n\t\t\t * One callback function can be registered to multiple hooks and the same hook multiple times.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {HookCallback} callback The callback function which is given environment variables.\n\t\t\t * @public\n\t\t\t */\n\t\t\tadd: function (name, callback) {\n\t\t\t\tvar hooks = _.hooks.all;\n\n\t\t\t\thooks[name] = hooks[name] || [];\n\n\t\t\t\thooks[name].push(callback);\n\t\t\t},\n\n\t\t\t/**\n\t\t\t * Runs a hook invoking all registered callbacks with the given environment variables.\n\t\t\t *\n\t\t\t * Callbacks will be invoked synchronously and in the order in which they were registered.\n\t\t\t *\n\t\t\t * @param {string} name The name of the hook.\n\t\t\t * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n\t\t\t * @public\n\t\t\t */\n\t\t\trun: function (name, env) {\n\t\t\t\tvar callbacks = _.hooks.all[name];\n\n\t\t\t\tif (!callbacks || !callbacks.length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfor (var i = 0, callback; (callback = callbacks[i++]);) {\n\t\t\t\t\tcallback(env);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tToken: Token\n\t};\n\t_self.Prism = _;\n\n\n\t// Typescript note:\n\t// The following can be used to import the Token type in JSDoc:\n\t//\n\t// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n\t/**\n\t * Creates a new token.\n\t *\n\t * @param {string} type See {@link Token#type type}\n\t * @param {string | TokenStream} content See {@link Token#content content}\n\t * @param {string|string[]} [alias] The alias(es) of the token.\n\t * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n\t * @class\n\t * @global\n\t * @public\n\t */\n\tfunction Token(type, content, alias, matchedStr) {\n\t\t/**\n\t\t * The type of the token.\n\t\t *\n\t\t * This is usually the key of a pattern in a {@link Grammar}.\n\t\t *\n\t\t * @type {string}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.type = type;\n\t\t/**\n\t\t * The strings or tokens contained by this token.\n\t\t *\n\t\t * This will be a token stream if the pattern matched also defined an `inside` grammar.\n\t\t *\n\t\t * @type {string | TokenStream}\n\t\t * @public\n\t\t */\n\t\tthis.content = content;\n\t\t/**\n\t\t * The alias(es) of the token.\n\t\t *\n\t\t * @type {string|string[]}\n\t\t * @see GrammarToken\n\t\t * @public\n\t\t */\n\t\tthis.alias = alias;\n\t\t// Copy of the full string this token was created from\n\t\tthis.length = (matchedStr || '').length | 0;\n\t}\n\n\t/**\n\t * A token stream is an array of strings and {@link Token Token} objects.\n\t *\n\t * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n\t * them.\n\t *\n\t * 1. No adjacent strings.\n\t * 2. No empty strings.\n\t *\n\t * The only exception here is the token stream that only contains the empty string and nothing else.\n\t *\n\t * @typedef {Array<string | Token>} TokenStream\n\t * @global\n\t * @public\n\t */\n\n\t/**\n\t * Converts the given token or token stream to an HTML representation.\n\t *\n\t * The following hooks will be run:\n\t * 1. `wrap`: On each {@link Token}.\n\t *\n\t * @param {string | Token | TokenStream} o The token or token stream to be converted.\n\t * @param {string} language The name of current language.\n\t * @returns {string} The HTML representation of the token or token stream.\n\t * @memberof Token\n\t * @static\n\t */\n\tToken.stringify = function stringify(o, language) {\n\t\tif (typeof o == 'string') {\n\t\t\treturn o;\n\t\t}\n\t\tif (Array.isArray(o)) {\n\t\t\tvar s = '';\n\t\t\to.forEach(function (e) {\n\t\t\t\ts += stringify(e, language);\n\t\t\t});\n\t\t\treturn s;\n\t\t}\n\n\t\tvar env = {\n\t\t\ttype: o.type,\n\t\t\tcontent: stringify(o.content, language),\n\t\t\ttag: 'span',\n\t\t\tclasses: ['token', o.type],\n\t\t\tattributes: {},\n\t\t\tlanguage: language\n\t\t};\n\n\t\tvar aliases = o.alias;\n\t\tif (aliases) {\n\t\t\tif (Array.isArray(aliases)) {\n\t\t\t\tArray.prototype.push.apply(env.classes, aliases);\n\t\t\t} else {\n\t\t\t\tenv.classes.push(aliases);\n\t\t\t}\n\t\t}\n\n\t\t_.hooks.run('wrap', env);\n\n\t\tvar attributes = '';\n\t\tfor (var name in env.attributes) {\n\t\t\tattributes += ' ' + name + '=\"' + (env.attributes[name] || '').replace(/\"/g, '"') + '\"';\n\t\t}\n\n\t\treturn '<' + env.tag + ' class=\"' + env.classes.join(' ') + '\"' + attributes + '>' + env.content + '</' + env.tag + '>';\n\t};\n\n\t/**\n\t * @param {RegExp} pattern\n\t * @param {number} pos\n\t * @param {string} text\n\t * @param {boolean} lookbehind\n\t * @returns {RegExpExecArray | null}\n\t */\n\tfunction matchPattern(pattern, pos, text, lookbehind) {\n\t\tpattern.lastIndex = pos;\n\t\tvar match = pattern.exec(text);\n\t\tif (match && lookbehind && match[1]) {\n\t\t\t// change the match to remove the text matched by the Prism lookbehind group\n\t\t\tvar lookbehindLength = match[1].length;\n\t\t\tmatch.index += lookbehindLength;\n\t\t\tmatch[0] = match[0].slice(lookbehindLength);\n\t\t}\n\t\treturn match;\n\t}\n\n\t/**\n\t * @param {string} text\n\t * @param {LinkedList<string | Token>} tokenList\n\t * @param {any} grammar\n\t * @param {LinkedListNode<string | Token>} startNode\n\t * @param {number} startPos\n\t * @param {RematchOptions} [rematch]\n\t * @returns {void}\n\t * @private\n\t *\n\t * @typedef RematchOptions\n\t * @property {string} cause\n\t * @property {number} reach\n\t */\n\tfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n\t\tfor (var token in grammar) {\n\t\t\tif (!grammar.hasOwnProperty(token) || !grammar[token]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar patterns = grammar[token];\n\t\t\tpatterns = Array.isArray(patterns) ? patterns : [patterns];\n\n\t\t\tfor (var j = 0; j < patterns.length; ++j) {\n\t\t\t\tif (rematch && rematch.cause == token + ',' + j) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar patternObj = patterns[j];\n\t\t\t\tvar inside = patternObj.inside;\n\t\t\t\tvar lookbehind = !!patternObj.lookbehind;\n\t\t\t\tvar greedy = !!patternObj.greedy;\n\t\t\t\tvar alias = patternObj.alias;\n\n\t\t\t\tif (greedy && !patternObj.pattern.global) {\n\t\t\t\t\t// Without the global flag, lastIndex won't work\n\t\t\t\t\tvar flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0];\n\t\t\t\t\tpatternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g');\n\t\t\t\t}\n\n\t\t\t\t/** @type {RegExp} */\n\t\t\t\tvar pattern = patternObj.pattern || patternObj;\n\n\t\t\t\tfor ( // iterate the token list and keep track of the current token/string position\n\t\t\t\t\tvar currentNode = startNode.next, pos = startPos;\n\t\t\t\t\tcurrentNode !== tokenList.tail;\n\t\t\t\t\tpos += currentNode.value.length, currentNode = currentNode.next\n\t\t\t\t) {\n\n\t\t\t\t\tif (rematch && pos >= rematch.reach) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar str = currentNode.value;\n\n\t\t\t\t\tif (tokenList.length > text.length) {\n\t\t\t\t\t\t// Something went terribly wrong, ABORT, ABORT!\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (str instanceof Token) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeCount = 1; // this is the to parameter of removeBetween\n\t\t\t\t\tvar match;\n\n\t\t\t\t\tif (greedy) {\n\t\t\t\t\t\tmatch = matchPattern(pattern, pos, text, lookbehind);\n\t\t\t\t\t\tif (!match || match.index >= text.length) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar from = match.index;\n\t\t\t\t\t\tvar to = match.index + match[0].length;\n\t\t\t\t\t\tvar p = pos;\n\n\t\t\t\t\t\t// find the node that contains the match\n\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\twhile (from >= p) {\n\t\t\t\t\t\t\tcurrentNode = currentNode.next;\n\t\t\t\t\t\t\tp += currentNode.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// adjust pos (and p)\n\t\t\t\t\t\tp -= currentNode.value.length;\n\t\t\t\t\t\tpos = p;\n\n\t\t\t\t\t\t// the current node is a Token, then the match starts inside another Token, which is invalid\n\t\t\t\t\t\tif (currentNode.value instanceof Token) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// find the last node which is affected by this match\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tvar k = currentNode;\n\t\t\t\t\t\t\tk !== tokenList.tail && (p < to || typeof k.value === 'string');\n\t\t\t\t\t\t\tk = k.next\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveCount++;\n\t\t\t\t\t\t\tp += k.value.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tremoveCount--;\n\n\t\t\t\t\t\t// replace with the new match\n\t\t\t\t\t\tstr = text.slice(pos, p);\n\t\t\t\t\t\tmatch.index -= pos;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmatch = matchPattern(pattern, 0, str, lookbehind);\n\t\t\t\t\t\tif (!match) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// eslint-disable-next-line no-redeclare\n\t\t\t\t\tvar from = match.index;\n\t\t\t\t\tvar matchStr = match[0];\n\t\t\t\t\tvar before = str.slice(0, from);\n\t\t\t\t\tvar after = str.slice(from + matchStr.length);\n\n\t\t\t\t\tvar reach = pos + str.length;\n\t\t\t\t\tif (rematch && reach > rematch.reach) {\n\t\t\t\t\t\trematch.reach = reach;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar removeFrom = currentNode.prev;\n\n\t\t\t\t\tif (before) {\n\t\t\t\t\t\tremoveFrom = addAfter(tokenList, removeFrom, before);\n\t\t\t\t\t\tpos += before.length;\n\t\t\t\t\t}\n\n\t\t\t\t\tremoveRange(tokenList, removeFrom, removeCount);\n\n\t\t\t\t\tvar wrapped = new Token(token, inside ? _.tokenize(matchStr, inside) : matchStr, alias, matchStr);\n\t\t\t\t\tcurrentNode = addAfter(tokenList, removeFrom, wrapped);\n\n\t\t\t\t\tif (after) {\n\t\t\t\t\t\taddAfter(tokenList, currentNode, after);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (removeCount > 1) {\n\t\t\t\t\t\t// at least one Token object was removed, so we have to do some rematching\n\t\t\t\t\t\t// this can only happen if the current pattern is greedy\n\n\t\t\t\t\t\t/** @type {RematchOptions} */\n\t\t\t\t\t\tvar nestedRematch = {\n\t\t\t\t\t\t\tcause: token + ',' + j,\n\t\t\t\t\t\t\treach: reach\n\t\t\t\t\t\t};\n\t\t\t\t\t\tmatchGrammar(text, tokenList, grammar, currentNode.prev, pos, nestedRematch);\n\n\t\t\t\t\t\t// the reach might have been extended because of the rematching\n\t\t\t\t\t\tif (rematch && nestedRematch.reach > rematch.reach) {\n\t\t\t\t\t\t\trematch.reach = nestedRematch.reach;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @typedef LinkedListNode\n\t * @property {T} value\n\t * @property {LinkedListNode<T> | null} prev The previous node.\n\t * @property {LinkedListNode<T> | null} next The next node.\n\t * @template T\n\t * @private\n\t */\n\n\t/**\n\t * @template T\n\t * @private\n\t */\n\tfunction LinkedList() {\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar head = { value: null, prev: null, next: null };\n\t\t/** @type {LinkedListNode<T>} */\n\t\tvar tail = { value: null, prev: head, next: null };\n\t\thead.next = tail;\n\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.head = head;\n\t\t/** @type {LinkedListNode<T>} */\n\t\tthis.tail = tail;\n\t\tthis.length = 0;\n\t}\n\n\t/**\n\t * Adds a new node with the given value to the list.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {T} value\n\t * @returns {LinkedListNode<T>} The added node.\n\t * @template T\n\t */\n\tfunction addAfter(list, node, value) {\n\t\t// assumes that node != list.tail && values.length >= 0\n\t\tvar next = node.next;\n\n\t\tvar newNode = { value: value, prev: node, next: next };\n\t\tnode.next = newNode;\n\t\tnext.prev = newNode;\n\t\tlist.length++;\n\n\t\treturn newNode;\n\t}\n\t/**\n\t * Removes `count` nodes after the given node. The given node will not be removed.\n\t *\n\t * @param {LinkedList<T>} list\n\t * @param {LinkedListNode<T>} node\n\t * @param {number} count\n\t * @template T\n\t */\n\tfunction removeRange(list, node, count) {\n\t\tvar next = node.next;\n\t\tfor (var i = 0; i < count && next !== list.tail; i++) {\n\t\t\tnext = next.next;\n\t\t}\n\t\tnode.next = next;\n\t\tnext.prev = node;\n\t\tlist.length -= i;\n\t}\n\t/**\n\t * @param {LinkedList<T>} list\n\t * @returns {T[]}\n\t * @template T\n\t */\n\tfunction toArray(list) {\n\t\tvar array = [];\n\t\tvar node = list.head.next;\n\t\twhile (node !== list.tail) {\n\t\t\tarray.push(node.value);\n\t\t\tnode = node.next;\n\t\t}\n\t\treturn array;\n\t}\n\n\n\tif (!_self.document) {\n\t\tif (!_self.addEventListener) {\n\t\t\t// in Node.js\n\t\t\treturn _;\n\t\t}\n\n\t\tif (!_.disableWorkerMessageHandler) {\n\t\t\t// In worker\n\t\t\t_self.addEventListener('message', function (evt) {\n\t\t\t\tvar message = JSON.parse(evt.data);\n\t\t\t\tvar lang = message.language;\n\t\t\t\tvar code = message.code;\n\t\t\t\tvar immediateClose = message.immediateClose;\n\n\t\t\t\t_self.postMessage(_.highlight(code, _.languages[lang], lang));\n\t\t\t\tif (immediateClose) {\n\t\t\t\t\t_self.close();\n\t\t\t\t}\n\t\t\t}, false);\n\t\t}\n\n\t\treturn _;\n\t}\n\n\t// Get current script and highlight\n\tvar script = _.util.currentScript();\n\n\tif (script) {\n\t\t_.filename = script.src;\n\n\t\tif (script.hasAttribute('data-manual')) {\n\t\t\t_.manual = true;\n\t\t}\n\t}\n\n\tfunction highlightAutomaticallyCallback() {\n\t\tif (!_.manual) {\n\t\t\t_.highlightAll();\n\t\t}\n\t}\n\n\tif (!_.manual) {\n\t\t// If the document state is \"loading\", then we'll use DOMContentLoaded.\n\t\t// If the document state is \"interactive\" and the prism.js script is deferred, then we'll also use the\n\t\t// DOMContentLoaded event because there might be some plugins or languages which have also been deferred and they\n\t\t// might take longer one animation frame to execute which can create a race condition where only some plugins have\n\t\t// been loaded when Prism.highlightAll() is executed, depending on how fast resources are loaded.\n\t\t// See https://github.com/PrismJS/prism/issues/2102\n\t\tvar readyState = document.readyState;\n\t\tif (readyState === 'loading' || readyState === 'interactive' && script && script.defer) {\n\t\t\tdocument.addEventListener('DOMContentLoaded', highlightAutomaticallyCallback);\n\t\t} else {\n\t\t\tif (window.requestAnimationFrame) {\n\t\t\t\twindow.requestAnimationFrame(highlightAutomaticallyCallback);\n\t\t\t} else {\n\t\t\t\twindow.setTimeout(highlightAutomaticallyCallback, 16);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn _;\n\n}(_self));\n\nif (typeof module !== 'undefined' && module.exports) {\n\tmodule.exports = Prism;\n}\n\n// hack for components to work correctly in node.js\nif (typeof global !== 'undefined') {\n\tglobal.Prism = Prism;\n}\n\n// some additional documentation/types\n\n/**\n * The expansion of a simple `RegExp` literal to support additional properties.\n *\n * @typedef GrammarToken\n * @property {RegExp} pattern The regular expression of the token.\n * @property {boolean} [lookbehind=false] If `true`, then the first capturing group of `pattern` will (effectively)\n * behave as a lookbehind group meaning that the captured text will not be part of the matched text of the new token.\n * @property {boolean} [greedy=false] Whether the token is greedy.\n * @property {string|string[]} [alias] An optional alias or list of aliases.\n * @property {Grammar} [inside] The nested grammar of this token.\n *\n * The `inside` grammar will be used to tokenize the text value of each token of this kind.\n *\n * This can be used to make nested and even recursive language definitions.\n *\n * Note: This can cause infinite recursion. Be careful when you embed different languages or even the same language into\n * each another.\n * @global\n * @public\n */\n\n/**\n * @typedef Grammar\n * @type {Object<string, RegExp | GrammarToken | Array<RegExp | GrammarToken>>}\n * @property {Grammar} [rest] An optional grammar object that will be appended to this grammar.\n * @global\n * @public\n */\n\n/**\n * A function which will invoked after an element was successfully highlighted.\n *\n * @callback HighlightCallback\n * @param {Element} element The element successfully highlighted.\n * @returns {void}\n * @global\n * @public\n */\n\n/**\n * @callback HookCallback\n * @param {Object<string, any>} env The environment variables of the hook.\n * @returns {void}\n * @global\n * @public\n */\n\n\n/* **********************************************\n Begin prism-markup.js\n********************************************** */\n\nPrism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n\n\n/* **********************************************\n Begin prism-css.js\n********************************************** */\n\n(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n\n\n/* **********************************************\n Begin prism-clike.js\n********************************************** */\n\nPrism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\n\n/* **********************************************\n Begin prism-javascript.js\n********************************************** */\n\nPrism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n\n\n/* **********************************************\n Begin prism-file-highlight.js\n********************************************** */\n\n(function () {\n\n\tif (typeof Prism === 'undefined' || typeof document === 'undefined') {\n\t\treturn;\n\t}\n\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\tif (!Element.prototype.matches) {\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\t}\n\n\tvar LOADING_MESSAGE = 'Loading…';\n\tvar FAILURE_MESSAGE = function (status, message) {\n\t\treturn '✖ Error ' + status + ' while fetching file: ' + message;\n\t};\n\tvar FAILURE_EMPTY_MESSAGE = '✖ Error: File does not exist or is empty';\n\n\tvar EXTENSIONS = {\n\t\t'js': 'javascript',\n\t\t'py': 'python',\n\t\t'rb': 'ruby',\n\t\t'ps1': 'powershell',\n\t\t'psm1': 'powershell',\n\t\t'sh': 'bash',\n\t\t'bat': 'batch',\n\t\t'h': 'c',\n\t\t'tex': 'latex'\n\t};\n\n\tvar STATUS_ATTR = 'data-src-status';\n\tvar STATUS_LOADING = 'loading';\n\tvar STATUS_LOADED = 'loaded';\n\tvar STATUS_FAILED = 'failed';\n\n\tvar SELECTOR = 'pre[data-src]:not([' + STATUS_ATTR + '=\"' + STATUS_LOADED + '\"])'\n\t\t+ ':not([' + STATUS_ATTR + '=\"' + STATUS_LOADING + '\"])';\n\n\t/**\n\t * Loads the given file.\n\t *\n\t * @param {string} src The URL or path of the source file to load.\n\t * @param {(result: string) => void} success\n\t * @param {(reason: string) => void} error\n\t */\n\tfunction loadFile(src, success, error) {\n\t\tvar xhr = new XMLHttpRequest();\n\t\txhr.open('GET', src, true);\n\t\txhr.onreadystatechange = function () {\n\t\t\tif (xhr.readyState == 4) {\n\t\t\t\tif (xhr.status < 400 && xhr.responseText) {\n\t\t\t\t\tsuccess(xhr.responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (xhr.status >= 400) {\n\t\t\t\t\t\terror(FAILURE_MESSAGE(xhr.status, xhr.statusText));\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror(FAILURE_EMPTY_MESSAGE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\txhr.send(null);\n\t}\n\n\t/**\n\t * Parses the given range.\n\t *\n\t * This returns a range with inclusive ends.\n\t *\n\t * @param {string | null | undefined} range\n\t * @returns {[number, number | undefined] | undefined}\n\t */\n\tfunction parseRange(range) {\n\t\tvar m = /^\\s*(\\d+)\\s*(?:(,)\\s*(?:(\\d+)\\s*)?)?$/.exec(range || '');\n\t\tif (m) {\n\t\t\tvar start = Number(m[1]);\n\t\t\tvar comma = m[2];\n\t\t\tvar end = m[3];\n\n\t\t\tif (!comma) {\n\t\t\t\treturn [start, start];\n\t\t\t}\n\t\t\tif (!end) {\n\t\t\t\treturn [start, undefined];\n\t\t\t}\n\t\t\treturn [start, Number(end)];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tPrism.hooks.add('before-highlightall', function (env) {\n\t\tenv.selector += ', ' + SELECTOR;\n\t});\n\n\tPrism.hooks.add('before-sanity-check', function (env) {\n\t\tvar pre = /** @type {HTMLPreElement} */ (env.element);\n\t\tif (pre.matches(SELECTOR)) {\n\t\t\tenv.code = ''; // fast-path the whole thing and go to complete\n\n\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADING); // mark as loading\n\n\t\t\t// add code element with loading message\n\t\t\tvar code = pre.appendChild(document.createElement('CODE'));\n\t\t\tcode.textContent = LOADING_MESSAGE;\n\n\t\t\tvar src = pre.getAttribute('data-src');\n\n\t\t\tvar language = env.language;\n\t\t\tif (language === 'none') {\n\t\t\t\t// the language might be 'none' because there is no language set;\n\t\t\t\t// in this case, we want to use the extension as the language\n\t\t\t\tvar extension = (/\\.(\\w+)$/.exec(src) || [, 'none'])[1];\n\t\t\t\tlanguage = EXTENSIONS[extension] || extension;\n\t\t\t}\n\n\t\t\t// set language classes\n\t\t\tPrism.util.setLanguage(code, language);\n\t\t\tPrism.util.setLanguage(pre, language);\n\n\t\t\t// preload the language\n\t\t\tvar autoloader = Prism.plugins.autoloader;\n\t\t\tif (autoloader) {\n\t\t\t\tautoloader.loadLanguages(language);\n\t\t\t}\n\n\t\t\t// load file\n\t\t\tloadFile(\n\t\t\t\tsrc,\n\t\t\t\tfunction (text) {\n\t\t\t\t\t// mark as loaded\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_LOADED);\n\n\t\t\t\t\t// handle data-range\n\t\t\t\t\tvar range = parseRange(pre.getAttribute('data-range'));\n\t\t\t\t\tif (range) {\n\t\t\t\t\t\tvar lines = text.split(/\\r\\n?|\\n/g);\n\n\t\t\t\t\t\t// the range is one-based and inclusive on both ends\n\t\t\t\t\t\tvar start = range[0];\n\t\t\t\t\t\tvar end = range[1] == null ? lines.length : range[1];\n\n\t\t\t\t\t\tif (start < 0) { start += lines.length; }\n\t\t\t\t\t\tstart = Math.max(0, Math.min(start - 1, lines.length));\n\t\t\t\t\t\tif (end < 0) { end += lines.length; }\n\t\t\t\t\t\tend = Math.max(0, Math.min(end, lines.length));\n\n\t\t\t\t\t\ttext = lines.slice(start, end).join('\\n');\n\n\t\t\t\t\t\t// add data-start for line numbers\n\t\t\t\t\t\tif (!pre.hasAttribute('data-start')) {\n\t\t\t\t\t\t\tpre.setAttribute('data-start', String(start + 1));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// highlight code\n\t\t\t\t\tcode.textContent = text;\n\t\t\t\t\tPrism.highlightElement(code);\n\t\t\t\t},\n\t\t\t\tfunction (error) {\n\t\t\t\t\t// mark as failed\n\t\t\t\t\tpre.setAttribute(STATUS_ATTR, STATUS_FAILED);\n\n\t\t\t\t\tcode.textContent = error;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t});\n\n\tPrism.plugins.fileHighlight = {\n\t\t/**\n\t\t * Executes the File Highlight plugin for all matching `pre` elements under the given container.\n\t\t *\n\t\t * Note: Elements which are already loaded or currently loading will not be touched by this method.\n\t\t *\n\t\t * @param {ParentNode} [container=document]\n\t\t */\n\t\thighlight: function highlight(container) {\n\t\t\tvar elements = (container || document).querySelectorAll(SELECTOR);\n\n\t\t\tfor (var i = 0, element; (element = elements[i++]);) {\n\t\t\t\tPrism.highlightElement(element);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar logged = false;\n\t/** @deprecated Use `Prism.plugins.fileHighlight.highlight` instead. */\n\tPrism.fileHighlight = function () {\n\t\tif (!logged) {\n\t\t\tconsole.warn('Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead.');\n\t\t\tlogged = true;\n\t\t}\n\t\tPrism.plugins.fileHighlight.highlight.apply(this, arguments);\n\t};\n\n}());\n","Prism.languages.clike = {\n\t'comment': [\n\t\t{\n\t\t\tpattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t}\n\t],\n\t'string': {\n\t\tpattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /[.\\\\]/\n\t\t}\n\t},\n\t'keyword': /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'function': /\\b\\w+(?=\\()/,\n\t'number': /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n\t'operator': /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n","Prism.languages.javascript = Prism.languages.extend('clike', {\n\t'class-name': [\n\t\tPrism.languages.clike['class-name'],\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n\t\t\tlookbehind: true\n\t\t}\n\t],\n\t'keyword': [\n\t\t{\n\t\t\tpattern: /((?:^|\\})\\s*)catch\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n\t\t\tlookbehind: true\n\t\t},\n\t],\n\t// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n\t'function': /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n\t'number': {\n\t\tpattern: RegExp(\n\t\t\t/(^|[^\\w$])/.source +\n\t\t\t'(?:' +\n\t\t\t(\n\t\t\t\t// constant\n\t\t\t\t/NaN|Infinity/.source +\n\t\t\t\t'|' +\n\t\t\t\t// binary integer\n\t\t\t\t/0[bB][01]+(?:_[01]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// octal integer\n\t\t\t\t/0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// hexadecimal integer\n\t\t\t\t/0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal bigint\n\t\t\t\t/\\d+(?:_\\d+)*n/.source +\n\t\t\t\t'|' +\n\t\t\t\t// decimal number (integer or float) but no bigint\n\t\t\t\t/(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/.source\n\t\t\t) +\n\t\t\t')' +\n\t\t\t/(?![\\w$])/.source\n\t\t),\n\t\tlookbehind: true\n\t},\n\t'operator': /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n});\n\nPrism.languages.javascript['class-name'][0].pattern = /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/;\n\nPrism.languages.insertBefore('javascript', 'keyword', {\n\t'regex': {\n\t\tpattern: RegExp(\n\t\t\t// lookbehind\n\t\t\t// eslint-disable-next-line regexp/no-dupe-characters-character-class\n\t\t\t/((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n\t\t\t// Regex pattern:\n\t\t\t// There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n\t\t\t// classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n\t\t\t// with the only syntax, so we have to define 2 different regex patterns.\n\t\t\t/\\//.source +\n\t\t\t'(?:' +\n\t\t\t/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/.source +\n\t\t\t'|' +\n\t\t\t// `v` flag syntax. This supports 3 levels of nested character classes.\n\t\t\t/(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source +\n\t\t\t')' +\n\t\t\t// lookahead\n\t\t\t/(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/.source\n\t\t),\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'regex-source': {\n\t\t\t\tpattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'language-regex',\n\t\t\t\tinside: Prism.languages.regex\n\t\t\t},\n\t\t\t'regex-delimiter': /^\\/|\\/$/,\n\t\t\t'regex-flags': /^[a-z]+$/,\n\t\t}\n\t},\n\t// This must be declared before keyword because we use \"function\" inside the look-forward\n\t'function-variable': {\n\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n\t\talias: 'function'\n\t},\n\t'parameter': [\n\t\t{\n\t\t\tpattern: /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t},\n\t\t{\n\t\t\tpattern: /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages.javascript\n\t\t}\n\t],\n\t'constant': /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n});\n\nPrism.languages.insertBefore('javascript', 'string', {\n\t'hashbang': {\n\t\tpattern: /^#!.*/,\n\t\tgreedy: true,\n\t\talias: 'comment'\n\t},\n\t'template-string': {\n\t\tpattern: /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'template-punctuation': {\n\t\t\t\tpattern: /^`|`$/,\n\t\t\t\talias: 'string'\n\t\t\t},\n\t\t\t'interpolation': {\n\t\t\t\tpattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\t\tpattern: /^\\$\\{|\\}$/,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: Prism.languages.javascript\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'string-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property'\n\t}\n});\n\nPrism.languages.insertBefore('javascript', 'operator', {\n\t'literal-property': {\n\t\tpattern: /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n\t\tlookbehind: true,\n\t\talias: 'property'\n\t},\n});\n\nif (Prism.languages.markup) {\n\tPrism.languages.markup.tag.addInlined('script', 'javascript');\n\n\t// add attribute support for all DOM events.\n\t// https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n\tPrism.languages.markup.tag.addAttribute(\n\t\t/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,\n\t\t'javascript'\n\t);\n}\n\nPrism.languages.js = Prism.languages.javascript;\n","Prism.languages.markup = {\n\t'comment': {\n\t\tpattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n\t\tgreedy: true\n\t},\n\t'prolog': {\n\t\tpattern: /<\\?[\\s\\S]+?\\?>/,\n\t\tgreedy: true\n\t},\n\t'doctype': {\n\t\t// https://www.w3.org/TR/xml/#NT-doctypedecl\n\t\tpattern: /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'internal-subset': {\n\t\t\t\tpattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t'string': {\n\t\t\t\tpattern: /\"[^\"]*\"|'[^']*'/,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t'punctuation': /^<!|>$|[[\\]]/,\n\t\t\t'doctype-tag': /^DOCTYPE/i,\n\t\t\t'name': /[^\\s<>'\"]+/\n\t\t}\n\t},\n\t'cdata': {\n\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\tgreedy: true\n\t},\n\t'tag': {\n\t\tpattern: /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'tag': {\n\t\t\t\tpattern: /^<\\/?[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /^<\\/?/,\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t},\n\t\t\t'special-attr': [],\n\t\t\t'attr-value': {\n\t\t\t\tpattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: /^(\\s*)[\"']|[\"']$/,\n\t\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t\t}\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\/?>/,\n\t\t\t'attr-name': {\n\t\t\t\tpattern: /[^\\s>\\/]+/,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': /^[^\\s>\\/:]+:/\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t},\n\t'entity': [\n\t\t{\n\t\t\tpattern: /&[\\da-z]{1,8};/i,\n\t\t\talias: 'named-entity'\n\t\t},\n\t\t/&#x?[\\da-f]{1,8};/i\n\t]\n};\n\nPrism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n\tPrism.languages.markup['entity'];\nPrism.languages.markup['doctype'].inside['internal-subset'].inside = Prism.languages.markup;\n\n// Plugin to make entity title show the real entity, idea by Roman Komarov\nPrism.hooks.add('wrap', function (env) {\n\n\tif (env.type === 'entity') {\n\t\tenv.attributes['title'] = env.content.replace(/&/, '&');\n\t}\n});\n\nObject.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n\t/**\n\t * Adds an inlined language to markup.\n\t *\n\t * An example of an inlined language is CSS with `<style>` tags.\n\t *\n\t * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addInlined('style', 'css');\n\t */\n\tvalue: function addInlined(tagName, lang) {\n\t\tvar includedCdataInside = {};\n\t\tincludedCdataInside['language-' + lang] = {\n\t\t\tpattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n\t\t\tlookbehind: true,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\t\tincludedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i;\n\n\t\tvar inside = {\n\t\t\t'included-cdata': {\n\t\t\t\tpattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n\t\t\t\tinside: includedCdataInside\n\t\t\t}\n\t\t};\n\t\tinside['language-' + lang] = {\n\t\t\tpattern: /[\\s\\S]+/,\n\t\t\tinside: Prism.languages[lang]\n\t\t};\n\n\t\tvar def = {};\n\t\tdef[tagName] = {\n\t\t\tpattern: RegExp(/(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(/__/g, function () { return tagName; }), 'i'),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: inside\n\t\t};\n\n\t\tPrism.languages.insertBefore('markup', 'cdata', def);\n\t}\n});\nObject.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n\t/**\n\t * Adds an pattern to highlight languages embedded in HTML attributes.\n\t *\n\t * An example of an inlined language is CSS with `style` attributes.\n\t *\n\t * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n\t * case insensitive.\n\t * @param {string} lang The language key.\n\t * @example\n\t * addAttribute('style', 'css');\n\t */\n\tvalue: function (attrName, lang) {\n\t\tPrism.languages.markup.tag.inside['special-attr'].push({\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[\"'\\s])/.source + '(?:' + attrName + ')' + /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n\t\t\t\t'i'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'attr-name': /^[^\\s=]+/,\n\t\t\t\t'attr-value': {\n\t\t\t\t\tpattern: /=[\\s\\S]+/,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'value': {\n\t\t\t\t\t\t\tpattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n\t\t\t\t\t\t\tlookbehind: true,\n\t\t\t\t\t\t\talias: [lang, 'language-' + lang],\n\t\t\t\t\t\t\tinside: Prism.languages[lang]\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpattern: /^=/,\n\t\t\t\t\t\t\t\talias: 'attr-equals'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t/\"|'/\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\nPrism.languages.html = Prism.languages.markup;\nPrism.languages.mathml = Prism.languages.markup;\nPrism.languages.svg = Prism.languages.markup;\n\nPrism.languages.xml = Prism.languages.extend('markup', {});\nPrism.languages.ssml = Prism.languages.xml;\nPrism.languages.atom = Prism.languages.xml;\nPrism.languages.rss = Prism.languages.xml;\n","(function (Prism) {\n\n\t// Allow only one line break\n\tvar inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source;\n\n\t/**\n\t * This function is intended for the creation of the bold or italic pattern.\n\t *\n\t * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n\t *\n\t * _Note:_ Keep in mind that this adds a capturing group.\n\t *\n\t * @param {string} pattern\n\t * @returns {RegExp}\n\t */\n\tfunction createInline(pattern) {\n\t\tpattern = pattern.replace(/<inner>/g, function () { return inner; });\n\t\treturn RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')');\n\t}\n\n\n\tvar tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/.source;\n\tvar tableRow = /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(/__/g, function () { return tableCell; });\n\tvar tableLine = /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/.source;\n\n\n\tPrism.languages.markdown = Prism.languages.extend('markup', {});\n\tPrism.languages.insertBefore('markdown', 'prolog', {\n\t\t'front-matter-block': {\n\t\t\tpattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /^---|---$/,\n\t\t\t\t'front-matter': {\n\t\t\t\t\tpattern: /\\S+(?:\\s+\\S+)*/,\n\t\t\t\t\talias: ['yaml', 'language-yaml'],\n\t\t\t\t\tinside: Prism.languages.yaml\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'blockquote': {\n\t\t\t// > ...\n\t\t\tpattern: /^>(?:[\\t ]*>)*/m,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'table': {\n\t\t\tpattern: RegExp('^' + tableRow + tableLine + '(?:' + tableRow + ')*', 'm'),\n\t\t\tinside: {\n\t\t\t\t'table-data-rows': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-data': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-line': {\n\t\t\t\t\tpattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'punctuation': /\\||:?-{3,}:?/\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'table-header-row': {\n\t\t\t\t\tpattern: RegExp('^' + tableRow + '$'),\n\t\t\t\t\tinside: {\n\t\t\t\t\t\t'table-header': {\n\t\t\t\t\t\t\tpattern: RegExp(tableCell),\n\t\t\t\t\t\t\talias: 'important',\n\t\t\t\t\t\t\tinside: Prism.languages.markdown\n\t\t\t\t\t\t},\n\t\t\t\t\t\t'punctuation': /\\|/\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'code': [\n\t\t\t{\n\t\t\t\t// Prefixed by 4 spaces or 1 tab and preceded by an empty line\n\t\t\t\tpattern: /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t{\n\t\t\t\t// ```optional language\n\t\t\t\t// code block\n\t\t\t\t// ```\n\t\t\t\tpattern: /^```[\\s\\S]*?^```$/m,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'code-block': {\n\t\t\t\t\t\tpattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'code-language': {\n\t\t\t\t\t\tpattern: /^(```).+/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'punctuation': /```/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'title': [\n\t\t\t{\n\t\t\t\t// title 1\n\t\t\t\t// =======\n\n\t\t\t\t// title 2\n\t\t\t\t// -------\n\t\t\t\tpattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /==+$|--+$/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\t// # title 1\n\t\t\t\t// ###### title 6\n\t\t\t\tpattern: /(^\\s*)#.+/m,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'important',\n\t\t\t\tinside: {\n\t\t\t\t\tpunctuation: /^#+|#+$/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'hr': {\n\t\t\t// ***\n\t\t\t// ---\n\t\t\t// * * *\n\t\t\t// -----------\n\t\t\tpattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'list': {\n\t\t\t// * item\n\t\t\t// + item\n\t\t\t// - item\n\t\t\t// 1. item\n\t\t\tpattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'url-reference': {\n\t\t\t// [id]: http://example.com \"Optional title\"\n\t\t\t// [id]: http://example.com 'Optional title'\n\t\t\t// [id]: http://example.com (Optional title)\n\t\t\t// [id]: <http://example.com> \"Optional title\"\n\t\t\tpattern: /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n\t\t\tinside: {\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /^(!?\\[)[^\\]]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n\t\t\t\t'punctuation': /^[\\[\\]!:]|[<>]/\n\t\t\t},\n\t\t\talias: 'url'\n\t\t},\n\t\t'bold': {\n\t\t\t// **strong**\n\t\t\t// __strong__\n\n\t\t\t// allow one nested instance of italic text using the same delimiter\n\t\t\tpattern: createInline(/\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^..)[\\s\\S]+(?=..$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\*\\*|__/\n\t\t\t}\n\t\t},\n\t\t'italic': {\n\t\t\t// *em*\n\t\t\t// _em_\n\n\t\t\t// allow one nested instance of bold text using the same delimiter\n\t\t\tpattern: createInline(/\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^.)[\\s\\S]+(?=.$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /[*_]/\n\t\t\t}\n\t\t},\n\t\t'strike': {\n\t\t\t// ~~strike through~~\n\t\t\t// ~strike~\n\t\t\t// eslint-disable-next-line regexp/strict\n\t\t\tpattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'punctuation': /~~?/\n\t\t\t}\n\t\t},\n\t\t'code-snippet': {\n\t\t\t// `code`\n\t\t\t// ``code``\n\t\t\tpattern: /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\talias: ['code', 'keyword']\n\t\t},\n\t\t'url': {\n\t\t\t// [example](http://example.com \"Optional title\")\n\t\t\t// [example][id]\n\t\t\t// [example] [id]\n\t\t\tpattern: createInline(/!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/.source),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'operator': /^!/,\n\t\t\t\t'content': {\n\t\t\t\t\tpattern: /(^\\[)[^\\]]+(?=\\])/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: {} // see below\n\t\t\t\t},\n\t\t\t\t'variable': {\n\t\t\t\t\tpattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'url': {\n\t\t\t\t\tpattern: /(^\\]\\()[^\\s)]+/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n\t\t['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(function (inside) {\n\t\t\tif (token !== inside) {\n\t\t\t\tPrism.languages.markdown[token].inside.content.inside[inside] = Prism.languages.markdown[inside];\n\t\t\t}\n\t\t});\n\t});\n\n\tPrism.hooks.add('after-tokenize', function (env) {\n\t\tif (env.language !== 'markdown' && env.language !== 'md') {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction walkTokens(tokens) {\n\t\t\tif (!tokens || typeof tokens === 'string') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = tokens.length; i < l; i++) {\n\t\t\t\tvar token = tokens[i];\n\n\t\t\t\tif (token.type !== 'code') {\n\t\t\t\t\twalkTokens(token.content);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n\t\t\t\t * is optional. But the grammar is defined so that there is only one case we have to handle:\n\t\t\t\t *\n\t\t\t\t * token.content = [\n\t\t\t\t * <span class=\"punctuation\">```</span>,\n\t\t\t\t * <span class=\"code-language\">xxxx</span>,\n\t\t\t\t * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n\t\t\t\t * <span class=\"code-block\">...</span>,\n\t\t\t\t * '\\n', // exactly one new lines again\n\t\t\t\t * <span class=\"punctuation\">```</span>\n\t\t\t\t * ];\n\t\t\t\t */\n\n\t\t\t\tvar codeLang = token.content[1];\n\t\t\t\tvar codeBlock = token.content[3];\n\n\t\t\t\tif (codeLang && codeBlock &&\n\t\t\t\t\tcodeLang.type === 'code-language' && codeBlock.type === 'code-block' &&\n\t\t\t\t\ttypeof codeLang.content === 'string') {\n\n\t\t\t\t\t// this might be a language that Prism does not support\n\n\t\t\t\t\t// do some replacements to support C++, C#, and F#\n\t\t\t\t\tvar lang = codeLang.content.replace(/\\b#/g, 'sharp').replace(/\\b\\+\\+/g, 'pp');\n\t\t\t\t\t// only use the first word\n\t\t\t\t\tlang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase();\n\t\t\t\t\tvar alias = 'language-' + lang;\n\n\t\t\t\t\t// add alias\n\t\t\t\t\tif (!codeBlock.alias) {\n\t\t\t\t\t\tcodeBlock.alias = [alias];\n\t\t\t\t\t} else if (typeof codeBlock.alias === 'string') {\n\t\t\t\t\t\tcodeBlock.alias = [codeBlock.alias, alias];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcodeBlock.alias.push(alias);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twalkTokens(env.tokens);\n\t});\n\n\tPrism.hooks.add('wrap', function (env) {\n\t\tif (env.type !== 'code-block') {\n\t\t\treturn;\n\t\t}\n\n\t\tvar codeLang = '';\n\t\tfor (var i = 0, l = env.classes.length; i < l; i++) {\n\t\t\tvar cls = env.classes[i];\n\t\t\tvar match = /language-(.+)/.exec(cls);\n\t\t\tif (match) {\n\t\t\t\tcodeLang = match[1];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tvar grammar = Prism.languages[codeLang];\n\n\t\tif (!grammar) {\n\t\t\tif (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n\t\t\t\tvar id = 'md-' + new Date().valueOf() + '-' + Math.floor(Math.random() * 1e16);\n\t\t\t\tenv.attributes['id'] = id;\n\n\t\t\t\tPrism.plugins.autoloader.loadLanguages(codeLang, function () {\n\t\t\t\t\tvar ele = document.getElementById(id);\n\t\t\t\t\tif (ele) {\n\t\t\t\t\t\tele.innerHTML = Prism.highlight(ele.textContent, Prism.languages[codeLang], codeLang);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tenv.content = Prism.highlight(textContent(env.content), grammar, codeLang);\n\t\t}\n\t});\n\n\tvar tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi');\n\n\t/**\n\t * A list of known entity names.\n\t *\n\t * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n\t *\n\t * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n\t */\n\tvar KNOWN_ENTITY_NAMES = {\n\t\t'amp': '&',\n\t\t'lt': '<',\n\t\t'gt': '>',\n\t\t'quot': '\"',\n\t};\n\n\t// IE 11 doesn't support `String.fromCodePoint`\n\tvar fromCodePoint = String.fromCodePoint || String.fromCharCode;\n\n\t/**\n\t * Returns the text content of a given HTML source code string.\n\t *\n\t * @param {string} html\n\t * @returns {string}\n\t */\n\tfunction textContent(html) {\n\t\t// remove all tags\n\t\tvar text = html.replace(tagPattern, '');\n\n\t\t// decode known entities\n\t\ttext = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n\t\t\tcode = code.toLowerCase();\n\n\t\t\tif (code[0] === '#') {\n\t\t\t\tvar value;\n\t\t\t\tif (code[1] === 'x') {\n\t\t\t\t\tvalue = parseInt(code.slice(2), 16);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = Number(code.slice(1));\n\t\t\t\t}\n\n\t\t\t\treturn fromCodePoint(value);\n\t\t\t} else {\n\t\t\t\tvar known = KNOWN_ENTITY_NAMES[code];\n\t\t\t\tif (known) {\n\t\t\t\t\treturn known;\n\t\t\t\t}\n\n\t\t\t\t// unable to decode\n\t\t\t\treturn m;\n\t\t\t}\n\t\t});\n\n\t\treturn text;\n\t}\n\n\tPrism.languages.md = Prism.languages.markdown;\n\n}(Prism));\n","Prism.languages.c = Prism.languages.extend('clike', {\n\t'comment': {\n\t\tpattern: /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n\t\tgreedy: true\n\t},\n\t'string': {\n\t\t// https://en.cppreference.com/w/c/language/string_literal\n\t\tpattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n\t\tlookbehind: true\n\t},\n\t'keyword': /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'number': /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n\t'operator': />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'char': {\n\t\t// https://en.cppreference.com/w/c/language/character_constant\n\t\tpattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n\t\tgreedy: true\n\t}\n});\n\nPrism.languages.insertBefore('c', 'string', {\n\t'macro': {\n\t\t// allow for multiline macro definitions\n\t\t// spaces after the # character compile fine with gcc\n\t\tpattern: /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n\t\tlookbehind: true,\n\t\tgreedy: true,\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'string': [\n\t\t\t\t{\n\t\t\t\t\t// highlight the path of the include statement as a string\n\t\t\t\t\tpattern: /^(#\\s*include\\s*)<[^>]+>/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\tPrism.languages.c['string']\n\t\t\t],\n\t\t\t'char': Prism.languages.c['char'],\n\t\t\t'comment': Prism.languages.c['comment'],\n\t\t\t'macro-name': [\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'function'\n\t\t\t\t}\n\t\t\t],\n\t\t\t// highlight macro directives as keywords\n\t\t\t'directive': {\n\t\t\t\tpattern: /^(#\\s*)[a-z]+/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'keyword'\n\t\t\t},\n\t\t\t'directive-hash': /^#/,\n\t\t\t'punctuation': /##|\\\\(?=[\\r\\n])/,\n\t\t\t'expression': {\n\t\t\t\tpattern: /\\S[\\s\\S]*/,\n\t\t\t\tinside: Prism.languages.c\n\t\t\t}\n\t\t}\n\t}\n});\n\nPrism.languages.insertBefore('c', 'function', {\n\t// highlight predefined macros as constants\n\t'constant': /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n});\n\ndelete Prism.languages.c['boolean'];\n","(function (Prism) {\n\n\tvar string = /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/;\n\n\tPrism.languages.css = {\n\t\t'comment': /\\/\\*[\\s\\S]*?\\*\\//,\n\t\t'atrule': {\n\t\t\tpattern: RegExp('@[\\\\w-](?:' + /[^;{\\s\"']|\\s+(?!\\s)/.source + '|' + string.source + ')*?' + /(?:;|(?=\\s*\\{))/.source),\n\t\t\tinside: {\n\t\t\t\t'rule': /^@[\\w-]+/,\n\t\t\t\t'selector-function-argument': {\n\t\t\t\t\tpattern: /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\talias: 'selector'\n\t\t\t\t},\n\t\t\t\t'keyword': {\n\t\t\t\t\tpattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n\t\t\t\t\tlookbehind: true\n\t\t\t\t}\n\t\t\t\t// See rest below\n\t\t\t}\n\t\t},\n\t\t'url': {\n\t\t\t// https://drafts.csswg.org/css-values-3/#urls\n\t\t\tpattern: RegExp('\\\\burl\\\\((?:' + string.source + '|' + /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source + ')\\\\)', 'i'),\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^url/i,\n\t\t\t\t'punctuation': /^\\(|\\)$/,\n\t\t\t\t'string': {\n\t\t\t\t\tpattern: RegExp('^' + string.source + '$'),\n\t\t\t\t\talias: 'url'\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t'selector': {\n\t\t\tpattern: RegExp('(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' + string.source + ')*(?=\\\\s*\\\\{)'),\n\t\t\tlookbehind: true\n\t\t},\n\t\t'string': {\n\t\t\tpattern: string,\n\t\t\tgreedy: true\n\t\t},\n\t\t'property': {\n\t\t\tpattern: /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'important': /!important\\b/i,\n\t\t'function': {\n\t\t\tpattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[(){};:,]/\n\t};\n\n\tPrism.languages.css['atrule'].inside.rest = Prism.languages.css;\n\n\tvar markup = Prism.languages.markup;\n\tif (markup) {\n\t\tmarkup.tag.addInlined('style', 'css');\n\t\tmarkup.tag.addAttribute('style', 'css');\n\t}\n\n}(Prism));\n","Prism.languages.objectivec = Prism.languages.extend('c', {\n\t'string': {\n\t\tpattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n\t\tgreedy: true\n\t},\n\t'keyword': /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n\t'operator': /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n});\n\ndelete Prism.languages.objectivec['class-name'];\n\nPrism.languages.objc = Prism.languages.objectivec;\n","Prism.languages.sql = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n\t\tlookbehind: true\n\t},\n\t'variable': [\n\t\t{\n\t\t\tpattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t/@[\\w.$]+/\n\t],\n\t'string': {\n\t\tpattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n\t\tgreedy: true,\n\t\tlookbehind: true\n\t},\n\t'identifier': {\n\t\tpattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n\t\tgreedy: true,\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'punctuation': /^`|`$/\n\t\t}\n\t},\n\t'function': /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i, // Should we highlight user defined functions too?\n\t'keyword': /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n\t'boolean': /\\b(?:FALSE|NULL|TRUE)\\b/i,\n\t'number': /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n\t'operator': /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n\t'punctuation': /[;[\\]()`,.]/\n};\n","(function (Prism) {\n\n\tvar powershell = Prism.languages.powershell = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: /(^|[^`])<#[\\s\\S]*?#>/,\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^`])#.*/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'string': [\n\t\t\t{\n\t\t\t\tpattern: /\"(?:`[\\s\\S]|[^`\"])*\"/,\n\t\t\t\tgreedy: true,\n\t\t\t\tinside: null // see below\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /'(?:[^']|'')*'/,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t// Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices\n\t\t// Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)\n\t\t'namespace': /\\[[a-z](?:\\[(?:\\[[^\\]]*\\]|[^\\[\\]])*\\]|[^\\[\\]])*\\]/i,\n\t\t'boolean': /\\$(?:false|true)\\b/i,\n\t\t'variable': /\\$\\w+\\b/,\n\t\t// Cmdlets and aliases. Aliases should come last, otherwise \"write\" gets preferred over \"write-host\" for example\n\t\t// Get-Command | ?{ $_.ModuleName -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n\t\t// Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n\t\t'function': [\n\t\t\t/\\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\\b/i,\n\t\t\t/\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i\n\t\t],\n\t\t// per http://technet.microsoft.com/en-us/library/hh847744.aspx\n\t\t'keyword': /\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,\n\t\t'operator': {\n\t\t\tpattern: /(^|\\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'punctuation': /[|{}[\\];(),.]/\n\t};\n\n\t// Variable interpolation inside strings, and nested expressions\n\tpowershell.string[0].inside = {\n\t\t'function': {\n\t\t\t// Allow for one level of nesting\n\t\t\tpattern: /(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,\n\t\t\tlookbehind: true,\n\t\t\tinside: powershell\n\t\t},\n\t\t'boolean': powershell.boolean,\n\t\t'variable': powershell.variable,\n\t};\n\n}(Prism));\n","Prism.languages.python = {\n\t'comment': {\n\t\tpattern: /(^|[^\\\\])#.*/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-interpolation': {\n\t\tpattern: /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n\t\tgreedy: true,\n\t\tinside: {\n\t\t\t'interpolation': {\n\t\t\t\t// \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n\t\t\t\tpattern: /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'format-spec': {\n\t\t\t\t\t\tpattern: /(:)[^:(){}]+(?=\\}$)/,\n\t\t\t\t\t\tlookbehind: true\n\t\t\t\t\t},\n\t\t\t\t\t'conversion-option': {\n\t\t\t\t\t\tpattern: //,\n\t\t\t\t\t\talias: 'punctuation'\n\t\t\t\t\t},\n\t\t\t\t\trest: null\n\t\t\t\t}\n\t\t\t},\n\t\t\t'string': /[\\s\\S]+/\n\t\t}\n\t},\n\t'triple-quoted-string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n\t\tgreedy: true,\n\t\talias: 'string'\n\t},\n\t'string': {\n\t\tpattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n\t\tgreedy: true\n\t},\n\t'function': {\n\t\tpattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n\t\tlookbehind: true\n\t},\n\t'class-name': {\n\t\tpattern: /(\\bclass\\s+)\\w+/i,\n\t\tlookbehind: true\n\t},\n\t'decorator': {\n\t\tpattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n\t\tlookbehind: true,\n\t\talias: ['annotation', 'punctuation'],\n\t\tinside: {\n\t\t\t'punctuation': /\\./\n\t\t}\n\t},\n\t'keyword': /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n\t'builtin': /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n\t'boolean': /\\b(?:False|None|True)\\b/,\n\t'number': /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n\t'operator': /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n\t'punctuation': /[{}[\\];(),.:]/\n};\n\nPrism.languages.python['string-interpolation'].inside['interpolation'].inside.rest = Prism.languages.python;\n\nPrism.languages.py = Prism.languages.python;\n","(function (Prism) {\n\n\tvar multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source;\n\tfor (var i = 0; i < 2; i++) {\n\t\t// support 4 levels of nested comments\n\t\tmultilineComment = multilineComment.replace(/<self>/g, function () { return multilineComment; });\n\t}\n\tmultilineComment = multilineComment.replace(/<self>/g, function () { return /[^\\s\\S]/.source; });\n\n\n\tPrism.languages.rust = {\n\t\t'comment': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(^|[^\\\\:])\\/\\/.*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\tgreedy: true\n\t\t\t}\n\t\t],\n\t\t'string': {\n\t\t\tpattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n\t\t\tgreedy: true\n\t\t},\n\t\t'attribute': {\n\t\t\tpattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n\t\t\tgreedy: true,\n\t\t\talias: 'attr-name',\n\t\t\tinside: {\n\t\t\t\t'string': null // see below\n\t\t\t}\n\t\t},\n\n\t\t// Closure params should not be confused with bitwise OR |\n\t\t'closure-params': {\n\t\t\tpattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'closure-punctuation': {\n\t\t\t\t\tpattern: /^\\||\\|$/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\trest: null // see below\n\t\t\t}\n\t\t},\n\n\t\t'lifetime-annotation': {\n\t\t\tpattern: /'\\w+/,\n\t\t\talias: 'symbol'\n\t\t},\n\n\t\t'fragment-specifier': {\n\t\t\tpattern: /(\\$\\w+:)[a-z]+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'variable': /\\$\\w+/,\n\n\t\t'function-definition': {\n\t\t\tpattern: /(\\bfn\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'function'\n\t\t},\n\t\t'type-definition': {\n\t\t\tpattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'class-name'\n\t\t},\n\t\t'module-declaration': [\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace'\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'namespace',\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /::/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'keyword': [\n\t\t\t// https://github.com/rust-lang/reference/blob/master/src/keywords.md\n\t\t\t/\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n\t\t\t// primitives and str\n\t\t\t// https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n\t\t\t/\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n\t\t],\n\n\t\t// functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n\t\t// and Rust's naming conventions recommend snake_case anyway.\n\t\t// https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n\t\t'function': /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n\t\t'macro': {\n\t\t\tpattern: /\\b\\w+!/,\n\t\t\talias: 'property'\n\t\t},\n\t\t'constant': /\\b[A-Z_][A-Z_\\d]+\\b/,\n\t\t'class-name': /\\b[A-Z]\\w*\\b/,\n\n\t\t'namespace': {\n\t\t\tpattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /::/\n\t\t\t}\n\t\t},\n\n\t\t// Hex, oct, bin, dec numbers with visual separators and type suffix\n\t\t'number': /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t'punctuation': /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n\t\t'operator': /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n\t};\n\n\tPrism.languages.rust['closure-params'].inside.rest = Prism.languages.rust;\n\tPrism.languages.rust['attribute'].inside['string'] = Prism.languages.rust['string'];\n\n}(Prism));\n","Prism.languages.swift = {\n\t'comment': {\n\t\t// Nested comments are supported up to 2 levels\n\t\tpattern: /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n\t\tlookbehind: true,\n\t\tgreedy: true\n\t},\n\t'string-literal': [\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ /(?![\"#])/.source\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'punctuation': /\\\\(?=[\\r\\n])/,\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tpattern: RegExp(\n\t\t\t\t/(^|[^\"#])(#+)/.source\n\t\t\t\t+ '(?:'\n\t\t\t\t// single-line string\n\t\t\t\t+ /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/.source\n\t\t\t\t+ '|'\n\t\t\t\t// multi-line string\n\t\t\t\t+ /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source\n\t\t\t\t+ ')'\n\t\t\t\t+ '\\\\2'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'interpolation': {\n\t\t\t\t\tpattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n\t\t\t\t\tlookbehind: true,\n\t\t\t\t\tinside: null // see below\n\t\t\t\t},\n\t\t\t\t'interpolation-punctuation': {\n\t\t\t\t\tpattern: /^\\)|\\\\#+\\($/,\n\t\t\t\t\talias: 'punctuation'\n\t\t\t\t},\n\t\t\t\t'string': /[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t],\n\n\t'directive': {\n\t\t// directives with conditions\n\t\tpattern: RegExp(\n\t\t\t/#/.source\n\t\t\t+ '(?:'\n\t\t\t+ (\n\t\t\t\t/(?:elseif|if)\\b/.source\n\t\t\t\t+ '(?:[ \\t]*'\n\t\t\t\t// This regex is a little complex. It's equivalent to this:\n\t\t\t\t// (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n\t\t\t\t// where <round> is a general parentheses expression.\n\t\t\t\t+ /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/.source\n\t\t\t\t+ ')+'\n\t\t\t)\n\t\t\t+ '|'\n\t\t\t+ /(?:else|endif)\\b/.source\n\t\t\t+ ')'\n\t\t),\n\t\talias: 'property',\n\t\tinside: {\n\t\t\t'directive-name': /^#\\w+/,\n\t\t\t'boolean': /\\b(?:false|true)\\b/,\n\t\t\t'number': /\\b\\d+(?:\\.\\d+)*\\b/,\n\t\t\t'operator': /!|&&|\\|\\||[<>]=?/,\n\t\t\t'punctuation': /[(),]/\n\t\t}\n\t},\n\t'literal': {\n\t\tpattern: /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n\t\talias: 'constant'\n\t},\n\t'other-directive': {\n\t\tpattern: /#\\w+\\b/,\n\t\talias: 'property'\n\t},\n\n\t'attribute': {\n\t\tpattern: /@\\w+/,\n\t\talias: 'atrule'\n\t},\n\n\t'function-definition': {\n\t\tpattern: /(\\bfunc\\s+)\\w+/,\n\t\tlookbehind: true,\n\t\talias: 'function'\n\t},\n\t'label': {\n\t\t// https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n\t\tpattern: /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n\t\tlookbehind: true,\n\t\talias: 'important'\n\t},\n\n\t'keyword': /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n\t'boolean': /\\b(?:false|true)\\b/,\n\t'nil': {\n\t\tpattern: /\\bnil\\b/,\n\t\talias: 'constant'\n\t},\n\n\t'short-argument': /\\$\\d+\\b/,\n\t'omit': {\n\t\tpattern: /\\b_\\b/,\n\t\talias: 'keyword'\n\t},\n\t'number': /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n\n\t// A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n\t'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n\t'function': /\\b[a-z_]\\w*(?=\\s*\\()/i,\n\t'constant': /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n\n\t// Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n\t// https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n\t// This regex only supports ASCII operators.\n\t'operator': /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n\t'punctuation': /[{}[\\]();,.:\\\\]/\n};\n\nPrism.languages.swift['string-literal'].forEach(function (rule) {\n\trule.inside['interpolation'].inside = Prism.languages.swift;\n});\n","(function (Prism) {\n\n\tPrism.languages.typescript = Prism.languages.extend('javascript', {\n\t\t'class-name': {\n\t\t\tpattern: /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: null // see below\n\t\t},\n\t\t'builtin': /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/,\n\t});\n\n\t// The keywords TypeScript adds to JavaScript\n\tPrism.languages.typescript.keyword.push(\n\t\t/\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,\n\t\t// keywords that have to be followed by an identifier\n\t\t/\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,\n\t\t// This is for `import type *, {}`\n\t\t/\\btype\\b(?=\\s*(?:[\\{*]|$))/\n\t);\n\n\t// doesn't work with TS because TS is too complex\n\tdelete Prism.languages.typescript['parameter'];\n\tdelete Prism.languages.typescript['literal-property'];\n\n\t// a version of typescript specifically for highlighting types\n\tvar typeInside = Prism.languages.extend('typescript', {});\n\tdelete typeInside['class-name'];\n\n\tPrism.languages.typescript['class-name'].inside = typeInside;\n\n\tPrism.languages.insertBefore('typescript', 'function', {\n\t\t'decorator': {\n\t\t\tpattern: /@[$\\w\\xA0-\\uFFFF]+/,\n\t\t\tinside: {\n\t\t\t\t'at': {\n\t\t\t\t\tpattern: /^@/,\n\t\t\t\t\talias: 'operator'\n\t\t\t\t},\n\t\t\t\t'function': /^[\\s\\S]+/\n\t\t\t}\n\t\t},\n\t\t'generic-function': {\n\t\t\t// e.g. foo<T extends \"bar\" | \"baz\">( ...\n\t\t\tpattern: /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'function': /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,\n\t\t\t\t'generic': {\n\t\t\t\t\tpattern: /<[\\s\\S]+/, // everything after the first <\n\t\t\t\t\talias: 'class-name',\n\t\t\t\t\tinside: typeInside\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.ts = Prism.languages.typescript;\n\n}(Prism));\n","(function (Prism) {\n\n\tvar keywords = /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/;\n\n\t// full package (optional) + parent classes (optional)\n\tvar classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source;\n\n\t// based on the java naming conventions\n\tvar className = {\n\t\tpattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n\t\tlookbehind: true,\n\t\tinside: {\n\t\t\t'namespace': {\n\t\t\t\tpattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n\t\t\t\tinside: {\n\t\t\t\t\t'punctuation': /\\./\n\t\t\t\t}\n\t\t\t},\n\t\t\t'punctuation': /\\./\n\t\t}\n\t};\n\n\tPrism.languages.java = Prism.languages.extend('clike', {\n\t\t'string': {\n\t\t\tpattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true\n\t\t},\n\t\t'class-name': [\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t// variables, parameters, and constructor references\n\t\t\t\t// this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n\t\t\t\tpattern: RegExp(/(^|[^\\w.])/.source + classNamePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: className.inside\n\t\t\t},\n\t\t\t{\n\t\t\t\t// class names based on keyword\n\t\t\t\t// this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n\t\t\t\tpattern: RegExp(/(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/.source + classNamePrefix + /[A-Z]\\w*\\b/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: className.inside\n\t\t\t}\n\t\t],\n\t\t'keyword': keywords,\n\t\t'function': [\n\t\t\tPrism.languages.clike.function,\n\t\t\t{\n\t\t\t\tpattern: /(::\\s*)[a-z_]\\w*/,\n\t\t\t\tlookbehind: true\n\t\t\t}\n\t\t],\n\t\t'number': /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n\t\t'operator': {\n\t\t\tpattern: /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n\t\t\tlookbehind: true\n\t\t},\n\t\t'constant': /\\b[A-Z][A-Z_\\d]+\\b/\n\t});\n\n\tPrism.languages.insertBefore('java', 'string', {\n\t\t'triple-quoted-string': {\n\t\t\t// http://openjdk.java.net/jeps/355#Description\n\t\t\tpattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n\t\t\tgreedy: true,\n\t\t\talias: 'string'\n\t\t},\n\t\t'char': {\n\t\t\tpattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('java', 'class-name', {\n\t\t'annotation': {\n\t\t\tpattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n\t\t\tlookbehind: true,\n\t\t\talias: 'punctuation'\n\t\t},\n\t\t'generics': {\n\t\t\tpattern: /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n\t\t\tinside: {\n\t\t\t\t'class-name': className,\n\t\t\t\t'keyword': keywords,\n\t\t\t\t'punctuation': /[<>(),.:]/,\n\t\t\t\t'operator': /[?&|]/\n\t\t\t}\n\t\t},\n\t\t'import': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\bimport\\s+)/.source + classNamePrefix + /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': className.inside.namespace,\n\t\t\t\t\t'punctuation': /\\./,\n\t\t\t\t\t'operator': /\\*/,\n\t\t\t\t\t'class-name': /\\w+/\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\bimport\\s+static\\s+)/.source + classNamePrefix + /(?:\\w+|\\*)(?=\\s*;)/.source),\n\t\t\t\tlookbehind: true,\n\t\t\t\talias: 'static',\n\t\t\t\tinside: {\n\t\t\t\t\t'namespace': className.inside.namespace,\n\t\t\t\t\t'static': /\\b\\w+$/,\n\t\t\t\t\t'punctuation': /\\./,\n\t\t\t\t\t'operator': /\\*/,\n\t\t\t\t\t'class-name': /\\w+/\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t'namespace': {\n\t\t\tpattern: RegExp(\n\t\t\t\t/(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/\n\t\t\t\t\t.source.replace(/<keyword>/g, function () { return keywords.source; })),\n\t\t\tlookbehind: true,\n\t\t\tinside: {\n\t\t\t\t'punctuation': /\\./,\n\t\t\t}\n\t\t}\n\t});\n}(Prism));\n","(function (Prism) {\n\n\tvar keyword = /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/;\n\tvar modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(/<keyword>/g, function () { return keyword.source; });\n\n\tPrism.languages.cpp = Prism.languages.extend('c', {\n\t\t'class-name': [\n\t\t\t{\n\t\t\t\tpattern: RegExp(/(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source\n\t\t\t\t\t.replace(/<keyword>/g, function () { return keyword.source; })),\n\t\t\t\tlookbehind: true\n\t\t\t},\n\t\t\t// This is intended to capture the class name of method implementations like:\n\t\t\t// void foo::bar() const {}\n\t\t\t// However! The `foo` in the above example could also be a namespace, so we only capture the class name if\n\t\t\t// it starts with an uppercase letter. This approximation should give decent results.\n\t\t\t/\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,\n\t\t\t// This will capture the class name before destructors like:\n\t\t\t// Foo::~Foo() {}\n\t\t\t/\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,\n\t\t\t// This also intends to capture the class name of method implementations but here the class has template\n\t\t\t// parameters, so it can't be a namespace (until C++ adds generic namespaces).\n\t\t\t/\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/\n\t\t],\n\t\t'keyword': keyword,\n\t\t'number': {\n\t\t\tpattern: /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n\t\t\tgreedy: true\n\t\t},\n\t\t'operator': />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n\t\t'boolean': /\\b(?:false|true)\\b/\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'string', {\n\t\t'module': {\n\t\t\t// https://en.cppreference.com/w/cpp/language/modules\n\t\t\tpattern: RegExp(\n\t\t\t\t/(\\b(?:import|module)\\s+)/.source +\n\t\t\t\t'(?:' +\n\t\t\t\t// header-name\n\t\t\t\t/\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source +\n\t\t\t\t'|' +\n\t\t\t\t// module name or partition or both\n\t\t\t\t/<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(/<mod-name>/g, function () { return modName; }) +\n\t\t\t\t')'\n\t\t\t),\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: {\n\t\t\t\t'string': /^[<\"][\\s\\S]+/,\n\t\t\t\t'operator': /:/,\n\t\t\t\t'punctuation': /\\./\n\t\t\t}\n\t\t},\n\t\t'raw-string': {\n\t\t\tpattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n\t\t\talias: 'string',\n\t\t\tgreedy: true\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'keyword', {\n\t\t'generic-function': {\n\t\t\tpattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n\t\t\tinside: {\n\t\t\t\t'function': /^\\w+/,\n\t\t\t\t'generic': {\n\t\t\t\t\tpattern: /<[\\s\\S]+/,\n\t\t\t\t\talias: 'class-name',\n\t\t\t\t\tinside: Prism.languages.cpp\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'operator', {\n\t\t'double-colon': {\n\t\t\tpattern: /::/,\n\t\t\talias: 'punctuation'\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('cpp', 'class-name', {\n\t\t// the base clause is an optional list of parent classes\n\t\t// https://en.cppreference.com/w/cpp/language/class\n\t\t'base-clause': {\n\t\t\tpattern: /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n\t\t\tlookbehind: true,\n\t\t\tgreedy: true,\n\t\t\tinside: Prism.languages.extend('cpp', {})\n\t\t}\n\t});\n\n\tPrism.languages.insertBefore('inside', 'double-colon', {\n\t\t// All untokenized words that are not namespaces should be class names\n\t\t'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n\t}, Prism.languages.cpp['base-clause']);\n\n}(Prism));\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport\"prismjs\";import\"prismjs/components/prism-clike.js\";import\"prismjs/components/prism-javascript.js\";import\"prismjs/components/prism-markup.js\";import\"prismjs/components/prism-markdown.js\";import\"prismjs/components/prism-c.js\";import\"prismjs/components/prism-css.js\";import\"prismjs/components/prism-objectivec.js\";import\"prismjs/components/prism-sql.js\";import\"prismjs/components/prism-powershell.js\";import\"prismjs/components/prism-python.js\";import\"prismjs/components/prism-rust.js\";import\"prismjs/components/prism-swift.js\";import\"prismjs/components/prism-typescript.js\";import\"prismjs/components/prism-java.js\";import\"prismjs/components/prism-cpp.js\";import{isHTMLElement as t,addClassNamesToElement as e,removeClassNamesFromElement as n,mergeRegister as r}from\"@lexical/utils\";import{ElementNode as o,$createParagraphNode as i,$isTextNode as s,$isTabNode as l,$createTabNode as u,$createLineBreakNode as c,$applyNodeReplacement as a,TextNode as g,$isLineBreakNode as f,$createTextNode as p,$getNodeByKey as h,$getSelection as d,$isRangeSelection as m,INDENT_CONTENT_COMMAND as y,OUTDENT_CONTENT_COMMAND as x,INSERT_TAB_COMMAND as S,KEY_ARROW_UP_COMMAND as _,MOVE_TO_START as v,KEY_TAB_COMMAND as C,COMMAND_PRIORITY_LOW as T,$insertNodes as b,KEY_ARROW_DOWN_COMMAND as j,MOVE_TO_END as N}from\"lexical\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function w(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var P=w((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const k=t=>{try{return!!t&&window.Prism.languages.hasOwnProperty(t)}catch(t){return!1}};function L(e,n){for(const r of e.childNodes){if(t(r)&&r.tagName===n)return!0;L(r,n)}return!1}const A=\"data-language\",O=\"data-highlight-language\";class M extends o{static getType(){return\"code\"}static clone(t){return new M(t.__language,t.__key)}constructor(t,e){super(e),this.__language=t,this.__isSyntaxHighlightSupported=k(t)}createDOM(t){const n=document.createElement(\"code\");e(n,t.theme.code),n.setAttribute(\"spellcheck\",\"false\");const r=this.getLanguage();return r&&(n.setAttribute(A,r),this.getIsSyntaxHighlightSupported()&&n.setAttribute(O,r)),n}updateDOM(t,e,n){const r=this.__language,o=t.__language;return r?r!==o&&(e.setAttribute(A,r),this.__isSyntaxHighlightSupported&&e.setAttribute(O,r)):o&&(e.removeAttribute(A),t.__isSyntaxHighlightSupported&&e.removeAttribute(O)),!1}exportDOM(t){const n=document.createElement(\"pre\");e(n,t._config.theme.code),n.setAttribute(\"spellcheck\",\"false\");const r=this.getLanguage();return r&&(n.setAttribute(A,r),this.getIsSyntaxHighlightSupported()&&n.setAttribute(O,r)),{element:n}}static importDOM(){return{code:t=>null!=t.textContent&&(/\\r?\\n/.test(t.textContent)||L(t,\"BR\"))?{conversion:z,priority:1}:null,div:()=>({conversion:E,priority:1}),pre:()=>({conversion:z,priority:0}),table:t=>R(t)?{conversion:B,priority:3}:null,td:t=>{const e=t,n=e.closest(\"table\");return e.classList.contains(\"js-file-line\")||n&&R(n)?{conversion:I,priority:3}:null},tr:t=>{const e=t.closest(\"table\");return e&&R(e)?{conversion:I,priority:3}:null}}}static importJSON(t){const e=H(t.language);return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),language:this.getLanguage(),type:\"code\",version:1}}insertNewAfter(t,e=!0){const n=this.getChildren(),r=n.length;if(r>=2&&\"\\n\"===n[r-1].getTextContent()&&\"\\n\"===n[r-2].getTextContent()&&t.isCollapsed()&&t.anchor.key===this.__key&&t.anchor.offset===r){n[r-1].remove(),n[r-2].remove();const t=i();return this.insertAfter(t,e),t}const{anchor:o,focus:a}=t,g=(o.isBefore(a)?o:a).getNode();if(s(g)){let t=Z(g);const e=[];for(;;)if(l(t))e.push(u()),t=t.getNextSibling();else{if(!Y(t))break;{let n=0;const r=t.getTextContent(),o=t.getTextContentSize();for(;n<o&&\" \"===r[n];)n++;if(0!==n&&e.push(V(\" \".repeat(n))),n!==o)break;t=t.getNextSibling()}}const n=g.splitText(o.offset)[0],r=0===o.offset?0:1,i=n.getIndexWithinParent()+r,s=g.getParentOrThrow(),a=[c(),...e];s.splice(i,0,a);const f=e[e.length-1];f?f.select():0===o.offset?n.selectPrevious():n.getNextSibling().selectNext(0,0)}if(D(g)){const{offset:e}=t.anchor;g.splice(e,0,[c()]),g.select(e+1,e+1)}return null}canIndent(){return!1}collapseAtStart(){const t=i();return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}setLanguage(t){const e=this.getWritable();e.__language=t,e.__isSyntaxHighlightSupported=k(t)}getLanguage(){return this.getLatest().__language}getIsSyntaxHighlightSupported(){return this.getLatest().__isSyntaxHighlightSupported}}function H(t){return a(new M(t))}function D(t){return t instanceof M}function z(t){return{node:H(t.getAttribute(A))}}function E(t){const e=t,n=J(e);return n||function(t){let e=t.parentElement;for(;null!==e;){if(J(e))return!0;e=e.parentElement}return!1}(e)?{node:n?H():null}:{node:null}}function B(){return{node:H()}}function I(){return{node:null}}function J(t){return null!==t.style.fontFamily.match(\"monospace\")}function R(t){return t.classList.contains(\"js-file-line-container\")}const F=\"javascript\",K={c:\"C\",clike:\"C-like\",cpp:\"C++\",css:\"CSS\",html:\"HTML\",java:\"Java\",js:\"JavaScript\",markdown:\"Markdown\",objc:\"Objective-C\",plain:\"Plain Text\",powershell:\"PowerShell\",py:\"Python\",rust:\"Rust\",sql:\"SQL\",swift:\"Swift\",typescript:\"TypeScript\",xml:\"XML\"},q={cpp:\"cpp\",java:\"java\",javascript:\"js\",md:\"markdown\",plaintext:\"plain\",python:\"py\",text:\"plain\",ts:\"typescript\"};function U(t){return q[t]||t}function W(t){const e=U(t);return K[e]||e}const $=()=>F,Q=()=>Object.keys(window.Prism.languages).filter((t=>\"function\"!=typeof window.Prism.languages[t])).sort();class X extends g{constructor(t,e,n){super(t,n),this.__highlightType=e}static getType(){return\"code-highlight\"}static clone(t){return new X(t.__text,t.__highlightType||void 0,t.__key)}getHighlightType(){return this.getLatest().__highlightType}canHaveFormat(){return!1}createDOM(t){const n=super.createDOM(t),r=G(t.theme,this.__highlightType);return e(n,r),n}updateDOM(t,r,o){const i=super.updateDOM(t,r,o),s=G(o.theme,t.__highlightType),l=G(o.theme,this.__highlightType);return s!==l&&(s&&n(r,s),l&&e(r,l)),i}static importJSON(t){const e=V(t.text,t.highlightType);return e.setFormat(t.format),e.setDetail(t.detail),e.setMode(t.mode),e.setStyle(t.style),e}exportJSON(){return{...super.exportJSON(),highlightType:this.getHighlightType(),type:\"code-highlight\",version:1}}setFormat(t){return this}isParentRequired(){return!0}createParentElementNode(){return H()}}function G(t,e){return e&&t&&t.codeHighlight&&t.codeHighlight[e]}function V(t,e){return a(new X(t,e))}function Y(t){return t instanceof X}function Z(t){let e=t,n=t;for(;Y(n)||l(n);)e=n,n=n.getPreviousSibling();return e}function tt(t){let e=t,n=t;for(;Y(n)||l(n);)e=n,n=n.getNextSibling();return e}const et={defaultLanguage:F,tokenize(t,e){return window.Prism.tokenize(t,window.Prism.languages[e||\"\"]||window.Prism.languages[this.defaultLanguage])}};function nt(t,e){let n=null,r=null,o=t,i=e,s=t.getTextContent();for(;;){if(0===i){if(o=o.getPreviousSibling(),null===o)break;if(Y(o)||l(o)||f(o)||P(167),f(o)){n={node:o,offset:1};break}i=Math.max(0,o.getTextContentSize()-1),s=o.getTextContent()}else i--;const t=s[i];Y(o)&&\" \"!==t&&(r={node:o,offset:i})}if(null!==r)return r;let u=null;if(e<t.getTextContentSize())Y(t)&&(u=t.getTextContent()[e]);else{const e=t.getNextSibling();Y(e)&&(u=e.getTextContent()[0])}if(null!==u&&\" \"!==u)return n;{const r=function(t,e){let n=t,r=e,o=t.getTextContent(),i=t.getTextContentSize();for(;;){if(!Y(n)||r===i){if(n=n.getNextSibling(),null===n||f(n))return null;Y(n)&&(r=0,o=n.getTextContent(),i=n.getTextContentSize())}if(Y(n)){if(\" \"!==o[r])return{node:n,offset:r};r++}}}(t,e);return null!==r?r:n}}function rt(t){const e=tt(t);return f(e)&&P(168),e}function ot(t,e,n){const r=t.getParent();D(r)?lt(r,e,n):Y(t)&&t.replace(p(t.__text))}function it(t,e){const n=e.getElementByKey(t.getKey());if(null===n)return;const r=t.getChildren(),o=r.length;if(o===n.__cachedChildrenLength)return;n.__cachedChildrenLength=o;let i=\"1\",s=1;for(let t=0;t<o;t++)f(r[t])&&(i+=\"\\n\"+ ++s);n.setAttribute(\"data-gutter\",i)}const st=new Set;function lt(t,e,n){const r=t.getKey();st.has(r)||(st.add(r),void 0===t.getLanguage()&&t.setLanguage(n.defaultLanguage),e.update((()=>{!function(t,e){const n=h(t);if(!D(n)||!n.isAttached())return;const r=d();if(!m(r))return void e();const o=r.anchor,i=o.offset,l=\"element\"===o.type&&f(n.getChildAtIndex(o.offset-1));let u=0;if(!l){const t=o.getNode();u=i+t.getPreviousSiblings().reduce(((t,e)=>t+e.getTextContentSize()),0)}if(!e())return;if(l)return void o.getNode().select(i,i);n.getChildren().some((t=>{const e=s(t);if(e||f(t)){const n=t.getTextContentSize();if(e&&n>=u)return t.select(u,u),!0;u-=n}return!1}))}(r,(()=>{const e=h(r);if(!D(e)||!e.isAttached())return!1;const o=e.getTextContent(),i=ut(n.tokenize(o,e.getLanguage()||n.defaultLanguage)),s=function(t,e){let n=0;for(;n<t.length&&ct(t[n],e[n]);)n++;const r=t.length,o=e.length,i=Math.min(r,o)-n;let s=0;for(;s<i;)if(s++,!ct(t[r-s],e[o-s])){s--;break}const l=n,u=r-s,c=e.slice(n,o-s);return{from:l,nodesForReplacement:c,to:u}}(e.getChildren(),i),{from:l,to:u,nodesForReplacement:c}=s;return!(l===u&&!c.length)&&(t.splice(l,u-l,c),!0)}))}),{onUpdate:()=>{st.delete(r)},skipTransforms:!0}))}function ut(t,e){const n=[];for(const r of t)if(\"string\"==typeof r){const t=r.split(/(\\n|\\t)/),o=t.length;for(let r=0;r<o;r++){const o=t[r];\"\\n\"===o||\"\\r\\n\"===o?n.push(c()):\"\\t\"===o?n.push(u()):o.length>0&&n.push(V(o,e))}}else{const{content:t}=r;\"string\"==typeof t?n.push(...ut([t],r.type)):Array.isArray(t)&&n.push(...ut(t,r.type))}return n}function ct(t,e){return Y(t)&&Y(e)&&t.__text===e.__text&&t.__highlightType===e.__highlightType||l(t)&&l(e)||f(t)&&f(e)}function at(t){if(!m(t))return!1;const e=t.anchor.getNode(),n=t.focus.getNode();if(e.is(n)&&D(e))return!0;const r=e.getParent();return D(r)&&r.is(n.getParent())}function gt(t){const e=t.getNodes(),n=[[]];if(1===e.length&&D(e[0]))return n;let r=n[0];for(let t=0;t<e.length;t++){const o=e[t];Y(o)||l(o)||f(o)||P(169),f(o)?0!==t&&r.length>0&&(r=[],n.push(r)):r.push(o)}return n}function ft(t){const e=d();if(!m(e)||!at(e))return!1;const n=gt(e),r=n.length;if(n.length>1){for(let e=0;e<r;e++){const r=n[e];if(r.length>0){let n=r[0];0===e&&(n=Z(n)),null!==n&&(t===y?n.insertBefore(u()):l(n)&&n.remove())}}return!0}const o=e.getNodes()[0];if(D(o)||Y(o)||l(o)||f(o)||P(171),D(o))return t===y&&e.insertNodes([u()]),!0;const i=Z(o);return null===i&&P(172),t===y?f(i)?i.insertAfter(u()):i.insertBefore(u()):l(i)&&i.remove(),!0}function pt(t,e){const n=d();if(!m(n))return!1;const{anchor:r,focus:o}=n,i=r.offset,s=o.offset,u=r.getNode(),c=o.getNode(),a=t===_;if(!at(n)||!Y(u)&&!l(u)||!Y(c)&&!l(c))return!1;if(!e.altKey){if(n.isCollapsed()){const t=u.getParentOrThrow();if(a&&0===i&&null===u.getPreviousSibling()){if(null===t.getPreviousSibling())return t.selectPrevious(),e.preventDefault(),!0}else if(!a&&i===u.getTextContentSize()&&null===u.getNextSibling()){if(null===t.getNextSibling())return t.selectNext(),e.preventDefault(),!0}}return!1}let g,p;if(u.isBefore(c)?(g=Z(u),p=tt(c)):(g=Z(c),p=tt(u)),null==g||null==p)return!1;const h=g.getNodesBetween(p);for(let t=0;t<h.length;t++){const e=h[t];if(!Y(e)&&!l(e)&&!f(e))return!1}e.preventDefault(),e.stopPropagation();const y=a?g.getPreviousSibling():p.getNextSibling();if(!f(y))return!0;const x=a?y.getPreviousSibling():y.getNextSibling();if(null==x)return!0;const S=Y(x)||l(x)||f(x)?a?Z(x):tt(x):null;let v=null!=S?S:x;return y.remove(),h.forEach((t=>t.remove())),t===_?(h.forEach((t=>v.insertBefore(t))),v.insertBefore(y)):(v.insertAfter(y),v=y,h.forEach((t=>{v.insertAfter(t),v=t}))),n.setTextNodeRange(u,i,c,s),!0}function ht(t,e){const n=d();if(!m(n))return!1;const{anchor:r,focus:o}=n,i=r.getNode(),s=o.getNode(),u=t===v;if(!Y(i)&&!l(i)||!Y(s)&&!l(s))return!1;if(u){const t=nt(s,o.offset);if(null!==t){const{node:e,offset:r}=t;f(e)?e.selectNext(0,0):n.setTextNodeRange(e,r,e,r)}else s.getParentOrThrow().selectStart()}else{rt(s).select()}return e.preventDefault(),e.stopPropagation(),!0}function dt(t,e){if(!t.hasNodes([M,X]))throw new Error(\"CodeHighlightPlugin: CodeNode or CodeHighlightNode not registered on editor\");return null==e&&(e=et),r(t.registerMutationListener(M,(e=>{t.update((()=>{for(const[n,r]of e)if(\"destroyed\"!==r){const e=h(n);null!==e&&it(e,t)}}))}),{skipInitialization:!1}),t.registerNodeTransform(M,(n=>lt(n,t,e))),t.registerNodeTransform(g,(n=>ot(n,t,e))),t.registerNodeTransform(X,(n=>ot(n,t,e))),t.registerCommand(C,(e=>{const n=function(t){const e=d();if(!m(e)||!at(e))return null;const n=t?x:y,r=t?x:S;if(gt(e).length>1)return n;const o=e.getNodes()[0];if(D(o)||Y(o)||l(o)||f(o)||P(170),D(o))return n;const i=Z(o),s=tt(o),u=e.anchor,c=e.focus;let a,g;return c.isBefore(u)?(a=c,g=u):(a=u,g=c),null!==i&&null!==s&&a.key===i.getKey()&&0===a.offset&&g.key===s.getKey()&&g.offset===s.getTextContentSize()?n:r}(e.shiftKey);return null!==n&&(e.preventDefault(),t.dispatchCommand(n,void 0),!0)}),T),t.registerCommand(S,(()=>!!at(d())&&(b([u()]),!0)),T),t.registerCommand(y,(t=>ft(y)),T),t.registerCommand(x,(t=>ft(x)),T),t.registerCommand(_,(t=>pt(_,t)),T),t.registerCommand(j,(t=>pt(j,t)),T),t.registerCommand(N,(t=>ht(N,t)),T),t.registerCommand(v,(t=>ht(v,t)),T))}export{V as $createCodeHighlightNode,H as $createCodeNode,Y as $isCodeHighlightNode,D as $isCodeNode,K as CODE_LANGUAGE_FRIENDLY_NAME_MAP,q as CODE_LANGUAGE_MAP,X as CodeHighlightNode,M as CodeNode,F as DEFAULT_CODE_LANGUAGE,et as PrismTokenizer,Q as getCodeLanguages,$ as getDefaultCodeLanguage,rt as getEndOfCodeInLine,Z as getFirstCodeNodeOfLine,W as getLanguageFriendlyName,tt as getLastCodeNodeOfLine,nt as getStartOfCodeInLine,U as normalizeCodeLang,dt as registerCodeHighlighting};\n","import { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n CAN_REDO_COMMAND,\n CAN_UNDO_COMMAND,\n REDO_COMMAND,\n UNDO_COMMAND,\n SELECTION_CHANGE_COMMAND,\n FORMAT_TEXT_COMMAND,\n FORMAT_ELEMENT_COMMAND,\n $getSelection,\n $isRangeSelection,\n $createParagraphNode,\n $getNodeByKey\n} from \"lexical\";\nimport { $isLinkNode, TOGGLE_LINK_COMMAND } from \"@lexical/link\";\nimport {\n $isParentElementRTL,\n $wrapNodes,\n $isAtNodeEnd\n} from \"@lexical/selection\";\nimport { $getNearestNodeOfType, mergeRegister } from \"@lexical/utils\";\nimport {\n INSERT_ORDERED_LIST_COMMAND,\n INSERT_UNORDERED_LIST_COMMAND,\n REMOVE_LIST_COMMAND,\n $isListNode,\n ListNode\n} from \"@lexical/list\";\nimport { createPortal } from \"react-dom\";\nimport {\n $createHeadingNode,\n $createQuoteNode,\n $isHeadingNode\n} from \"@lexical/rich-text\";\nimport {\n $createCodeNode,\n $isCodeNode,\n getDefaultCodeLanguage,\n getCodeLanguages\n} from \"@lexical/code\";\n\nconst LowPriority = 1;\n\nconst supportedBlockTypes = new Set([\n \"paragraph\",\n \"quote\",\n \"code\",\n \"h1\",\n \"h2\",\n \"ul\",\n \"ol\"\n]);\n\nconst blockTypeToBlockName = {\n code: \"Code Block\",\n h1: \"Large Heading\",\n h2: \"Small Heading\",\n h3: \"Heading\",\n h4: \"Heading\",\n h5: \"Heading\",\n ol: \"Numbered List\",\n paragraph: \"Normal\",\n quote: \"Quote\",\n ul: \"Bulleted List\"\n};\n\nfunction Divider() {\n return <div className=\"divider\" />;\n}\n\nfunction positionEditorElement(editor, rect) {\n if (rect === null) {\n editor.style.opacity = \"0\";\n editor.style.top = \"-1000px\";\n editor.style.left = \"-1000px\";\n } else {\n editor.style.opacity = \"1\";\n editor.style.top = `${rect.top + rect.height + window.pageYOffset + 10}px`;\n editor.style.left = `${\n rect.left + window.pageXOffset - editor.offsetWidth / 2 + rect.width / 2\n }px`;\n }\n}\n\nfunction FloatingLinkEditor({ editor }) {\n const editorRef = useRef(null);\n const inputRef = useRef(null);\n const mouseDownRef = useRef(false);\n const [linkUrl, setLinkUrl] = useState(\"\");\n const [isEditMode, setEditMode] = useState(false);\n const [lastSelection, setLastSelection] = useState(null);\n\n const updateLinkEditor = useCallback(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const node = getSelectedNode(selection);\n const parent = node.getParent();\n if ($isLinkNode(parent)) {\n setLinkUrl(parent.getURL());\n } else if ($isLinkNode(node)) {\n setLinkUrl(node.getURL());\n } else {\n setLinkUrl(\"\");\n }\n }\n const editorElem = editorRef.current;\n const nativeSelection = window.getSelection();\n const activeElement = document.activeElement;\n\n if (editorElem === null) {\n return;\n }\n\n const rootElement = editor.getRootElement();\n if (\n selection !== null &&\n !nativeSelection.isCollapsed &&\n rootElement !== null &&\n rootElement.contains(nativeSelection.anchorNode)\n ) {\n const domRange = nativeSelection.getRangeAt(0);\n let rect;\n if (nativeSelection.anchorNode === rootElement) {\n let inner = rootElement;\n while (inner.firstElementChild != null) {\n inner = inner.firstElementChild;\n }\n rect = inner.getBoundingClientRect();\n } else {\n rect = domRange.getBoundingClientRect();\n }\n\n if (!mouseDownRef.current) {\n positionEditorElement(editorElem, rect);\n }\n setLastSelection(selection);\n } else if (!activeElement || activeElement.className !== \"link-input\") {\n positionEditorElement(editorElem, null);\n setLastSelection(null);\n setEditMode(false);\n setLinkUrl(\"\");\n }\n\n return true;\n }, [editor]);\n\n useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n updateLinkEditor();\n });\n }),\n\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n () => {\n updateLinkEditor();\n return true;\n },\n LowPriority\n )\n );\n }, [editor, updateLinkEditor]);\n\n useEffect(() => {\n editor.getEditorState().read(() => {\n updateLinkEditor();\n });\n }, [editor, updateLinkEditor]);\n\n useEffect(() => {\n if (isEditMode && inputRef.current) {\n inputRef.current.focus();\n }\n }, [isEditMode]);\n\n return (\n <div ref={editorRef} className=\"link-editor\">\n {isEditMode ? (\n <input\n ref={inputRef}\n className=\"link-input\"\n value={linkUrl}\n onChange={(event) => {\n setLinkUrl(event.target.value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n if (lastSelection !== null) {\n if (linkUrl !== \"\") {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, linkUrl);\n }\n setEditMode(false);\n }\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n setEditMode(false);\n }\n }}\n />\n ) : (\n <>\n <div className=\"link-input\">\n <a href={linkUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {linkUrl}\n </a>\n <div\n className=\"link-edit\"\n role=\"button\"\n tabIndex={0}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n setEditMode(true);\n }}\n />\n </div>\n </>\n )}\n </div>\n );\n}\n\nfunction Select({ onChange, className, options, value }) {\n return (\n <select className={className} onChange={onChange} value={value}>\n <option hidden={true} value=\"\" />\n {options.map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n );\n}\n\nfunction getSelectedNode(selection) {\n const anchor = selection.anchor;\n const focus = selection.focus;\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n if (anchorNode === focusNode) {\n return anchorNode;\n }\n const isBackward = selection.isBackward();\n if (isBackward) {\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\n } else {\n return $isAtNodeEnd(anchor) ? focusNode : anchorNode;\n }\n}\n\nfunction BlockOptionsDropdownList({\n editor,\n blockType,\n toolbarRef,\n setShowBlockOptionsDropDown\n}) {\n const dropDownRef = useRef(null);\n\n useEffect(() => {\n const toolbar = toolbarRef.current;\n const dropDown = dropDownRef.current;\n\n if (toolbar !== null && dropDown !== null) {\n const { top, left } = toolbar.getBoundingClientRect();\n dropDown.style.top = `${top + 40}px`;\n dropDown.style.left = `${left}px`;\n }\n }, [dropDownRef, toolbarRef]);\n\n useEffect(() => {\n const dropDown = dropDownRef.current;\n const toolbar = toolbarRef.current;\n\n if (dropDown !== null && toolbar !== null) {\n const handle = (event) => {\n const target = event.target;\n\n if (!dropDown.contains(target) && !toolbar.contains(target)) {\n setShowBlockOptionsDropDown(false);\n }\n };\n document.addEventListener(\"click\", handle);\n\n return () => {\n document.removeEventListener(\"click\", handle);\n };\n }\n }, [dropDownRef, setShowBlockOptionsDropDown, toolbarRef]);\n\n const formatParagraph = () => {\n if (blockType !== \"paragraph\") {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createParagraphNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatLargeHeading = () => {\n if (blockType !== \"h1\") {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode(\"h1\"));\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatSmallHeading = () => {\n if (blockType !== \"h2\") {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createHeadingNode(\"h2\"));\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatBulletList = () => {\n if (blockType !== \"ul\") {\n editor.dispatchCommand(INSERT_UNORDERED_LIST_COMMAND);\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND);\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatNumberedList = () => {\n if (blockType !== \"ol\") {\n editor.dispatchCommand(INSERT_ORDERED_LIST_COMMAND);\n } else {\n editor.dispatchCommand(REMOVE_LIST_COMMAND);\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatQuote = () => {\n if (blockType !== \"quote\") {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createQuoteNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n const formatCode = () => {\n if (blockType !== \"code\") {\n editor.update(() => {\n const selection = $getSelection();\n\n if ($isRangeSelection(selection)) {\n $wrapNodes(selection, () => $createCodeNode());\n }\n });\n }\n setShowBlockOptionsDropDown(false);\n };\n\n return (\n <div className=\"dropdown\" ref={dropDownRef}>\n <button className=\"item\" onClick={formatParagraph}>\n <span className=\"icon paragraph\" />\n <span className=\"text\">Normal</span>\n {blockType === \"paragraph\" && <span className=\"active\" />}\n </button>\n <button className=\"item\" onClick={formatLargeHeading}>\n <span className=\"icon large-heading\" />\n <span className=\"text\">Large Heading</span>\n {blockType === \"h1\" && <span className=\"active\" />}\n </button>\n <button className=\"item\" onClick={formatSmallHeading}>\n <span className=\"icon small-heading\" />\n <span className=\"text\">Small Heading</span>\n {blockType === \"h2\" && <span className=\"active\" />}\n </button>\n <button className=\"item\" onClick={formatBulletList}>\n <span className=\"icon bullet-list\" />\n <span className=\"text\">Bullet List</span>\n {blockType === \"ul\" && <span className=\"active\" />}\n </button>\n <button className=\"item\" onClick={formatNumberedList}>\n <span className=\"icon numbered-list\" />\n <span className=\"text\">Numbered List</span>\n {blockType === \"ol\" && <span className=\"active\" />}\n </button>\n <button className=\"item\" onClick={formatQuote}>\n <span className=\"icon quote\" />\n <span className=\"text\">Quote</span>\n {blockType === \"quote\" && <span className=\"active\" />}\n </button>\n <button className=\"item\" onClick={formatCode}>\n <span className=\"icon code\" />\n <span className=\"text\">Code Block</span>\n {blockType === \"code\" && <span className=\"active\" />}\n </button>\n </div>\n );\n}\n\nexport default function ToolbarPlugin() {\n const [editor] = useLexicalComposerContext();\n const toolbarRef = useRef(null);\n const [canUndo, setCanUndo] = useState(false);\n const [canRedo, setCanRedo] = useState(false);\n const [blockType, setBlockType] = useState(\"paragraph\");\n const [selectedElementKey, setSelectedElementKey] = useState(null);\n const [showBlockOptionsDropDown, setShowBlockOptionsDropDown] = useState(\n false\n );\n const [codeLanguage, setCodeLanguage] = useState(\"\");\n const [isRTL, setIsRTL] = useState(false);\n const [isLink, setIsLink] = useState(false);\n const [isBold, setIsBold] = useState(false);\n const [isItalic, setIsItalic] = useState(false);\n const [isUnderline, setIsUnderline] = useState(false);\n const [isStrikethrough, setIsStrikethrough] = useState(false);\n const [isCode, setIsCode] = useState(false);\n\n const updateToolbar = useCallback(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n const anchorNode = selection.anchor.getNode();\n const element =\n anchorNode.getKey() === \"root\"\n ? anchorNode\n : anchorNode.getTopLevelElementOrThrow();\n const elementKey = element.getKey();\n const elementDOM = editor.getElementByKey(elementKey);\n if (elementDOM !== null) {\n setSelectedElementKey(elementKey);\n if ($isListNode(element)) {\n const parentList = $getNearestNodeOfType(anchorNode, ListNode);\n const type = parentList ? parentList.getTag() : element.getTag();\n setBlockType(type);\n } else {\n const type = $isHeadingNode(element)\n ? element.getTag()\n : element.getType();\n setBlockType(type);\n if ($isCodeNode(element)) {\n setCodeLanguage(element.getLanguage() || getDefaultCodeLanguage());\n }\n }\n }\n // Update text format\n setIsBold(selection.hasFormat(\"bold\"));\n setIsItalic(selection.hasFormat(\"italic\"));\n setIsUnderline(selection.hasFormat(\"underline\"));\n setIsStrikethrough(selection.hasFormat(\"strikethrough\"));\n setIsCode(selection.hasFormat(\"code\"));\n setIsRTL($isParentElementRTL(selection));\n\n // Update links\n const node = getSelectedNode(selection);\n const parent = node.getParent();\n if ($isLinkNode(parent) || $isLinkNode(node)) {\n setIsLink(true);\n } else {\n setIsLink(false);\n }\n }\n }, [editor]);\n\n useEffect(() => {\n return mergeRegister(\n editor.registerUpdateListener(({ editorState }) => {\n editorState.read(() => {\n updateToolbar();\n });\n }),\n editor.registerCommand(\n SELECTION_CHANGE_COMMAND,\n (_payload, newEditor) => {\n updateToolbar();\n return false;\n },\n LowPriority\n ),\n editor.registerCommand(\n CAN_UNDO_COMMAND,\n (payload) => {\n setCanUndo(payload);\n return false;\n },\n LowPriority\n ),\n editor.registerCommand(\n CAN_REDO_COMMAND,\n (payload) => {\n setCanRedo(payload);\n return false;\n },\n LowPriority\n )\n );\n }, [editor, updateToolbar]);\n\n const codeLanguges = useMemo(() => getCodeLanguages(), []);\n const onCodeLanguageSelect = useCallback(\n (e) => {\n editor.update(() => {\n if (selectedElementKey !== null) {\n const node = $getNodeByKey(selectedElementKey);\n if ($isCodeNode(node)) {\n node.setLanguage(e.target.value);\n }\n }\n });\n },\n [editor, selectedElementKey]\n );\n\n const insertLink = useCallback(() => {\n if (!isLink) {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, \"https://\");\n } else {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);\n }\n }, [editor, isLink]);\n\n return (\n <div className=\"toolbar\" ref={toolbarRef}>\n <button\n disabled={!canUndo}\n onClick={() => {\n editor.dispatchCommand(UNDO_COMMAND);\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Undo\"\n >\n <i className=\"format undo\" />\n </button>\n <button\n disabled={!canRedo}\n onClick={() => {\n editor.dispatchCommand(REDO_COMMAND);\n }}\n className=\"toolbar-item\"\n aria-label=\"Redo\"\n >\n <i className=\"format redo\" />\n </button>\n <Divider />\n {supportedBlockTypes.has(blockType) && (\n <>\n <button\n className=\"toolbar-item block-controls\"\n onClick={() =>\n setShowBlockOptionsDropDown(!showBlockOptionsDropDown)\n }\n aria-label=\"Formatting Options\"\n >\n <span className={\"icon block-type \" + blockType} />\n <span className=\"text\">{blockTypeToBlockName[blockType]}</span>\n <i className=\"chevron-down\" />\n </button>\n {showBlockOptionsDropDown &&\n createPortal(\n <BlockOptionsDropdownList\n editor={editor}\n blockType={blockType}\n toolbarRef={toolbarRef}\n setShowBlockOptionsDropDown={setShowBlockOptionsDropDown}\n />,\n document.body\n )}\n <Divider />\n </>\n )}\n {blockType === \"code\" ? (\n <>\n <Select\n className=\"toolbar-item code-language\"\n onChange={onCodeLanguageSelect}\n options={codeLanguges}\n value={codeLanguage}\n />\n <i className=\"chevron-down inside\" />\n </>\n ) : (\n <>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"bold\");\n }}\n className={\"toolbar-item spaced \" + (isBold ? \"active\" : \"\")}\n aria-label=\"Format Bold\"\n >\n <i className=\"format bold\" />\n </button>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"italic\");\n }}\n className={\"toolbar-item spaced \" + (isItalic ? \"active\" : \"\")}\n aria-label=\"Format Italics\"\n >\n <i className=\"format italic\" />\n </button>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"underline\");\n }}\n className={\"toolbar-item spaced \" + (isUnderline ? \"active\" : \"\")}\n aria-label=\"Format Underline\"\n >\n <i className=\"format underline\" />\n </button>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"strikethrough\");\n }}\n className={\n \"toolbar-item spaced \" + (isStrikethrough ? \"active\" : \"\")\n }\n aria-label=\"Format Strikethrough\"\n >\n <i className=\"format strikethrough\" />\n </button>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"code\");\n }}\n className={\"toolbar-item spaced \" + (isCode ? \"active\" : \"\")}\n aria-label=\"Insert Code\"\n >\n <i className=\"format code\" />\n </button>\n <button\n onClick={insertLink}\n className={\"toolbar-item spaced \" + (isLink ? \"active\" : \"\")}\n aria-label=\"Insert Link\"\n >\n <i className=\"format link\" />\n </button>\n {isLink &&\n createPortal(<FloatingLinkEditor editor={editor} />, document.body)}\n <Divider />\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"left\");\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Left Align\"\n >\n <i className=\"format left-align\" />\n </button>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"center\");\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Center Align\"\n >\n <i className=\"format center-align\" />\n </button>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"right\");\n }}\n className=\"toolbar-item spaced\"\n aria-label=\"Right Align\"\n >\n <i className=\"format right-align\" />\n </button>\n <button\n onClick={() => {\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"justify\");\n }}\n className=\"toolbar-item\"\n aria-label=\"Justify Align\"\n >\n <i className=\"format justify-align\" />\n </button>{\" \"}\n </>\n )}\n </div>\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{LinkNode as t,TOGGLE_LINK_COMMAND as r,$toggleLink as e}from\"@lexical/link\";import{useLexicalComposerContext as o}from\"@lexical/react/LexicalComposerContext\";import{mergeRegister as i,objectKlassEquals as n}from\"@lexical/utils\";import{COMMAND_PRIORITY_LOW as l,PASTE_COMMAND as a,$getSelection as m,$isRangeSelection as s,$isElementNode as c}from\"lexical\";import{useEffect as d}from\"react\";function u({validateUrl:u}){const[p]=o();return d((()=>{if(!p.hasNodes([t]))throw new Error(\"LinkPlugin: LinkNode not registered on editor\");return i(p.registerCommand(r,(t=>{if(null===t)return e(t),!0;if(\"string\"==typeof t)return!(void 0!==u&&!u(t))&&(e(t),!0);{const{url:r,target:o,rel:i,title:n}=t;return e(r,{rel:i,target:o,title:n}),!0}}),l),void 0!==u?p.registerCommand(a,(t=>{const e=m();if(!s(e)||e.isCollapsed()||!n(t,ClipboardEvent))return!1;const o=t;if(null===o.clipboardData)return!1;const i=o.clipboardData.getData(\"text\");return!!u(i)&&(!e.getNodes().some((t=>c(t)))&&(p.dispatchCommand(r,i),t.preventDefault(),!0))}),l):()=>{})}),[p,u]),null}export{u as LinkPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{INSERT_ORDERED_LIST_COMMAND as r,insertList as e,INSERT_UNORDERED_LIST_COMMAND as o,REMOVE_LIST_COMMAND as t,removeList as i,$handleListInsertParagraph as m,ListNode as n,ListItemNode as l}from\"@lexical/list\";import{useLexicalComposerContext as s}from\"@lexical/react/LexicalComposerContext\";import{useEffect as a}from\"react\";import{mergeRegister as c}from\"@lexical/utils\";import{COMMAND_PRIORITY_LOW as d,INSERT_PARAGRAPH_COMMAND as f}from\"lexical\";function u(){const[u]=s();return a((()=>{if(!u.hasNodes([n,l]))throw new Error(\"ListPlugin: ListNode and/or ListItemNode not registered on editor\")}),[u]),function(n){a((()=>c(n.registerCommand(r,(()=>(e(n,\"number\"),!0)),d),n.registerCommand(o,(()=>(e(n,\"bullet\"),!0)),d),n.registerCommand(t,(()=>(i(n),!0)),d),n.registerCommand(f,(()=>!!m()),d))),[n])}(u),null}export{u as ListPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$isParagraphNode as t,$isTextNode as e,$getRoot as n,$isElementNode as o,$isDecoratorNode as r,$isLineBreakNode as i,$getSelection as s,$createTextNode as c,$createParagraphNode as l,$createLineBreakNode as a,$isRangeSelection as f,$isRootOrShadowRoot as u,$createRangeSelection as g,$setSelection as p}from\"lexical\";import{$createCodeNode as d,$isCodeNode as m,CodeNode as h}from\"@lexical/code\";import{$isListNode as x,$isListItemNode as T,ListNode as C,ListItemNode as y,$createListItemNode as v,$createListNode as w}from\"@lexical/list\";import{$isQuoteNode as b,HeadingNode as S,$isHeadingNode as $,QuoteNode as E,$createQuoteNode as F,$createHeadingNode as P}from\"@lexical/rich-text\";import{$findMatchingParent as k}from\"@lexical/utils\";import{LinkNode as M,$isLinkNode as _,$createLinkNode as L}from\"@lexical/link\";function R(t,e){const n={};for(const o of t){const t=e(o);n[t]?n[t].push(o):n[t]=[o]}return n}function N(t){const e=R(t,(t=>t.type));return{element:e.element||[],textFormat:e[\"text-format\"]||[],textMatch:e[\"text-match\"]||[]}}const j=/[!-/:-@[-`{-~\\s]/,z=/^\\s{0,3}$/;function A(n){if(!t(n))return!1;const o=n.getFirstChild();return null==o||1===n.getChildrenSize()&&e(o)&&z.test(o.getTextContent())}function B(t,e,n,i){for(const o of e){const e=o.export(t,(t=>I(t,n,i)));if(null!=e)return e}return o(t)?I(t,n,i):r(t)?t.getTextContent():null}function I(t,n,s){const c=[],l=t.getChildren();t:for(const t of l){for(const e of s){const o=e.export(t,(t=>I(t,n,s)),((t,e)=>U(t,e,n)));if(null!=o){c.push(o);continue t}}i(t)?c.push(\"\\n\"):e(t)?c.push(U(t,t.getTextContent(),n)):o(t)?c.push(I(t,n,s)):r(t)&&c.push(t.getTextContent())}return c.join(\"\")}function U(t,e,n){const o=e.trim();let r=o;const i=new Set;for(const e of n){const n=e.format[0],o=e.tag;if(O(t,n)&&!i.has(n)){i.add(n);O(D(t,!0),n)||(r=o+r);O(D(t,!1),n)||(r+=o)}}return e.replace(o,(()=>r))}function D(t,n){let r=n?t.getPreviousSibling():t.getNextSibling();if(!r){const e=t.getParentOrThrow();e.isInline()&&(r=n?e.getPreviousSibling():e.getNextSibling())}for(;r;){if(o(r)){if(!r.isInline())break;const t=n?r.getLastDescendant():r.getFirstDescendant();if(e(t))return t;r=n?r.getPreviousSibling():r.getNextSibling()}if(e(r))return r;if(!o(r))return null}return null}function O(t,n){return e(t)&&t.hasFormat(n)}const K=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,V=K&&\"documentMode\"in document?document.documentMode:null;K&&\"InputEvent\"in window&&!V&&new window.InputEvent(\"input\");const W=K&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),q=K&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,G=K&&/^(?=.*Chrome).*/i.test(navigator.userAgent),H=K&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!G,J=/^[ \\t]*```(\\w{1,10})?\\s?$/;function Q(t,e=!1){const o=N(t),r=function(t){const e={},n={},o=[],r=\"(?<![\\\\\\\\])\";for(const r of t){const{tag:t}=r;e[t]=r;const i=t.replace(/(\\*|\\^|\\+)/g,\"\\\\$1\");o.push(i),n[t]=W||q||H?new RegExp(`(${i})(?![${i}\\\\s])(.*?[^${i}\\\\s])${i}(?!${i})`):new RegExp(`(?<![\\\\\\\\${i}])(${i})((\\\\\\\\${i})?.*?[^${i}\\\\s](\\\\\\\\${i})?)((?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))(${i})(?![\\\\\\\\${i}])`)}return{fullMatchRegExpByTag:n,openTagsRegExp:new RegExp((W||q||H?\"\":`${r}`)+\"(\"+o.join(\"|\")+\")\",\"g\"),transformersByTag:e}}(o.textFormat);return(t,i)=>{const c=t.split(\"\\n\"),l=c.length,a=i||n();a.clear();for(let t=0;t<l;t++){const e=c[t],[n,i]=Y(c,t,a);null==n?X(e,a,o.element,r,o.textMatch):t=i}const f=a.getChildren();for(const t of f)!e&&A(t)&&a.getChildrenSize()>1&&t.remove();null!==s()&&a.selectStart()}}function X(e,n,o,r,i){const s=c(e),f=l();f.append(s),n.append(f);for(const{regExp:t,replace:n}of o){const o=e.match(t);if(o){s.setTextContent(e.slice(o[0].length)),n(f,[s],o,!0);break}}if(Z(s,r,i),f.isAttached()&&e.length>0){const e=f.getPreviousSibling();if(t(e)||b(e)||x(e)){let t=e;if(x(e)){const n=e.getLastDescendant();t=null==n?null:k(n,T)}null!=t&&t.getTextContentSize()>0&&(t.splice(t.getChildrenSize(),0,[a(),...f.getChildren()]),f.remove())}}}function Y(t,e,n){const o=t[e].match(J);if(o){let r=e;const i=t.length;for(;++r<i;){if(t[r].match(J)){const i=d(o[1]),s=c(t.slice(e+1,r).join(\"\\n\"));return i.append(s),n.append(i),[i,r]}}}return[null,e]}function Z(t,e,n){const o=t.getTextContent(),r=function(t,e){const n=t.match(e.openTagsRegExp);if(null==n)return null;for(const o of n){const n=o.replace(/^\\s/,\"\"),r=e.fullMatchRegExpByTag[n];if(null==r)continue;const i=t.match(r),s=e.transformersByTag[n];if(null!=i&&null!=s){if(!1!==s.intraword)return i;const{index:e=0}=i,n=t[e-1],o=t[e+i[0].length];if((!n||j.test(n))&&(!o||j.test(o)))return i}}return null}(o,e);if(!r)return void tt(t,n);let i,s,c;if(r[0]===o)i=t;else{const e=r.index||0,n=e+r[0].length;0===e?[i,s]=t.splitText(n):[c,i,s]=t.splitText(e,n)}i.setTextContent(r[2]);const l=e.transformersByTag[r[1]];if(l)for(const t of l.format)i.hasFormat(t)||i.toggleFormat(t);i.hasFormat(\"code\")||Z(i,e,n),c&&Z(c,e,n),s&&Z(s,e,n)}function tt(t,e){let n=t;t:for(;n;){for(const t of e){const o=n.getTextContent().match(t.importRegExp);if(!o)continue;const r=o.index||0,i=r+o[0].length;let s,c;0===r?[s,n]=n.splitText(i):[,s,c]=n.splitText(r,i),c&&tt(c,e),t.replace(s,o);continue t}break}}function et(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var nt=et((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function ot(t,e,n){const o=n.length;for(let r=e;r>=o;r--){const e=r-o;if(rt(t,e,n,0,o)&&\" \"!==t[e+o])return e}return-1}function rt(t,e,n,o,r){for(let i=0;i<r;i++)if(t[e+i]!==n[o+i])return!1;return!0}function it(t,n=Pt){const o=N(n),r=R(o.textFormat,(({tag:t})=>t[t.length-1])),c=R(o.textMatch,(({trigger:t})=>t));for(const e of n){const n=e.type;if(\"element\"===n||\"text-match\"===n){const n=e.dependencies;for(const e of n)t.hasNode(e)||nt(173,e.getType())}}const l=(t,n,l)=>{(function(t,e,n,o){const r=t.getParent();if(!u(r)||t.getFirstChild()!==e)return!1;const i=e.getTextContent();if(\" \"!==i[n-1])return!1;for(const{regExp:r,replace:s}of o){const o=i.match(r);if(o&&o[0].length===n){const r=e.getNextSiblings(),[i,c]=e.splitText(n);return i.remove(),s(t,c?[c,...r]:r,o,!1),!0}}return!1})(t,n,l,o.element)||function(t,e,n){let o=t.getTextContent();const r=n[o[e-1]];if(null==r)return!1;e<o.length&&(o=o.slice(0,e));for(const e of r){const n=o.match(e.regExp);if(null===n)continue;const r=n.index||0,i=r+n[0].length;let s;return 0===r?[s]=t.splitText(i):[,s]=t.splitText(r,i),s.selectNext(0,0),e.replace(s,n),!0}return!1}(n,l,c)||function(t,n,o){const r=t.getTextContent(),c=n-1,l=r[c],a=o[l];if(!a)return!1;for(const n of a){const{tag:o}=n,a=o.length,u=c-a+1;if(a>1&&!rt(r,u,o,0,a))continue;if(\" \"===r[u-1])continue;const d=r[c+1];if(!1===n.intraword&&d&&!j.test(d))continue;const m=t;let h=m,x=ot(r,u,o),T=h;for(;x<0&&(T=T.getPreviousSibling())&&!i(T);)if(e(T)){const t=T.getTextContent();h=T,x=ot(t,t.length,o)}if(x<0)continue;if(h===m&&x+a===u)continue;const C=h.getTextContent();if(x>0&&C[x-1]===l)continue;const y=C[x-1];if(!1===n.intraword&&y&&!j.test(y))continue;const v=m.getTextContent(),w=v.slice(0,u)+v.slice(c+1);m.setTextContent(w);const b=h===m?w:C;h.setTextContent(b.slice(0,x)+b.slice(x+a));const S=s(),$=g();p($);const E=c-a*(h===m?2:1)+1;$.anchor.set(h.__key,x,\"text\"),$.focus.set(m.__key,E,\"text\");for(const t of n.format)$.hasFormat(t)||$.formatText(t);$.anchor.set($.focus.key,$.focus.offset,$.focus.type);for(const t of n.format)$.hasFormat(t)&&$.toggleFormat(t);return f(S)&&($.format=S.format),!0}}(n,l,r)};return t.registerUpdateListener((({tags:n,dirtyLeaves:o,editorState:r,prevEditorState:i})=>{if(n.has(\"collaboration\")||n.has(\"historic\"))return;if(t.isComposing())return;const c=r.read(s),a=i.read(s);if(!f(a)||!f(c)||!c.isCollapsed())return;const u=c.anchor.key,g=c.anchor.offset,p=r._nodeMap.get(u);!e(p)||!o.has(u)||1!==g&&g>a.anchor.offset+1||t.update((()=>{if(p.hasFormat(\"code\"))return;const t=p.getParent();null===t||m(t)||l(t,p,c.anchor.offset)}))}))}const st=t=>(e,n,o)=>{const r=t(o);r.append(...n),e.replace(r),r.select(0,0)};const ct=t=>(e,n,o)=>{const r=e.getPreviousSibling(),i=e.getNextSibling(),s=v(\"check\"===t?\"x\"===o[3]:void 0);if(x(i)&&i.getListType()===t){const t=i.getFirstChild();null!==t?t.insertBefore(s):i.append(s),e.remove()}else if(x(r)&&r.getListType()===t)r.append(s),e.remove();else{const n=w(t,\"number\"===t?Number(o[2]):void 0);n.append(s),e.replace(n)}s.append(...n),s.select(0,0);const c=function(t){const e=t.match(/\\t/g),n=t.match(/ /g);let o=0;return e&&(o+=e.length),n&&(o+=Math.floor(n.length/4)),o}(o[1]);c&&s.setIndent(c)},lt=(t,e,n)=>{const o=[],r=t.getChildren();let i=0;for(const s of r)if(T(s)){if(1===s.getChildrenSize()){const t=s.getFirstChild();if(x(t)){o.push(lt(t,e,n+1));continue}}const r=\" \".repeat(4*n),c=t.getListType(),l=\"number\"===c?`${t.getStart()+i}. `:\"check\"===c?`- [${s.getChecked()?\"x\":\" \"}] `:\"- \";o.push(r+l+e(s)),i++}return o.join(\"\\n\")},at={dependencies:[S],export:(t,e)=>{if(!$(t))return null;const n=Number(t.getTag().slice(1));return\"#\".repeat(n)+\" \"+e(t)},regExp:/^(#{1,6})\\s/,replace:st((t=>{const e=\"h\"+t[1].length;return P(e)})),type:\"element\"},ft={dependencies:[E],export:(t,e)=>{if(!b(t))return null;const n=e(t).split(\"\\n\"),o=[];for(const t of n)o.push(\"> \"+t);return o.join(\"\\n\")},regExp:/^>\\s/,replace:(t,e,n,o)=>{if(o){const n=t.getPreviousSibling();if(b(n))return n.splice(n.getChildrenSize(),0,[a(),...e]),n.select(0,0),void t.remove()}const r=F();r.append(...e),t.replace(r),r.select(0,0)},type:\"element\"},ut={dependencies:[h],export:t=>{if(!m(t))return null;const e=t.getTextContent();return\"```\"+(t.getLanguage()||\"\")+(e?\"\\n\"+e:\"\")+\"\\n```\"},regExp:/^[ \\t]*```(\\w{1,10})?\\s/,replace:st((t=>d(t?t[1]:void 0))),type:\"element\"},gt={dependencies:[C,y],export:(t,e)=>x(t)?lt(t,e,0):null,regExp:/^(\\s*)[-*+]\\s/,replace:ct(\"bullet\"),type:\"element\"},pt={dependencies:[C,y],export:(t,e)=>x(t)?lt(t,e,0):null,regExp:/^(\\s*)(?:-\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,replace:ct(\"check\"),type:\"element\"},dt={dependencies:[C,y],export:(t,e)=>x(t)?lt(t,e,0):null,regExp:/^(\\s*)(\\d{1,})\\.\\s/,replace:ct(\"number\"),type:\"element\"},mt={format:[\"code\"],tag:\"`\",type:\"text-format\"},ht={format:[\"highlight\"],tag:\"==\",type:\"text-format\"},xt={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},Tt={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},Ct={format:[\"bold\"],tag:\"**\",type:\"text-format\"},yt={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},vt={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},wt={format:[\"italic\"],tag:\"*\",type:\"text-format\"},bt={format:[\"italic\"],intraword:!1,tag:\"_\",type:\"text-format\"},St={dependencies:[M],export:(t,n,o)=>{if(!_(t))return null;const r=t.getTitle(),i=r?`[${t.getTextContent()}](${t.getURL()} \"${r}\")`:`[${t.getTextContent()}](${t.getURL()})`,s=t.getFirstChild();return 1===t.getChildrenSize()&&e(s)?o(s,i):i},importRegExp:/(?:\\[([^[]+)\\])(?:\\((?:([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?)\\))/,regExp:/(?:\\[([^[]+)\\])(?:\\((?:([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?)\\))$/,replace:(t,e)=>{const[,n,o,r]=e,i=L(o,{title:r}),s=c(n);s.setFormat(t.getFormat()),i.append(s),t.replace(i)},trigger:\")\",type:\"text-match\"},$t=[at,ft,ut,gt,dt],Et=[mt,xt,Tt,Ct,yt,ht,wt,bt,vt],Ft=[St],Pt=[...$t,...Et,...Ft];function kt(t,e=Pt,n,o=!1){return Q(e,o)(t,n)}function Mt(t=Pt,e,o=!1){const r=function(t,e=!1){const o=N(t),r=!e,i=o.textFormat.filter((t=>1===t.format.length));return t=>{const e=[],s=(t||n()).getChildren();for(let t=0;t<s.length;t++){const n=s[t],c=B(n,o.element,i,o.textMatch);null!=c&&e.push(r&&t>0&&!A(n)&&!A(s[t-1])?\"\\n\".concat(c):c)}return e.join(\"\\n\")}}(t,o);return r(e)}export{kt as $convertFromMarkdownString,Mt as $convertToMarkdownString,xt as BOLD_ITALIC_STAR,Tt as BOLD_ITALIC_UNDERSCORE,Ct as BOLD_STAR,yt as BOLD_UNDERSCORE,pt as CHECK_LIST,ut as CODE,$t as ELEMENT_TRANSFORMERS,at as HEADING,ht as HIGHLIGHT,mt as INLINE_CODE,wt as ITALIC_STAR,bt as ITALIC_UNDERSCORE,St as LINK,dt as ORDERED_LIST,ft as QUOTE,vt as STRIKETHROUGH,Et as TEXT_FORMAT_TRANSFORMERS,Ft as TEXT_MATCH_TRANSFORMERS,Pt as TRANSFORMERS,gt as UNORDERED_LIST,it as registerMarkdownShortcuts};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{$getSelection as t,$isNodeSelection as r,$createNodeSelection as o,$setSelection as n,$getNodeByKey as c}from\"lexical\";import{useState as a,useEffect as i,useCallback as l}from\"react\";function d(e,t){return e.getEditorState().read((()=>{const e=c(t);return null!==e&&e.isSelected()}))}function u(c){const[u]=e(),[p,s]=a((()=>d(u,c)));i((()=>{let e=!0;const t=u.registerUpdateListener((()=>{e&&s(d(u,c))}));return()=>{e=!1,t()}}),[u,c]);return[p,l((e=>{u.update((()=>{let a=t();r(a)||(a=o(),n(a)),r(a)&&(e?a.add(c):a.delete(c))}))}),[u,c]),l((()=>{u.update((()=>{const e=t();r(e)&&e.clear()}))}),[u])]}export{u as useLexicalNodeSelection};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLexicalNodeSelection as t}from\"@lexical/react/useLexicalNodeSelection\";import{addClassNamesToElement as r,mergeRegister as n,removeClassNamesFromElement as o}from\"@lexical/utils\";import{createCommand as i,DecoratorNode as c,$applyNodeReplacement as u,$getSelection as m,$isNodeSelection as a,CLICK_COMMAND as l,COMMAND_PRIORITY_LOW as s,KEY_DELETE_COMMAND as p,KEY_BACKSPACE_COMMAND as d}from\"lexical\";import{useCallback as f,useEffect as x}from\"react\";import{jsx as y}from\"react/jsx-runtime\";const h=i(\"INSERT_HORIZONTAL_RULE_COMMAND\");function g({nodeKey:i}){const[c]=e(),[u,y,h]=t(i),g=f((e=>{const t=m();return u&&a(t)&&(e.preventDefault(),c.update((()=>{t.getNodes().forEach((e=>{N(e)&&e.remove()}))}))),!1}),[c,u]);return x((()=>n(c.registerCommand(l,(e=>{const t=c.getElementByKey(i);return e.target===t&&(e.shiftKey||h(),y(!u),!0)}),s),c.registerCommand(p,g,s),c.registerCommand(d,g,s))),[h,c,u,i,g,y]),x((()=>{const e=c.getElementByKey(i),t=\"selected\";null!==e&&(u?r(e,t):o(e,t))}),[c,u,i]),null}class O extends c{static getType(){return\"horizontalrule\"}static clone(e){return new O(e.__key)}static importJSON(e){return E()}static importDOM(){return{hr:()=>({conversion:C,priority:0})}}exportJSON(){return{type:\"horizontalrule\",version:1}}exportDOM(){return{element:document.createElement(\"hr\")}}createDOM(e){const t=document.createElement(\"hr\");return r(t,e.theme.hr),t}getTextContent(){return\"\\n\"}isInline(){return!1}updateDOM(){return!1}decorate(){return y(g,{nodeKey:this.__key})}}function C(){return{node:E()}}function E(){return u(new O)}function N(e){return e instanceof O}export{E as $createHorizontalRuleNode,N as $isHorizontalRuleNode,O as HorizontalRuleNode,h as INSERT_HORIZONTAL_RULE_COMMAND};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{TRANSFORMERS as e,registerMarkdownShortcuts as r}from\"@lexical/markdown\";import{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{HorizontalRuleNode as o,$isHorizontalRuleNode as l,$createHorizontalRuleNode as n}from\"@lexical/react/LexicalHorizontalRuleNode\";import{useEffect as c}from\"react\";const i=[{dependencies:[o],export:e=>l(e)?\"***\":null,regExp:/^(---|\\*\\*\\*|___)\\s?$/,replace:(e,r,t,o)=>{const l=n();o||null!=e.getNextSibling()?e.replace(l):e.insertBefore(l),l.selectNext()},type:\"element\"},...e];function a({transformers:e=i}){const[o]=t();return c((()=>r(o,e)),[o,e]),null}export{i as DEFAULT_TRANSFORMERS,a as MarkdownShortcutPlugin};\n","import { $getListDepth, $isListItemNode, $isListNode } from \"@lexical/list\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport {\n $getSelection,\n $isElementNode,\n $isRangeSelection,\n INDENT_CONTENT_COMMAND,\n COMMAND_PRIORITY_HIGH\n} from \"lexical\";\nimport { useEffect } from \"react\";\n\nfunction getElementNodesInSelection(selection) {\n const nodesInSelection = selection.getNodes();\n\n if (nodesInSelection.length === 0) {\n return new Set([\n selection.anchor.getNode().getParentOrThrow(),\n selection.focus.getNode().getParentOrThrow()\n ]);\n }\n\n return new Set(\n nodesInSelection.map((n) => ($isElementNode(n) ? n : n.getParentOrThrow()))\n );\n}\n\nfunction isIndentPermitted(maxDepth) {\n const selection = $getSelection();\n\n if (!$isRangeSelection(selection)) {\n return false;\n }\n\n const elementNodesInSelection = getElementNodesInSelection(selection);\n\n let totalDepth = 0;\n\n for (const elementNode of elementNodesInSelection) {\n if ($isListNode(elementNode)) {\n totalDepth = Math.max($getListDepth(elementNode) + 1, totalDepth);\n } else if ($isListItemNode(elementNode)) {\n const parent = elementNode.getParent();\n if (!$isListNode(parent)) {\n throw new Error(\n \"ListMaxIndentLevelPlugin: A ListItemNode must have a ListNode for a parent.\"\n );\n }\n\n totalDepth = Math.max($getListDepth(parent) + 1, totalDepth);\n }\n }\n\n return totalDepth <= maxDepth;\n}\n\nexport default function ListMaxIndentLevelPlugin({ maxDepth }) {\n const [editor] = useLexicalComposerContext();\n\n useEffect(() => {\n return editor.registerCommand(\n INDENT_CONTENT_COMMAND,\n () => !isIndentPermitted(maxDepth ?? 7),\n COMMAND_PRIORITY_HIGH\n );\n }, [editor, maxDepth]);\n\n return null;\n}\n","import { registerCodeHighlighting } from \"@lexical/code\";\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\nimport { useEffect } from \"react\";\n\nexport default function CodeHighlightPlugin() {\n const [editor] = useLexicalComposerContext();\n useEffect(() => {\n return registerCodeHighlighting(editor);\n }, [editor]);\n return null;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{AutoLinkNode as t,$isAutoLinkNode as e,$isLinkNode as n,TOGGLE_LINK_COMMAND as r,$createAutoLinkNode as l}from\"@lexical/link\";import{useLexicalComposerContext as o}from\"@lexical/react/LexicalComposerContext\";import{mergeRegister as i}from\"@lexical/utils\";import{TextNode as s,$getSelection as u,$isRangeSelection as g,COMMAND_PRIORITY_LOW as c,$isTextNode as a,$isElementNode as f,$isLineBreakNode as h,$createTextNode as x,$isNodeSelection as p}from\"lexical\";import{useEffect as d}from\"react\";function m(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var T=m((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function C(t,e=(t=>t)){return n=>{const r=t.exec(n);return null===r?null:{index:r.index,length:r[0].length,text:r[0],url:e(r[0])}}}function b(t,e){for(let n=0;n<e.length;n++){const r=e[n](t);if(r)return r}return null}const v=/[.,;\\s]/;function S(t){return v.test(t)}function U(t){return S(t[t.length-1])}function L(t){return S(t[0])}function R(t){let e=t.getPreviousSibling();return f(e)&&(e=e.getLastDescendant()),null===e||h(e)||a(e)&&U(e.getTextContent())}function k(t){let e=t.getNextSibling();return f(e)&&(e=e.getFirstDescendant()),null===e||h(e)||a(e)&&L(e.getTextContent())}function y(t,e,n,r){if(!(t>0?S(n[t-1]):R(r[0])))return!1;return e<n.length?S(n[e]):k(r[r.length-1])}function D(t,e,n){const r=[],l=[],o=[];let i=0,s=0;const u=[...t];for(;u.length>0;){const t=u[0],g=t.getTextContent().length,c=s;s+g<=e?(r.push(t),i+=g):c>=n?o.push(t):l.push(t),s+=g,u.shift()}return[i,r,l,o]}function N(t,e,n,r){const o=l(r.url,r.attributes);if(1===t.length){let l,i=t[0];0===e?[l,i]=i.splitText(n):[,l,i]=i.splitText(e,n);const s=x(r.text);return s.setFormat(l.getFormat()),s.setDetail(l.getDetail()),s.setStyle(l.getStyle()),o.append(s),l.replace(o),i}if(t.length>1){const r=t[0];let l,i=r.getTextContent().length;0===e?l=r:[,l]=r.splitText(e);const s=[];let c;for(let e=1;e<t.length;e++){const r=t[e],l=r.getTextContent().length,o=i;if(o<n)if(i+l<=n)s.push(r);else{const[t,e]=r.splitText(n-o);s.push(t),c=e}i+=l}const f=u(),h=f?f.getNodes().find(a):void 0,d=x(l.getTextContent());return d.setFormat(l.getFormat()),d.setDetail(l.getDetail()),d.setStyle(l.getStyle()),o.append(d,...s),h&&h===l&&(g(f)?d.select(f.anchor.offset,f.focus.offset):p(f)&&d.select(0,d.getTextContent().length)),l.replace(o),c}}function P(t,e,n){const r=t.getChildren(),l=r.length;for(let e=0;e<l;e++){const l=r[e];if(!a(l)||!l.isSimpleText())return I(t),void n(null,t.getURL())}const o=t.getTextContent(),i=b(o,e);if(null===i||i.text!==o)return I(t),void n(null,t.getURL());if(!R(t)||!k(t))return I(t),void n(null,t.getURL());const s=t.getURL();if(s!==i.url&&(t.setURL(i.url),n(i.url,s)),i.attributes){const e=t.getRel();e!==i.attributes.rel&&(t.setRel(i.attributes.rel||null),n(i.attributes.rel||null,e));const r=t.getTarget();r!==i.attributes.target&&(t.setTarget(i.attributes.target||null),n(i.attributes.target||null,r))}}function I(t){const e=t.getChildren();for(let n=e.length-1;n>=0;n--)t.insertAfter(e[n]);return t.remove(),e.map((t=>t.getLatest()))}function w(l,o,f){d((()=>{l.hasNodes([t])||T(77);const h=(t,e)=>{f&&f(t,e)};return i(l.registerNodeTransform(s,(t=>{const r=t.getParentOrThrow(),l=t.getPreviousSibling();if(e(r)&&!r.getIsUnlinked())P(r,o,h);else if(!n(r)){if(t.isSimpleText()&&(L(t.getTextContent())||!e(l))){const e=function(t){const e=[t];let n=t.getNextSibling();for(;null!==n&&a(n)&&n.isSimpleText()&&(e.push(n),!/[\\s]/.test(n.getTextContent()));)n=n.getNextSibling();return e}(t);!function(t,e,n){let r=[...t];const l=r.map((t=>t.getTextContent())).join(\"\");let o,i=l,s=0;for(;(o=b(i,e))&&null!==o;){const t=o.index,e=t+o.length;if(y(s+t,s+e,l,r)){const[l,,i,u]=D(r,s+t,s+e),g=N(i,s+t-l,s+e-l,o);r=g?[g,...u]:u,n(o.url,null),s=0}else s+=e;i=i.substring(e)}}(e,o,h)}!function(t,n,r){const l=t.getPreviousSibling(),o=t.getNextSibling(),i=t.getTextContent();var s;!e(l)||l.getIsUnlinked()||L(i)&&(s=i,!(l.isEmailURI()?/^\\.[a-zA-Z]{2,}/.test(s):/^\\.[a-zA-Z0-9]{1,}/.test(s)))||(l.append(t),P(l,n,r),r(null,l.getURL())),!e(o)||o.getIsUnlinked()||U(i)||(I(o),P(o,n,r),r(null,o.getURL()))}(t,o,h)}})),l.registerCommand(r,(t=>{const n=u();if(null!==t||!g(n))return!1;return n.extract().forEach((t=>{const n=t.getParent();if(e(n))return n.setIsUnlinked(!n.getIsUnlinked()),n.markDirty(),!0})),!1}),c))}),[l,o,f])}function F({matchers:t,onChange:e}){const[n]=o();return w(n,t,e),null}export{F as AutoLinkPlugin,C as createLinkMatcherWithRegExp};\n","import { AutoLinkPlugin } from \"@lexical/react/LexicalAutoLinkPlugin\";\n\nconst URL_MATCHER = /((https?:\\/\\/(www\\.)?)|(www\\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\n\nconst EMAIL_MATCHER = /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/;\n\nconst MATCHERS = [\n (text) => {\n const match = URL_MATCHER.exec(text);\n return (\n match && {\n index: match.index,\n length: match[0].length,\n text: match[0],\n url: match[0]\n }\n );\n },\n (text) => {\n const match = EMAIL_MATCHER.exec(text);\n return (\n match && {\n index: match.index,\n length: match[0].length,\n text: match[0],\n url: `mailto:${match[0]}`\n }\n );\n }\n];\n\nexport default function PlaygroundAutoLinkPlugin() {\n return <AutoLinkPlugin matchers={MATCHERS} />;\n}\n","import ExampleTheme from \"./themes/ExampleTheme\";\nimport { LexicalComposer } from \"@lexical/react/LexicalComposer\";\nimport { RichTextPlugin } from \"@lexical/react/LexicalRichTextPlugin\";\nimport { ContentEditable } from \"@lexical/react/LexicalContentEditable\";\nimport { HistoryPlugin } from \"@lexical/react/LexicalHistoryPlugin\";\nimport { AutoFocusPlugin } from \"@lexical/react/LexicalAutoFocusPlugin\";\nimport LexicalErrorBoundary from \"@lexical/react/LexicalErrorBoundary\";\nimport TreeViewPlugin from \"./plugins/TreeViewPlugin\";\nimport ToolbarPlugin from \"./plugins/ToolbarPlugin\";\nimport { HeadingNode, QuoteNode } from \"@lexical/rich-text\";\nimport { TableCellNode, TableNode, TableRowNode } from \"@lexical/table\";\nimport { ListItemNode, ListNode } from \"@lexical/list\";\nimport { CodeHighlightNode, CodeNode } from \"@lexical/code\";\nimport { AutoLinkNode, LinkNode } from \"@lexical/link\";\nimport { LinkPlugin } from \"@lexical/react/LexicalLinkPlugin\";\nimport { ListPlugin } from \"@lexical/react/LexicalListPlugin\";\nimport { MarkdownShortcutPlugin } from \"@lexical/react/LexicalMarkdownShortcutPlugin\";\nimport { TRANSFORMERS } from \"@lexical/markdown\";\n\nimport ListMaxIndentLevelPlugin from \"./plugins/ListMaxIndentLevelPlugin\";\nimport CodeHighlightPlugin from \"./plugins/CodeHighlightPlugin\";\nimport AutoLinkPlugin from \"./plugins/AutoLinkPlugin\";\n\nfunction Placeholder() {\n return <div className=\"editor-placeholder\">Enter some rich text...</div>;\n}\n\nconst editorConfig = {\n // The editor theme\n theme: ExampleTheme,\n // Handling of errors during update\n onError(error) {\n throw error;\n },\n // Any custom nodes go here\n nodes: [\n HeadingNode,\n ListNode,\n ListItemNode,\n QuoteNode,\n CodeNode,\n CodeHighlightNode,\n TableNode,\n TableCellNode,\n TableRowNode,\n AutoLinkNode,\n LinkNode\n ]\n};\n\nexport function Editor() {\n return (\n <LexicalComposer initialConfig={editorConfig}>\n <div className=\"editor-container\">\n <ToolbarPlugin />\n <div className=\"editor-inner\">\n <RichTextPlugin\n contentEditable={<ContentEditable className=\"editor-input\" />}\n placeholder={<Placeholder />}\n ErrorBoundary={LexicalErrorBoundary}\n />\n <HistoryPlugin />\n {/* <TreeViewPlugin /> */}\n <AutoFocusPlugin />\n <CodeHighlightPlugin />\n <ListPlugin />\n <LinkPlugin />\n <AutoLinkPlugin />\n <ListMaxIndentLevelPlugin maxDepth={7} />\n <MarkdownShortcutPlugin transformers={TRANSFORMERS} />\n </div>\n </div>\n </LexicalComposer>\n );\n}\n"],"names":["getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","i","order2","n","test3","letter","objectAssign","target","source","from","to","symbols","s","key","require$$0","f","require$$1","g","reactJsxRuntime_production_min","h","m","p","q","c","a","k","b","d","e","l","React","_assign","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","exports","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_SERVER_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_DEBUG_TRACING_MODE_TYPE","REACT_LEGACY_HIDDEN_TYPE","symbolFor","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","args","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","isValidElementType","type","getWrappedName","outerType","innerType","wrapperName","functionName","getContextName","getComponentName","context","provider","lazyComponent","payload","init","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","displayName","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","jsxRuntimeModule","exampleTheme","r","t","o","u","_","y","v","S","T","C","w","N","E","P","F","D","L","O","I","A","M","W","z","B","R","K","$","J","U","V","j","H","Q","X","Y","Z","G","tt","et","nt","rt","it","st","ot","lt","ct","at","ut","ht","gt","mt","xt","vt","St","Tt","Ct","kt","bt","wt","Nt","Et","Pt","Ft","Dt","Lt","Ot","It","At","Mt","Wt","zt","Bt","Rt","Kt","$t","Jt","Ut","Vt","jt","Ht","yn","Me","qt","yi","Qt","hs","Oi","Ce","ms","oi","Te","Ne","_s","Ee","Ye","Xt","Yt","on","Zt","Gt","ts","te","ee","ne","re","se","oe","ue","le","ae","ce","Ms","en","fe","de","he","ge","_e","$r","pe","Yi","Zi","Gi","ye","me","xe","Se","ve","Xi","ke","be","we","Pe","Fe","De","Le","Oe","Ie","Ae","Ii","si","We","ze","Be","Re","Ke","$e","Je","Ue","Ve","je","He","Qe","Xe","Ze","us","Ge","vs","tn","sn","cn","an","dn","gn","_n","pn","xn","vn","Sn","Tn","Cn","kn","bn","wn","Nn","En","Pn","Fn","Dn","Ln","On","In","An","Mn","Wn","zn","Bn","Kn","$n","Jn","Un","Vn","jn","Hn","qn","Qn","dr","lr","Xn","Yn","Zn","Gn","tr","er","nr","sr","ir","ar","rr","or","cr","ur","Es","fr","hr","gr","_r","pr","yr","Cr","xi","Tr","kr","Fr","Pr","wr","xr","Li","mr","vr","Sr","br","Nr","Er","bs","Dr","Lr","Or","Ir","Ar","Mr","Wr","Wi","Ai","zr","gi","Ns","Br","Jr","Rr","Kr","Ur","Vr","jr","Hr","qr","Qr","Xr","ei","Zr","ii","Yr","Ei","zi","li","Gr","ti","ai","ni","ri","ci","ui","fi","di","hi","_i","pi","mi","Si","wi","bi","$i","Fi","Ti","vi","Ci","ki","Ni","Pi","Mi","Bi","Ri","Ji","Ui","Vi","ji","Hi","qi","Qi","es","ns","rs","is","ss","os","ls","cs","Is","as","ds","fs","Cs","gs","ps","ys","xs","Ss","Ts","ks","ws","Ps","Fs","Ls","Os","As","dt","ft","pt$1","pt","yt$1","yt","g$1","V$3","ie","st$2","M$1","_self","Prism","lang","uniqueId","plainTextGrammar","encode","tokens","Token","obj","deepClone","visited","clone","id","language","src","scripts","className","defaultActivation","no","classList","redef","inside","before","insert","root","grammar","ret","token","newToken","old","value","DFS","callback","objId","property","propertyType","async","container","env","parent","code","insertHighlightedCode","highlightedCode","worker","evt","text","rest","tokenList","LinkedList","addAfter","matchGrammar","toArray","hooks","callbacks","content","alias","matchedStr","stringify","aliases","attributes","matchPattern","pattern","pos","lookbehind","lookbehindLength","startNode","startPos","rematch","patterns","patternObj","greedy","flags","currentNode","str","removeCount","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","next","newNode","count","array","message","immediateClose","script","highlightAutomaticallyCallback","readyState","module","global","tagName","includedCdataInside","def","attrName","string","markup","LOADING_MESSAGE","FAILURE_MESSAGE","status","FAILURE_EMPTY_MESSAGE","EXTENSIONS","STATUS_ATTR","STATUS_LOADING","STATUS_LOADED","STATUS_FAILED","SELECTOR","loadFile","success","xhr","parseRange","range","start","comma","end","pre","extension","autoloader","lines","elements","logged","inner","createInline","tableCell","tableRow","tableLine","walkTokens","codeLang","codeBlock","cls","textContent","ele","tagPattern","KNOWN_ENTITY_NAMES","fromCodePoint","html","known","powershell","multilineComment","rule","typeInside","keywords","classNamePrefix","keyword","modName","LowPriority","supportedBlockTypes","blockTypeToBlockName","Divider","positionEditorElement","editor","rect","FloatingLinkEditor","editorRef","useRef","inputRef","mouseDownRef","linkUrl","setLinkUrl","useState","isEditMode","setEditMode","lastSelection","setLastSelection","updateLinkEditor","useCallback","selection","$getSelection","$isRangeSelection","getSelectedNode","$isLinkNode","editorElem","nativeSelection","activeElement","rootElement","domRange","useEffect","mergeRegister","editorState","SELECTION_CHANGE_COMMAND","event","TOGGLE_LINK_COMMAND","Fragment","Select","onChange","options","option","anchor","focus","anchorNode","focusNode","$isAtNodeEnd","BlockOptionsDropdownList","blockType","toolbarRef","setShowBlockOptionsDropDown","dropDownRef","toolbar","dropDown","top","left","handle","formatParagraph","$wrapNodes","$createParagraphNode","formatLargeHeading","$createHeadingNode","formatSmallHeading","formatBulletList","INSERT_UNORDERED_LIST_COMMAND","REMOVE_LIST_COMMAND","formatNumberedList","INSERT_ORDERED_LIST_COMMAND","formatQuote","$createQuoteNode","formatCode","$createCodeNode","ToolbarPlugin","useLexicalComposerContext","canUndo","setCanUndo","canRedo","setCanRedo","setBlockType","selectedElementKey","setSelectedElementKey","showBlockOptionsDropDown","codeLanguage","setCodeLanguage","isRTL","setIsRTL","isLink","setIsLink","isBold","setIsBold","isItalic","setIsItalic","isUnderline","setIsUnderline","isStrikethrough","setIsStrikethrough","isCode","setIsCode","updateToolbar","elementKey","$isListNode","parentList","$getNearestNodeOfType","ListNode","$isHeadingNode","$isCodeNode","getDefaultCodeLanguage","$isParentElementRTL","_payload","newEditor","CAN_UNDO_COMMAND","CAN_REDO_COMMAND","codeLanguges","useMemo","getCodeLanguages","onCodeLanguageSelect","$getNodeByKey","insertLink","UNDO_COMMAND","REDO_COMMAND","createPortal","FORMAT_TEXT_COMMAND","FORMAT_ELEMENT_COMMAND","getElementNodesInSelection","nodesInSelection","$isElementNode","isIndentPermitted","maxDepth","elementNodesInSelection","totalDepth","elementNode","$getListDepth","$isListItemNode","ListMaxIndentLevelPlugin","INDENT_CONTENT_COMMAND","COMMAND_PRIORITY_HIGH","CodeHighlightPlugin","registerCodeHighlighting","URL_MATCHER","EMAIL_MATCHER","MATCHERS","PlaygroundAutoLinkPlugin","AutoLinkPlugin","Placeholder","editorConfig","ExampleTheme","HeadingNode","ListItemNode","QuoteNode","CodeNode","CodeHighlightNode","TableNode","TableCellNode","TableRowNode","AutoLinkNode","LinkNode","Editor","LexicalComposer","RichTextPlugin","ContentEditable","LexicalErrorBoundary","HistoryPlugin","AutoFocusPlugin","ListPlugin","LinkPlugin","MarkdownShortcutPlugin","TRANSFORMERS"],"mappings":"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","x_google_ignoreList":[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,48,51]}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../node_modules/object-assign/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/lexical/Lexical.prod.mjs","../node_modules/@lexical/react/LexicalComposerContext.prod.mjs","../node_modules/@lexical/react/LexicalComposer.prod.mjs","../node_modules/@lexical/react/LexicalAutoFocusPlugin.prod.mjs","../node_modules/@lexical/selection/LexicalSelection.prod.mjs","../node_modules/@lexical/utils/LexicalUtils.prod.mjs","../node_modules/@lexical/history/LexicalHistory.prod.mjs","../node_modules/@lexical/react/LexicalHistoryPlugin.prod.mjs","../node_modules/@lexical/react/useLexicalEditable.prod.mjs","../node_modules/@lexical/text/LexicalText.prod.mjs","../node_modules/@lexical/dragon/LexicalDragon.prod.mjs","../node_modules/@lexical/html/LexicalHtml.prod.mjs","../node_modules/@lexical/clipboard/LexicalClipboard.prod.mjs","../node_modules/@lexical/rich-text/LexicalRichText.prod.mjs","../node_modules/@lexical/react/LexicalRichTextPlugin.prod.mjs","../node_modules/@lexical/react/LexicalErrorBoundary.prod.mjs","../src/components/plugins/PageMarginPlugin/index.tsx","../node_modules/@lexical/link/LexicalLink.prod.mjs","../src/utils/getSelectedNode.ts","../src/components/ui/Modal.tsx","../src/components/hooks/useModal.tsx","../src/components/ui/DropDown.tsx","../src/utils/joinClasses.ts","../src/components/ui/Button.tsx","../src/components/ui/Dialog.tsx","../src/components/ui/TextInput.tsx","../src/components/plugins/PageMarginPlugin/CustomMarginDialog.tsx","../src/components/plugins/PageMargin.tsx","../src/components/ui/Divider.tsx","../src/components/plugins/ToolbarPlugin/TextAlignment.tsx","../src/components/plugins/ToolbarPlugin/ToolbarPlugin.tsx","../node_modules/@lexical/react/LexicalContentEditable.prod.mjs","../src/components/ui/ContentEditable.tsx","../src/components/Editor.tsx"],"sourcesContent":["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\nvar _assign = require('object-assign');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nexports.Fragment = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_BLOCK_TYPE = 0xead9;\nvar REACT_SERVER_BLOCK_TYPE = 0xeada;\nvar REACT_FUNDAMENTAL_TYPE = 0xead5;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_OPAQUE_ID_TYPE = 0xeae0;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n exports.Fragment = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_BLOCK_TYPE = symbolFor('react.block');\n REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');\n REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n}\n\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n }\n\n var argsWithFormat = args.map(function (item) {\n return '' + item;\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === exports.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var functionName = innerType.displayName || innerType.name || '';\n return outerType.displayName || (functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName);\n}\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nfunction getComponentName(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case exports.Fragment:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n return getComponentName(type.type);\n\n case REACT_BLOCK_TYPE:\n return getComponentName(type._render);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentName(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: _assign({}, props, {\n value: prevLog\n }),\n info: _assign({}, props, {\n value: prevInfo\n }),\n warn: _assign({}, props, {\n value: prevWarn\n }),\n error: _assign({}, props, {\n value: prevError\n }),\n group: _assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: _assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: _assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at ');\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_BLOCK_TYPE:\n return describeFunctionComponentFrame(type._render);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(Object.prototype.hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentName(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentName(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentName(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (Array.isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentName(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentName(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (Array.isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentName(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n if (type === exports.Fragment) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction t(t){return{}}const e={},n={},r={},i={},s={},o={},l={},c={},a={},u={},f={},d={},h={},g={},_={},p={},y={},m={},x={},v={},S={},T={},C={},k={},b={},w={},N={},E={},P={},F={},D={},L={},O={},I={},A={},M={},W={},z={},B={},R={},K={},$={},J={},U={},V={},j=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,H=j&&\"documentMode\"in document?document.documentMode:null,q=j&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Q=j&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),X=!(!j||!(\"InputEvent\"in window)||H)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),Y=j&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),Z=j&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,G=j&&/Android/.test(navigator.userAgent),tt=j&&/^(?=.*Chrome).*/i.test(navigator.userAgent),et=j&&G&&tt,nt=j&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!tt,rt=1,it=3,st=0,ot=1,lt=2,ct=0,at=1,ut=2,ft=1,dt=2,ht=4,gt=8,_t=16,pt=32,yt=64,mt=128,xt=112|(3|ht|gt)|mt,vt=1,St=2,Tt=3,Ct=4,kt=5,bt=6,wt=Y||Z||nt?\" \":\"\",Nt=\"\\n\\n\",Et=Q?\" \":wt,Pt=\"֑-߿יִ-﷽ﹰ-ﻼ\",Ft=\"A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--\",Dt=new RegExp(\"^[^\"+Ft+\"]*[\"+Pt+\"]\"),Lt=new RegExp(\"^[^\"+Pt+\"]*[\"+Ft+\"]\"),Ot={bold:1,code:16,highlight:mt,italic:2,strikethrough:ht,subscript:32,superscript:64,underline:gt},It={directionless:1,unmergeable:2},At={center:St,end:bt,justify:Ct,left:vt,right:Tt,start:kt},Mt={[St]:\"center\",[bt]:\"end\",[Ct]:\"justify\",[vt]:\"left\",[Tt]:\"right\",[kt]:\"start\"},Wt={normal:0,segmented:2,token:1},zt={[ct]:\"normal\",[ut]:\"segmented\",[at]:\"token\"};function Bt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var Rt=Bt((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function Kt(...t){const e=[];for(const n of t)if(n&&\"string\"==typeof n)for(const[t]of n.matchAll(/\\S+/g))e.push(t);return e}const $t=100;let Jt=!1,Ut=0;function Vt(t){Ut=t.timeStamp}function jt(t,e,n){return e.__lexicalLineBreak===t||void 0!==t[`__lexicalKey_${n._key}`]}function Ht(t,e,n){const r=yn(n._window);let i=null,s=null;null!==r&&r.anchorNode===t&&(i=r.anchorOffset,s=r.focusOffset);const o=t.nodeValue;null!==o&&Me(e,o,i,s,!1)}function qt(t,e,n){if(yi(t)){const e=t.anchor.getNode();if(e.is(n)&&t.format!==e.getFormat())return!1}return e.nodeType===it&&n.isAttached()}function Qt(t,e,n){Jt=!0;const r=performance.now()-Ut>$t;try{hs(t,(()=>{const i=Oi()||function(t){return t.getEditorState().read((()=>{const t=Oi();return null!==t?t.clone():null}))}(t),s=new Map,o=t.getRootElement(),l=t._editorState,c=t._blockCursorElement;let a=!1,u=\"\";for(let n=0;n<e.length;n++){const f=e[n],d=f.type,h=f.target;let g=Ce(h,l);if(!(null===g&&h!==o||ms(g)))if(\"characterData\"===d)r&&oi(g)&&qt(i,h,g)&&Ht(h,g,t);else if(\"childList\"===d){a=!0;const e=f.addedNodes;for(let n=0;n<e.length;n++){const r=e[n],i=Te(r),s=r.parentNode;if(null!=s&&r!==c&&null===i&&(\"BR\"!==r.nodeName||!jt(r,s,t))){if(Q){const t=r.innerText||r.nodeValue;t&&(u+=t)}s.removeChild(r)}}const n=f.removedNodes,r=n.length;if(r>0){let e=0;for(let i=0;i<r;i++){const r=n[i];(\"BR\"===r.nodeName&&jt(r,h,t)||c===r)&&(h.appendChild(r),e++)}r!==e&&(h===o&&(g=Ne(l)),s.set(h,g))}}}if(s.size>0)for(const[e,n]of s)if(_s(n)){const r=n.getChildrenKeys();let i=e.firstChild;for(let n=0;n<r.length;n++){const s=r[n],o=t.getElementByKey(s);null!==o&&(null==i?(e.appendChild(o),i=o):i!==o&&e.replaceChild(o,i),i=i.nextSibling)}}else oi(n)&&n.markDirty();const f=n.takeRecords();if(f.length>0){for(let e=0;e<f.length;e++){const n=f[e],r=n.addedNodes,i=n.target;for(let e=0;e<r.length;e++){const n=r[e],s=n.parentNode;null==s||\"BR\"!==n.nodeName||jt(n,i,t)||s.removeChild(n)}}n.takeRecords()}null!==i&&(a&&(i.dirty=!0,Ee(i)),Q&&Ye(t)&&i.insertRawText(u))}))}finally{Jt=!1}}function Xt(t){const e=t._observer;if(null!==e){Qt(t,e.takeRecords(),e)}}function Yt(t){!function(t){0===Ut&&on(t).addEventListener(\"textInput\",Vt,!0)}(t),t._observer=new MutationObserver(((e,n)=>{Qt(t,e,n)}))}function Zt(t,e){const n=t.__mode,r=t.__format,i=t.__style,s=e.__mode,o=e.__format,l=e.__style;return!(null!==n&&n!==s||null!==r&&r!==o||null!==i&&i!==l)}function Gt(t,e){const n=t.mergeWithSibling(e),r=ts()._normalizedNodes;return r.add(t.__key),r.add(e.__key),n}function te(t){let e,n,r=t;if(\"\"!==r.__text||!r.isSimpleText()||r.isUnmergeable()){for(;null!==(e=r.getPreviousSibling())&&oi(e)&&e.isSimpleText()&&!e.isUnmergeable();){if(\"\"!==e.__text){if(Zt(e,r)){r=Gt(e,r);break}break}e.remove()}for(;null!==(n=r.getNextSibling())&&oi(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(\"\"!==n.__text){if(Zt(r,n)){r=Gt(r,n);break}break}n.remove()}}else r.remove()}function ee(t){return ne(t.anchor),ne(t.focus),t}function ne(t){for(;\"element\"===t.type;){const e=t.getNode(),n=t.offset;let r,i;if(n===e.getChildrenSize()?(r=e.getChildAtIndex(n-1),i=!0):(r=e.getChildAtIndex(n),i=!1),oi(r)){t.set(r.__key,i?r.getTextContentSize():0,\"text\");break}if(!_s(r))break;t.set(r.__key,i?r.getChildrenSize():0,\"element\")}}let re=1;function ie(){re=1}const se=\"function\"==typeof queueMicrotask?queueMicrotask:t=>{Promise.resolve().then(t)};function oe(t){const e=document.activeElement;if(null===e)return!1;const n=e.nodeName;return ms(Ce(t))&&(\"INPUT\"===n||\"TEXTAREA\"===n||\"true\"===e.contentEditable&&null==ue(e))}function le(t,e,n){const r=t.getRootElement();try{return null!==r&&r.contains(e)&&r.contains(n)&&null!==e&&!oe(e)&&ae(e)===t}catch(t){return!1}}function ce(t){return t instanceof Ms}function ae(t){let e=t;for(;null!=e;){const t=ue(e);if(ce(t))return t;e=en(e)}return null}function ue(t){return t?t.__lexicalEditor:null}function fe(t){return t.isToken()||t.isSegmented()}function de(t){return t.nodeType===it}function he(t){let e=t;for(;null!=e;){if(de(e))return e;e=e.firstChild}return null}function ge(t,e,n){const r=Ot[e];if(null!==n&&(t&r)==(n&r))return t;let i=t^r;return\"subscript\"===e?i&=~Ot.superscript:\"superscript\"===e&&(i&=~Ot.subscript),i}function _e(t){return oi(t)||$r(t)||ms(t)}function pe(t,e){if(null!=e)return void(t.__key=e);Yi(),Zi();const n=ts(),r=Gi(),i=\"\"+re++;r._nodeMap.set(i,t),_s(t)?n._dirtyElements.set(i,!0):n._dirtyLeaves.add(i),n._cloneNotNeeded.add(i),n._dirtyType=ot,t.__key=i}function ye(t){const e=t.getParent();if(null!==e){const n=t.getWritable(),r=e.getWritable(),i=t.getPreviousSibling(),s=t.getNextSibling();if(null===i)if(null!==s){const t=s.getWritable();r.__first=s.__key,t.__prev=null}else r.__first=null;else{const t=i.getWritable();if(null!==s){const e=s.getWritable();e.__prev=t.__key,t.__next=e.__key}else t.__next=null;n.__prev=null}if(null===s)if(null!==i){const t=i.getWritable();r.__last=i.__key,t.__next=null}else r.__last=null;else{const t=s.getWritable();if(null!==i){const e=i.getWritable();e.__next=t.__key,t.__prev=e.__key}else t.__prev=null;n.__next=null}r.__size--,n.__parent=null}}function me(t){Zi();const e=t.getLatest(),n=e.__parent,r=Gi(),i=ts(),s=r._nodeMap,o=i._dirtyElements;null!==n&&function(t,e,n){let r=t;for(;null!==r;){if(n.has(r))return;const t=e.get(r);if(void 0===t)break;n.set(r,!1),r=t.__parent}}(n,s,o);const l=e.__key;i._dirtyType=ot,_s(t)?o.set(l,!0):i._dirtyLeaves.add(l)}function xe(t){Yi();const e=ts(),n=e._compositionKey;if(t!==n){if(e._compositionKey=t,null!==n){const t=Se(n);null!==t&&t.getWritable()}if(null!==t){const e=Se(t);null!==e&&e.getWritable()}}}function ve(){if(Xi())return null;return ts()._compositionKey}function Se(t,e){const n=(e||Gi())._nodeMap.get(t);return void 0===n?null:n}function Te(t,e){const n=t[`__lexicalKey_${ts()._key}`];return void 0!==n?Se(n,e):null}function Ce(t,e){let n=t;for(;null!=n;){const t=Te(n,e);if(null!==t)return t;n=en(n)}return null}function ke(t){const e=t._decorators,n=Object.assign({},e);return t._pendingDecorators=n,n}function be(t){return t.read((()=>we().getTextContent()))}function we(){return Ne(Gi())}function Ne(t){return t._nodeMap.get(\"root\")}function Ee(t){Yi();const e=Gi();null!==t&&(t.dirty=!0,t.setCachedNodes(null)),e._selection=t}function Pe(t){const e=ts(),n=function(t,e){let n=t;for(;null!=n;){const t=n[`__lexicalKey_${e._key}`];if(void 0!==t)return t;n=en(n)}return null}(t,e);if(null===n){return t===e.getRootElement()?Se(\"root\"):null}return Se(n)}function Fe(t,e){return e?t.getTextContentSize():0}function De(t){return/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g.test(t)}function Le(t){const e=[];let n=t;for(;null!==n;)e.push(n),n=n._parentEditor;return e}function Oe(){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,5)}function Ie(t){return t.nodeType===it?t.nodeValue:null}function Ae(t,e,n){const r=yn(e._window);if(null===r)return;const i=r.anchorNode;let{anchorOffset:s,focusOffset:o}=r;if(null!==i){let e=Ie(i);const r=Ce(i);if(null!==e&&oi(r)){if(e===wt&&n){const t=n.length;e=n,s=t,o=t}null!==e&&Me(r,e,s,o,t)}}}function Me(t,e,n,r,i){let s=t;if(s.isAttached()&&(i||!s.isDirty())){const o=s.isComposing();let l=e;(o||i)&&e[e.length-1]===wt&&(l=e.slice(0,-1));const c=s.getTextContent();if(i||l!==c){if(\"\"===l){if(xe(null),Y||Z||nt)s.remove();else{const t=ts();setTimeout((()=>{t.update((()=>{s.isAttached()&&s.remove()}))}),20)}return}const e=s.getParent(),i=Ii(),c=s.getTextContentSize(),a=ve(),u=s.getKey();if(s.isToken()||null!==a&&u===a&&!o||yi(i)&&(null!==e&&!e.canInsertTextBefore()&&0===i.anchor.offset||i.anchor.key===t.__key&&0===i.anchor.offset&&!s.canInsertTextBefore()&&!o||i.focus.key===t.__key&&i.focus.offset===c&&!s.canInsertTextAfter()&&!o))return void s.markDirty();const f=Oi();if(!yi(f)||null===n||null===r)return void s.setTextContent(l);if(f.setTextNodeRange(s,n,s,r),s.isSegmented()){const t=si(s.getTextContent());s.replace(t),s=t}s.setTextContent(l)}}}function We(t,e){if(e.isSegmented())return!0;if(!t.isCollapsed())return!1;const n=t.anchor.offset,r=e.getParentOrThrow(),i=e.isToken();return 0===n?!e.canInsertTextBefore()||!r.canInsertTextBefore()&&!e.isComposing()||i||function(t){const e=t.getPreviousSibling();return(oi(e)||_s(e)&&e.isInline())&&!e.canInsertTextAfter()}(e):n===e.getTextContentSize()&&(!e.canInsertTextAfter()||!r.canInsertTextAfter()&&!e.isComposing()||i)}function ze(t){return\"ArrowLeft\"===t}function Be(t){return\"ArrowRight\"===t}function Re(t,e){return q?t:e}function Ke(t){return\"Enter\"===t}function $e(t){return\"Backspace\"===t}function Je(t){return\"Delete\"===t}function Ue(t,e,n){return\"a\"===t.toLowerCase()&&Re(e,n)}function Ve(){const t=we();Ee(ee(t.select(0,t.getChildrenSize())))}function je(t,e){void 0===t.__lexicalClassNameCache&&(t.__lexicalClassNameCache={});const n=t.__lexicalClassNameCache,r=n[e];if(void 0!==r)return r;const i=t[e];if(\"string\"==typeof i){const t=Kt(i);return n[e]=t,t}return i}function He(t,e,n,r,i){if(0===n.size)return;const s=r.__type,o=r.__key,l=e.get(s);void 0===l&&Rt(33,s);const c=l.klass;let a=t.get(c);void 0===a&&(a=new Map,t.set(c,a));const u=a.get(o),f=\"destroyed\"===u&&\"created\"===i;(void 0===u||f)&&a.set(o,f?\"updated\":i)}function qe(t){const e=t.getType(),n=Gi();if(n._readOnly){const t=En(n).get(e);return t?Array.from(t.values()):[]}const r=n._nodeMap,i=[];for(const[,n]of r)n instanceof t&&n.__type===e&&n.isAttached()&&i.push(n);return i}function Qe(t,e,n){const r=t.getParent();let i=n,s=t;return null!==r&&(e&&0===n?(i=s.getIndexWithinParent(),s=r):e||n!==s.getChildrenSize()||(i=s.getIndexWithinParent()+1,s=r)),s.getChildAtIndex(e?i-1:i)}function Xe(t,e){const n=t.offset;if(\"element\"===t.type){return Qe(t.getNode(),e,n)}{const r=t.getNode();if(e&&0===n||!e&&n===r.getTextContentSize()){const t=e?r.getPreviousSibling():r.getNextSibling();return null===t?Qe(r.getParentOrThrow(),e,r.getIndexWithinParent()+(e?0:1)):t}}return null}function Ye(t){const e=on(t).event,n=e&&e.inputType;return\"insertFromPaste\"===n||\"insertFromPasteAsQuotation\"===n}function Ze(t,e,n){return us(t,e,n)}function Ge(t){return!vs(t)&&!t.isLastChild()&&!t.isInline()}function tn(t,e){const n=t._keyToDOMMap.get(e);return void 0===n&&Rt(75,e),n}function en(t){const e=t.assignedSlot||t.parentElement;return null!==e&&11===e.nodeType?e.host:e}function nn(t){return ts()._updateTags.has(t)}function rn(t){Yi();ts()._updateTags.add(t)}function sn(t,e){let n=t.getParent();for(;null!==n;){if(n.is(e))return!0;n=n.getParent()}return!1}function on(t){const e=t._window;return null===e&&Rt(78),e}function ln(t){return _s(t)&&t.isInline()||ms(t)&&t.isInline()}function cn(t){let e=t.getParentOrThrow();for(;null!==e;){if(an(e))return e;e=e.getParentOrThrow()}return e}function an(t){return vs(t)||_s(t)&&t.isShadowRoot()}function un(t){const e=t.constructor.clone(t);return pe(e,null),e}function fn(t){const e=ts(),n=t.constructor.getType(),r=e._nodes.get(n);void 0===r&&Rt(97);const i=r.replace;if(null!==i){const e=i(t);return e instanceof t.constructor||Rt(98),e}return t}function dn(t,e){!vs(t.getParent())||_s(e)||ms(e)||Rt(99)}function hn(t){const e=Se(t);return null===e&&Rt(63,t),e}function gn(t){return(ms(t)||_s(t)&&!t.canBeEmpty())&&!t.isInline()}function _n(t,e,n){n.style.removeProperty(\"caret-color\"),e._blockCursorElement=null;const r=t.parentElement;null!==r&&r.removeChild(t)}function pn(t,e,n){let r=t._blockCursorElement;if(yi(n)&&n.isCollapsed()&&\"element\"===n.anchor.type&&e.contains(document.activeElement)){const i=n.anchor,s=i.getNode(),o=i.offset;let l=!1,c=null;if(o===s.getChildrenSize()){gn(s.getChildAtIndex(o-1))&&(l=!0)}else{const e=s.getChildAtIndex(o);if(gn(e)){const n=e.getPreviousSibling();(null===n||gn(n))&&(l=!0,c=t.getElementByKey(e.__key))}}if(l){const n=t.getElementByKey(s.__key);return null===r&&(t._blockCursorElement=r=function(t){const e=t.theme,n=document.createElement(\"div\");n.contentEditable=\"false\",n.setAttribute(\"data-lexical-cursor\",\"true\");let r=e.blockCursor;if(void 0!==r){if(\"string\"==typeof r){const t=Kt(r);r=e.blockCursor=t}void 0!==r&&n.classList.add(...r)}return n}(t._config)),e.style.caretColor=\"transparent\",void(null===c?n.appendChild(r):n.insertBefore(r,c))}}null!==r&&_n(r,t,e)}function yn(t){return j?(t||window).getSelection():null}function mn(t,e){let n=t.getChildAtIndex(e);null==n&&(n=t),an(t)&&Rt(102);const r=t=>{const e=t.getParentOrThrow(),i=an(e),s=t!==n||i?un(t):t;if(i)return _s(t)&&_s(s)||Rt(133),t.insertAfter(s),[t,s,s];{const[n,i,o]=r(e),l=t.getNextSiblings();return o.append(s,...l),[n,i,s]}},[i,s]=r(n);return[i,s]}function xn(t){return vn(t)&&\"A\"===t.tagName}function vn(t){return 1===t.nodeType}function Sn(t){const e=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,\"i\");return null!==t.nodeName.match(e)}function Tn(t){const e=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,\"i\");return null!==t.nodeName.match(e)}function Cn(t){if(vs(t)||ms(t)&&!t.isInline())return!0;if(!_s(t)||an(t))return!1;const e=t.getFirstChild(),n=null===e||$r(e)||oi(e)||e.isInline();return!t.isInline()&&!1!==t.canBeEmpty()&&n}function kn(t,e){let n=t;for(;null!==n&&null!==n.getParent()&&!e(n);)n=n.getParentOrThrow();return e(n)?n:null}function bn(){return ts()}const wn=new WeakMap,Nn=new Map;function En(t){if(!t._readOnly&&t.isEmpty())return Nn;t._readOnly||Rt(192);let e=wn.get(t);if(!e){e=new Map,wn.set(t,e);for(const[n,r]of t._nodeMap){const t=r.__type;let i=e.get(t);i||(i=new Map,e.set(t,i)),i.set(n,r)}}return e}function Pn(t){const e=t.constructor.clone(t);return e.afterCloneFrom(t),e}function Fn(t,e,n,r,i,s){let o=t.getFirstChild();for(;null!==o;){const t=o.__key;o.__parent===e&&(_s(o)&&Fn(o,t,n,r,i,s),n.has(t)||s.delete(t),i.push(t)),o=o.getNextSibling()}}let Dn,Ln,On,In,An,Mn,Wn,zn,Bn,Rn,Kn=\"\",$n=\"\",Jn=null,Un=\"\",Vn=\"\",jn=!1,Hn=!1,qn=null;function Qn(t,e){const n=Wn.get(t);if(null!==e){const n=dr(t);n.parentNode===e&&e.removeChild(n)}if(zn.has(t)||Ln._keyToDOMMap.delete(t),_s(n)){const t=lr(n,Wn);Xn(t,0,t.length-1,null)}void 0!==n&&He(Rn,On,In,n,\"destroyed\")}function Xn(t,e,n,r){let i=e;for(;i<=n;++i){const e=t[i];void 0!==e&&Qn(e,r)}}function Yn(t,e){t.setProperty(\"text-align\",e)}const Zn=\"40px\";function Gn(t,e){const n=Dn.theme.indent;if(\"string\"==typeof n){const r=t.classList.contains(n);e>0&&!r?t.classList.add(n):e<1&&r&&t.classList.remove(n)}const r=getComputedStyle(t).getPropertyValue(\"--lexical-indent-base-value\")||Zn;t.style.setProperty(\"padding-inline-start\",0===e?\"\":`calc(${e} * ${r})`)}function tr(t,e){const n=t.style;0===e?Yn(n,\"\"):e===vt?Yn(n,\"left\"):e===St?Yn(n,\"center\"):e===Tt?Yn(n,\"right\"):e===Ct?Yn(n,\"justify\"):e===kt?Yn(n,\"start\"):e===bt&&Yn(n,\"end\")}function er(t,e,n){const r=zn.get(t);void 0===r&&Rt(60);const i=r.createDOM(Dn,Ln);if(function(t,e,n){const r=n._keyToDOMMap;e[\"__lexicalKey_\"+n._key]=t,r.set(t,e)}(t,i,Ln),oi(r)?i.setAttribute(\"data-lexical-text\",\"true\"):ms(r)&&i.setAttribute(\"data-lexical-decorator\",\"true\"),_s(r)){const t=r.__indent,e=r.__size;if(0!==t&&Gn(i,t),0!==e){const t=e-1;!function(t,e,n,r){const i=$n;$n=\"\",nr(t,n,0,e,r,null),sr(n,r),$n=i}(lr(r,zn),t,r,i)}const n=r.__format;0!==n&&tr(i,n),r.isInline()||ir(null,r,i),Ge(r)&&(Kn+=Nt,Vn+=Nt)}else{const e=r.getTextContent();if(ms(r)){const e=r.decorate(Ln,Dn);null!==e&&ar(t,e),i.contentEditable=\"false\"}else oi(r)&&(r.isDirectionless()||($n+=e));Kn+=e,Vn+=e}if(null!==e)if(null!=n)e.insertBefore(i,n);else{const t=e.__lexicalLineBreak;null!=t?e.insertBefore(i,t):e.appendChild(i)}return He(Rn,On,In,r,\"created\"),i}function nr(t,e,n,r,i,s){const o=Kn;Kn=\"\";let l=n;for(;l<=r;++l){er(t[l],i,s);const e=zn.get(t[l]);null!==e&&oi(e)&&(null===Jn&&(Jn=e.getFormat()),\"\"===Un&&(Un=e.getStyle()))}Ge(e)&&(Kn+=Nt),i.__lexicalTextContent=Kn,Kn=o+Kn}function rr(t,e){const n=e.get(t);return $r(n)||ms(n)&&n.isInline()}function ir(t,e,n){const r=null!==t&&(0===t.__size||rr(t.__last,Wn)),i=0===e.__size||rr(e.__last,zn);if(r){if(!i){const t=n.__lexicalLineBreak;if(null!=t)try{n.removeChild(t)}catch(e){if(\"object\"==typeof e&&null!=e){const r=`${e.toString()} Parent: ${n.tagName}, child: ${t.tagName}.`;throw new Error(r)}throw e}n.__lexicalLineBreak=null}}else if(i){const t=document.createElement(\"br\");n.__lexicalLineBreak=t,n.appendChild(t)}}function sr(t,e){const n=e.__lexicalDirTextContent,r=e.__lexicalDir;if(n!==$n||r!==qn){const n=\"\"===$n,s=n?qn:(i=$n,Dt.test(i)?\"rtl\":Lt.test(i)?\"ltr\":null);if(s!==r){const i=e.classList,o=Dn.theme;let l=null!==r?o[r]:void 0,c=null!==s?o[s]:void 0;if(void 0!==l){if(\"string\"==typeof l){const t=Kt(l);l=o[r]=t}i.remove(...l)}if(null===s||n&&\"ltr\"===s)e.removeAttribute(\"dir\");else{if(void 0!==c){if(\"string\"==typeof c){const t=Kt(c);c=o[s]=t}void 0!==c&&i.add(...c)}e.dir=s}if(!Hn){t.getWritable().__dir=s}}qn=s,e.__lexicalDirTextContent=$n,e.__lexicalDir=s}var i}function or(t,e,n){const r=$n;var i;$n=\"\",Jn=null,Un=\"\",function(t,e,n){const r=Kn,i=t.__size,s=e.__size;if(Kn=\"\",1===i&&1===s){const r=t.__first,i=e.__first;if(r===i)cr(r,n);else{const t=dr(r),e=er(i,null,null);try{n.replaceChild(e,t)}catch(s){if(\"object\"==typeof s&&null!=s){const o=`${s.toString()} Parent: ${n.tagName}, new child: {tag: ${e.tagName} key: ${i}}, old child: {tag: ${t.tagName}, key: ${r}}.`;throw new Error(o)}throw s}Qn(r,null)}const s=zn.get(i);oi(s)&&(null===Jn&&(Jn=s.getFormat()),\"\"===Un&&(Un=s.getStyle()))}else{const r=lr(t,Wn),o=lr(e,zn);if(0===i)0!==s&&nr(o,e,0,s-1,n,null);else if(0===s){if(0!==i){const t=null==n.__lexicalLineBreak;Xn(r,0,i-1,t?null:n),t&&(n.textContent=\"\")}}else!function(t,e,n,r,i,s){const o=r-1,l=i-1;let c,a,u=(h=s,h.firstChild),f=0,d=0;var h;for(;f<=o&&d<=l;){const t=e[f],r=n[d];if(t===r)u=ur(cr(r,s)),f++,d++;else{void 0===c&&(c=new Set(e)),void 0===a&&(a=new Set(n));const i=a.has(t),o=c.has(r);if(i)if(o){const t=tn(Ln,r);t===u?u=ur(cr(r,s)):(null!=u?s.insertBefore(t,u):s.appendChild(t),cr(r,s)),f++,d++}else er(r,s,u),d++;else u=ur(dr(t)),Qn(t,s),f++}const i=zn.get(r);null!==i&&oi(i)&&(null===Jn&&(Jn=i.getFormat()),\"\"===Un&&(Un=i.getStyle()))}const g=f>o,_=d>l;if(g&&!_){const e=n[l+1];nr(n,t,d,l,s,void 0===e?null:Ln.getElementByKey(e))}else _&&!g&&Xn(e,f,o,s)}(e,r,o,i,s,n)}Ge(e)&&(Kn+=Nt);n.__lexicalTextContent=Kn,Kn=r+Kn}(t,e,n),sr(e,n),Es(i=e)&&null!=Jn&&Jn!==i.__textFormat&&!Hn&&(i.setTextFormat(Jn),i.setTextStyle(Un)),function(t){Es(t)&&\"\"!==Un&&Un!==t.__textStyle&&!Hn&&t.setTextStyle(Un)}(e),$n=r}function lr(t,e){const n=[];let r=t.__first;for(;null!==r;){const t=e.get(r);void 0===t&&Rt(101),n.push(r),r=t.__next}return n}function cr(t,e){const n=Wn.get(t);let r=zn.get(t);void 0!==n&&void 0!==r||Rt(61);const i=jn||Mn.has(t)||An.has(t),s=tn(Ln,t);if(n===r&&!i){if(_s(n)){const t=s.__lexicalTextContent;void 0!==t&&(Kn+=t,Vn+=t);const e=s.__lexicalDirTextContent;void 0!==e&&($n+=e)}else{const t=n.getTextContent();oi(n)&&!n.isDirectionless()&&($n+=t),Vn+=t,Kn+=t}return s}if(n!==r&&i&&He(Rn,On,In,r,\"updated\"),r.updateDOM(n,s,Dn)){const n=er(t,null,null);return null===e&&Rt(62),e.replaceChild(n,s),Qn(t,null),n}if(_s(n)&&_s(r)){const t=r.__indent;t!==n.__indent&&Gn(s,t);const e=r.__format;e!==n.__format&&tr(s,e),i&&(or(n,r,s),vs(r)||r.isInline()||ir(n,r,s)),Ge(r)&&(Kn+=Nt,Vn+=Nt)}else{const e=r.getTextContent();if(ms(r)){const e=r.decorate(Ln,Dn);null!==e&&ar(t,e)}else oi(r)&&!r.isDirectionless()&&($n+=e);Kn+=e,Vn+=e}if(!Hn&&vs(r)&&r.__cachedText!==Vn){const t=r.getWritable();t.__cachedText=Vn,r=t}return s}function ar(t,e){let n=Ln._pendingDecorators;const r=Ln._decorators;if(null===n){if(r[t]===e)return;n=ke(Ln)}n[t]=e}function ur(t){let e=t.nextSibling;return null!==e&&e===Ln._blockCursorElement&&(e=e.nextSibling),e}function fr(t,e,n,r,i,s){Kn=\"\",Vn=\"\",$n=\"\",jn=r===lt,qn=null,Ln=n,Dn=n._config,On=n._nodes,In=Ln._listeners.mutation,An=i,Mn=s,Wn=t._nodeMap,zn=e._nodeMap,Hn=e._readOnly,Bn=new Map(n._keyToDOMMap);const o=new Map;return Rn=o,cr(\"root\",null),Ln=void 0,On=void 0,An=void 0,Mn=void 0,Wn=void 0,zn=void 0,Dn=void 0,Bn=void 0,Rn=void 0,o}function dr(t){const e=Bn.get(t);return void 0===e&&Rt(75,t),e}const hr=Object.freeze({}),gr=30,_r=[[\"keydown\",function(t,e){if(pr=t.timeStamp,yr=t.key,e.isComposing())return;const{key:n,shiftKey:r,ctrlKey:o,metaKey:l,altKey:c}=t;if(Ze(e,_,t))return;if(null==n)return;if(function(t,e,n,r){return Be(t)&&!e&&!r&&!n}(n,o,c,l))Ze(e,p,t);else if(function(t,e,n,r,i){return Be(t)&&!r&&!n&&(e||i)}(n,o,r,c,l))Ze(e,y,t);else if(function(t,e,n,r){return ze(t)&&!e&&!r&&!n}(n,o,c,l))Ze(e,m,t);else if(function(t,e,n,r,i){return ze(t)&&!r&&!n&&(e||i)}(n,o,r,c,l))Ze(e,x,t);else if(function(t,e,n){return function(t){return\"ArrowUp\"===t}(t)&&!e&&!n}(n,o,l))Ze(e,v,t);else if(function(t,e,n){return function(t){return\"ArrowDown\"===t}(t)&&!e&&!n}(n,o,l))Ze(e,S,t);else if(function(t,e){return Ke(t)&&e}(n,r))Cr=!0,Ze(e,T,t);else if(function(t){return\" \"===t}(n))Ze(e,C,t);else if(function(t,e){return q&&e&&\"o\"===t.toLowerCase()}(n,o))t.preventDefault(),Cr=!0,Ze(e,s,!0);else if(function(t,e){return Ke(t)&&!e}(n,r))Cr=!1,Ze(e,T,t);else if(function(t,e,n,r){return q?!e&&!n&&($e(t)||\"h\"===t.toLowerCase()&&r):!(r||e||n)&&$e(t)}(n,c,l,o))$e(n)?Ze(e,k,t):(t.preventDefault(),Ze(e,i,!0));else if(function(t){return\"Escape\"===t}(n))Ze(e,b,t);else if(function(t,e,n,r,i){return q?!(n||r||i)&&(Je(t)||\"d\"===t.toLowerCase()&&e):!(e||r||i)&&Je(t)}(n,o,r,c,l))Je(n)?Ze(e,w,t):(t.preventDefault(),Ze(e,i,!1));else if(function(t,e,n){return $e(t)&&(q?e:n)}(n,c,o))t.preventDefault(),Ze(e,u,!0);else if(function(t,e,n){return Je(t)&&(q?e:n)}(n,c,o))t.preventDefault(),Ze(e,u,!1);else if(function(t,e){return q&&e&&$e(t)}(n,l))t.preventDefault(),Ze(e,f,!0);else if(function(t,e){return q&&e&&Je(t)}(n,l))t.preventDefault(),Ze(e,f,!1);else if(function(t,e,n,r){return\"b\"===t.toLowerCase()&&!e&&Re(n,r)}(n,c,l,o))t.preventDefault(),Ze(e,d,\"bold\");else if(function(t,e,n,r){return\"u\"===t.toLowerCase()&&!e&&Re(n,r)}(n,c,l,o))t.preventDefault(),Ze(e,d,\"underline\");else if(function(t,e,n,r){return\"i\"===t.toLowerCase()&&!e&&Re(n,r)}(n,c,l,o))t.preventDefault(),Ze(e,d,\"italic\");else if(function(t,e,n,r){return\"Tab\"===t&&!e&&!n&&!r}(n,c,o,l))Ze(e,N,t);else if(function(t,e,n,r){return\"z\"===t.toLowerCase()&&!e&&Re(n,r)}(n,r,l,o))t.preventDefault(),Ze(e,h,void 0);else if(function(t,e,n,r){return q?\"z\"===t.toLowerCase()&&n&&e:\"y\"===t.toLowerCase()&&r||\"z\"===t.toLowerCase()&&r&&e}(n,r,l,o))t.preventDefault(),Ze(e,g,void 0);else{xi(e._editorState._selection)?!function(t,e,n,r){return!e&&\"c\"===t.toLowerCase()&&(q?n:r)}(n,r,l,o)?!function(t,e,n,r){return!e&&\"x\"===t.toLowerCase()&&(q?n:r)}(n,r,l,o)?Ue(n,l,o)&&(t.preventDefault(),Ze(e,z,t)):(t.preventDefault(),Ze(e,W,t)):(t.preventDefault(),Ze(e,M,t)):!Q&&Ue(n,l,o)&&(t.preventDefault(),Ze(e,z,t))}(function(t,e,n,r){return t||e||n||r})(o,r,c,l)&&Ze(e,V,t)}],[\"pointerdown\",function(t,e){const n=t.target,r=t.pointerType;n instanceof Node&&\"touch\"!==r&&hs(e,(()=>{ms(Ce(n))||(Tr=!0)}))}],[\"compositionstart\",function(t,e){hs(e,(()=>{const n=Oi();if(yi(n)&&!e.isComposing()){const r=n.anchor,i=n.anchor.getNode();xe(r.key),(t.timeStamp<pr+gr||\"element\"===r.type||!n.isCollapsed()||i.getFormat()!==n.format||oi(i)&&i.getStyle()!==n.style)&&Ze(e,l,Et)}}))}],[\"compositionend\",function(t,e){Q?kr=!0:hs(e,(()=>{Fr(e,t.data)}))}],[\"input\",function(t,e){t.stopPropagation(),hs(e,(()=>{const n=Oi(),r=t.data,i=Pr(t);if(null!=r&&yi(n)&&wr(n,i,r,t.timeStamp,!1)){kr&&(Fr(e,r),kr=!1);const i=n.anchor.getNode(),s=yn(e._window);if(null===s)return;const o=n.isBackward(),c=o?n.anchor.offset:n.focus.offset,a=o?n.focus.offset:n.anchor.offset;X&&!n.isCollapsed()&&oi(i)&&null!==s.anchorNode&&i.getTextContent().slice(0,c)+r+i.getTextContent().slice(c+a)===Ie(s.anchorNode)||Ze(e,l,r);const u=r.length;Q&&u>1&&\"insertCompositionText\"===t.inputType&&!e.isComposing()&&(n.anchor.offset-=u),Y||Z||nt||!e.isComposing()||(pr=0,xe(null))}else{Ae(!1,e,null!==r?r:void 0),kr&&(Fr(e,r||void 0),kr=!1)}Yi(),Xt(ts())})),xr=null}],[\"click\",function(t,e){hs(e,(()=>{const n=Oi(),i=yn(e._window),s=Ii();if(i)if(yi(n)){const e=n.anchor,r=e.getNode();if(\"element\"===e.type&&0===e.offset&&n.isCollapsed()&&!vs(r)&&1===we().getChildrenSize()&&r.getTopLevelElementOrThrow().isEmpty()&&null!==s&&n.is(s))i.removeAllRanges(),n.dirty=!0;else if(3===t.detail&&!n.isCollapsed()){r!==n.focus.getNode()&&(_s(r)?r.select(0):r.getParentOrThrow().select(0))}}else if(\"touch\"===t.pointerType){const n=i.anchorNode;if(null!==n){const r=n.nodeType;if(r===rt||r===it){Ee(Li(s,i,e,t))}}}Ze(e,r,t)}))}],[\"cut\",hr],[\"copy\",hr],[\"dragstart\",hr],[\"dragover\",hr],[\"dragend\",hr],[\"paste\",hr],[\"focus\",hr],[\"blur\",hr],[\"drop\",hr]];X&&_r.push([\"beforeinput\",(t,e)=>function(t,e){const n=t.inputType,r=Pr(t);if(\"deleteCompositionText\"===n||Q&&Ye(e))return;if(\"insertCompositionText\"===n)return;hs(e,(()=>{const _=Oi();if(\"deleteContentBackward\"===n){if(null===_){const t=Ii();if(!yi(t))return;Ee(t.clone())}if(yi(_)){const n=_.anchor.key===_.focus.key;if(p=t.timeStamp,\"MediaLast\"===yr&&p<pr+gr&&e.isComposing()&&n){if(xe(null),pr=0,setTimeout((()=>{hs(e,(()=>{xe(null)}))}),gr),yi(_)){const t=_.anchor.getNode();t.markDirty(),_.format=t.getFormat(),oi(t)||Rt(142),_.style=t.getStyle()}}else{xe(null),t.preventDefault();const r=_.anchor.getNode().getTextContent(),s=0===_.anchor.offset&&_.focus.offset===r.length;et&&n&&!s||Ze(e,i,!0)}return}}var p;if(!yi(_))return;const y=t.data;null!==xr&&Ae(!1,e,xr),_.dirty&&null===xr||!_.isCollapsed()||vs(_.anchor.getNode())||null===r||_.applyDOMRange(r),xr=null;const m=_.anchor,x=_.focus,v=m.getNode(),S=x.getNode();if(\"insertText\"!==n&&\"insertTranspose\"!==n)switch(t.preventDefault(),n){case\"insertFromYank\":case\"insertFromDrop\":case\"insertReplacementText\":Ze(e,l,t);break;case\"insertFromComposition\":xe(null),Ze(e,l,t);break;case\"insertLineBreak\":xe(null),Ze(e,s,!1);break;case\"insertParagraph\":xe(null),Cr&&!Z?(Cr=!1,Ze(e,s,!1)):Ze(e,o,void 0);break;case\"insertFromPaste\":case\"insertFromPasteAsQuotation\":Ze(e,c,t);break;case\"deleteByComposition\":(function(t,e){return t!==e||_s(t)||_s(e)||!t.isToken()||!e.isToken()})(v,S)&&Ze(e,a,t);break;case\"deleteByDrag\":case\"deleteByCut\":Ze(e,a,t);break;case\"deleteContent\":Ze(e,i,!1);break;case\"deleteWordBackward\":Ze(e,u,!0);break;case\"deleteWordForward\":Ze(e,u,!1);break;case\"deleteHardLineBackward\":case\"deleteSoftLineBackward\":Ze(e,f,!0);break;case\"deleteContentForward\":case\"deleteHardLineForward\":case\"deleteSoftLineForward\":Ze(e,f,!1);break;case\"formatStrikeThrough\":Ze(e,d,\"strikethrough\");break;case\"formatBold\":Ze(e,d,\"bold\");break;case\"formatItalic\":Ze(e,d,\"italic\");break;case\"formatUnderline\":Ze(e,d,\"underline\");break;case\"historyUndo\":Ze(e,h,void 0);break;case\"historyRedo\":Ze(e,g,void 0)}else{if(\"\\n\"===y)t.preventDefault(),Ze(e,s,!1);else if(y===Nt)t.preventDefault(),Ze(e,o,void 0);else if(null==y&&t.dataTransfer){const e=t.dataTransfer.getData(\"text/plain\");t.preventDefault(),_.insertRawText(e)}else null!=y&&wr(_,r,y,t.timeStamp,!0)?(t.preventDefault(),Ze(e,l,y)):xr=y;mr=t.timeStamp}}))}(t,e)]);let pr=0,yr=null,mr=0,xr=null;const vr=new WeakMap;let Sr=!1,Tr=!1,Cr=!1,kr=!1,br=[0,\"\",0,\"root\",0];function wr(t,e,n,r,i){const s=t.anchor,o=t.focus,l=s.getNode(),c=ts(),a=yn(c._window),u=null!==a?a.anchorNode:null,f=s.key,d=c.getElementByKey(f),h=n.length;return f!==o.key||!oi(l)||(!i&&(!X||mr<r+50)||l.isDirty()&&h<2||De(n))&&s.offset!==o.offset&&!l.isComposing()||fe(l)||l.isDirty()&&h>1||(i||!X)&&null!==d&&!l.isComposing()&&u!==he(d)||null!==a&&null!==e&&(!e.collapsed||e.startContainer!==a.anchorNode||e.startOffset!==a.anchorOffset)||l.getFormat()!==t.format||l.getStyle()!==t.style||We(t,l)}function Nr(t,e){return null!==t&&null!==t.nodeValue&&t.nodeType===it&&0!==e&&e!==t.nodeValue.length}function Er(t,n,r){const{anchorNode:i,anchorOffset:s,focusNode:o,focusOffset:l}=t;Sr&&(Sr=!1,Nr(i,s)&&Nr(o,l))||hs(n,(()=>{if(!r)return void Ee(null);if(!le(n,i,o))return;const c=Oi();if(yi(c)){const e=c.anchor,r=e.getNode();if(c.isCollapsed()){\"Range\"===t.type&&t.anchorNode===t.focusNode&&(c.dirty=!0);const i=on(n).event,s=i?i.timeStamp:performance.now(),[o,l,a,u,f]=br,d=we(),h=!1===n.isComposing()&&\"\"===d.getTextContent();if(s<f+200&&e.offset===a&&e.key===u)c.format=o,c.style=l;else if(\"text\"===e.type)oi(r)||Rt(141),c.format=r.getFormat(),c.style=r.getStyle();else if(\"element\"===e.type&&!h){const t=e.getNode();c.style=\"\",t instanceof bs&&0===t.getChildrenSize()?(c.format=t.getTextFormat(),c.style=t.getTextStyle()):c.format=0}}else{const t=e.key,n=c.focus.key,r=c.getNodes(),i=r.length,o=c.isBackward(),a=o?l:s,u=o?s:l,f=o?n:t,d=o?t:n;let h=xt,g=!1;for(let t=0;t<i;t++){const e=r[t],n=e.getTextContentSize();if(oi(e)&&0!==n&&!(0===t&&e.__key===f&&a===n||t===i-1&&e.__key===d&&0===u)&&(g=!0,h&=e.getFormat(),0===h))break}c.format=g?h:0}}Ze(n,e,void 0)}))}function Pr(t){if(!t.getTargetRanges)return null;const e=t.getTargetRanges();return 0===e.length?null:e[0]}function Fr(t,e){const n=t._compositionKey;if(xe(null),null!==n&&null!=e){if(\"\"===e){const e=Se(n),r=he(t.getElementByKey(n));return void(null!==r&&null!==r.nodeValue&&oi(e)&&Me(e,r.nodeValue,null,null,!0))}if(\"\\n\"===e[e.length-1]){const e=Oi();if(yi(e)){const n=e.focus;return e.anchor.set(n.key,n.offset,n.type),void Ze(t,T,null)}}}Ae(!0,t,e)}function Dr(t){let e=t.__lexicalEventHandles;return void 0===e&&(e=[],t.__lexicalEventHandles=e),e}const Lr=new Map;function Or(t){const e=t.target,n=yn(null==e?null:9===e.nodeType?e.defaultView:e.ownerDocument.defaultView);if(null===n)return;const r=ae(n.anchorNode);if(null===r)return;Tr&&(Tr=!1,hs(r,(()=>{const e=Ii(),i=n.anchorNode;if(null===i)return;const s=i.nodeType;if(s!==rt&&s!==it)return;Ee(Li(e,n,r,t))})));const i=Le(r),s=i[i.length-1],o=s._key,l=Lr.get(o),c=l||s;c!==r&&Er(n,c,!1),Er(n,r,!0),r!==s?Lr.set(o,r):l&&Lr.delete(o)}function Ir(t){t._lexicalHandled=!0}function Ar(t){return!0===t._lexicalHandled}function Mr(t){const e=t.ownerDocument,n=vr.get(e);void 0===n&&Rt(162);const r=n-1;r>=0||Rt(164),vr.set(e,r),0===r&&e.removeEventListener(\"selectionchange\",Or);const i=ue(t);ce(i)?(!function(t){if(null!==t._parentEditor){const e=Le(t),n=e[e.length-1]._key;Lr.get(n)===t&&Lr.delete(n)}else Lr.delete(t._key)}(i),t.__lexicalEditor=null):i&&Rt(198);const s=Dr(t);for(let t=0;t<s.length;t++)s[t]();t.__lexicalEventHandles=[]}function Wr(t,e,n){Yi();const r=t.__key,i=t.getParent();if(null===i)return;const s=function(t){const e=Oi();if(!yi(e)||!_s(t))return e;const{anchor:n,focus:r}=e,i=n.getNode(),s=r.getNode();return sn(i,t)&&n.set(t.__key,0,\"element\"),sn(s,t)&&r.set(t.__key,0,\"element\"),e}(t);let o=!1;if(yi(s)&&e){const e=s.anchor,n=s.focus;e.key===r&&(Wi(e,t,i,t.getPreviousSibling(),t.getNextSibling()),o=!0),n.key===r&&(Wi(n,t,i,t.getPreviousSibling(),t.getNextSibling()),o=!0)}else xi(s)&&e&&t.isSelected()&&t.selectPrevious();if(yi(s)&&e&&!o){const e=t.getIndexWithinParent();ye(t),Ai(s,i,e,-1)}else ye(t);n||an(i)||i.canBeEmpty()||!i.isEmpty()||Wr(i,e),e&&vs(i)&&i.isEmpty()&&i.selectEnd()}class zr{static getType(){Rt(64,this.name)}static clone(t){Rt(65,this.name)}afterCloneFrom(t){this.__parent=t.__parent,this.__next=t.__next,this.__prev=t.__prev}constructor(t){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,pe(this,t)}getType(){return this.__type}isInline(){Rt(137,this.constructor.name)}isAttached(){let t=this.__key;for(;null!==t;){if(\"root\"===t)return!0;const e=Se(t);if(null===e)break;t=e.__parent}return!1}isSelected(t){const e=t||Oi();if(null==e)return!1;const n=e.getNodes().some((t=>t.__key===this.__key));if(oi(this))return n;if(yi(e)&&\"element\"===e.anchor.type&&\"element\"===e.focus.type){if(e.isCollapsed())return!1;const t=this.getParent();if(ms(this)&&this.isInline()&&t){const n=e.isBackward()?e.focus:e.anchor,r=n.getNode();if(n.offset===r.getChildrenSize()&&r.is(t)&&r.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){const t=this.getParent();if(null===t)return-1;let e=t.getFirstChild(),n=0;for(;null!==e;){if(this.is(e))return n;n++,e=e.getNextSibling()}return-1}getParent(){const t=this.getLatest().__parent;return null===t?null:Se(t)}getParentOrThrow(){const t=this.getParent();return null===t&&Rt(66,this.__key),t}getTopLevelElement(){let t=this;for(;null!==t;){const e=t.getParent();if(an(e))return _s(t)||t===this&&ms(t)||Rt(194),t;t=e}return null}getTopLevelElementOrThrow(){const t=this.getTopLevelElement();return null===t&&Rt(67,this.__key),t}getParents(){const t=[];let e=this.getParent();for(;null!==e;)t.push(e),e=e.getParent();return t}getParentKeys(){const t=[];let e=this.getParent();for(;null!==e;)t.push(e.__key),e=e.getParent();return t}getPreviousSibling(){const t=this.getLatest().__prev;return null===t?null:Se(t)}getPreviousSiblings(){const t=[],e=this.getParent();if(null===e)return t;let n=e.getFirstChild();for(;null!==n&&!n.is(this);)t.push(n),n=n.getNextSibling();return t}getNextSibling(){const t=this.getLatest().__next;return null===t?null:Se(t)}getNextSiblings(){const t=[];let e=this.getNextSibling();for(;null!==e;)t.push(e),e=e.getNextSibling();return t}getCommonAncestor(t){const e=this.getParents(),n=t.getParents();_s(this)&&e.unshift(this),_s(t)&&n.unshift(t);const r=e.length,i=n.length;if(0===r||0===i||e[r-1]!==n[i-1])return null;const s=new Set(n);for(let t=0;t<r;t++){const n=e[t];if(s.has(n))return n}return null}is(t){return null!=t&&this.__key===t.__key}isBefore(t){if(this===t)return!1;if(t.isParentOf(this))return!0;if(this.isParentOf(t))return!1;const e=this.getCommonAncestor(t);let n=0,r=0,i=this;for(;;){const t=i.getParentOrThrow();if(t===e){n=i.getIndexWithinParent();break}i=t}for(i=t;;){const t=i.getParentOrThrow();if(t===e){r=i.getIndexWithinParent();break}i=t}return n<r}isParentOf(t){const e=this.__key;if(e===t.__key)return!1;let n=t;for(;null!==n;){if(n.__key===e)return!0;n=n.getParent()}return!1}getNodesBetween(t){const e=this.isBefore(t),n=[],r=new Set;let i=this;for(;null!==i;){const s=i.__key;if(r.has(s)||(r.add(s),n.push(i)),i===t)break;const o=_s(i)?e?i.getFirstChild():i.getLastChild():null;if(null!==o){i=o;continue}const l=e?i.getNextSibling():i.getPreviousSibling();if(null!==l){i=l;continue}const c=i.getParentOrThrow();if(r.has(c.__key)||n.push(c),c===t)break;let a=null,u=c;do{if(null===u&&Rt(68),a=e?u.getNextSibling():u.getPreviousSibling(),u=u.getParent(),null===u)break;null!==a||r.has(u.__key)||n.push(u)}while(null===a);i=a}return e||n.reverse(),n}isDirty(){const t=ts()._dirtyLeaves;return null!==t&&t.has(this.__key)}getLatest(){const t=Se(this.__key);return null===t&&Rt(113),t}getWritable(){Yi();const t=Gi(),e=ts(),n=t._nodeMap,r=this.__key,i=this.getLatest(),s=e._cloneNotNeeded,o=Oi();if(null!==o&&o.setCachedNodes(null),s.has(r))return me(i),i;const l=Pn(i);return s.add(r),me(l),n.set(r,l),l}getTextContent(){return\"\"}getTextContentSize(){return this.getTextContent().length}createDOM(t,e){Rt(70)}updateDOM(t,e,n){Rt(71)}exportDOM(t){return{element:this.createDOM(t._config,t)}}exportJSON(){Rt(72)}static importJSON(t){Rt(18,this.name)}static transform(){return null}remove(t){Wr(this,!0,t)}replace(t,e){Yi();let n=Oi();null!==n&&(n=n.clone()),dn(this,t);const r=this.getLatest(),i=this.__key,s=t.__key,o=t.getWritable(),l=this.getParentOrThrow().getWritable(),c=l.__size;ye(o);const a=r.getPreviousSibling(),u=r.getNextSibling(),f=r.__prev,d=r.__next,h=r.__parent;if(Wr(r,!1,!0),null===a)l.__first=s;else{a.getWritable().__next=s}if(o.__prev=f,null===u)l.__last=s;else{u.getWritable().__prev=s}if(o.__next=d,o.__parent=h,l.__size=c,e&&(_s(this)&&_s(o)||Rt(139),this.getChildren().forEach((t=>{o.append(t)}))),yi(n)){Ee(n);const t=n.anchor,e=n.focus;t.key===i&&gi(t,o),e.key===i&&gi(e,o)}return ve()===i&&xe(s),o}insertAfter(t,e=!0){Yi(),dn(this,t);const n=this.getWritable(),r=t.getWritable(),i=r.getParent(),s=Oi();let o=!1,l=!1;if(null!==i){const e=t.getIndexWithinParent();if(ye(r),yi(s)){const t=i.__key,n=s.anchor,r=s.focus;o=\"element\"===n.type&&n.key===t&&n.offset===e+1,l=\"element\"===r.type&&r.key===t&&r.offset===e+1}}const c=this.getNextSibling(),a=this.getParentOrThrow().getWritable(),u=r.__key,f=n.__next;if(null===c)a.__last=u;else{c.getWritable().__prev=u}if(a.__size++,n.__next=u,r.__next=f,r.__prev=n.__key,r.__parent=n.__parent,e&&yi(s)){const t=this.getIndexWithinParent();Ai(s,a,t+1);const e=a.__key;o&&s.anchor.set(e,t+2,\"element\"),l&&s.focus.set(e,t+2,\"element\")}return t}insertBefore(t,e=!0){Yi(),dn(this,t);const n=this.getWritable(),r=t.getWritable(),i=r.__key;ye(r);const s=this.getPreviousSibling(),o=this.getParentOrThrow().getWritable(),l=n.__prev,c=this.getIndexWithinParent();if(null===s)o.__first=i;else{s.getWritable().__next=i}o.__size++,n.__prev=i,r.__prev=l,r.__next=n.__key,r.__parent=n.__parent;const a=Oi();if(e&&yi(a)){Ai(a,this.getParentOrThrow(),c)}return t}isParentRequired(){return!1}createParentElementNode(){return Ns()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(t,e){Yi();const n=this.getPreviousSibling(),r=this.getParentOrThrow();if(null===n)return r.select(0,0);if(_s(n))return n.select();if(!oi(n)){const t=n.getIndexWithinParent()+1;return r.select(t,t)}return n.select(t,e)}selectNext(t,e){Yi();const n=this.getNextSibling(),r=this.getParentOrThrow();if(null===n)return r.select();if(_s(n))return n.select(0,0);if(!oi(n)){const t=n.getIndexWithinParent();return r.select(t,t)}return n.select(t,e)}markDirty(){this.getWritable()}}class Br extends zr{static getType(){return\"linebreak\"}static clone(t){return new Br(t.__key)}constructor(t){super(t)}getTextContent(){return\"\\n\"}createDOM(){return document.createElement(\"br\")}updateDOM(){return!1}static importDOM(){return{br:t=>function(t){const e=t.parentElement;if(null!==e&&Tn(e)){const n=e.firstChild;if(n===t||n.nextSibling===t&&Jr(n)){const n=e.lastChild;if(n===t||n.previousSibling===t&&Jr(n))return!0}}return!1}(t)||function(t){const e=t.parentElement;if(null!==e&&Tn(e)){const n=e.firstChild;if(n===t||n.nextSibling===t&&Jr(n))return!1;const r=e.lastChild;if(r===t||r.previousSibling===t&&Jr(r))return!0}return!1}(t)?null:{conversion:Rr,priority:0}}}static importJSON(t){return Kr()}exportJSON(){return{type:\"linebreak\",version:1}}}function Rr(t){return{node:Kr()}}function Kr(){return fn(new Br)}function $r(t){return t instanceof Br}function Jr(t){return t.nodeType===it&&/^( |\\t|\\r?\\n)+$/.test(t.textContent||\"\")}function Ur(t,e){return 16&e?\"code\":e&mt?\"mark\":32&e?\"sub\":64&e?\"sup\":null}function Vr(t,e){return 1&e?\"strong\":2&e?\"em\":\"span\"}function jr(t,e,n,r,i){const s=r.classList;let o=je(i,\"base\");void 0!==o&&s.add(...o),o=je(i,\"underlineStrikethrough\");let l=!1;const c=e>&&e&ht;void 0!==o&&(n>&&n&ht?(l=!0,c||s.add(...o)):c&&s.remove(...o));for(const t in Ot){const r=Ot[t];if(o=je(i,t),void 0!==o)if(n&r){if(l&&(\"underline\"===t||\"strikethrough\"===t)){e&r&&s.remove(...o);continue}e&r&&(!c||\"underline\"!==t)&&\"strikethrough\"!==t||s.add(...o)}else e&r&&s.remove(...o)}}function Hr(t,e,n){const r=e.firstChild,i=n.isComposing(),s=t+(i?wt:\"\");if(null==r)e.textContent=s;else{const t=r.nodeValue;if(t!==s)if(i||Q){const[e,n,i]=function(t,e){const n=t.length,r=e.length;let i=0,s=0;for(;i<n&&i<r&&t[i]===e[i];)i++;for(;s+i<n&&s+i<r&&t[n-s-1]===e[r-s-1];)s++;return[i,n-i-s,e.slice(i,r-s)]}(t,s);0!==n&&r.deleteData(e,n),r.insertData(e,i)}else r.nodeValue=s}}function qr(t,e,n,r,i,s){Hr(i,t,e);const o=s.theme.text;void 0!==o&&jr(0,0,r,t,o)}function Qr(t,e){const n=document.createElement(e);return n.appendChild(t),n}class Xr extends zr{static getType(){return\"text\"}static clone(t){return new Xr(t.__text,t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__format=t.__format,this.__style=t.__style,this.__mode=t.__mode,this.__detail=t.__detail}constructor(t,e){super(e),this.__text=t,this.__format=0,this.__style=\"\",this.__mode=0,this.__detail=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){const t=this.getLatest();return zt[t.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===ve()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return!!(1&this.getLatest().__detail)}isUnmergeable(){return!!(2&this.getLatest().__detail)}hasFormat(t){const e=Ot[t];return!!(this.getFormat()&e)}isSimpleText(){return\"text\"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(t,e){return ge(this.getLatest().__format,t,e)}canHaveFormat(){return!0}createDOM(t,e){const n=this.__format,r=Ur(0,n),i=Vr(0,n),s=null===r?i:r,o=document.createElement(s);let l=o;this.hasFormat(\"code\")&&o.setAttribute(\"spellcheck\",\"false\"),null!==r&&(l=document.createElement(i),o.appendChild(l));qr(l,this,0,n,this.__text,t);const c=this.__style;return\"\"!==c&&(o.style.cssText=c),o}updateDOM(t,e,n){const r=this.__text,i=t.__format,s=this.__format,o=Ur(0,i),l=Ur(0,s),c=Vr(0,i),a=Vr(0,s);if((null===o?c:o)!==(null===l?a:l))return!0;if(o===l&&c!==a){const t=e.firstChild;null==t&&Rt(48);const i=document.createElement(a);return qr(i,this,0,s,r,n),e.replaceChild(i,t),!1}let u=e;null!==l&&null!==o&&(u=e.firstChild,null==u&&Rt(49)),Hr(r,u,this);const f=n.theme.text;void 0!==f&&i!==s&&jr(0,i,s,u,f);const d=t.__style,h=this.__style;return d!==h&&(e.style.cssText=h),!1}static importDOM(){return{\"#text\":()=>({conversion:ei,priority:0}),b:()=>({conversion:Zr,priority:0}),code:()=>({conversion:ii,priority:0}),em:()=>({conversion:ii,priority:0}),i:()=>({conversion:ii,priority:0}),s:()=>({conversion:ii,priority:0}),span:()=>({conversion:Yr,priority:0}),strong:()=>({conversion:ii,priority:0}),sub:()=>({conversion:ii,priority:0}),sup:()=>({conversion:ii,priority:0}),u:()=>({conversion:ii,priority:0})}}static importJSON(t){const e=si(t.text);return e.setFormat(t.format),e.setDetail(t.detail),e.setMode(t.mode),e.setStyle(t.style),e}exportDOM(t){let{element:e}=super.exportDOM(t);return null!==e&&vn(e)||Rt(132),e.style.whiteSpace=\"pre-wrap\",this.hasFormat(\"bold\")&&(e=Qr(e,\"b\")),this.hasFormat(\"italic\")&&(e=Qr(e,\"i\")),this.hasFormat(\"strikethrough\")&&(e=Qr(e,\"s\")),this.hasFormat(\"underline\")&&(e=Qr(e,\"u\")),{element:e}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:\"text\",version:1}}selectionTransform(t,e){}setFormat(t){const e=this.getWritable();return e.__format=\"string\"==typeof t?Ot[t]:t,e}setDetail(t){const e=this.getWritable();return e.__detail=\"string\"==typeof t?It[t]:t,e}setStyle(t){const e=this.getWritable();return e.__style=t,e}toggleFormat(t){const e=ge(this.getFormat(),t,null);return this.setFormat(e)}toggleDirectionless(){const t=this.getWritable();return t.__detail^=1,t}toggleUnmergeable(){const t=this.getWritable();return t.__detail^=2,t}setMode(t){const e=Wt[t];if(this.__mode===e)return this;const n=this.getWritable();return n.__mode=e,n}setTextContent(t){if(this.__text===t)return this;const e=this.getWritable();return e.__text=t,e}select(t,e){Yi();let n=t,r=e;const i=Oi(),s=this.getTextContent(),o=this.__key;if(\"string\"==typeof s){const t=s.length;void 0===n&&(n=t),void 0===r&&(r=t)}else n=0,r=0;if(!yi(i))return Ei(o,n,o,r,\"text\",\"text\");{const t=ve();t!==i.anchor.key&&t!==i.focus.key||xe(o),i.setTextNodeRange(this,n,this,r)}return i}selectStart(){return this.select(0,0)}selectEnd(){const t=this.getTextContentSize();return this.select(t,t)}spliceText(t,e,n,r){const i=this.getWritable(),s=i.__text,o=n.length;let l=t;l<0&&(l=o+l,l<0&&(l=0));const c=Oi();if(r&&yi(c)){const e=t+o;c.setTextNodeRange(i,e,i,e)}const a=s.slice(0,l)+n+s.slice(l+e);return i.__text=a,i}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...t){Yi();const e=this.getLatest(),n=e.getTextContent(),r=e.__key,i=ve(),s=new Set(t),o=[],l=n.length;let c=\"\";for(let t=0;t<l;t++)\"\"!==c&&s.has(t)&&(o.push(c),c=\"\"),c+=n[t];\"\"!==c&&o.push(c);const a=o.length;if(0===a)return[];if(o[0]===n)return[e];const u=o[0],f=e.getParent();let d;const h=e.getFormat(),g=e.getStyle(),_=e.__detail;let p=!1;e.isSegmented()?(d=si(u),d.__format=h,d.__style=g,d.__detail=_,p=!0):(d=e.getWritable(),d.__text=u);const y=Oi(),m=[d];let x=u.length;for(let t=1;t<a;t++){const e=o[t],n=e.length,s=si(e).getWritable();s.__format=h,s.__style=g,s.__detail=_;const l=s.__key,c=x+n;if(yi(y)){const t=y.anchor,e=y.focus;t.key===r&&\"text\"===t.type&&t.offset>x&&t.offset<=c&&(t.key=l,t.offset-=x,y.dirty=!0),e.key===r&&\"text\"===e.type&&e.offset>x&&e.offset<=c&&(e.key=l,e.offset-=x,y.dirty=!0)}i===r&&xe(l),x=c,m.push(s)}if(null!==f){!function(t){const e=t.getPreviousSibling(),n=t.getNextSibling();null!==e&&me(e),null!==n&&me(n)}(this);const t=f.getWritable(),e=this.getIndexWithinParent();p?(t.splice(e,0,m),this.remove()):t.splice(e,1,m),yi(y)&&Ai(y,f,e,a-1)}return m}mergeWithSibling(t){const e=t===this.getPreviousSibling();e||t===this.getNextSibling()||Rt(50);const n=this.__key,r=t.__key,i=this.__text,s=i.length;ve()===r&&xe(n);const o=Oi();if(yi(o)){const i=o.anchor,l=o.focus;null!==i&&i.key===r&&(zi(i,e,n,t,s),o.dirty=!0),null!==l&&l.key===r&&(zi(l,e,n,t,s),o.dirty=!0)}const l=t.__text,c=e?l+i:i+l;this.setTextContent(c);const a=this.getWritable();return t.remove(),a}isTextEntity(){return!1}}function Yr(t){return{forChild:li(t.style),node:null}}function Zr(t){const e=t,n=\"normal\"===e.style.fontWeight;return{forChild:li(e.style,n?void 0:\"bold\"),node:null}}const Gr=new WeakMap;function ti(t){return\"PRE\"===t.nodeName||t.nodeType===rt&&void 0!==t.style&&void 0!==t.style.whiteSpace&&t.style.whiteSpace.startsWith(\"pre\")}function ei(t){const e=t;null===t.parentElement&&Rt(129);let n=e.textContent||\"\";if(null!==function(t){let e,n=t.parentNode;const r=[t];for(;null!==n&&void 0===(e=Gr.get(n))&&!ti(n);)r.push(n),n=n.parentNode;const i=void 0===e?n:e;for(let t=0;t<r.length;t++)Gr.set(r[t],i);return i}(e)){const t=n.split(/(\\r?\\n|\\t)/),e=[],r=t.length;for(let n=0;n<r;n++){const r=t[n];\"\\n\"===r||\"\\r\\n\"===r?e.push(Kr()):\"\\t\"===r?e.push(ai()):\"\"!==r&&e.push(si(r))}return{node:e}}if(n=n.replace(/\\r/g,\"\").replace(/[ \\t\\n]+/g,\" \"),\"\"===n)return{node:null};if(\" \"===n[0]){let t=e,r=!0;for(;null!==t&&null!==(t=ni(t,!1));){const e=t.textContent||\"\";if(e.length>0){/[ \\t\\n]$/.test(e)&&(n=n.slice(1)),r=!1;break}}r&&(n=n.slice(1))}if(\" \"===n[n.length-1]){let t=e,r=!0;for(;null!==t&&null!==(t=ni(t,!0));){if((t.textContent||\"\").replace(/^( |\\t|\\r?\\n)+/,\"\").length>0){r=!1;break}}r&&(n=n.slice(0,n.length-1))}return\"\"===n?{node:null}:{node:si(n)}}function ni(t,e){let n=t;for(;;){let t;for(;null===(t=e?n.nextSibling:n.previousSibling);){const t=n.parentElement;if(null===t)return null;n=t}if(n=t,n.nodeType===rt){const t=n.style.display;if(\"\"===t&&!Sn(n)||\"\"!==t&&!t.startsWith(\"inline\"))return null}let r=n;for(;null!==(r=e?n.firstChild:n.lastChild);)n=r;if(n.nodeType===it)return n;if(\"BR\"===n.nodeName)return null}}const ri={code:\"code\",em:\"italic\",i:\"italic\",s:\"strikethrough\",strong:\"bold\",sub:\"subscript\",sup:\"superscript\",u:\"underline\"};function ii(t){const e=ri[t.nodeName.toLowerCase()];return void 0===e?{node:null}:{forChild:li(t.style,e),node:null}}function si(t=\"\"){return fn(new Xr(t))}function oi(t){return t instanceof Xr}function li(t,e){const n=t.fontWeight,r=t.textDecoration.split(\" \"),i=\"700\"===n||\"bold\"===n,s=r.includes(\"line-through\"),o=\"italic\"===t.fontStyle,l=r.includes(\"underline\"),c=t.verticalAlign;return t=>oi(t)?(i&&!t.hasFormat(\"bold\")&&t.toggleFormat(\"bold\"),s&&!t.hasFormat(\"strikethrough\")&&t.toggleFormat(\"strikethrough\"),o&&!t.hasFormat(\"italic\")&&t.toggleFormat(\"italic\"),l&&!t.hasFormat(\"underline\")&&t.toggleFormat(\"underline\"),\"sub\"!==c||t.hasFormat(\"subscript\")||t.toggleFormat(\"subscript\"),\"super\"!==c||t.hasFormat(\"superscript\")||t.toggleFormat(\"superscript\"),e&&!t.hasFormat(e)&&t.toggleFormat(e),t):t}class ci extends Xr{static getType(){return\"tab\"}static clone(t){return new ci(t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__text=t.__text}constructor(t){super(\"\\t\",t),this.__detail=2}static importDOM(){return null}static importJSON(t){const e=ai();return e.setFormat(t.format),e.setStyle(t.style),e}exportJSON(){return{...super.exportJSON(),type:\"tab\",version:1}}setTextContent(t){Rt(126)}setDetail(t){Rt(127)}setMode(t){Rt(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function ai(){return fn(new ci)}function ui(t){return t instanceof ci}class fi{constructor(t,e,n){this._selection=null,this.key=t,this.offset=e,this.type=n}is(t){return this.key===t.key&&this.offset===t.offset&&this.type===t.type}isBefore(t){let e=this.getNode(),n=t.getNode();const r=this.offset,i=t.offset;if(_s(e)){const t=e.getDescendantByIndex(r);e=null!=t?t:e}if(_s(n)){const t=n.getDescendantByIndex(i);n=null!=t?t:n}return e===n?r<i:e.isBefore(n)}getNode(){const t=Se(this.key);return null===t&&Rt(20),t}set(t,e,n){const r=this._selection,i=this.key;this.key=t,this.offset=e,this.type=n,Xi()||(ve()===i&&xe(t),null!==r&&(r.setCachedNodes(null),r.dirty=!0))}}function di(t,e,n){return new fi(t,e,n)}function hi(t,e){let n=e.__key,r=t.offset,i=\"element\";if(oi(e)){i=\"text\";const t=e.getTextContentSize();r>t&&(r=t)}else if(!_s(e)){const t=e.getNextSibling();if(oi(t))n=t.__key,r=0,i=\"text\";else{const t=e.getParent();t&&(n=t.__key,r=e.getIndexWithinParent()+1)}}t.set(n,r,i)}function gi(t,e){if(_s(e)){const n=e.getLastDescendant();_s(n)||oi(n)?hi(t,n):hi(t,e)}else hi(t,e)}function _i(t,e,n,r){t.key=e,t.offset=n,t.type=r}class pi{constructor(t){this._cachedNodes=null,this._nodes=t,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(t){this._cachedNodes=t}is(t){if(!xi(t))return!1;const e=this._nodes,n=t._nodes;return e.size===n.size&&Array.from(e).every((t=>n.has(t)))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(t){this.dirty=!0,this._nodes.add(t),this._cachedNodes=null}delete(t){this.dirty=!0,this._nodes.delete(t),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(t){return this._nodes.has(t)}clone(){return new pi(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(t){}insertText(){}insertNodes(t){const e=this.getNodes(),n=e.length,r=e[n-1];let i;if(oi(r))i=r.select();else{const t=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(t,t)}i.insertNodes(t);for(let t=0;t<n;t++)e[t].remove()}getNodes(){const t=this._cachedNodes;if(null!==t)return t;const e=this._nodes,n=[];for(const t of e){const e=Se(t);null!==e&&n.push(e)}return Xi()||(this._cachedNodes=n),n}getTextContent(){const t=this.getNodes();let e=\"\";for(let n=0;n<t.length;n++)e+=t[n].getTextContent();return e}}function yi(t){return t instanceof mi}class mi{constructor(t,e,n,r){this.anchor=t,this.focus=e,t._selection=this,e._selection=this,this._cachedNodes=null,this.format=n,this.style=r,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(t){this._cachedNodes=t}is(t){return!!yi(t)&&(this.anchor.is(t.anchor)&&this.focus.is(t.focus)&&this.format===t.format&&this.style===t.style)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){const t=this._cachedNodes;if(null!==t)return t;const e=this.anchor,n=this.focus,r=e.isBefore(n),i=r?e:n,s=r?n:e;let o=i.getNode(),l=s.getNode();const c=i.offset,a=s.offset;if(_s(o)){const t=o.getDescendantByIndex(c);o=null!=t?t:o}if(_s(l)){let t=l.getDescendantByIndex(a);null!==t&&t!==o&&l.getChildAtIndex(a)===t&&(t=t.getPreviousSibling()),l=null!=t?t:l}let u;return u=o.is(l)?_s(o)&&o.getChildrenSize()>0?[]:[o]:o.getNodesBetween(l),Xi()||(this._cachedNodes=u),u}setTextNodeRange(t,e,n,r){_i(this.anchor,t.__key,e,\"text\"),_i(this.focus,n.__key,r,\"text\"),this._cachedNodes=null,this.dirty=!0}getTextContent(){const t=this.getNodes();if(0===t.length)return\"\";const e=t[0],n=t[t.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[o,l]=Si(this);let c=\"\",a=!0;for(let u=0;u<t.length;u++){const f=t[u];if(_s(f)&&!f.isInline())a||(c+=\"\\n\"),a=!f.isEmpty();else if(a=!1,oi(f)){let t=f.getTextContent();f===e?f===n?\"element\"===r.type&&\"element\"===i.type&&i.offset!==r.offset||(t=o<l?t.slice(o,l):t.slice(l,o)):t=s?t.slice(o):t.slice(l):f===n&&(t=s?t.slice(0,l):t.slice(0,o)),c+=t}else!ms(f)&&!$r(f)||f===n&&this.isCollapsed()||(c+=f.getTextContent())}return c}applyDOMRange(t){const e=ts(),n=e.getEditorState()._selection,r=wi(t.startContainer,t.startOffset,t.endContainer,t.endOffset,e,n);if(null===r)return;const[i,s]=r;_i(this.anchor,i.key,i.offset,i.type),_i(this.focus,s.key,s.offset,s.type),this._cachedNodes=null}clone(){const t=this.anchor,e=this.focus;return new mi(di(t.key,t.offset,t.type),di(e.key,e.offset,e.type),this.format,this.style)}toggleFormat(t){this.format=ge(this.format,t,null),this.dirty=!0}setStyle(t){this.style=t,this.dirty=!0}hasFormat(t){const e=Ot[t];return!!(this.format&e)}insertRawText(t){const e=t.split(/(\\r?\\n|\\t)/),n=[],r=e.length;for(let t=0;t<r;t++){const r=e[t];\"\\n\"===r||\"\\r\\n\"===r?n.push(Kr()):\"\\t\"===r?n.push(ai()):n.push(si(r))}this.insertNodes(n)}insertText(t){const e=this.anchor,n=this.focus,r=this.format,i=this.style;let s=e,o=n;!this.isCollapsed()&&n.isBefore(e)&&(s=n,o=e),\"element\"===s.type&&function(t,e,n,r){const i=t.getNode(),s=i.getChildAtIndex(t.offset),o=si(),l=vs(i)?Ns().append(o):o;o.setFormat(n),o.setStyle(r),null===s?i.append(l):s.insertBefore(l),t.is(e)&&e.set(o.__key,0,\"text\"),t.set(o.__key,0,\"text\")}(s,o,r,i);const l=s.offset;let c=o.offset;const a=this.getNodes(),u=a.length;let f=a[0];oi(f)||Rt(26);const d=f.getTextContent().length,h=f.getParentOrThrow();let g=a[u-1];if(1===u&&\"element\"===o.type&&(c=d,o.set(s.key,c,\"text\")),this.isCollapsed()&&l===d&&(f.isSegmented()||f.isToken()||!f.canInsertTextAfter()||!h.canInsertTextAfter()&&null===f.getNextSibling())){let e=f.getNextSibling();if(oi(e)&&e.canInsertTextBefore()&&!fe(e)||(e=si(),e.setFormat(r),e.setStyle(i),h.canInsertTextAfter()?f.insertAfter(e):h.insertAfter(e)),e.select(0,0),f=e,\"\"!==t)return void this.insertText(t)}else if(this.isCollapsed()&&0===l&&(f.isSegmented()||f.isToken()||!f.canInsertTextBefore()||!h.canInsertTextBefore()&&null===f.getPreviousSibling())){let e=f.getPreviousSibling();if(oi(e)&&!fe(e)||(e=si(),e.setFormat(r),h.canInsertTextBefore()?f.insertBefore(e):h.insertBefore(e)),e.select(),f=e,\"\"!==t)return void this.insertText(t)}else if(f.isSegmented()&&l!==d){const t=si(f.getTextContent());t.setFormat(r),f.replace(t),f=t}else if(!this.isCollapsed()&&\"\"!==t){const e=g.getParent();if(!h.canInsertTextBefore()||!h.canInsertTextAfter()||_s(e)&&(!e.canInsertTextBefore()||!e.canInsertTextAfter()))return this.insertText(\"\"),bi(this.anchor,this.focus,null),void this.insertText(t)}if(1===u){if(f.isToken()){const e=si(t);return e.select(),void f.replace(e)}const e=f.getFormat(),n=f.getStyle();if(l!==c||e===r&&n===i){if(ui(f)){const e=si(t);return e.setFormat(r),e.setStyle(i),e.select(),void f.replace(e)}}else{if(\"\"!==f.getTextContent()){const e=si(t);if(e.setFormat(r),e.setStyle(i),e.select(),0===l)f.insertBefore(e,!1);else{const[t]=f.splitText(l);t.insertAfter(e,!1)}return void(e.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=t.length))}f.setFormat(r),f.setStyle(i)}const s=c-l;f=f.spliceText(l,s,t,!0),\"\"===f.getTextContent()?f.remove():\"text\"===this.anchor.type&&(f.isComposing()?this.anchor.offset-=t.length:(this.format=e,this.style=n))}else{const e=new Set([...f.getParentKeys(),...g.getParentKeys()]),n=_s(f)?f:f.getParentOrThrow();let r=_s(g)?g:g.getParentOrThrow(),i=g;if(!n.is(r)&&r.isInline())do{i=r,r=r.getParentOrThrow()}while(r.isInline());if(\"text\"===o.type&&(0!==c||\"\"===g.getTextContent())||\"element\"===o.type&&g.getIndexWithinParent()<c)if(oi(g)&&!g.isToken()&&c!==g.getTextContentSize()){if(g.isSegmented()){const t=si(g.getTextContent());g.replace(t),g=t}vs(o.getNode())||\"text\"!==o.type||(g=g.spliceText(0,c,\"\")),e.add(g.__key)}else{const t=g.getParentOrThrow();t.canBeEmpty()||1!==t.getChildrenSize()?g.remove():t.remove()}else e.add(g.__key);const s=r.getChildren(),h=new Set(a),_=n.is(r),p=n.isInline()&&null===f.getNextSibling()?n:f;for(let t=s.length-1;t>=0;t--){const e=s[t];if(e.is(f)||_s(e)&&e.isParentOf(f))break;e.isAttached()&&(!h.has(e)||e.is(i)?_||p.insertAfter(e,!1):e.remove())}if(!_){let t=r,n=null;for(;null!==t;){const r=t.getChildren(),i=r.length;(0===i||r[i-1].is(n))&&(e.delete(t.__key),n=t),t=t.getParent()}}if(f.isToken())if(l===d)f.select();else{const e=si(t);e.select(),f.replace(e)}else f=f.spliceText(l,d-l,t,!0),\"\"===f.getTextContent()?f.remove():f.isComposing()&&\"text\"===this.anchor.type&&(this.anchor.offset-=t.length);for(let t=1;t<u;t++){const n=a[t],r=n.__key;e.has(r)||n.remove()}}}removeText(){this.insertText(\"\")}formatText(t){if(this.isCollapsed())return this.toggleFormat(t),void xe(null);const e=this.getNodes(),n=[];for(const t of e)oi(t)&&n.push(t);const r=n.length;if(0===r)return this.toggleFormat(t),void xe(null);const i=this.anchor,s=this.focus,o=this.isBackward(),l=o?s:i,c=o?i:s;let a=0,u=n[0],f=\"element\"===l.type?0:l.offset;if(\"text\"===l.type&&f===u.getTextContentSize()&&(a=1,u=n[1],f=0),null==u)return;const d=u.getFormatFlags(t,null),h=r-1;let g=n[h];const _=\"text\"===c.type?c.offset:g.getTextContentSize();if(u.is(g)){if(f===_)return;if(fe(u)||0===f&&_===u.getTextContentSize())u.setFormat(d);else{const t=u.splitText(f,_),e=0===f?t[0]:t[1];e.setFormat(d),\"text\"===l.type&&l.set(e.__key,0,\"text\"),\"text\"===c.type&&c.set(e.__key,_-f,\"text\")}return void(this.format=d)}0===f||fe(u)||([,u]=u.splitText(f),f=0),u.setFormat(d);const p=g.getFormatFlags(t,d);_>0&&(_===g.getTextContentSize()||fe(g)||([g]=g.splitText(_)),g.setFormat(p));for(let e=a+1;e<h;e++){const r=n[e],i=r.getFormatFlags(t,p);r.setFormat(i)}\"text\"===l.type&&l.set(u.__key,f,\"text\"),\"text\"===c.type&&c.set(g.__key,_,\"text\"),this.format=d|p}insertNodes(t){if(0===t.length)return;if(\"root\"===this.anchor.key){this.insertParagraph();const e=Oi();return yi(e)||Rt(134),e.insertNodes(t)}const e=kn((this.isBackward()?this.focus:this.anchor).getNode(),Cn),n=t[t.length-1];if(\"__language\"in e&&_s(e)){if(\"__language\"in t[0])this.insertText(t[0].getTextContent());else{const r=$i(this);e.splice(r,0,t),n.selectEnd()}return}if(!t.some((t=>(_s(t)||ms(t))&&!t.isInline()))){_s(e)||Rt(135);const r=$i(this);return e.splice(r,0,t),void n.selectEnd()}const r=function(t){const e=Ns();let n=null;for(let r=0;r<t.length;r++){const i=t[r],s=$r(i);if(s||ms(i)&&i.isInline()||_s(i)&&i.isInline()||oi(i)||i.isParentRequired()){if(null===n&&(n=i.createParentElementNode(),e.append(n),s))continue;null!==n&&n.append(i)}else e.append(i),n=null}return e}(t),i=r.getLastDescendant(),s=r.getChildren(),o=!_s(e)||!e.isEmpty()?this.insertParagraph():null,l=s[s.length-1];let c=s[0];var a;_s(a=c)&&Cn(a)&&!a.isEmpty()&&_s(e)&&(!e.isEmpty()||e.canMergeWhenEmpty())&&(_s(e)||Rt(135),e.append(...c.getChildren()),c=s[1]),c&&function(t,e,n){const r=e.getParentOrThrow().getLastChild();let i=e;const s=[e];for(;i!==r;)i.getNextSibling()||Rt(140),i=i.getNextSibling(),s.push(i);let o=t;for(const t of s)o=o.insertAfter(t)}(e,c);const u=kn(i,Cn);o&&_s(u)&&(o.canMergeWhenEmpty()||Cn(l))&&(u.append(...o.getChildren()),o.remove()),_s(e)&&e.isEmpty()&&e.remove(),i.selectEnd();const f=_s(e)?e.getLastChild():null;$r(f)&&u!==e&&f.remove()}insertParagraph(){if(\"root\"===this.anchor.key){const t=Ns();return we().splice(this.anchor.offset,0,[t]),t.select(),t}const t=$i(this),e=kn(this.anchor.getNode(),Cn);_s(e)||Rt(136);const n=e.getChildAtIndex(t),r=n?[n,...n.getNextSiblings()]:[],i=e.insertNewAfter(this,!1);return i?(i.append(...r),i.selectStart(),i):null}insertLineBreak(t){const e=Kr();if(this.insertNodes([e]),t){const t=e.getParentOrThrow(),n=e.getIndexWithinParent();t.select(n,n)}}extract(){const t=this.getNodes(),e=t.length,n=e-1,r=this.anchor,i=this.focus;let s=t[0],o=t[n];const[l,c]=Si(this);if(0===e)return[];if(1===e){if(oi(s)&&!this.isCollapsed()){const t=l>c?c:l,e=l>c?l:c,n=s.splitText(t,e),r=0===t?n[0]:n[1];return null!=r?[r]:[]}return[s]}const a=r.isBefore(i);if(oi(s)){const e=a?l:c;e===s.getTextContentSize()?t.shift():0!==e&&([,s]=s.splitText(e),t[0]=s)}if(oi(o)){const e=o.getTextContent().length,r=a?c:l;0===r?t.pop():r!==e&&([o]=o.splitText(r),t[n]=o)}return t}modify(t,e,n){const r=this.focus,i=this.anchor,s=\"move\"===t,o=Xe(r,e);if(ms(o)&&!o.isIsolated()){if(s&&o.isKeyboardSelectable()){const t=Fi();return t.add(o.__key),void Ee(t)}const t=e?o.getPreviousSibling():o.getNextSibling();if(oi(t)){const n=t.__key,o=e?t.getTextContent().length:0;return r.set(n,o,\"text\"),void(s&&i.set(n,o,\"text\"))}{const n=o.getParentOrThrow();let l,c;return _s(t)?(c=t.__key,l=e?t.getChildrenSize():0):(l=o.getIndexWithinParent(),c=n.__key,e||l++),r.set(c,l,\"element\"),void(s&&i.set(c,l,\"element\"))}}const l=ts(),c=yn(l._window);if(!c)return;const a=l._blockCursorElement,u=l._rootElement;if(null===u||null===a||!_s(o)||o.isInline()||o.canBeEmpty()||_n(a,l,u),function(t,e,n,r){t.modify(e,n,r)}(c,t,e?\"backward\":\"forward\",n),c.rangeCount>0){const t=c.getRangeAt(0),n=this.anchor.getNode(),r=vs(n)?n:cn(n);if(this.applyDOMRange(t),this.dirty=!0,!s){const n=this.getNodes(),i=[];let s=!1;for(let t=0;t<n.length;t++){const e=n[t];sn(e,r)?i.push(e):s=!0}if(s&&i.length>0)if(e){const t=i[0];_s(t)?t.selectStart():t.getParentOrThrow().selectStart()}else{const t=i[i.length-1];_s(t)?t.selectEnd():t.getParentOrThrow().selectEnd()}c.anchorNode===t.startContainer&&c.anchorOffset===t.startOffset||function(t){const e=t.focus,n=t.anchor,r=n.key,i=n.offset,s=n.type;_i(n,e.key,e.offset,e.type),_i(e,r,i,s),t._cachedNodes=null}(this)}}}forwardDeletion(t,e,n){if(!n&&(\"element\"===t.type&&_s(e)&&t.offset===e.getChildrenSize()||\"text\"===t.type&&t.offset===e.getTextContentSize())){const t=e.getParent(),n=e.getNextSibling()||(null===t?null:t.getNextSibling());if(_s(n)&&n.isShadowRoot())return!0}return!1}deleteCharacter(t){const n=this.isCollapsed();if(this.isCollapsed()){const n=this.anchor;let r=n.getNode();if(this.forwardDeletion(n,r,t))return;const i=this.focus,s=Xe(i,t);if(ms(s)&&!s.isIsolated()){if(s.isKeyboardSelectable()&&_s(r)&&0===r.getChildrenSize()){r.remove();const t=Fi();t.add(s.__key),Ee(t)}else{s.remove();ts().dispatchCommand(e,void 0)}return}if(!t&&_s(s)&&_s(r)&&r.isEmpty())return r.remove(),void s.selectStart();if(this.modify(\"extend\",t,\"character\"),this.isCollapsed()){if(t&&0===n.offset){if((\"element\"===n.type?n.getNode():n.getNode().getParentOrThrow()).collapseAtStart(this))return}}else{const e=\"text\"===i.type?i.getNode():null;if(r=\"text\"===n.type?n.getNode():null,null!==e&&e.isSegmented()){const n=i.offset,s=e.getTextContentSize();if(e.is(r)||t&&n!==s||!t&&0!==n)return void Ti(e,t,n)}else if(null!==r&&r.isSegmented()){const i=n.offset,s=r.getTextContentSize();if(r.is(e)||t&&0!==i||!t&&i!==s)return void Ti(r,t,i)}!function(t,e){const n=t.anchor,r=t.focus,i=n.getNode(),s=r.getNode();if(i===s&&\"text\"===n.type&&\"text\"===r.type){const t=n.offset,s=r.offset,o=t<s,l=o?t:s,c=o?s:t,a=c-1;if(l!==a){De(i.getTextContent().slice(l,c))||(e?r.offset=a:n.offset=a)}}}(this,t)}}if(this.removeText(),t&&!n&&this.isCollapsed()&&\"element\"===this.anchor.type&&0===this.anchor.offset){const t=this.anchor.getNode();t.isEmpty()&&vs(t.getParent())&&0===t.getIndexWithinParent()&&t.collapseAtStart(this)}}deleteLine(t){if(this.isCollapsed()){const e=\"element\"===this.anchor.type;e&&this.insertText(\" \"),this.modify(\"extend\",t,\"lineboundary\");if(0===(t?this.focus:this.anchor).offset&&this.modify(\"extend\",t,\"character\"),e){const e=t?this.anchor:this.focus;e.set(e.key,e.offset+1,e.type)}}this.removeText()}deleteWord(t){if(this.isCollapsed()){const e=this.anchor,n=e.getNode();if(this.forwardDeletion(e,n,t))return;this.modify(\"extend\",t,\"word\")}this.removeText()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}}function xi(t){return t instanceof pi}function vi(t){const e=t.offset;if(\"text\"===t.type)return e;const n=t.getNode();return e===n.getChildrenSize()?n.getTextContent().length:0}function Si(t){const e=t.getStartEndPoints();if(null===e)return[0,0];const[n,r]=e;return\"element\"===n.type&&\"element\"===r.type&&n.key===r.key&&n.offset===r.offset?[0,0]:[vi(n),vi(r)]}function Ti(t,e,n){const r=t,i=r.getTextContent().split(/(?=\\s)/g),s=i.length;let o=0,l=0;for(let t=0;t<s;t++){const r=t===s-1;if(l=o,o+=i[t].length,e&&o===n||o>n||r){i.splice(t,1),r&&(l=void 0);break}}const c=i.join(\"\").trim();\"\"===c?r.remove():(r.setTextContent(c),r.select(l,l))}function Ci(t,e,n,r){let i,s=e;if(t.nodeType===rt){let o=!1;const l=t.childNodes,c=l.length,a=r._blockCursorElement;s===c&&(o=!0,s=c-1);let u=l[s],f=!1;if(u===a)u=l[s+1],f=!0;else if(null!==a){const n=a.parentNode;if(t===n){e>Array.prototype.indexOf.call(n.children,a)&&s--}}if(i=Pe(u),oi(i))s=Fe(i,o);else{let r=Pe(t);if(null===r)return null;if(_s(r)){s=Math.min(r.getChildrenSize(),s);let t=r.getChildAtIndex(s);if(_s(t)&&function(t,e,n){const r=t.getParent();return null===n||null===r||!r.canBeEmpty()||r!==n.getNode()}(t,0,n)){const e=o?t.getLastDescendant():t.getFirstDescendant();null===e?r=t:(t=e,r=_s(t)?t:t.getParentOrThrow()),s=0}oi(t)?(i=t,r=null,s=Fe(t,o)):t!==r&&o&&!f&&s++}else{const n=r.getIndexWithinParent();s=0===e&&ms(r)&&Pe(t)===r?n:n+1,r=r.getParentOrThrow()}if(_s(r))return di(r.__key,s,\"element\")}}else i=Pe(t);return oi(i)?di(i.__key,s,\"text\"):null}function ki(t,e,n){const r=t.offset,i=t.getNode();if(0===r){const r=i.getPreviousSibling(),s=i.getParent();if(e){if((n||!e)&&null===r&&_s(s)&&s.isInline()){const e=s.getPreviousSibling();oi(e)&&(t.key=e.__key,t.offset=e.getTextContent().length)}}else _s(r)&&!n&&r.isInline()?(t.key=r.__key,t.offset=r.getChildrenSize(),t.type=\"element\"):oi(r)&&(t.key=r.__key,t.offset=r.getTextContent().length)}else if(r===i.getTextContent().length){const r=i.getNextSibling(),s=i.getParent();if(e&&_s(r)&&r.isInline())t.key=r.__key,t.offset=0,t.type=\"element\";else if((n||e)&&null===r&&_s(s)&&s.isInline()&&!s.canInsertTextAfter()){const e=s.getNextSibling();oi(e)&&(t.key=e.__key,t.offset=0)}}}function bi(t,e,n){if(\"text\"===t.type&&\"text\"===e.type){const r=t.isBefore(e),i=t.is(e);ki(t,r,i),ki(e,!r,i),i&&(e.key=t.key,e.offset=t.offset,e.type=t.type);const s=ts();if(s.isComposing()&&s._compositionKey!==t.key&&yi(n)){const r=n.anchor,i=n.focus;_i(t,r.key,r.offset,r.type),_i(e,i.key,i.offset,i.type)}}}function wi(t,e,n,r,i,s){if(null===t||null===n||!le(i,t,n))return null;const o=Ci(t,e,yi(s)?s.anchor:null,i);if(null===o)return null;const l=Ci(n,r,yi(s)?s.focus:null,i);if(null===l)return null;if(\"element\"===o.type&&\"element\"===l.type){const e=Pe(t),r=Pe(n);if(ms(e)&&ms(r))return null}return bi(o,l,s),[o,l]}function Ni(t){return _s(t)&&!t.isInline()}function Ei(t,e,n,r,i,s){const o=Gi(),l=new mi(di(t,e,i),di(n,r,s),0,\"\");return l.dirty=!0,o._selection=l,l}function Pi(){const t=di(\"root\",0,\"element\"),e=di(\"root\",0,\"element\");return new mi(t,e,0,\"\")}function Fi(){return new pi(new Set)}function Di(t,e){return Li(null,t,e,null)}function Li(t,e,n,r){const i=n._window;if(null===i)return null;const s=r||i.event,o=s?s.type:void 0,l=\"selectionchange\"===o,c=!Jt&&(l||\"beforeinput\"===o||\"compositionstart\"===o||\"compositionend\"===o||\"click\"===o&&s&&3===s.detail||\"drop\"===o||void 0===o);let a,u,f,d;if(yi(t)&&!c)return t.clone();if(null===e)return null;if(a=e.anchorNode,u=e.focusNode,f=e.anchorOffset,d=e.focusOffset,l&&yi(t)&&!le(n,a,u))return t.clone();const h=wi(a,f,u,d,n,t);if(null===h)return null;const[g,_]=h;return new mi(g,_,yi(t)?t.format:0,yi(t)?t.style:\"\")}function Oi(){return Gi()._selection}function Ii(){return ts()._editorState._selection}function Ai(t,e,n,r=1){const i=t.anchor,s=t.focus,o=i.getNode(),l=s.getNode();if(!e.is(o)&&!e.is(l))return;const c=e.__key;if(t.isCollapsed()){const e=i.offset;if(n<=e&&r>0||n<e&&r<0){const n=Math.max(0,e+r);i.set(c,n,\"element\"),s.set(c,n,\"element\"),Mi(t)}}else{const o=t.isBackward(),l=o?s:i,a=l.getNode(),u=o?i:s,f=u.getNode();if(e.is(a)){const t=l.offset;(n<=t&&r>0||n<t&&r<0)&&l.set(c,Math.max(0,t+r),\"element\")}if(e.is(f)){const t=u.offset;(n<=t&&r>0||n<t&&r<0)&&u.set(c,Math.max(0,t+r),\"element\")}}Mi(t)}function Mi(t){const e=t.anchor,n=e.offset,r=t.focus,i=r.offset,s=e.getNode(),o=r.getNode();if(t.isCollapsed()){if(!_s(s))return;const t=s.getChildrenSize(),i=n>=t,o=i?s.getChildAtIndex(t-1):s.getChildAtIndex(n);if(oi(o)){let t=0;i&&(t=o.getTextContentSize()),e.set(o.__key,t,\"text\"),r.set(o.__key,t,\"text\")}}else{if(_s(s)){const t=s.getChildrenSize(),r=n>=t,i=r?s.getChildAtIndex(t-1):s.getChildAtIndex(n);if(oi(i)){let t=0;r&&(t=i.getTextContentSize()),e.set(i.__key,t,\"text\")}}if(_s(o)){const t=o.getChildrenSize(),e=i>=t,n=e?o.getChildAtIndex(t-1):o.getChildAtIndex(i);if(oi(n)){let t=0;e&&(t=n.getTextContentSize()),r.set(n.__key,t,\"text\")}}}}function Wi(t,e,n,r,i){let s=null,o=0,l=null;null!==r?(s=r.__key,oi(r)?(o=r.getTextContentSize(),l=\"text\"):_s(r)&&(o=r.getChildrenSize(),l=\"element\")):null!==i&&(s=i.__key,oi(i)?l=\"text\":_s(i)&&(l=\"element\")),null!==s&&null!==l?t.set(s,o,l):(o=e.getIndexWithinParent(),-1===o&&(o=n.getChildrenSize()),t.set(n.__key,o,\"element\"))}function zi(t,e,n,r,i){\"text\"===t.type?(t.key=n,e||(t.offset+=i)):t.offset>r.getIndexWithinParent()&&(t.offset-=1)}function Bi(t,e,n,r,i,s,o){const l=r.anchorNode,c=r.focusNode,a=r.anchorOffset,u=r.focusOffset,f=document.activeElement;if(i.has(\"collaboration\")&&f!==s||null!==f&&oe(f))return;if(!yi(e))return void(null!==t&&le(n,l,c)&&r.removeAllRanges());const d=e.anchor,h=e.focus,g=d.key,_=h.key,p=tn(n,g),y=tn(n,_),m=d.offset,x=h.offset,v=e.format,S=e.style,T=e.isCollapsed();let C=p,k=y,b=!1;if(\"text\"===d.type){C=he(p);const t=d.getNode();b=t.getFormat()!==v||t.getStyle()!==S}else yi(t)&&\"text\"===t.anchor.type&&(b=!0);var w,N,E,P,F;if((\"text\"===h.type&&(k=he(y)),null!==C&&null!==k)&&(T&&(null===t||b||yi(t)&&(t.format!==v||t.style!==S))&&(w=v,N=S,E=m,P=g,F=performance.now(),br=[w,N,E,P,F]),a!==m||u!==x||l!==C||c!==k||\"Range\"===r.type&&T||(null!==f&&s.contains(f)||s.focus({preventScroll:!0}),\"element\"===d.type))){try{r.setBaseAndExtent(C,m,k,x)}catch(t){}if(!i.has(\"skip-scroll-into-view\")&&e.isCollapsed()&&null!==s&&s===document.activeElement){const t=e instanceof mi&&\"element\"===e.anchor.type?C.childNodes[m]||null:r.rangeCount>0?r.getRangeAt(0):null;if(null!==t){let e;if(t instanceof Text){const n=document.createRange();n.selectNode(t),e=n.getBoundingClientRect()}else e=t.getBoundingClientRect();!function(t,e,n){const r=n.ownerDocument,i=r.defaultView;if(null===i)return;let{top:s,bottom:o}=e,l=0,c=0,a=n;for(;null!==a;){const e=a===r.body;if(e)l=0,c=on(t).innerHeight;else{const t=a.getBoundingClientRect();l=t.top,c=t.bottom}let n=0;if(s<l?n=-(l-s):o>c&&(n=o-c),0!==n)if(e)i.scrollBy(0,n);else{const t=a.scrollTop;a.scrollTop+=n;const e=a.scrollTop-t;s-=e,o-=e}if(e)break;a=en(a)}}(n,e,s)}}Sr=!0}}function Ri(t){let e=Oi()||Ii();null===e&&(e=we().selectEnd()),e.insertNodes(t)}function Ki(){const t=Oi();return null===t?\"\":t.getTextContent()}function $i(t){let e=t;t.isCollapsed()||e.removeText();const n=Oi();yi(n)&&(e=n),yi(e)||Rt(161);const r=e.anchor;let i=r.getNode(),s=r.offset;for(;!Cn(i);)[i,s]=Ji(i,s);return s}function Ji(t,e){const n=t.getParent();if(!n){const t=Ns();return we().append(t),t.select(),[we(),0]}if(oi(t)){const r=t.splitText(e);if(0===r.length)return[n,t.getIndexWithinParent()];const i=0===e?0:1;return[n,r[0].getIndexWithinParent()+i]}if(!_s(t)||0===e)return[n,t.getIndexWithinParent()];const r=t.getChildAtIndex(e);if(r){const n=new mi(di(t.__key,e,\"element\"),di(t.__key,e,\"element\"),0,\"\"),i=t.insertNewAfter(n);i&&i.append(r,...r.getNextSiblings())}return[n,t.getIndexWithinParent()+1]}let Ui=null,Vi=null,ji=!1,Hi=!1,qi=0;const Qi={characterData:!0,childList:!0,subtree:!0};function Xi(){return ji||null!==Ui&&Ui._readOnly}function Yi(){ji&&Rt(13)}function Zi(){qi>99&&Rt(14)}function Gi(){return null===Ui&&Rt(195,es()),Ui}function ts(){return null===Vi&&Rt(196,es()),Vi}function es(){let t=0;const e=new Set,n=Ms.version;if(\"undefined\"!=typeof window)for(const r of document.querySelectorAll(\"[contenteditable]\")){const i=ue(r);if(ce(i))t++;else if(i){let t=String(i.constructor.version||\"<0.17.1\");t===n&&(t+=\" (separately built, likely a bundler configuration issue)\"),e.add(t)}}let r=` Detected on the page: ${t} compatible editor(s) with version ${n}`;return e.size&&(r+=` and incompatible editors with versions ${Array.from(e).join(\", \")}`),r}function ns(){return Vi}function rs(t,e,n){const r=e.__type,i=function(t,e){const n=t._nodes.get(e);return void 0===n&&Rt(30,e),n}(t,r);let s=n.get(r);void 0===s&&(s=Array.from(i.transforms),n.set(r,s));const o=s.length;for(let t=0;t<o&&(s[t](e),e.isAttached());t++);}function is(t,e){return void 0!==t&&t.__key!==e&&t.isAttached()}function ss(t){return os(t,ts()._nodes)}function os(t,e){const n=t.type,r=e.get(n);void 0===r&&Rt(17,n);const i=r.klass;t.type!==i.getType()&&Rt(18,i.name);const s=i.importJSON(t),o=t.children;if(_s(s)&&Array.isArray(o))for(let t=0;t<o.length;t++){const n=os(o[t],e);s.append(n)}return s}function ls(t,e,n){const r=Ui,i=ji,s=Vi;Ui=e,ji=!0,Vi=t;try{return n()}finally{Ui=r,ji=i,Vi=s}}function cs(t,n){const r=t._pendingEditorState,i=t._rootElement,s=t._headless||null===i;if(null===r)return;const o=t._editorState,l=o._selection,c=r._selection,a=t._dirtyType!==st,u=Ui,f=ji,d=Vi,h=t._updating,g=t._observer;let _=null;if(t._pendingEditorState=null,t._editorState=r,!s&&a&&null!==g){Vi=t,Ui=r,ji=!1,t._updating=!0;try{const e=t._dirtyType,n=t._dirtyElements,i=t._dirtyLeaves;g.disconnect(),_=fr(o,r,t,e,n,i)}catch(e){if(e instanceof Error&&t._onError(e),Hi)throw e;return Is(t,null,i,r),Yt(t),t._dirtyType=lt,Hi=!0,cs(t,o),void(Hi=!1)}finally{g.observe(i,Qi),t._updating=h,Ui=u,ji=f,Vi=d}}r._readOnly||(r._readOnly=!0);const p=t._dirtyLeaves,y=t._dirtyElements,m=t._normalizedNodes,x=t._updateTags,v=t._deferred;a&&(t._dirtyType=st,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements=new Map,t._normalizedNodes=new Set,t._updateTags=new Set),function(t,e){const n=t._decorators;let r=t._pendingDecorators||n;const i=e._nodeMap;let s;for(s in r)i.has(s)||(r===n&&(r=ke(t)),delete r[s])}(t,r);const S=s?null:yn(t._window);if(t._editable&&null!==S&&(a||null===c||c.dirty)){Vi=t,Ui=r;try{if(null!==g&&g.disconnect(),a||null===c||c.dirty){const e=t._blockCursorElement;null!==e&&_n(e,t,i),Bi(l,c,t,S,x,i)}pn(t,i,c),null!==g&&g.observe(i,Qi)}finally{Vi=d,Ui=u}}null!==_&&function(t,e,n,r,i){const s=Array.from(t._listeners.mutation),o=s.length;for(let t=0;t<o;t++){const[o,l]=s[t],c=e.get(l);void 0!==c&&o(c,{dirtyLeaves:r,prevEditorState:i,updateTags:n})}}(t,_,x,p,o),yi(c)||null===c||null!==l&&l.is(c)||t.dispatchCommand(e,void 0);const T=t._pendingDecorators;null!==T&&(t._decorators=T,t._pendingDecorators=null,as(\"decorator\",t,!0,T)),function(t,e,n){const r=be(e),i=be(n);r!==i&&as(\"textcontent\",t,!0,i)}(t,n||o,r),as(\"update\",t,!0,{dirtyElements:y,dirtyLeaves:p,editorState:r,normalizedNodes:m,prevEditorState:n||o,tags:x}),function(t,e){if(t._deferred=[],0!==e.length){const n=t._updating;t._updating=!0;try{for(let t=0;t<e.length;t++)e[t]()}finally{t._updating=n}}}(t,v),function(t){const e=t._updates;if(0!==e.length){const n=e.shift();if(n){const[e,r]=n;ds(t,e,r)}}}(t)}function as(t,e,n,...r){const i=e._updating;e._updating=n;try{const n=Array.from(e._listeners[t]);for(let t=0;t<n.length;t++)n[t].apply(null,r)}finally{e._updating=i}}function us(t,e,n){if(!1===t._updating||Vi!==t){let r=!1;return t.update((()=>{r=us(t,e,n)})),r}const r=Le(t);for(let i=4;i>=0;i--)for(let s=0;s<r.length;s++){const o=r[s]._commands.get(e);if(void 0!==o){const e=o[i];if(void 0!==e){const r=Array.from(e),i=r.length;for(let e=0;e<i;e++)if(!0===r[e](n,t))return!0}}}return!1}function fs(t,e){const n=t._updates;let r=e||!1;for(;0!==n.length;){const e=n.shift();if(e){const[n,i]=e;let s,o;if(void 0!==i){if(s=i.onUpdate,o=i.tag,i.skipTransforms&&(r=!0),i.discrete){const e=t._pendingEditorState;null===e&&Rt(191),e._flushSync=!0}s&&t._deferred.push(s),o&&t._updateTags.add(o)}n()}}return r}function ds(t,e,n){const r=t._updateTags;let i,s,o=!1,l=!1;void 0!==n&&(i=n.onUpdate,s=n.tag,null!=s&&r.add(s),o=n.skipTransforms||!1,l=n.discrete||!1),i&&t._deferred.push(i);const c=t._editorState;let a=t._pendingEditorState,u=!1;(null===a||a._readOnly)&&(a=t._pendingEditorState=new Cs(new Map((a||c)._nodeMap)),u=!0),a._flushSync=l;const f=Ui,d=ji,h=Vi,g=t._updating;Ui=a,ji=!1,t._updating=!0,Vi=t;try{u&&(t._headless?null!==c._selection&&(a._selection=c._selection.clone()):a._selection=function(t){const e=t.getEditorState()._selection,n=yn(t._window);return yi(e)||null==e?Li(e,n,t,null):e.clone()}(t));const n=t._compositionKey;e(),o=fs(t,o),function(t,e){const n=e.getEditorState()._selection,r=t._selection;if(yi(r)){const t=r.anchor,e=r.focus;let i;if(\"text\"===t.type&&(i=t.getNode(),i.selectionTransform(n,r)),\"text\"===e.type){const t=e.getNode();i!==t&&t.selectionTransform(n,r)}}}(a,t),t._dirtyType!==st&&(o?function(t,e){const n=e._dirtyLeaves,r=t._nodeMap;for(const t of n){const e=r.get(t);oi(e)&&e.isAttached()&&e.isSimpleText()&&!e.isUnmergeable()&&te(e)}}(a,t):function(t,e){const n=e._dirtyLeaves,r=e._dirtyElements,i=t._nodeMap,s=ve(),o=new Map;let l=n,c=l.size,a=r,u=a.size;for(;c>0||u>0;){if(c>0){e._dirtyLeaves=new Set;for(const t of l){const r=i.get(t);oi(r)&&r.isAttached()&&r.isSimpleText()&&!r.isUnmergeable()&&te(r),void 0!==r&&is(r,s)&&rs(e,r,o),n.add(t)}if(l=e._dirtyLeaves,c=l.size,c>0){qi++;continue}}e._dirtyLeaves=new Set,e._dirtyElements=new Map;for(const t of a){const n=t[0],l=t[1];if(\"root\"!==n&&!l)continue;const c=i.get(n);void 0!==c&&is(c,s)&&rs(e,c,o),r.set(n,l)}l=e._dirtyLeaves,c=l.size,a=e._dirtyElements,u=a.size,qi++}e._dirtyLeaves=n,e._dirtyElements=r}(a,t),fs(t),function(t,e,n,r){const i=t._nodeMap,s=e._nodeMap,o=[];for(const[t]of r){const e=s.get(t);void 0!==e&&(e.isAttached()||(_s(e)&&Fn(e,t,i,s,o,r),i.has(t)||r.delete(t),o.push(t)))}for(const t of o)s.delete(t);for(const t of n){const e=s.get(t);void 0===e||e.isAttached()||(i.has(t)||n.delete(t),s.delete(t))}}(c,a,t._dirtyLeaves,t._dirtyElements));n!==t._compositionKey&&(a._flushSync=!0);const r=a._selection;if(yi(r)){const t=a._nodeMap,e=r.anchor.key,n=r.focus.key;void 0!==t.get(e)&&void 0!==t.get(n)||Rt(19)}else xi(r)&&0===r._nodes.size&&(a._selection=null)}catch(e){return e instanceof Error&&t._onError(e),t._pendingEditorState=c,t._dirtyType=lt,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements.clear(),void cs(t)}finally{Ui=f,ji=d,Vi=h,t._updating=g,qi=0}const _=t._dirtyType!==st||function(t,e){const n=e.getEditorState()._selection,r=t._selection;if(null!==r){if(r.dirty||!r.is(n))return!0}else if(null!==n)return!0;return!1}(a,t);_?a._flushSync?(a._flushSync=!1,cs(t)):u&&se((()=>{cs(t)})):(a._flushSync=!1,u&&(r.clear(),t._deferred=[],t._pendingEditorState=null))}function hs(t,e,n){t._updating?t._updates.push([e,n]):ds(t,e,n)}class gs extends zr{constructor(t){super(t),this.__first=null,this.__last=null,this.__size=0,this.__format=0,this.__style=\"\",this.__indent=0,this.__dir=null}afterCloneFrom(t){super.afterCloneFrom(t),this.__first=t.__first,this.__last=t.__last,this.__size=t.__size,this.__indent=t.__indent,this.__format=t.__format,this.__style=t.__style,this.__dir=t.__dir}getFormat(){return this.getLatest().__format}getFormatType(){const t=this.getFormat();return Mt[t]||\"\"}getStyle(){return this.getLatest().__style}getIndent(){return this.getLatest().__indent}getChildren(){const t=[];let e=this.getFirstChild();for(;null!==e;)t.push(e),e=e.getNextSibling();return t}getChildrenKeys(){const t=[];let e=this.getFirstChild();for(;null!==e;)t.push(e.__key),e=e.getNextSibling();return t}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===this.getChildrenSize()}isDirty(){const t=ts()._dirtyElements;return null!==t&&t.has(this.__key)}isLastChild(){const t=this.getLatest(),e=this.getParentOrThrow().getLastChild();return null!==e&&e.is(t)}getAllTextNodes(){const t=[];let e=this.getFirstChild();for(;null!==e;){if(oi(e)&&t.push(e),_s(e)){const n=e.getAllTextNodes();t.push(...n)}e=e.getNextSibling()}return t}getFirstDescendant(){let t=this.getFirstChild();for(;_s(t);){const e=t.getFirstChild();if(null===e)break;t=e}return t}getLastDescendant(){let t=this.getLastChild();for(;_s(t);){const e=t.getLastChild();if(null===e)break;t=e}return t}getDescendantByIndex(t){const e=this.getChildren(),n=e.length;if(t>=n){const t=e[n-1];return _s(t)&&t.getLastDescendant()||t||null}const r=e[t];return _s(r)&&r.getFirstDescendant()||r||null}getFirstChild(){const t=this.getLatest().__first;return null===t?null:Se(t)}getFirstChildOrThrow(){const t=this.getFirstChild();return null===t&&Rt(45,this.__key),t}getLastChild(){const t=this.getLatest().__last;return null===t?null:Se(t)}getLastChildOrThrow(){const t=this.getLastChild();return null===t&&Rt(96,this.__key),t}getChildAtIndex(t){const e=this.getChildrenSize();let n,r;if(t<e/2){for(n=this.getFirstChild(),r=0;null!==n&&r<=t;){if(r===t)return n;n=n.getNextSibling(),r++}return null}for(n=this.getLastChild(),r=e-1;null!==n&&r>=t;){if(r===t)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let t=\"\";const e=this.getChildren(),n=e.length;for(let r=0;r<n;r++){const i=e[r];t+=i.getTextContent(),_s(i)&&r!==n-1&&!i.isInline()&&(t+=Nt)}return t}getTextContentSize(){let t=0;const e=this.getChildren(),n=e.length;for(let r=0;r<n;r++){const i=e[r];t+=i.getTextContentSize(),_s(i)&&r!==n-1&&!i.isInline()&&(t+=Nt.length)}return t}getDirection(){return this.getLatest().__dir}hasFormat(t){if(\"\"!==t){const e=At[t];return!!(this.getFormat()&e)}return!1}select(t,e){Yi();const n=Oi();let r=t,i=e;const s=this.getChildrenSize();if(!this.canBeEmpty())if(0===t&&0===e){const t=this.getFirstChild();if(oi(t)||_s(t))return t.select(0,0)}else if(!(void 0!==t&&t!==s||void 0!==e&&e!==s)){const t=this.getLastChild();if(oi(t)||_s(t))return t.select()}void 0===r&&(r=s),void 0===i&&(i=s);const o=this.__key;return yi(n)?(n.anchor.set(o,r,\"element\"),n.focus.set(o,i,\"element\"),n.dirty=!0,n):Ei(o,r,o,i,\"element\",\"element\")}selectStart(){const t=this.getFirstDescendant();return t?t.selectStart():this.select()}selectEnd(){const t=this.getLastDescendant();return t?t.selectEnd():this.select()}clear(){const t=this.getWritable();return this.getChildren().forEach((t=>t.remove())),t}append(...t){return this.splice(this.getChildrenSize(),0,t)}setDirection(t){const e=this.getWritable();return e.__dir=t,e}setFormat(t){return this.getWritable().__format=\"\"!==t?At[t]:0,this}setStyle(t){return this.getWritable().__style=t||\"\",this}setIndent(t){return this.getWritable().__indent=t,this}splice(t,e,n){const r=n.length,i=this.getChildrenSize(),s=this.getWritable(),o=s.__key,l=[],c=[],a=this.getChildAtIndex(t+e);let u=null,f=i-e+r;if(0!==t)if(t===i)u=this.getLastChild();else{const e=this.getChildAtIndex(t);null!==e&&(u=e.getPreviousSibling())}if(e>0){let t=null===u?this.getFirstChild():u.getNextSibling();for(let n=0;n<e;n++){null===t&&Rt(100);const e=t.getNextSibling(),n=t.__key;ye(t.getWritable()),c.push(n),t=e}}let d=u;for(let t=0;t<r;t++){const e=n[t];null!==d&&e.is(d)&&(u=d=d.getPreviousSibling());const r=e.getWritable();r.__parent===o&&f--,ye(r);const i=e.__key;if(null===d)s.__first=i,r.__prev=null;else{const t=d.getWritable();t.__next=i,r.__prev=t.__key}e.__key===o&&Rt(76),r.__parent=o,l.push(i),d=e}if(t+e===i){if(null!==d){d.getWritable().__next=null,s.__last=d.__key}}else if(null!==a){const t=a.getWritable();if(null!==d){const e=d.getWritable();t.__prev=d.__key,e.__next=a.__key}else t.__prev=null}if(s.__size=f,c.length){const t=Oi();if(yi(t)){const e=new Set(c),n=new Set(l),{anchor:r,focus:i}=t;ps(r,e,n)&&Wi(r,r.getNode(),this,u,a),ps(i,e,n)&&Wi(i,i.getNode(),this,u,a),0!==f||this.canBeEmpty()||an(this)||this.remove()}}return s}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"element\",version:1}}insertNewAfter(t,e){return null}canIndent(){return!0}collapseAtStart(t){return!1}excludeFromCopy(t){return!1}canReplaceWith(t){return!0}canInsertAfter(t){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(t){return!1}extractWithChild(t,e,n){return!1}canMergeWhenEmpty(){return!1}}function _s(t){return t instanceof gs}function ps(t,e,n){let r=t.getNode();for(;r;){const t=r.__key;if(e.has(t)&&!n.has(t))return!0;r=r.getParent()}return!1}class ys extends zr{constructor(t){super(t)}decorate(t,e){Rt(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function ms(t){return t instanceof ys}class xs extends gs{static getType(){return\"root\"}static clone(){return new xs}constructor(){super(\"root\"),this.__cachedText=null}getTopLevelElementOrThrow(){Rt(51)}getTextContent(){const t=this.__cachedText;return!Xi()&&ts()._dirtyType!==st||null===t?super.getTextContent():t}remove(){Rt(52)}replace(t){Rt(53)}insertBefore(t){Rt(54)}insertAfter(t){Rt(55)}updateDOM(t,e){return!1}append(...t){for(let e=0;e<t.length;e++){const n=t[e];_s(n)||ms(n)||Rt(56)}return super.append(...t)}static importJSON(t){const e=we();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:\"root\",version:1}}collapseAtStart(){return!0}}function vs(t){return t instanceof xs}function Ss(){return new Cs(new Map([[\"root\",new xs]]))}function Ts(t){const e=t.exportJSON(),n=t.constructor;if(e.type!==n.getType()&&Rt(130,n.name),_s(t)){const r=e.children;Array.isArray(r)||Rt(59,n.name);const i=t.getChildren();for(let t=0;t<i.length;t++){const e=Ts(i[t]);r.push(e)}}return e}class Cs{constructor(t,e){this._nodeMap=t,this._selection=e||null,this._flushSync=!1,this._readOnly=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(t,e){return ls(e&&e.editor||null,this,t)}clone(t){const e=new Cs(this._nodeMap,void 0===t?this._selection:t);return e._readOnly=!0,e}toJSON(){return ls(null,this,(()=>({root:Ts(we())})))}}class ks extends gs{static getType(){return\"artificial\"}createDOM(t){return document.createElement(\"div\")}}class bs extends gs{constructor(t){super(t),this.__textFormat=0,this.__textStyle=\"\"}static getType(){return\"paragraph\"}getTextFormat(){return this.getLatest().__textFormat}setTextFormat(t){const e=this.getWritable();return e.__textFormat=t,e}hasTextFormat(t){const e=Ot[t];return!!(this.getTextFormat()&e)}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(t){const e=this.getWritable();return e.__textStyle=t,e}static clone(t){return new bs(t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__textFormat=t.__textFormat,this.__textStyle=t.__textStyle}createDOM(t){const e=document.createElement(\"p\"),n=je(t.theme,\"paragraph\");if(void 0!==n){e.classList.add(...n)}return e}updateDOM(t,e,n){return!1}static importDOM(){return{p:t=>({conversion:ws,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&vn(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n);const r=this.getIndent();r>0&&(e.style.textIndent=20*r+\"px\")}return{element:e}}static importJSON(t){const e=Ns();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e.setTextFormat(t.textFormat),e}exportJSON(){return{...super.exportJSON(),textFormat:this.getTextFormat(),textStyle:this.getTextStyle(),type:\"paragraph\",version:1}}insertNewAfter(t,e){const n=Ns();n.setTextFormat(t.format),n.setTextStyle(t.style);const r=this.getDirection();return n.setDirection(r),n.setFormat(this.getFormatType()),n.setStyle(this.getTextStyle()),this.insertAfter(n,e),n}collapseAtStart(){const t=this.getChildren();if(0===t.length||oi(t[0])&&\"\"===t[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function ws(t){const e=Ns();if(t.style){e.setFormat(t.style.textAlign);const n=parseInt(t.style.textIndent,10)/20;n>0&&e.setIndent(n)}return{node:e}}function Ns(){return fn(new bs)}function Es(t){return t instanceof bs}const Ps=0,Fs=1,Ds=2,Ls=3,Os=4;function Is(t,e,n,r){const i=t._keyToDOMMap;i.clear(),t._editorState=Ss(),t._pendingEditorState=r,t._compositionKey=null,t._dirtyType=st,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements.clear(),t._normalizedNodes=new Set,t._updateTags=new Set,t._updates=[],t._blockCursorElement=null;const s=t._observer;null!==s&&(s.disconnect(),t._observer=null),null!==e&&(e.textContent=\"\"),null!==n&&(n.textContent=\"\",i.set(\"root\",n))}function As(t){const e=t||{},n=ns(),r=e.theme||{},i=void 0===t?n:e.parentEditor||null,s=e.disableEvents||!1,o=Ss(),l=e.namespace||(null!==i?i._config.namespace:Oe()),c=e.editorState,a=[xs,Xr,Br,ci,bs,ks,...e.nodes||[]],{onError:u,html:f}=e,d=void 0===e.editable||e.editable;let h;if(void 0===t&&null!==n)h=n._nodes;else{h=new Map;for(let t=0;t<a.length;t++){let e=a[t],n=null,r=null;if(\"function\"!=typeof e){const t=e;e=t.replace,n=t.with,r=t.withKlass||null}const i=e.getType(),s=e.transform(),o=new Set;null!==s&&o.add(s),h.set(i,{exportDOM:f&&f.export?f.export.get(e):void 0,klass:e,replace:n,replaceWithKlass:r,transforms:o})}}const g=new Ms(o,i,h,{disableEvents:s,namespace:l,theme:r},u||console.error,function(t,e){const n=new Map,r=new Set,i=t=>{Object.keys(t).forEach((e=>{let r=n.get(e);void 0===r&&(r=[],n.set(e,r)),r.push(t[e])}))};return t.forEach((t=>{const e=t.klass.importDOM;if(null==e||r.has(e))return;r.add(e);const n=e.call(t.klass);null!==n&&i(n)})),e&&i(e),n}(h,f?f.import:void 0),d);return void 0!==c&&(g._pendingEditorState=c,g._dirtyType=lt),g}class Ms{constructor(t,e,n,r,i,s,o){this._parentEditor=e,this._rootElement=null,this._editorState=t,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=st,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=Oe(),this._onError=i,this._htmlConversions=s,this._editable=o,this._headless=null!==e&&e._headless,this._window=null,this._blockCursorElement=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(t){const e=this._listeners.update;return e.add(t),()=>{e.delete(t)}}registerEditableListener(t){const e=this._listeners.editable;return e.add(t),()=>{e.delete(t)}}registerDecoratorListener(t){const e=this._listeners.decorator;return e.add(t),()=>{e.delete(t)}}registerTextContentListener(t){const e=this._listeners.textcontent;return e.add(t),()=>{e.delete(t)}}registerRootListener(t){const e=this._listeners.root;return t(this._rootElement,null),e.add(t),()=>{t(null,this._rootElement),e.delete(t)}}registerCommand(t,e,n){void 0===n&&Rt(35);const r=this._commands;r.has(t)||r.set(t,[new Set,new Set,new Set,new Set,new Set]);const i=r.get(t);void 0===i&&Rt(36,String(t));const s=i[n];return s.add(e),()=>{s.delete(e),i.every((t=>0===t.size))&&r.delete(t)}}registerMutationListener(t,e,n){const r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(t)).klass,i=this._listeners.mutation;i.set(e,r);const s=n&&n.skipInitialization;return void 0===s||s||this.initializeMutationListener(e,r),()=>{i.delete(e)}}getRegisteredNode(t){const e=this._nodes.get(t.getType());return void 0===e&&Rt(37,t.name),e}resolveRegisteredNodeAfterReplacements(t){for(;t.replaceWithKlass;)t=this.getRegisteredNode(t.replaceWithKlass);return t}initializeMutationListener(t,e){const n=this._editorState,r=En(n).get(e.getType());if(!r)return;const i=new Map;for(const t of r.keys())i.set(t,\"created\");i.size>0&&t(i,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set([\"registerMutationListener\"])})}registerNodeTransformToKlass(t,e){const n=this.getRegisteredNode(t);return n.transforms.add(e),n}registerNodeTransform(t,e){const n=this.registerNodeTransformToKlass(t,e),r=[n],i=n.replaceWithKlass;if(null!=i){const t=this.registerNodeTransformToKlass(i,e);r.push(t)}var s,o;return s=this,o=t.getType(),hs(s,(()=>{const t=Gi();if(t.isEmpty())return;if(\"root\"===o)return void we().markDirty();const e=t._nodeMap;for(const[,t]of e)t.markDirty()}),null===s._pendingEditorState?{tag:\"history-merge\"}:void 0),()=>{r.forEach((t=>t.transforms.delete(e)))}}hasNode(t){return this._nodes.has(t.getType())}hasNodes(t){return t.every(this.hasNode.bind(this))}dispatchCommand(t,e){return Ze(this,t,e)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(t){const e=this._rootElement;if(t!==e){const n=je(this._config.theme,\"root\"),r=this._pendingEditorState||this._editorState;if(this._rootElement=t,Is(this,e,t,r),null!==e&&(this._config.disableEvents||Mr(e),null!=n&&e.classList.remove(...n)),null!==t){const e=function(t){const e=t.ownerDocument;return e&&e.defaultView||null}(t),r=t.style;r.userSelect=\"text\",r.whiteSpace=\"pre-wrap\",r.wordBreak=\"break-word\",t.setAttribute(\"data-lexical-editor\",\"true\"),this._window=e,this._dirtyType=lt,Yt(this),this._updateTags.add(\"history-merge\"),cs(this),this._config.disableEvents||function(t,e){const n=t.ownerDocument,r=vr.get(n);(void 0===r||r<1)&&n.addEventListener(\"selectionchange\",Or),vr.set(n,(r||0)+1),t.__lexicalEditor=e;const i=Dr(t);for(let n=0;n<_r.length;n++){const[r,s]=_r[n],o=\"function\"==typeof s?t=>{Ar(t)||(Ir(t),(e.isEditable()||\"click\"===r)&&s(t,e))}:t=>{if(Ar(t))return;Ir(t);const n=e.isEditable();switch(r){case\"cut\":return n&&Ze(e,W,t);case\"copy\":return Ze(e,M,t);case\"paste\":return n&&Ze(e,c,t);case\"dragstart\":return n&&Ze(e,O,t);case\"dragover\":return n&&Ze(e,I,t);case\"dragend\":return n&&Ze(e,A,t);case\"focus\":return n&&Ze(e,J,t);case\"blur\":return n&&Ze(e,U,t);case\"drop\":return n&&Ze(e,D,t)}};t.addEventListener(r,o),i.push((()=>{t.removeEventListener(r,o)}))}}(t,this),null!=n&&t.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;as(\"root\",this,!1,t,e)}}getElementByKey(t){return this._keyToDOMMap.get(t)||null}getEditorState(){return this._editorState}setEditorState(t,e){t.isEmpty()&&Rt(38),Xt(this);const n=this._pendingEditorState,r=this._updateTags,i=void 0!==e?e.tag:null;null===n||n.isEmpty()||(null!=i&&r.add(i),cs(this)),this._pendingEditorState=t,this._dirtyType=lt,this._dirtyElements.set(\"root\",!1),this._compositionKey=null,null!=i&&r.add(i),cs(this)}parseEditorState(t,e){return function(t,e,n){const r=Ss(),i=Ui,s=ji,o=Vi,l=e._dirtyElements,c=e._dirtyLeaves,a=e._cloneNotNeeded,u=e._dirtyType;e._dirtyElements=new Map,e._dirtyLeaves=new Set,e._cloneNotNeeded=new Set,e._dirtyType=0,Ui=r,ji=!1,Vi=e;try{const i=e._nodes;os(t.root,i),n&&n(),r._readOnly=!0}catch(t){t instanceof Error&&e._onError(t)}finally{e._dirtyElements=l,e._dirtyLeaves=c,e._cloneNotNeeded=a,e._dirtyType=u,Ui=i,ji=s,Vi=o}return r}(\"string\"==typeof t?JSON.parse(t):t,this,e)}read(t){return cs(this),this.getEditorState().read(t,{editor:this})}update(t,e){hs(this,t,e)}focus(t,e={}){const n=this._rootElement;null!==n&&(n.setAttribute(\"autocapitalize\",\"off\"),hs(this,(()=>{const t=Oi(),n=we();null!==t?t.dirty=!0:0!==n.getChildrenSize()&&(\"rootStart\"===e.defaultSelection?n.selectStart():n.selectEnd())}),{onUpdate:()=>{n.removeAttribute(\"autocapitalize\"),t&&t()},tag:\"focus\"}),null===this._pendingEditorState&&n.removeAttribute(\"autocapitalize\"))}blur(){const t=this._rootElement;null!==t&&t.blur();const e=yn(this._window);null!==e&&e.removeAllRanges()}isEditable(){return this._editable}setEditable(t){this._editable!==t&&(this._editable=t,as(\"editable\",this,!0,t))}toJSON(){return{editorState:this._editorState.toJSON()}}}Ms.version=\"0.17.1+prod.esm\";export{rn as $addUpdateTag,fn as $applyNodeReplacement,Pn as $cloneWithProperties,un as $copyNode,Kr as $createLineBreakNode,Fi as $createNodeSelection,Ns as $createParagraphNode,di as $createPoint,Pi as $createRangeSelection,Di as $createRangeSelectionFromDom,ai as $createTabNode,si as $createTextNode,Xe as $getAdjacentNode,Si as $getCharacterOffsets,bn as $getEditor,Ce as $getNearestNodeFromDOMNode,cn as $getNearestRootOrShadowRoot,Se as $getNodeByKey,hn as $getNodeByKeyOrThrow,Ii as $getPreviousSelection,we as $getRoot,Oi as $getSelection,Ki as $getTextContent,sn as $hasAncestor,nn as $hasUpdateTag,Ri as $insertNodes,Ni as $isBlockElementNode,ms as $isDecoratorNode,_s as $isElementNode,ln as $isInlineElementOrDecoratorNode,_e as $isLeafNode,$r as $isLineBreakNode,xi as $isNodeSelection,Es as $isParagraphNode,yi as $isRangeSelection,vs as $isRootNode,an as $isRootOrShadowRoot,ui as $isTabNode,oi as $isTextNode,fe as $isTokenOrSegmented,qe as $nodesOfType,ee as $normalizeSelection__EXPERIMENTAL,ss as $parseSerializedNode,Ve as $selectAll,xe as $setCompositionKey,Ee as $setSelection,mn as $splitNode,ks as ArtificialNode__DO_NOT_USE,U as BLUR_COMMAND,K as CAN_REDO_COMMAND,$ as CAN_UNDO_COMMAND,B as CLEAR_EDITOR_COMMAND,R as CLEAR_HISTORY_COMMAND,r as CLICK_COMMAND,Os as COMMAND_PRIORITY_CRITICAL,Ps as COMMAND_PRIORITY_EDITOR,Ls as COMMAND_PRIORITY_HIGH,Fs as COMMAND_PRIORITY_LOW,Ds as COMMAND_PRIORITY_NORMAL,l as CONTROLLED_TEXT_INSERTION_COMMAND,M as COPY_COMMAND,W as CUT_COMMAND,i as DELETE_CHARACTER_COMMAND,f as DELETE_LINE_COMMAND,u as DELETE_WORD_COMMAND,A as DRAGEND_COMMAND,I as DRAGOVER_COMMAND,O as DRAGSTART_COMMAND,D as DROP_COMMAND,ys as DecoratorNode,gs as ElementNode,J as FOCUS_COMMAND,L as FORMAT_ELEMENT_COMMAND,d as FORMAT_TEXT_COMMAND,P as INDENT_CONTENT_COMMAND,s as INSERT_LINE_BREAK_COMMAND,o as INSERT_PARAGRAPH_COMMAND,E as INSERT_TAB_COMMAND,xt as IS_ALL_FORMATTING,ft as IS_BOLD,_t as IS_CODE,mt as IS_HIGHLIGHT,dt as IS_ITALIC,ht as IS_STRIKETHROUGH,pt as IS_SUBSCRIPT,yt as IS_SUPERSCRIPT,gt as IS_UNDERLINE,S as KEY_ARROW_DOWN_COMMAND,m as KEY_ARROW_LEFT_COMMAND,p as KEY_ARROW_RIGHT_COMMAND,v as KEY_ARROW_UP_COMMAND,k as KEY_BACKSPACE_COMMAND,w as KEY_DELETE_COMMAND,_ as KEY_DOWN_COMMAND,T as KEY_ENTER_COMMAND,b as KEY_ESCAPE_COMMAND,V as KEY_MODIFIER_COMMAND,C as KEY_SPACE_COMMAND,N as KEY_TAB_COMMAND,Br as LineBreakNode,y as MOVE_TO_END,x as MOVE_TO_START,F as OUTDENT_CONTENT_COMMAND,c as PASTE_COMMAND,bs as ParagraphNode,g as REDO_COMMAND,a as REMOVE_TEXT_COMMAND,xs as RootNode,e as SELECTION_CHANGE_COMMAND,n as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND,z as SELECT_ALL_COMMAND,Ot as TEXT_TYPE_TO_FORMAT,ci as TabNode,Xr as TextNode,h as UNDO_COMMAND,t as createCommand,As as createEditor,ue as getEditorPropertyFromDOMNode,ae as getNearestEditorFromDOMNode,Tn as isBlockDomNode,Xi as isCurrentlyReadOnlyMode,xn as isHTMLAnchorElement,vn as isHTMLElement,Sn as isInlineDomNode,ce as isLexicalEditor,oe as isSelectionCapturedInDecoratorInput,le as isSelectionWithinEditor,ie as resetRandomKey};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createContext as e,useContext as n}from\"react\";function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t=r((function(e){const n=new URLSearchParams;n.append(\"code\",e);for(let e=1;e<arguments.length;e++)n.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${n} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const l=e(null);function o(e,n){let r=null;return null!=e&&(r=e[1]),{getTheme:function(){return null!=n?n:null!=r?r.getTheme():null}}}function u(){const e=n(l);return null==e&&t(8),e}export{l as LexicalComposerContext,o as createLexicalComposerContext,u as useLexicalComposerContext};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{createLexicalComposerContext as e,LexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEditor as o,$getRoot as n,$createParagraphNode as i,$getSelection as r}from\"lexical\";import{useLayoutEffect as a,useEffect as c,useMemo as l}from\"react\";import{jsx as d}from\"react/jsx-runtime\";const s=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,m=s?a:c,u={tag:\"history-merge\"};function p({initialConfig:a,children:c}){const p=l((()=>{const{theme:t,namespace:c,nodes:l,onError:d,editorState:m,html:p}=a,f=e(null,t),E=o({editable:a.editable,html:p,namespace:c,nodes:l,onError:e=>d(e,E),theme:t});return function(e,t){if(null===t)return;if(void 0===t)e.update((()=>{const t=n();if(t.isEmpty()){const o=i();t.append(o);const n=s?document.activeElement:null;(null!==r()||null!==n&&n===e.getRootElement())&&o.select()}}),u);else if(null!==t)switch(typeof t){case\"string\":{const o=e.parseEditorState(t);e.setEditorState(o,u);break}case\"object\":e.setEditorState(t,u);break;case\"function\":e.update((()=>{n().isEmpty()&&t(e)}),u)}}(E,m),[E,f]}),[]);return m((()=>{const e=a.editable,[t]=p;t.setEditable(void 0===e||e)}),[]),d(t.Provider,{value:p,children:c})}export{p as LexicalComposer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useEffect as t}from\"react\";function o({defaultSelection:o}){const[l]=e();return t((()=>{l.focus((()=>{const e=document.activeElement,t=l.getRootElement();null===t||null!==e&&t.contains(e)||t.focus({preventScroll:!0})}),{defaultSelection:o})}),[o,l]),null}export{o as AutoFocusPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$isTextNode as e,$getCharacterOffsets as t,$isElementNode as n,$isRootNode as l,$getNodeByKey as o,$getPreviousSelection as r,$createTextNode as s,$isRangeSelection as i,$isTokenOrSegmented as c,$getRoot as f,$isRootOrShadowRoot as u,$hasAncestor as g,$isLeafNode as a,$setSelection as d,$getAdjacentNode as p,$isDecoratorNode as h,$isLineBreakNode as y}from\"lexical\";export{$cloneWithProperties}from\"lexical\";function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var T=m((function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e<arguments.length;e++)t.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const x=new Map;function S(e){let t=e;for(;null!=t;){if(t.nodeType===Node.TEXT_NODE)return t;t=t.firstChild}return null}function v(e){const t=e.parentNode;if(null==t)throw new Error(\"Should never happen\");return[t,Array.from(t.childNodes).indexOf(e)]}function C(t,n,l,o,r){const s=n.getKey(),i=o.getKey(),c=document.createRange();let f=t.getElementByKey(s),u=t.getElementByKey(i),g=l,a=r;if(e(n)&&(f=S(f)),e(o)&&(u=S(u)),void 0===n||void 0===o||null===f||null===u)return null;\"BR\"===f.nodeName&&([f,g]=v(f)),\"BR\"===u.nodeName&&([u,a]=v(u));const d=f.firstChild;f===u&&null!=d&&\"BR\"===d.nodeName&&0===g&&0===a&&(a=1);try{c.setStart(f,g),c.setEnd(u,a)}catch(e){return null}return!c.collapsed||g===a&&s===i||(c.setStart(u,a),c.setEnd(f,g)),c}function P(e,t){const n=e.getRootElement();if(null===n)return[];const l=n.getBoundingClientRect(),o=getComputedStyle(n),r=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),s=Array.from(t.getClientRects());let i,c=s.length;s.sort(((e,t)=>{const n=e.top-t.top;return Math.abs(n)<=3?e.left-t.left:n}));for(let e=0;e<c;e++){const t=s[e],n=i&&i.top<=t.top&&i.top+i.height>t.top&&i.left+i.width>t.left,o=t.width+r===l.width;n||o?(s.splice(e--,1),c--):i=t}return s}function w(e){const t={},n=e.split(\";\");for(const e of n)if(\"\"!==e){const[n,l]=e.split(/:([^]+)/);n&&l&&(t[n.trim()]=l.trim())}return t}function N(e){let t=x.get(e);return void 0===t&&(t=w(e),x.set(e,t)),t}function E(e,n){const l=e.getStartEndPoints();if(n.isSelected(e)&&!n.isSegmented()&&!n.isToken()&&null!==l){const[o,r]=l,s=e.isBackward(),i=o.getNode(),c=r.getNode(),f=n.is(i),u=n.is(c);if(f||u){const[l,o]=t(e),r=i.is(c),f=n.is(s?c:i),u=n.is(s?i:c);let g,a=0;if(r)a=l>o?o:l,g=l>o?l:o;else if(f){a=s?o:l,g=void 0}else if(u){a=0,g=s?l:o}return n.__text=n.__text.slice(a,g),n}}return n}function F(e){if(\"text\"===e.type)return e.offset===e.getNode().getTextContentSize();const t=e.getNode();return n(t)||T(177),e.offset===t.getChildrenSize()}function K(t,c,f){let u=c.getNode(),g=f;if(n(u)){const e=u.getDescendantByIndex(c.offset);null!==e&&(u=e)}for(;g>0&&null!==u;){if(n(u)){const e=u.getLastDescendant();null!==e&&(u=e)}let f=u.getPreviousSibling(),a=0;if(null===f){let e=u.getParentOrThrow(),t=e.getPreviousSibling();for(;null===t;){if(e=e.getParent(),null===e){f=null;break}t=e.getPreviousSibling()}null!==e&&(a=e.isInline()?0:2,f=t)}let d=u.getTextContent();\"\"===d&&n(u)&&!u.isInline()&&(d=\"\\n\\n\");const p=d.length;if(!e(u)||g>=p){const e=u.getParent();u.remove(),null==e||0!==e.getChildrenSize()||l(e)||e.remove(),g-=p+a,u=f}else{const n=u.getKey(),l=t.getEditorState().read((()=>{const t=o(n);return e(t)&&t.isSimpleText()?t.getTextContent():null})),f=p-g,a=d.slice(0,f);if(null!==l&&l!==d){const e=r();let t=u;if(u.isSimpleText())u.setTextContent(l);else{const e=s(l);u.replace(e),t=e}if(i(e)&&e.isCollapsed()){const n=e.anchor.offset;t.select(n,n)}}else if(u.isSimpleText()){const e=c.key===n;let t=c.offset;t<g&&(t=p);const l=e?t-g:0,o=e?t:f;if(e&&0===l){const[e]=u.splitText(l,o);e.remove()}else{const[,e]=u.splitText(l,o);e.remove()}}else{const e=s(a);u.replace(e)}g=0}}}function I(e){const t=e.getStyle(),n=w(t);x.set(t,n)}function O(e,t){const n=N(\"getStyle\"in e?e.getStyle():e.style),l=Object.entries(t).reduce(((t,[l,o])=>(\"function\"==typeof o?t[l]=o(n[l],e):null===o?delete t[l]:t[l]=o,t)),{...n}||{}),o=function(e){let t=\"\";for(const n in e)n&&(t+=`${n}: ${e[n]};`);return t}(l);e.setStyle(o),x.set(o,l)}function B(t,n){const l=t.getNodes(),o=l.length,r=t.getStartEndPoints();if(null===r)return;const[s,f]=r,u=o-1;let g=l[0],a=l[u];if(t.isCollapsed()&&i(t))return void O(t,n);const d=g.getTextContent().length,p=f.offset;let h=s.offset;const y=s.isBefore(f);let m=y?h:p,T=y?p:h;const x=y?s.type:f.type,S=y?f.type:s.type,v=y?f.key:s.key;if(e(g)&&m===d){const t=g.getNextSibling();e(t)&&(h=0,m=0,g=t)}if(1===l.length){if(e(g)&&g.canHaveFormat()){if(m=\"element\"===x?0:h>p?p:h,T=\"element\"===S?d:h>p?h:p,m===T)return;if(c(g)||0===m&&T===d)O(g,n),g.select(m,T);else{const e=g.splitText(m,T),t=0===m?e[0]:e[1];O(t,n),t.select(0,T-m)}}}else{if(e(g)&&m<g.getTextContentSize()&&g.canHaveFormat()&&(0===m||c(g)||(g=g.splitText(m)[1],m=0,y?s.set(g.getKey(),m,\"text\"):f.set(g.getKey(),m,\"text\")),O(g,n)),e(a)&&a.canHaveFormat()){const e=a.getTextContent().length;a.__key!==v&&0!==T&&(T=e),T===e||c(a)||([a]=a.splitText(T)),0===T&&\"element\"!==S||O(a,n)}for(let t=1;t<u;t++){const o=l[t],r=o.getKey();e(o)&&o.canHaveFormat()&&r!==g.getKey()&&r!==a.getKey()&&!o.isToken()&&O(o,n)}}}function k(e,t){if(null===e)return;const l=e.getStartEndPoints(),o=l?l[0]:null;if(null!==o&&\"root\"===o.key){const e=t(),n=f(),l=n.getFirstChild();return void(l?l.replace(e,!0):n.append(e))}const r=e.getNodes(),s=null!==o&&function(e,t){let n=e;for(;null!==n&&null!==n.getParent()&&!t(n);)n=n.getParentOrThrow();return t(n)?n:null}(o.getNode(),U);s&&-1===r.indexOf(s)&&r.push(s);for(let e=0;e<r.length;e++){const l=r[e];if(!U(l))continue;n(l)||T(178);const o=t();o.setFormat(l.getFormatType()),o.setIndent(l.getIndent()),l.replace(o,!0)}}function b(e){return e.getNode().isAttached()}function R(e){let t=e;for(;null!==t&&!u(t);){const e=t.getLatest(),n=t.getParent();0===e.getChildrenSize()&&t.remove(!0),t=n}}function _(e,t,n=null){const l=e.getStartEndPoints(),o=l?l[0]:null,r=e.getNodes(),s=r.length;if(null!==o&&(0===s||1===s&&\"element\"===o.type&&0===o.getNode().getChildrenSize())){const e=\"text\"===o.type?o.getNode().getParentOrThrow():o.getNode(),l=e.getChildren();let r=t();return r.setFormat(e.getFormatType()),r.setIndent(e.getIndent()),l.forEach((e=>r.append(e))),n&&(r=n.append(r)),void e.replace(r)}let i=null,c=[];for(let l=0;l<s;l++){const o=r[l];u(o)?(z(e,c,c.length,t,n),c=[],i=o):null===i||null!==i&&g(o,i)?c.push(o):(z(e,c,c.length,t,n),c=[o])}z(e,c,c.length,t,n)}function z(e,t,l,o,s=null){if(0===t.length)return;const c=t[0],f=new Map,g=[];let p=n(c)?c:c.getParentOrThrow();p.isInline()&&(p=p.getParentOrThrow());let h=!1;for(;null!==p;){const e=p.getPreviousSibling();if(null!==e){p=e,h=!0;break}if(p=p.getParentOrThrow(),u(p))break}const y=new Set;for(let e=0;e<l;e++){const l=t[e];n(l)&&0===l.getChildrenSize()&&y.add(l.getKey())}const m=new Set;for(let e=0;e<l;e++){const l=t[e];let r=l.getParent();if(null!==r&&r.isInline()&&(r=r.getParent()),null!==r&&a(l)&&!m.has(l.getKey())){const e=r.getKey();if(void 0===f.get(e)){const t=o();t.setFormat(r.getFormatType()),t.setIndent(r.getIndent()),g.push(t),f.set(e,t),r.getChildren().forEach((e=>{t.append(e),m.add(e.getKey()),n(e)&&e.getChildrenKeys().forEach((e=>m.add(e)))})),R(r)}}else if(y.has(l.getKey())){n(l)||T(179);const e=o();e.setFormat(l.getFormatType()),e.setIndent(l.getIndent()),g.push(e),l.remove(!0)}}if(null!==s)for(let e=0;e<g.length;e++){const t=g[e];s.append(t)}let x=null;if(u(p))if(h)if(null!==s)p.insertAfter(s);else for(let e=g.length-1;e>=0;e--){const t=g[e];p.insertAfter(t)}else{const e=p.getFirstChild();if(n(e)&&(p=e),null===e)if(s)p.append(s);else for(let e=0;e<g.length;e++){const t=g[e];p.append(t),x=t}else if(null!==s)e.insertBefore(s);else for(let t=0;t<g.length;t++){const n=g[t];e.insertBefore(n),x=n}}else if(s)p.insertAfter(s);else for(let e=g.length-1;e>=0;e--){const t=g[e];p.insertAfter(t),x=t}const S=r();i(S)&&b(S.anchor)&&b(S.focus)?d(S.clone()):null!==x?x.selectEnd():e.dirty=!0}function A(e,t){const l=p(e.focus,t);return h(l)&&!l.isIsolated()||n(l)&&!l.isInline()&&!l.canBeEmpty()}function L(e,t,n,l){e.modify(t?\"extend\":\"move\",n,l)}function D(e){const t=e.anchor.getNode();return\"rtl\"===(l(t)?t:t.getParentOrThrow()).getDirection()}function M(e,t,n){const l=D(e);L(e,t,n?!l:l,\"character\")}function $(t){const l=t.anchor,o=t.focus,r=l.getNode().getTopLevelElementOrThrow().getParentOrThrow();let s=r.getFirstDescendant(),i=r.getLastDescendant(),c=\"element\",f=\"element\",u=0;e(s)?c=\"text\":n(s)||null===s||(s=s.getParentOrThrow()),e(i)?(f=\"text\",u=i.getTextContentSize()):n(i)||null===i||(i=i.getParentOrThrow()),s&&i&&(l.set(s.getKey(),0,c),o.set(i.getKey(),u,f))}function H(e,t,n){const l=N(e.getStyle());return null!==l&&l[t]||n}function j(t,n,l=\"\"){let o=null;const r=t.getNodes(),s=t.anchor,c=t.focus,f=t.isBackward(),u=f?c.offset:s.offset,g=f?c.getNode():s.getNode();if(i(t)&&t.isCollapsed()&&\"\"!==t.style){const e=N(t.style);if(null!==e&&n in e)return e[n]}for(let t=0;t<r.length;t++){const s=r[t];if((0===t||0!==u||!s.is(g))&&e(s)){const e=H(s,n,l);if(null===o)o=e;else if(o!==e){o=\"\";break}}}return null===o?l:o}function U(t){if(h(t))return!1;if(!n(t)||u(t))return!1;const l=t.getFirstChild(),o=null===l||y(l)||e(l)||l.isInline();return!t.isInline()&&!1!==t.canBeEmpty()&&o}const W=K;export{I as $addNodeStyle,j as $getSelectionStyleValueForProperty,F as $isAtNodeEnd,D as $isParentElementRTL,L as $moveCaretSelection,M as $moveCharacter,B as $patchStyleText,$ as $selectAll,k as $setBlocksType,A as $shouldOverrideDefaultCharacterSelection,E as $sliceSelectedTextNodeContent,K as $trimTextContentFromAnchor,_ as $wrapNodes,C as createDOMRange,P as createRectsFromDOMRange,N as getStyleObjectFromCSS,W as trimTextContentFromAnchor};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getSelection as e,$isRangeSelection as t,TextNode as n,$getRoot as o,$isElementNode as r,$cloneWithProperties as l,$setSelection as i,$getPreviousSelection as s,$isRootOrShadowRoot as u,$isTextNode as c,$splitNode as f,$createParagraphNode as a}from\"lexical\";export{$splitNode,isBlockDomNode,isHTMLAnchorElement,isHTMLElement,isInlineDomNode}from\"lexical\";import{createRectsFromDOMRange as d}from\"@lexical/selection\";function g(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var p=g((function(e){const t=new URLSearchParams;t.append(\"code\",e);for(let e=1;e<arguments.length;e++)t.append(\"v\",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const h=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,m=h&&\"documentMode\"in document?document.documentMode:null,v=h&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),y=h&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),w=!(!h||!(\"InputEvent\"in window)||m)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),E=h&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),P=h&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,S=h&&/Android/.test(navigator.userAgent),x=h&&/^(?=.*Chrome).*/i.test(navigator.userAgent),N=h&&S&&x,A=h&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!x;function L(...e){const t=[];for(const n of e)if(n&&\"string\"==typeof n)for(const[e]of n.matchAll(/\\S+/g))t.push(e);return t}function b(...e){return()=>{for(let t=e.length-1;t>=0;t--)e[t]();e.length=0}}function T(e){return`${e}px`}const M={attributes:!0,characterData:!0,childList:!0,subtree:!0};function C(e,t,n){let o=null,r=null,l=null,i=[];const s=document.createElement(\"div\");function u(){null===o&&p(182),null===r&&p(183);const{left:l,top:u}=o.getBoundingClientRect(),c=r,f=d(e,t);s.isConnected||c.append(s);let a=!1;for(let e=0;e<f.length;e++){const t=f[e],n=i[e]||document.createElement(\"div\"),o=n.style;\"absolute\"!==o.position&&(o.position=\"absolute\",a=!0);const r=T(t.left-l);o.left!==r&&(o.left=r,a=!0);const c=T(t.top-u);o.top!==c&&(n.style.top=c,a=!0);const d=T(t.width);o.width!==d&&(n.style.width=d,a=!0);const g=T(t.height);o.height!==g&&(n.style.height=g,a=!0),n.parentNode!==s&&(s.append(n),a=!0),i[e]=n}for(;i.length>f.length;)i.pop();a&&n(i)}function c(){r=null,o=null,null!==l&&l.disconnect(),l=null,s.remove();for(const e of i)e.remove();i=[]}const f=e.registerRootListener((function t(){const n=e.getRootElement();if(null===n)return c();const i=n.parentElement;if(!(i instanceof HTMLElement))return c();c(),o=n,r=i,l=new MutationObserver((n=>{const l=e.getRootElement(),i=l&&l.parentElement;if(l!==o||i!==r)return t();for(const e of n)if(!s.contains(e.target))return u()})),l.observe(i,M),u()}));return()=>{f(),c()}}function B(o,r){let l=null,i=null,s=null,u=null,c=()=>{};function f(f){f.read((()=>{const f=e();if(!t(f))return l=null,i=null,s=null,u=null,c(),void(c=()=>{});const{anchor:a,focus:d}=f,g=a.getNode(),h=g.getKey(),m=a.offset,v=d.getNode(),y=v.getKey(),w=d.offset,E=o.getElementByKey(h),P=o.getElementByKey(y),S=null===l||null===E||m!==i||h!==l.getKey()||g!==l&&(!(l instanceof n)||g.updateDOM(l,E,o._config)),x=null===s||null===P||w!==u||y!==s.getKey()||v!==s&&(!(s instanceof n)||v.updateDOM(s,P,o._config));if(S||x){const e=o.getElementByKey(a.getNode().getKey()),t=o.getElementByKey(d.getNode().getKey());if(null!==e&&null!==t&&\"SPAN\"===e.tagName&&\"SPAN\"===t.tagName){const n=document.createRange();let l,i,s,u;d.isBefore(a)?(l=t,i=d.offset,s=e,u=a.offset):(l=e,i=a.offset,s=t,u=d.offset);const f=l.firstChild;null===f&&p(181);const g=s.firstChild;null===g&&p(181),n.setStart(f,i),n.setEnd(g,u),c(),c=C(o,n,(e=>{for(const t of e){const e=t.style;\"Highlight\"!==e.background&&(e.background=\"Highlight\"),\"HighlightText\"!==e.color&&(e.color=\"HighlightText\"),\"-1\"!==e.zIndex&&(e.zIndex=\"-1\"),\"none\"!==e.pointerEvents&&(e.pointerEvents=\"none\"),e.marginTop!==T(-1.5)&&(e.marginTop=T(-1.5)),e.paddingTop!==T(4)&&(e.paddingTop=T(4)),e.paddingBottom!==T(0)&&(e.paddingBottom=T(0))}void 0!==r&&r(e)}))}}l=g,i=m,s=v,u=w}))}return f(o.getEditorState()),b(o.registerUpdateListener((({editorState:e})=>f(e))),c,(()=>{c()}))}const _=w,K=h,O=S,R=N,I=v,D=A,H=x,z=y,k=P,F=E;function $(e,...t){const n=L(...t);n.length>0&&e.classList.add(...n)}function U(e,...t){const n=L(...t);n.length>0&&e.classList.remove(...n)}function W(e,t){for(const n of t)if(e.type.startsWith(n))return!0;return!1}function j(e,t){const n=e[Symbol.iterator]();return new Promise(((e,o)=>{const r=[],l=()=>{const{done:i,value:s}=n.next();if(i)return e(r);const u=new FileReader;u.addEventListener(\"error\",o),u.addEventListener(\"load\",(()=>{const e=u.result;\"string\"==typeof e&&r.push({file:s,result:e}),l()})),W(s,t)?u.readAsDataURL(s):l()};l()}))}function V(e,t){const n=[],l=(e||o()).getLatest(),i=t||r(l)&&l.getLastDescendant()||l;let s=l,u=function(e){let t=e,n=0;for(;null!==(t=t.getParent());)n++;return n}(s);for(;null!==s&&!s.is(i);)if(n.push({depth:u,node:s}),r(s)&&s.getChildrenSize()>0)s=s.getFirstChild(),u++;else{let e=null;for(;null===e&&null!==s;)e=s.getNextSibling(),null===e?(s=s.getParent(),u--):s=e}return null!==s&&s.is(i)&&n.push({depth:u,node:s}),n}function q(e){let t=e;if(r(t)&&t.getChildrenSize()>0)t=t.getLastChild();else{let e=null;for(;null===e&&null!==t;)e=t.getPreviousSibling(),t=null===e?t.getParent():e}return t}function G(e,t){let n=e;for(;null!=n;){if(n instanceof t)return n;n=n.getParent()}return null}function J(e){const t=Q(e,(e=>r(e)&&!e.isInline()));return r(t)||p(4,e.__key),t}const Q=(e,t)=>{let n=e;for(;n!==o()&&null!=n;){if(t(n))return n;n=n.getParent()}return null};function X(e,t,n,o){const r=e=>e instanceof t;return e.registerNodeTransform(t,(e=>{const t=(e=>{const t=e.getChildren();for(let e=0;e<t.length;e++){const n=t[e];if(r(n))return null}let n=e,o=e;for(;null!==n;)if(o=n,n=n.getParent(),r(n))return{child:o,parent:n};return null})(e);if(null!==t){const{child:r,parent:l}=t;if(r.is(e)){o(l,e);const t=r.getNextSiblings(),i=t.length;if(l.insertAfter(r),0!==i){const e=n(l);r.insertAfter(e);for(let n=0;n<i;n++)e.append(t[n])}l.canBeEmpty()||0!==l.getChildrenSize()||l.remove()}}}))}function Y(e,t){const n=new Map,o=e._pendingEditorState;for(const[e,o]of t._nodeMap)n.set(e,l(o));o&&(o._nodeMap=n),e._dirtyType=2;const r=t._selection;i(null===r?null:r.clone())}function Z(n){const r=e()||s();if(t(r)){const{focus:e}=r,t=e.getNode(),o=e.offset;if(u(t)){const e=t.getChildAtIndex(o);null==e?t.append(n):e.insertBefore(n),n.selectNext()}else{let e,r;c(t)?(e=t.getParentOrThrow(),r=t.getIndexWithinParent(),o>0&&(r+=1,t.splitText(o))):(e=t,r=o);const[,l]=f(e,r);l.insertBefore(n),l.selectStart()}}else{if(null!=r){const e=r.getNodes();e[e.length-1].getTopLevelElementOrThrow().insertAfter(n)}else{o().append(n)}const e=a();n.insertAfter(e),e.select()}return n.getLatest()}function ee(e,t){const n=t();return e.replace(n),n.append(e),n}function te(e,t){return null!==e&&Object.getPrototypeOf(e).constructor.name===t.name}function ne(e,t){const n=[];for(let o=0;o<e.length;o++){const r=t(e[o]);null!==r&&n.push(r)}return n}function oe(e,t){const n=e.getFirstChild();null!==n?n.insertBefore(t):e.append(t)}function re(e){if(z)return 1;let t=1;for(;e;)t*=Number(window.getComputedStyle(e).getPropertyValue(\"zoom\")),e=e.parentElement;return t}function le(e){return null!==e._parentEditor}export{V as $dfs,ne as $filter,Q as $findMatchingParent,J as $getNearestBlockElementAncestorOrThrow,G as $getNearestNodeOfType,q as $getNextRightPreorderNode,oe as $insertFirst,Z as $insertNodeToNearestRoot,le as $isEditorIsNestedEditor,Y as $restoreEditorState,ee as $wrapNodeInElement,_ as CAN_USE_BEFORE_INPUT,K as CAN_USE_DOM,O as IS_ANDROID,R as IS_ANDROID_CHROME,I as IS_APPLE,D as IS_APPLE_WEBKIT,H as IS_CHROME,z as IS_FIREFOX,k as IS_IOS,F as IS_SAFARI,$ as addClassNamesToElement,re as calculateZoomLevel,W as isMimeType,B as markSelection,j as mediaFileReader,b as mergeRegister,te as objectKlassEquals,C as positionNodeOnRange,X as registerNestedElementResolver,U as removeClassNamesFromElement};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{mergeRegister as t}from\"@lexical/utils\";import{UNDO_COMMAND as e,COMMAND_PRIORITY_EDITOR as n,REDO_COMMAND as r,CLEAR_EDITOR_COMMAND as o,CLEAR_HISTORY_COMMAND as i,CAN_REDO_COMMAND as s,CAN_UNDO_COMMAND as c,$isRangeSelection as a,$isTextNode as u,$isRootNode as d}from\"lexical\";const l=0,f=1,p=2,h=0,m=1,g=2,_=3,S=4;function y(t,e,n,r,o){if(null===t||0===n.size&&0===r.size&&!o)return h;const i=e._selection,s=t._selection;if(o)return m;if(!(a(i)&&a(s)&&s.isCollapsed()&&i.isCollapsed()))return h;const c=function(t,e,n){const r=t._nodeMap,o=[];for(const t of e){const e=r.get(t);void 0!==e&&o.push(e)}for(const[t,e]of n){if(!e)continue;const n=r.get(t);void 0===n||d(n)||o.push(n)}return o}(e,n,r);if(0===c.length)return h;if(c.length>1){const n=e._nodeMap,r=n.get(i.anchor.key),o=n.get(s.anchor.key);return r&&o&&!t._nodeMap.has(r.__key)&&u(r)&&1===r.__text.length&&1===i.anchor.offset?g:h}const l=c[0],f=t._nodeMap.get(l.__key);if(!u(f)||!u(l)||f.__mode!==l.__mode)return h;const p=f.__text,y=l.__text;if(p===y)return h;const k=i.anchor,C=s.anchor;if(k.key!==C.key||\"text\"!==k.type)return h;const x=k.offset,M=C.offset,z=y.length-p.length;return 1===z&&M===x-1?g:-1===z&&M===x+1?_:-1===z&&M===x?S:h}function k(t,e){let n=Date.now(),r=h;return(o,i,s,c,d,m)=>{const g=Date.now();if(m.has(\"historic\"))return r=h,n=g,p;const _=y(o,i,c,d,t.isComposing()),S=(()=>{const S=null===s||s.editor===t,y=m.has(\"history-push\");if(!y&&S&&m.has(\"history-merge\"))return l;if(null===o)return f;const k=i._selection;if(!(c.size>0||d.size>0))return null!==k?l:p;if(!1===y&&_!==h&&_===r&&g<n+e&&S)return l;if(1===c.size){if(function(t,e,n){const r=e._nodeMap.get(t),o=n._nodeMap.get(t),i=e._selection,s=n._selection;return!(a(i)&&a(s)&&\"element\"===i.anchor.type&&\"element\"===i.focus.type&&\"text\"===s.anchor.type&&\"text\"===s.focus.type||!u(r)||!u(o)||r.__parent!==o.__parent)&&JSON.stringify(e.read((()=>r.exportJSON())))===JSON.stringify(n.read((()=>o.exportJSON())))}(Array.from(c)[0],o,i))return l}return f})();return n=g,r=_,S}}function C(t){t.undoStack=[],t.redoStack=[],t.current=null}function x(a,u,d){const l=k(a,d),h=t(a.registerCommand(e,(()=>(function(t,e){const n=e.redoStack,r=e.undoStack;if(0!==r.length){const o=e.current,i=r.pop();null!==o&&(n.push(o),t.dispatchCommand(s,!0)),0===r.length&&t.dispatchCommand(c,!1),e.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(a,u),!0)),n),a.registerCommand(r,(()=>(function(t,e){const n=e.redoStack,r=e.undoStack;if(0!==n.length){const o=e.current;null!==o&&(r.push(o),t.dispatchCommand(c,!0));const i=n.pop();0===n.length&&t.dispatchCommand(s,!1),e.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:\"historic\"})}}(a,u),!0)),n),a.registerCommand(o,(()=>(C(u),!1)),n),a.registerCommand(i,(()=>(C(u),a.dispatchCommand(s,!1),a.dispatchCommand(c,!1),!0)),n),a.registerUpdateListener((({editorState:t,prevEditorState:e,dirtyLeaves:n,dirtyElements:r,tags:o})=>{const i=u.current,d=u.redoStack,h=u.undoStack,m=null===i?null:i.editorState;if(null!==i&&t===m)return;const g=l(e,t,i,n,r,o);if(g===f)0!==d.length&&(u.redoStack=[],a.dispatchCommand(s,!1)),null!==i&&(h.push({...i}),a.dispatchCommand(c,!0));else if(g===p)return;u.current={editor:a,editorState:t}})));return h}function M(){return{current:null,redoStack:[],undoStack:[]}}export{M as createEmptyHistoryState,x as registerHistory};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{createEmptyHistoryState as o,registerHistory as r}from\"@lexical/history\";export{createEmptyHistoryState}from\"@lexical/history\";import{useMemo as e,useEffect as i}from\"react\";function a({delay:a,externalHistoryState:c}){const[l]=t();return function(t,a,c=1e3){const l=e((()=>a||o()),[a]);i((()=>r(t,l,c)),[c,t,l])}(l,c,a),null}export{a as HistoryPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as n,useMemo as r,useRef as i,useState as o}from\"react\";const u=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t:n;function c(e){return{initialValueFn:()=>e.isEditable(),subscribe:t=>e.registerEditableListener(t)}}function a(){return function(t){const[n]=e(),c=r((()=>t(n)),[n,t]),a=i(c.initialValueFn()),[l,d]=o(a.current);return u((()=>{const{initialValueFn:e,subscribe:t}=c,n=e();return a.current!==n&&(a.current=n,d(n)),t((e=>{a.current=e,d(e)}))}),[c,t]),l}(c)}export{a as default,a as useLexicalEditable};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getRoot as t,$isDecoratorNode as e,$isElementNode as n,$isParagraphNode as r,$isTextNode as i,TextNode as o,$createTextNode as l}from\"lexical\";function s(){return t().getTextContent()}function u(t,e=!0){if(t)return!1;let n=s();return e&&(n=n.trim()),\"\"===n}function f(t,e){return()=>u(t,e)}function c(o){if(!u(o,!1))return!1;const l=t().getChildren(),s=l.length;if(s>1)return!1;for(let t=0;t<s;t++){const o=l[t];if(e(o))return!1;if(n(o)){if(!r(o))return!1;if(0!==o.__indent)return!1;const e=o.getChildren(),n=e.length;for(let r=0;r<n;r++){const n=e[t];if(!i(n))return!1}}}return!0}function g(t){return()=>c(t)}function a(t,e){let r=t.getFirstChild(),o=0;t:for(;null!==r;){if(n(r)){const t=r.getFirstChild();if(null!==t){r=t;continue}}else if(i(r)){const t=r.getTextContentSize();if(o+t>e)return{node:r,offset:e-o};o+=t}const t=r.getNextSibling();if(null!==t){r=t;continue}let l=r.getParent();for(;null!==l;){const t=l.getNextSibling();if(null!==t){r=t;continue t}l=l.getParent()}break}return null}function d(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var x=d((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));function T(t,e,n,r){const s=t=>t instanceof n,u=t=>{const e=l(t.getTextContent());e.setFormat(t.getFormat()),t.replace(e)};return[t.registerNodeTransform(o,(t=>{if(!t.isSimpleText())return;let n,o=t.getPreviousSibling(),l=t.getTextContent(),f=t;if(i(o)){const n=o.getTextContent(),r=e(n+l);if(s(o)){if(null===r||0!==(t=>t.getLatest().__mode)(o))return void u(o);{const e=r.end-n.length;if(e>0){const r=n+l.slice(0,e);if(o.select(),o.setTextContent(r),e===l.length)t.remove();else{const n=l.slice(e);t.setTextContent(n)}return}}}else if(null===r||r.start<n.length)return}let c=0;for(;;){n=e(l);let t,g=null===n?\"\":l.slice(n.end);if(l=g,\"\"===g){const t=f.getNextSibling();if(i(t)){g=f.getTextContent()+t.getTextContent();const n=e(g);if(null===n)return void(s(t)?u(t):t.markDirty());if(0!==n.start)return}}if(null===n)return;if(0===n.start&&i(o)&&o.isTextEntity()){c+=n.end;continue}0===n.start?[t,f]=f.splitText(n.end):[,t,f]=f.splitText(n.start+c,n.end+c),void 0===t&&x(165,\"nodeToReplace\");const a=r(t);if(a.setFormat(t.getFormat()),t.replace(a),null==f)return;c=0,o=a}})),t.registerNodeTransform(n,(t=>{const n=t.getTextContent(),r=e(n);if(null===r||0!==r.start)return void u(t);if(n.length>r.end)return void t.splitText(r.end);const o=t.getPreviousSibling();i(o)&&o.isTextEntity()&&(u(o),u(t));const l=t.getNextSibling();i(l)&&l.isTextEntity()&&(u(l),s(t)&&u(t))}))]}export{c as $canShowPlaceholder,g as $canShowPlaceholderCurry,a as $findTextIntersectionFromCharacters,u as $isRootTextContentEmpty,f as $isRootTextContentEmptyCurry,s as $rootTextContent,T as registerLexicalTextEntity};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$getSelection as e,$isRangeSelection as t,$isTextNode as n}from\"lexical\";function o(o){const i=window.location.origin,a=a=>{if(a.origin!==i)return;const r=o.getRootElement();if(document.activeElement!==r)return;const s=a.data;if(\"string\"==typeof s){let i;try{i=JSON.parse(s)}catch(e){return}if(i&&\"nuanria_messaging\"===i.protocol&&\"request\"===i.type){const r=i.payload;if(r&&\"makeChanges\"===r.functionId){const i=r.args;if(i){const[r,s,c,g,d,f]=i;o.update((()=>{const o=e();if(t(o)){const e=o.anchor;let t=e.getNode(),i=0,f=0;if(n(t)&&r>=0&&s>=0&&(i=r,f=r+s,o.setTextNodeRange(t,i,t,f)),i===f&&\"\"===c||(o.insertRawText(c),t=e.getNode()),n(t)){i=g,f=g+d;const e=t.getTextContentSize();i=i>e?e:i,f=f>e?e:f,o.setTextNodeRange(t,i,t,f)}a.stopImmediatePropagation()}}))}}}}};return window.addEventListener(\"message\",a,!0),()=>{window.removeEventListener(\"message\",a,!0)}}export{o as registerDragonSupport};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$sliceSelectedTextNodeContent as e}from\"@lexical/selection\";import{isHTMLElement as n,isBlockDomNode as t}from\"@lexical/utils\";import{$getRoot as o,$isElementNode as l,$cloneWithProperties as r,$isTextNode as i,$isRootOrShadowRoot as s,$isBlockElementNode as c,$createLineBreakNode as u,ArtificialNode__DO_NOT_USE as f,isInlineDomNode as a,$createParagraphNode as d}from\"lexical\";function p(e,n){const t=n.body?n.body.childNodes:[];let o=[];const l=[];for(let n=0;n<t.length;n++){const r=t[n];if(!g.has(r.nodeName)){const n=x(r,e,l,!1);null!==n&&(o=o.concat(n))}}return function(e){for(const n of e)n.getNextSibling()instanceof f&&n.insertAfter(u());for(const n of e){const e=n.getChildren();for(const t of e)n.insertBefore(t);n.remove()}}(l),o}function h(e,n){if(\"undefined\"==typeof document||\"undefined\"==typeof window&&void 0===global.window)throw new Error(\"To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.\");const t=document.createElement(\"div\"),l=o().getChildren();for(let o=0;o<l.length;o++){m(e,l[o],t,n)}return t.innerHTML}function m(t,o,s,c=null){let u=null===c||o.isSelected(c);const f=l(o)&&o.excludeFromCopy(\"html\");let a=o;if(null!==c){let n=r(o);n=i(n)&&null!==c?e(c,n):n,a=n}const d=l(a)?a.getChildren():[],p=t._nodes.get(a.getType());let h;h=p&&void 0!==p.exportDOM?p.exportDOM(t,a):a.exportDOM(t);const{element:g,after:x}=h;if(!g)return!1;const y=document.createDocumentFragment();for(let e=0;e<d.length;e++){const n=d[e],r=m(t,n,y,c);!u&&l(o)&&r&&o.extractWithChild(n,c,\"html\")&&(u=!0)}if(u&&!f){if(n(g)&&g.append(y),s.append(g),x){const e=x.call(a,g);e&&g.replaceWith(e)}}else s.append(y);return u}const g=new Set([\"STYLE\",\"SCRIPT\"]);function x(e,n,o,r,i=new Map,p){let h=[];if(g.has(e.nodeName))return h;let m=null;const w=function(e,n){const{nodeName:t}=e,o=n._htmlConversions.get(t.toLowerCase());let l=null;if(void 0!==o)for(const n of o){const t=n(e);null!==t&&(null===l||(l.priority||0)<(t.priority||0))&&(l=t)}return null!==l?l.conversion:null}(e,n),b=w?w(e):null;let C=null;if(null!==b){C=b.after;const n=b.node;if(m=Array.isArray(n)?n[n.length-1]:n,null!==m){for(const[,e]of i)if(m=e(m,p),!m)break;m&&h.push(...Array.isArray(n)?n:[m])}null!=b.forChild&&i.set(e.nodeName,b.forChild)}const S=e.childNodes;let v=[];const N=(null==m||!s(m))&&(null!=m&&c(m)||r);for(let e=0;e<S.length;e++)v.push(...x(S[e],n,o,N,new Map(i),m));return null!=C&&(v=C(v)),t(e)&&(v=y(e,v,N?()=>{const e=new f;return o.push(e),e}:d)),null==m?v.length>0?h=h.concat(v):t(e)&&function(e){if(null==e.nextSibling||null==e.previousSibling)return!1;return a(e.nextSibling)&&a(e.previousSibling)}(e)&&(h=h.concat(u())):l(m)&&m.append(...v),h}function y(e,n,t){const o=e.style.textAlign,l=[];let r=[];for(let e=0;e<n.length;e++){const i=n[e];if(c(i))o&&!i.getFormat()&&i.setFormat(o),l.push(i);else if(r.push(i),e===n.length-1||e<n.length-1&&c(n[e+1])){const e=t();e.setFormat(o),e.append(...r),l.push(e),r=[]}}return l}export{h as $generateHtmlFromNodes,p as $generateNodesFromDOM};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$generateHtmlFromNodes as t,$generateNodesFromDOM as e}from\"@lexical/html\";import{$addNodeStyle as n,$sliceSelectedTextNodeContent as o}from\"@lexical/selection\";import{objectKlassEquals as r}from\"@lexical/utils\";import{$isRangeSelection as l,$getSelection as i,$createTabNode as c,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as s,$getRoot as a,$parseSerializedNode as u,$isTextNode as d,COPY_COMMAND as f,COMMAND_PRIORITY_CRITICAL as p,isSelectionWithinEditor as m,$getEditor as h,$isElementNode as g,$cloneWithProperties as x}from\"lexical\";function w(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var y=w((function(t){const e=new URLSearchParams;e.append(\"code\",t);for(let t=1;t<arguments.length;t++)e.append(\"v\",arguments[t]);throw Error(`Minified Lexical error #${t}; visit https://lexical.dev/docs/error?${e} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const v=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,C=t=>v?(t||window).getSelection():null;function D(e,n=i()){return null==n&&y(166),l(n)&&n.isCollapsed()||0===n.getNodes().length?\"\":t(e,n)}function N(t,e=i()){return null==e&&y(166),l(e)&&e.isCollapsed()||0===e.getNodes().length?null:JSON.stringify(R(t,e))}function _(t,e){const n=t.getData(\"text/plain\")||t.getData(\"text/uri-list\");null!=n&&e.insertRawText(n)}function T(t,n,o){const r=t.getData(\"application/x-lexical-editor\");if(r)try{const t=JSON.parse(r);if(t.namespace===o._config.namespace&&Array.isArray(t.nodes)){return S(o,E(t.nodes),n)}}catch(t){}const s=t.getData(\"text/html\");if(s)try{const t=(new DOMParser).parseFromString(s,\"text/html\");return S(o,e(o,t),n)}catch(t){}const a=t.getData(\"text/plain\")||t.getData(\"text/uri-list\");if(null!=a)if(l(n)){const t=a.split(/(\\r?\\n|\\t)/);\"\"===t[t.length-1]&&t.pop();for(let e=0;e<t.length;e++){const n=i();if(l(n)){const o=t[e];\"\\n\"===o||\"\\r\\n\"===o?n.insertParagraph():\"\\t\"===o?n.insertNodes([c()]):n.insertText(o)}}}else n.insertRawText(a)}function S(t,e,n){t.dispatchCommand(s,{nodes:e,selection:n})||n.insertNodes(e)}function A(t,e,n,r=[]){let l=null===e||n.isSelected(e);const i=g(n)&&n.excludeFromCopy(\"html\");let c=n;if(null!==e){let t=x(n);t=d(t)&&null!==e?o(e,t):t,c=t}const s=g(c)?c.getChildren():[],a=function(t){const e=t.exportJSON(),n=t.constructor;if(e.type!==n.getType()&&y(58,n.name),g(t)){const t=e.children;Array.isArray(t)||y(59,n.name)}return e}(c);if(d(c)){const t=c.__text;t.length>0?a.text=t:l=!1}for(let o=0;o<s.length;o++){const r=s[o],i=A(t,e,r,a.children);!l&&g(n)&&i&&n.extractWithChild(r,e,\"clone\")&&(l=!0)}if(l&&!i)r.push(a);else if(Array.isArray(a.children))for(let t=0;t<a.children.length;t++){const e=a.children[t];r.push(e)}return l}function R(t,e){const n=[],o=a().getChildren();for(let r=0;r<o.length;r++){A(t,e,o[r],n)}return{namespace:t._config.namespace,nodes:n}}function E(t){const e=[];for(let o=0;o<t.length;o++){const r=t[o],l=u(r);d(l)&&n(l),e.push(l)}return e}let O=null;async function P(t,e,n){if(null!==O)return!1;if(null!==e)return new Promise(((o,r)=>{t.update((()=>{o(b(t,e,n))}))}));const o=t.getRootElement(),l=null==t._window?window.document:t._window.document,i=C(t._window);if(null===o||null===i)return!1;const c=l.createElement(\"span\");c.style.cssText=\"position: fixed; top: -1000px;\",c.append(l.createTextNode(\"#\")),o.append(c);const s=new Range;return s.setStart(c,0),s.setEnd(c,1),i.removeAllRanges(),i.addRange(s),new Promise(((e,o)=>{const i=t.registerCommand(f,(o=>(r(o,ClipboardEvent)&&(i(),null!==O&&(window.clearTimeout(O),O=null),e(b(t,o,n))),!0)),p);O=window.setTimeout((()=>{i(),O=null,e(!1)}),50),l.execCommand(\"copy\"),c.remove()}))}function b(t,e,n){if(void 0===n){const e=C(t._window);if(!e)return!1;const o=e.anchorNode,r=e.focusNode;if(null!==o&&null!==r&&!m(t,o,r))return!1;const l=i();if(null===l)return!1;n=M(l)}e.preventDefault();const o=e.clipboardData;return null!==o&&(F(o,n),!0)}const J=[[\"text/html\",D],[\"application/x-lexical-editor\",N]];function M(t=i()){const e={\"text/plain\":t?t.getTextContent():\"\"};if(t){const n=h();for(const[o,r]of J){const l=r(n,t);null!==l&&(e[o]=l)}}return e}function F(t,e){for(const n in e){const o=e[n];void 0!==o&&t.setData(n,o)}}export{R as $generateJSONFromSelectedNodes,E as $generateNodesFromSerializedNodes,M as $getClipboardDataFromSelection,D as $getHtmlContent,N as $getLexicalContent,_ as $insertDataTransferForPlainText,T as $insertDataTransferForRichText,S as $insertGeneratedNodes,P as copyToClipboard,F as setLexicalClipboardDataTransfer};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$insertDataTransferForRichText as t,copyToClipboard as e}from\"@lexical/clipboard\";import{$shouldOverrideDefaultCharacterSelection as n,$moveCharacter as r}from\"@lexical/selection\";import{addClassNamesToElement as o,isHTMLElement as i,objectKlassEquals as s,mergeRegister as c,$findMatchingParent as a,$getNearestBlockElementAncestorOrThrow as u}from\"@lexical/utils\";import{createCommand as l,ElementNode as d,$createParagraphNode as m,$applyNodeReplacement as f,CLICK_COMMAND as g,$getSelection as p,$isNodeSelection as h,DELETE_CHARACTER_COMMAND as C,$isRangeSelection as y,COMMAND_PRIORITY_EDITOR as v,DELETE_WORD_COMMAND as D,DELETE_LINE_COMMAND as x,CONTROLLED_TEXT_INSERTION_COMMAND as w,REMOVE_TEXT_COMMAND as E,FORMAT_TEXT_COMMAND as N,FORMAT_ELEMENT_COMMAND as I,$isElementNode as O,INSERT_LINE_BREAK_COMMAND as T,INSERT_PARAGRAPH_COMMAND as A,INSERT_TAB_COMMAND as P,$insertNodes as S,$createTabNode as _,INDENT_CONTENT_COMMAND as M,OUTDENT_CONTENT_COMMAND as b,KEY_ARROW_UP_COMMAND as F,$getAdjacentNode as K,$isDecoratorNode as k,KEY_ARROW_DOWN_COMMAND as J,KEY_ARROW_LEFT_COMMAND as L,KEY_ARROW_RIGHT_COMMAND as q,KEY_BACKSPACE_COMMAND as R,$isRootNode as W,KEY_DELETE_COMMAND as z,KEY_ENTER_COMMAND as X,KEY_ESCAPE_COMMAND as Y,DROP_COMMAND as B,$getNearestNodeFromDOMNode as G,$createRangeSelection as V,$isTextNode as j,$normalizeSelection__EXPERIMENTAL as H,$setSelection as Q,DRAGSTART_COMMAND as U,DRAGOVER_COMMAND as Z,SELECT_ALL_COMMAND as $,$selectAll as tt,COPY_COMMAND as et,CUT_COMMAND as nt,PASTE_COMMAND as rt,isSelectionCapturedInDecoratorInput as ot,$getRoot as it}from\"lexical\";function st(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if(\"undefined\"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}const ct=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,at=ct&&\"documentMode\"in document?document.documentMode:null,ut=!(!ct||!(\"InputEvent\"in window)||at)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),lt=ct&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent),dt=ct&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,mt=ct&&/^(?=.*Chrome).*/i.test(navigator.userAgent),ft=ct&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&!mt,gt=l(\"DRAG_DROP_PASTE_FILE\");class pt extends d{static getType(){return\"quote\"}static clone(t){return new pt(t.__key)}constructor(t){super(t)}createDOM(t){const e=document.createElement(\"blockquote\");return o(e,t.theme.quote),e}updateDOM(t,e){return!1}static importDOM(){return{blockquote:t=>({conversion:xt,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=ht();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),type:\"quote\"}}insertNewAfter(t,e){const n=m(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=m();return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}canMergeWhenEmpty(){return!0}}function ht(){return f(new pt)}function Ct(t){return t instanceof pt}class yt extends d{static getType(){return\"heading\"}static clone(t){return new yt(t.__tag,t.__key)}constructor(t,e){super(e),this.__tag=t}getTag(){return this.__tag}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];o(n,t)}return n}updateDOM(t,e){return!1}static importDOM(){return{h1:t=>({conversion:Dt,priority:0}),h2:t=>({conversion:Dt,priority:0}),h3:t=>({conversion:Dt,priority:0}),h4:t=>({conversion:Dt,priority:0}),h5:t=>({conversion:Dt,priority:0}),h6:t=>({conversion:Dt,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&vt(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>vt(t)?{conversion:t=>({node:wt(\"h1\")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=wt(t.tag);return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:\"heading\",version:1}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=this.getLastDescendant(),o=!r||t&&t.anchor.key===r.getKey()&&n===r.getTextContentSize()||!t?m():wt(this.getTag()),i=this.getDirection();if(o.setDirection(i),this.insertAfter(o,e),0===n&&!this.isEmpty()&&t){const t=m();t.select(),this.replace(t,!0)}return o}collapseAtStart(){const t=this.isEmpty()?m():wt(this.getTag());return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}extractWithChild(){return!0}}function vt(t){return\"span\"===t.nodeName.toLowerCase()&&\"26pt\"===t.style.fontSize}function Dt(t){const e=t.nodeName.toLowerCase();let n=null;return\"h1\"!==e&&\"h2\"!==e&&\"h3\"!==e&&\"h4\"!==e&&\"h5\"!==e&&\"h6\"!==e||(n=wt(e),null!==t.style&&n.setFormat(t.style.textAlign)),{node:n}}function xt(t){const e=ht();return null!==t.style&&e.setFormat(t.style.textAlign),{node:e}}function wt(t){return f(new yt(t))}function Et(t){return t instanceof yt}function Nt(t){let e=null;if(s(t,DragEvent)?e=t.dataTransfer:s(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes(\"Files\"),o=n.includes(\"text/html\")||n.includes(\"text/plain\");return[r,Array.from(e.files),o]}function It(t){const e=p();if(!y(e))return!1;const n=new Set,r=e.getNodes();for(let e=0;e<r.length;e++){const o=r[e],i=o.getKey();if(n.has(i))continue;const s=a(o,(t=>O(t)&&!t.isInline()));if(null===s)continue;const c=s.getKey();s.canIndent()&&!n.has(c)&&(n.add(c),t(s))}return n.size>0}function Ot(t){const e=G(t);return k(e)}function Tt(o){return c(o.registerCommand(g,(t=>{const e=p();return!!h(e)&&(e.clear(),!0)}),0),o.registerCommand(C,(t=>{const e=p();return!!y(e)&&(e.deleteCharacter(t),!0)}),v),o.registerCommand(D,(t=>{const e=p();return!!y(e)&&(e.deleteWord(t),!0)}),v),o.registerCommand(x,(t=>{const e=p();return!!y(e)&&(e.deleteLine(t),!0)}),v),o.registerCommand(w,(e=>{const n=p();if(\"string\"==typeof e)null!==n&&n.insertText(e);else{if(null===n)return!1;const r=e.dataTransfer;if(null!=r)t(r,n,o);else if(y(n)){const t=e.data;return t&&n.insertText(t),!0}}return!0}),v),o.registerCommand(E,(()=>{const t=p();return!!y(t)&&(t.removeText(),!0)}),v),o.registerCommand(N,(t=>{const e=p();return!!y(e)&&(e.formatText(t),!0)}),v),o.registerCommand(I,(t=>{const e=p();if(!y(e)&&!h(e))return!1;const n=e.getNodes();for(const e of n){const n=a(e,(t=>O(t)&&!t.isInline()));null!==n&&n.setFormat(t)}return!0}),v),o.registerCommand(T,(t=>{const e=p();return!!y(e)&&(e.insertLineBreak(t),!0)}),v),o.registerCommand(A,(()=>{const t=p();return!!y(t)&&(t.insertParagraph(),!0)}),v),o.registerCommand(P,(()=>(S([_()]),!0)),v),o.registerCommand(M,(()=>It((t=>{const e=t.getIndent();t.setIndent(e+1)}))),v),o.registerCommand(b,(()=>It((t=>{const e=t.getIndent();e>0&&t.setIndent(e-1)}))),v),o.registerCommand(F,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const t=e.getNodes();if(t.length>0)return t[0].selectPrevious(),!0}else if(y(e)){const n=K(e.focus,!0);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1}),v),o.registerCommand(J,(t=>{const e=p();if(h(e)){const t=e.getNodes();if(t.length>0)return t[0].selectNext(0,0),!0}else if(y(e)){if(function(t){const e=t.focus;return\"root\"===e.key&&e.offset===it().getChildrenSize()}(e))return t.preventDefault(),!0;const n=K(e.focus,!1);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1}),v),o.registerCommand(L,(t=>{const e=p();if(h(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}if(!y(e))return!1;if(n(e,!0)){const n=t.shiftKey;return t.preventDefault(),r(e,n,!0),!0}return!1}),v),o.registerCommand(q,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}if(!y(e))return!1;const o=t.shiftKey;return!!n(e,!1)&&(t.preventDefault(),r(e,o,!1),!0)}),v),o.registerCommand(R,(t=>{if(Ot(t.target))return!1;const e=p();if(!y(e))return!1;t.preventDefault();const{anchor:n}=e,r=n.getNode();if(e.isCollapsed()&&0===n.offset&&!W(r)){if(u(r).getIndent()>0)return o.dispatchCommand(b,void 0)}return o.dispatchCommand(C,!0)}),v),o.registerCommand(z,(t=>{if(Ot(t.target))return!1;const e=p();return!!y(e)&&(t.preventDefault(),o.dispatchCommand(C,!1))}),v),o.registerCommand(X,(t=>{const e=p();if(!y(e))return!1;if(null!==t){if((dt||lt||ft)&&ut)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(T,!1)}return o.dispatchCommand(A,void 0)}),v),o.registerCommand(Y,(()=>{const t=p();return!!y(t)&&(o.blur(),!0)}),v),o.registerCommand(B,(t=>{const[,e]=Nt(t);if(e.length>0){const n=st(t.clientX,t.clientY);if(null!==n){const{offset:t,node:r}=n,i=G(r);if(null!==i){const e=V();if(j(i))e.anchor.set(i.getKey(),t,\"text\"),e.focus.set(i.getKey(),t,\"text\");else{const t=i.getParentOrThrow().getKey(),n=i.getIndexWithinParent()+1;e.anchor.set(t,n,\"element\"),e.focus.set(t,n,\"element\")}const n=H(e);Q(n)}o.dispatchCommand(gt,e)}return t.preventDefault(),!0}const n=p();return!!y(n)}),v),o.registerCommand(U,(t=>{const[e]=Nt(t),n=p();return!(e&&!y(n))}),v),o.registerCommand(Z,(t=>{const[e]=Nt(t),n=p();if(e&&!y(n))return!1;const r=st(t.clientX,t.clientY);if(null!==r){const e=G(r.node);k(e)&&t.preventDefault()}return!0}),v),o.registerCommand($,(()=>(tt(),!0)),v),o.registerCommand(et,(t=>(e(o,s(t,ClipboardEvent)?t:null),!0)),v),o.registerCommand(nt,(t=>(async function(t,n){await e(n,s(t,ClipboardEvent)?t:null),n.update((()=>{const t=p();y(t)?t.removeText():h(t)&&t.getNodes().forEach((t=>t.remove()))}))}(t,o),!0)),v),o.registerCommand(rt,(e=>{const[,n,r]=Nt(e);if(n.length>0&&!r)return o.dispatchCommand(gt,n),!0;if(ot(e.target))return!1;return null!==p()&&(function(e,n){e.preventDefault(),n.update((()=>{const r=p(),o=s(e,InputEvent)||s(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)}),{tag:\"paste\"})}(e,o),!0)}),v))}export{wt as $createHeadingNode,ht as $createQuoteNode,Et as $isHeadingNode,Ct as $isQuoteNode,gt as DRAG_DROP_PASTE,yt as HeadingNode,pt as QuoteNode,Nt as eventFiles,Tt as registerRichText};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as t}from\"@lexical/react/LexicalComposerContext\";import{useLexicalEditable as e}from\"@lexical/react/useLexicalEditable\";import{$canShowPlaceholderCurry as r}from\"@lexical/text\";import{mergeRegister as o}from\"@lexical/utils\";import{useLayoutEffect as n,useEffect as i,useState as c,useMemo as l,Suspense as a}from\"react\";import{flushSync as u,createPortal as m}from\"react-dom\";import{jsx as s,jsxs as d,Fragment as f}from\"react/jsx-runtime\";import{registerDragonSupport as p}from\"@lexical/dragon\";import{registerRichText as x}from\"@lexical/rich-text\";const g=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n:i;function E(t){return t.getEditorState().read(r(t.isComposing()))}function h({contentEditable:e,placeholder:r=null,ErrorBoundary:n}){const[E]=t(),h=function(t,e){const[r,o]=c((()=>t.getDecorators()));return g((()=>t.registerDecoratorListener((t=>{u((()=>{o(t)}))}))),[t]),i((()=>{o(t.getDecorators())}),[t]),l((()=>{const o=[],n=Object.keys(r);for(let i=0;i<n.length;i++){const c=n[i],l=s(e,{onError:e=>t._onError(e),children:s(a,{fallback:null,children:r[c]})}),u=t.getElementByKey(c);null!==u&&o.push(m(l,u,c))}return o}),[e,r,t])}(E,n);return function(t){g((()=>o(x(t),p(t))),[t])}(E),d(f,{children:[e,s(w,{content:r}),h]})}function w({content:r}){const[n]=t(),i=function(t){const[e,r]=c((()=>E(t)));return g((()=>{function e(){const e=E(t);r(e)}return e(),o(t.registerUpdateListener((()=>{e()})),t.registerEditableListener((()=>{e()})))}),[t]),e}(n),l=e();return i?\"function\"==typeof r?r(l):r:null}export{h as RichTextPlugin};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport*as r from\"react\";import{jsx as e}from\"react/jsx-runtime\";function t(r,e){return t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,e){return r.__proto__=e,r},t(r,e)}var o={error:null},n=function(e){var n,a;function s(){for(var r,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return(r=e.call.apply(e,[this].concat(n))||this).state=o,r.resetErrorBoundary=function(){for(var e,t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];null==r.props.onReset||(e=r.props).onReset.apply(e,o),r.reset()},r}a=e,(n=s).prototype=Object.create(a.prototype),n.prototype.constructor=n,t(n,a),s.getDerivedStateFromError=function(r){return{error:r}};var l=s.prototype;return l.reset=function(){this.setState(o)},l.componentDidCatch=function(r,e){var t,o;null==(t=(o=this.props).onError)||t.call(o,r,e)},l.componentDidUpdate=function(r,e){var t,o,n,a,s=this.state.error,l=this.props.resetKeys;null!==s&&null!==e.error&&(void 0===(n=r.resetKeys)&&(n=[]),void 0===(a=l)&&(a=[]),n.length!==a.length||n.some((function(r,e){return!Object.is(r,a[e])})))&&(null==(t=(o=this.props).onResetKeysChange)||t.call(o,r.resetKeys,l),this.reset())},l.render=function(){var e=this.state.error,t=this.props,o=t.fallbackRender,n=t.FallbackComponent,a=t.fallback;if(null!==e){var s={error:e,resetErrorBoundary:this.resetErrorBoundary};if(r.isValidElement(a))return a;if(\"function\"==typeof o)return o(s);if(n)return r.createElement(n,s);throw new Error(\"react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop\")}return this.props.children},s}(r.Component);function a({children:r,onError:t}){return e(n,{fallback:e(\"div\",{style:{border:\"1px solid #f00\",color:\"#f00\",padding:\"8px\"},children:\"An error was thrown.\"}),onError:t,children:r})}export{a as LexicalErrorBoundary,a as default};\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\nimport {createContext, ReactNode, useContext, useState} from 'react';\r\nimport * as React from 'react';\r\n\r\nexport type marginSizeType = {\r\n normal: string;\r\n narrow: string;\r\n moderate: string;\r\n wide: string;\r\n};\r\n\r\nexport enum marginSize {\r\n normal = '1px',\r\n narrow = '48px',\r\n moderate = '96px 72px',\r\n wide = '96px 192px',\r\n}\r\n\r\nexport const PageMarginContext = createContext({\r\n margin: {bottom: '', left: '', right: '', top: ''},\r\n pageMarginValue: '' as marginSizeType | string,\r\n updateCustomMargin: (value: string, name: string) => {},\r\n updatePageMarginValue: (value: marginSizeType | string) => {},\r\n});\r\n\r\nexport const PageMarginProvider = ({children}: {children: ReactNode}) => {\r\n const [pageMarginValue, setPageMarginValue] = useState<\r\n marginSizeType | string\r\n >(marginSize.normal);\r\n const [margin, setMargin] = React.useState({\r\n bottom: '1',\r\n left: '1',\r\n right: '1',\r\n top: '1',\r\n });\r\n\r\n const updatePageMarginValue = (value: marginSizeType | string) => {\r\n setPageMarginValue(value);\r\n };\r\n\r\n const updateCustomMargin = (value: string, name: string) => {\r\n setMargin((prev) => ({\r\n ...prev,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n return (\r\n <PageMarginContext.Provider\r\n value={{\r\n margin,\r\n pageMarginValue,\r\n updateCustomMargin,\r\n updatePageMarginValue,\r\n }}>\r\n {children}\r\n </PageMarginContext.Provider>\r\n );\r\n};\r\n\r\nexport const usePageMarginContext = () => {\r\n return useContext(PageMarginContext);\r\n};\r\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{addClassNamesToElement as t,isHTMLAnchorElement as e}from\"@lexical/utils\";import{createCommand as r,ElementNode as i,$isRangeSelection as n,$applyNodeReplacement as l,$isElementNode as s,$getSelection as u}from\"lexical\";const _=new Set([\"http:\",\"https:\",\"mailto:\",\"sms:\",\"tel:\"]);class o extends i{static getType(){return\"link\"}static clone(t){return new o(t.__url,{rel:t.__rel,target:t.__target,title:t.__title},t.__key)}constructor(t,e={},r){super(r);const{target:i=null,rel:n=null,title:l=null}=e;this.__url=t,this.__target=i,this.__rel=n,this.__title=l}createDOM(e){const r=document.createElement(\"a\");return r.href=this.sanitizeUrl(this.__url),null!==this.__target&&(r.target=this.__target),null!==this.__rel&&(r.rel=this.__rel),null!==this.__title&&(r.title=this.__title),t(r,e.theme.link),r}updateDOM(t,e,r){if(e instanceof HTMLAnchorElement){const r=this.__url,i=this.__target,n=this.__rel,l=this.__title;r!==t.__url&&(e.href=r),i!==t.__target&&(i?e.target=i:e.removeAttribute(\"target\")),n!==t.__rel&&(n?e.rel=n:e.removeAttribute(\"rel\")),l!==t.__title&&(l?e.title=l:e.removeAttribute(\"title\"))}return!1}static importDOM(){return{a:t=>({conversion:a,priority:1})}}static importJSON(t){const e=h(t.url,{rel:t.rel,target:t.target,title:t.title});return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}sanitizeUrl(t){try{const e=new URL(t);if(!_.has(e.protocol))return\"about:blank\"}catch(e){return t}return t}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),title:this.getTitle(),type:\"link\",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(t){this.getWritable().__url=t}getTarget(){return this.getLatest().__target}setTarget(t){this.getWritable().__target=t}getRel(){return this.getLatest().__rel}setRel(t){this.getWritable().__rel=t}getTitle(){return this.getLatest().__title}setTitle(t){this.getWritable().__title=t}insertNewAfter(t,e=!0){const r=h(this.__url,{rel:this.__rel,target:this.__target,title:this.__title});return this.insertAfter(r,e),r}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(t,e,r){if(!n(e))return!1;const i=e.anchor.getNode(),l=e.focus.getNode();return this.isParentOf(i)&&this.isParentOf(l)&&e.getTextContent().length>0}isEmailURI(){return this.__url.startsWith(\"mailto:\")}isWebSiteURI(){return this.__url.startsWith(\"https://\")||this.__url.startsWith(\"http://\")}}function a(t){let r=null;if(e(t)){const e=t.textContent;(null!==e&&\"\"!==e||t.children.length>0)&&(r=h(t.getAttribute(\"href\")||\"\",{rel:t.getAttribute(\"rel\"),target:t.getAttribute(\"target\"),title:t.getAttribute(\"title\")}))}return{node:r}}function h(t,e){return l(new o(t,e))}function c(t){return t instanceof o}class g extends o{constructor(t,e={},r){super(t,e,r),this.__isUnlinked=void 0!==e.isUnlinked&&null!==e.isUnlinked&&e.isUnlinked}static getType(){return\"autolink\"}static clone(t){return new g(t.__url,{isUnlinked:t.__isUnlinked,rel:t.__rel,target:t.__target,title:t.__title},t.__key)}getIsUnlinked(){return this.__isUnlinked}setIsUnlinked(t){const e=this.getWritable();return e.__isUnlinked=t,e}createDOM(t){return this.__isUnlinked?document.createElement(\"span\"):super.createDOM(t)}updateDOM(t,e,r){return super.updateDOM(t,e,r)||t.__isUnlinked!==this.__isUnlinked}static importJSON(t){const e=f(t.url,{isUnlinked:t.isUnlinked,rel:t.rel,target:t.target,title:t.title});return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}static importDOM(){return null}exportJSON(){return{...super.exportJSON(),isUnlinked:this.__isUnlinked,type:\"autolink\",version:1}}insertNewAfter(t,e=!0){const r=this.getParentOrThrow().insertNewAfter(t,e);if(s(r)){const t=f(this.__url,{isUnlinked:this.__isUnlinked,rel:this.__rel,target:this.__target,title:this.__title});return r.append(t),t}return null}}function f(t,e){return l(new g(t,e))}function d(t){return t instanceof g}const p=r(\"TOGGLE_LINK_COMMAND\");function U(t,e={}){const{target:r,title:i}=e,l=void 0===e.rel?\"noreferrer\":e.rel,_=u();if(!n(_))return;const o=_.extract();if(null===t)o.forEach((t=>{const e=t.getParent();if(!d(e)&&c(e)){const t=e.getChildren();for(let r=0;r<t.length;r++)e.insertBefore(t[r]);e.remove()}}));else{if(1===o.length){const e=function(t,e){let r=t;for(;null!==r&&null!==r.getParent()&&!e(r);)r=r.getParentOrThrow();return e(r)?r:null}(o[0],c);if(null!==e)return e.setURL(t),void 0!==r&&e.setTarget(r),null!==l&&e.setRel(l),void(void 0!==i&&e.setTitle(i))}let e=null,n=null;o.forEach((u=>{const _=u.getParent();if(_!==n&&null!==_&&(!s(u)||u.isInline())){if(c(_))return n=_,_.setURL(t),void 0!==r&&_.setTarget(r),null!==l&&n.setRel(l),void(void 0!==i&&n.setTitle(i));if(_.is(e)||(e=_,n=h(t,{rel:l,target:r,title:i}),c(_)?null===u.getPreviousSibling()?_.insertBefore(n):_.insertAfter(n):u.insertBefore(n)),c(u)){if(u.is(n))return;if(null!==n){const t=u.getChildren();for(let e=0;e<t.length;e++)n.append(t[e])}u.remove()}else null!==n&&n.append(u)}}))}}const m=U;export{f as $createAutoLinkNode,h as $createLinkNode,d as $isAutoLinkNode,c as $isLinkNode,U as $toggleLink,g as AutoLinkNode,o as LinkNode,p as TOGGLE_LINK_COMMAND,m as toggleLink};\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\nimport {$isAtNodeEnd} from '@lexical/selection';\r\nimport {ElementNode, RangeSelection, TextNode} from 'lexical';\r\n\r\nexport function getSelectedNode(\r\n selection: RangeSelection,\r\n): TextNode | ElementNode {\r\n const anchor = selection.anchor;\r\n const focus = selection.focus;\r\n const anchorNode = selection.anchor.getNode();\r\n const focusNode = selection.focus.getNode();\r\n if (anchorNode === focusNode) {\r\n return anchorNode;\r\n }\r\n const isBackward = selection.isBackward();\r\n if (isBackward) {\r\n return $isAtNodeEnd(focus) ? anchorNode : focusNode;\r\n } else {\r\n return $isAtNodeEnd(anchor) ? anchorNode : focusNode;\r\n }\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport './Modal.css';\r\n\r\nimport * as React from 'react';\r\nimport {ReactNode, useEffect, useRef} from 'react';\r\nimport {createPortal} from 'react-dom';\r\n\r\nfunction PortalImpl({\r\n onClose,\r\n children,\r\n title,\r\n closeOnClickOutside,\r\n}: {\r\n children: ReactNode;\r\n closeOnClickOutside: boolean;\r\n onClose: () => void;\r\n title: string;\r\n}) {\r\n const modalRef = useRef<HTMLDivElement>(null);\r\n\r\n useEffect(() => {\r\n if (modalRef.current !== null) {\r\n modalRef.current.focus();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let modalOverlayElement: HTMLElement | null = null;\r\n const handler = (event: KeyboardEvent) => {\r\n if (event.key === 'Escape') {\r\n onClose();\r\n }\r\n };\r\n const clickOutsideHandler = (event: MouseEvent) => {\r\n const target = event.target;\r\n if (\r\n modalRef.current !== null &&\r\n !modalRef.current.contains(target as Node) &&\r\n closeOnClickOutside\r\n ) {\r\n onClose();\r\n }\r\n };\r\n const modelElement = modalRef.current;\r\n if (modelElement !== null) {\r\n modalOverlayElement = modelElement.parentElement;\r\n if (modalOverlayElement !== null) {\r\n modalOverlayElement.addEventListener('click', clickOutsideHandler);\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', handler);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', handler);\r\n if (modalOverlayElement !== null) {\r\n modalOverlayElement?.removeEventListener('click', clickOutsideHandler);\r\n }\r\n };\r\n }, [closeOnClickOutside, onClose]);\r\n\r\n return (\r\n <div className=\"Modal__overlay\" role=\"dialog\">\r\n <div className=\"Modal__modal\" tabIndex={-1} ref={modalRef}>\r\n <h2 className=\"Modal__title\">{title}</h2>\r\n <button\r\n className=\"Modal__closeButton\"\r\n aria-label=\"Close modal\"\r\n type=\"button\"\r\n onClick={onClose}>\r\n X\r\n </button>\r\n <div className=\"Modal__content\">{children}</div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default function Modal({\r\n onClose,\r\n children,\r\n title,\r\n closeOnClickOutside = false,\r\n}: {\r\n children: ReactNode;\r\n closeOnClickOutside?: boolean;\r\n onClose: () => void;\r\n title: string;\r\n}): JSX.Element {\r\n return createPortal(\r\n <PortalImpl\r\n onClose={onClose}\r\n title={title}\r\n closeOnClickOutside={closeOnClickOutside}>\r\n {children}\r\n </PortalImpl>,\r\n document.body,\r\n );\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport {useCallback, useMemo, useState} from 'react';\r\nimport * as React from 'react';\r\n\r\nimport Modal from '../ui/Modal';\r\n\r\nexport default function useModal(): [\r\n JSX.Element | null,\r\n (title: string, showModal: (onClose: () => void) => JSX.Element) => void,\r\n] {\r\n const [modalContent, setModalContent] = useState<null | {\r\n closeOnClickOutside: boolean;\r\n content: JSX.Element;\r\n title: string;\r\n }>(null);\r\n\r\n const onClose = useCallback(() => {\r\n setModalContent(null);\r\n }, []);\r\n\r\n const modal = useMemo(() => {\r\n if (modalContent === null) {\r\n return null;\r\n }\r\n const {title, content, closeOnClickOutside} = modalContent;\r\n return (\r\n <Modal\r\n onClose={onClose}\r\n title={title}\r\n closeOnClickOutside={closeOnClickOutside}>\r\n {content}\r\n </Modal>\r\n );\r\n }, [modalContent, onClose]);\r\n\r\n const showModal = useCallback(\r\n (\r\n title: string,\r\n // eslint-disable-next-line no-shadow\r\n getContent: (onClose: () => void) => JSX.Element,\r\n closeOnClickOutside = false,\r\n ) => {\r\n setModalContent({\r\n closeOnClickOutside,\r\n content: getContent(onClose),\r\n title,\r\n });\r\n },\r\n [onClose],\r\n );\r\n\r\n return [modal, showModal];\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport * as React from 'react';\r\nimport {\r\n ReactNode,\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from 'react';\r\nimport {createPortal} from 'react-dom';\r\n\r\ntype DropDownContextType = {\r\n registerItem: (ref: React.RefObject<HTMLButtonElement>) => void;\r\n};\r\n\r\nconst DropDownContext = React.createContext<DropDownContextType | null>(null);\r\n\r\nconst dropDownPadding = 4;\r\n\r\nexport function DropDownItem({\r\n children,\r\n className,\r\n onClick,\r\n title,\r\n}: {\r\n children: React.ReactNode;\r\n className: string;\r\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;\r\n title?: string;\r\n}) {\r\n const ref = useRef<HTMLButtonElement>(null);\r\n\r\n const dropDownContext = React.useContext(DropDownContext);\r\n\r\n if (dropDownContext === null) {\r\n throw new Error('DropDownItem must be used within a DropDown');\r\n }\r\n\r\n const {registerItem} = dropDownContext;\r\n\r\n useEffect(() => {\r\n if (ref && ref.current) {\r\n registerItem(ref);\r\n }\r\n }, [ref, registerItem]);\r\n\r\n return (\r\n <button\r\n className={className}\r\n onClick={onClick}\r\n ref={ref}\r\n title={title}\r\n type=\"button\">\r\n {children}\r\n </button>\r\n );\r\n}\r\n\r\nfunction DropDownItems({\r\n children,\r\n dropDownRef,\r\n onClose,\r\n}: {\r\n children: React.ReactNode;\r\n dropDownRef: React.Ref<HTMLDivElement>;\r\n onClose: () => void;\r\n}) {\r\n const [items, setItems] = useState<React.RefObject<HTMLButtonElement>[]>();\r\n const [highlightedItem, setHighlightedItem] =\r\n useState<React.RefObject<HTMLButtonElement>>();\r\n\r\n const registerItem = useCallback(\r\n (itemRef: React.RefObject<HTMLButtonElement>) => {\r\n setItems((prev) => (prev ? [...prev, itemRef] : [itemRef]));\r\n },\r\n [setItems],\r\n );\r\n\r\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (!items) {\r\n return;\r\n }\r\n\r\n const key = event.key;\r\n\r\n if (['Escape', 'ArrowUp', 'ArrowDown', 'Tab'].includes(key)) {\r\n event.preventDefault();\r\n }\r\n\r\n if (key === 'Escape' || key === 'Tab') {\r\n onClose();\r\n } else if (key === 'ArrowUp') {\r\n setHighlightedItem((prev) => {\r\n if (!prev) {\r\n return items[0];\r\n }\r\n const index = items.indexOf(prev) - 1;\r\n return items[index === -1 ? items.length - 1 : index];\r\n });\r\n } else if (key === 'ArrowDown') {\r\n setHighlightedItem((prev) => {\r\n if (!prev) {\r\n return items[0];\r\n }\r\n return items[items.indexOf(prev) + 1];\r\n });\r\n }\r\n };\r\n\r\n const contextValue = useMemo(\r\n () => ({\r\n registerItem,\r\n }),\r\n [registerItem],\r\n );\r\n\r\n useEffect(() => {\r\n if (items && !highlightedItem) {\r\n setHighlightedItem(items[0]);\r\n }\r\n\r\n if (highlightedItem && highlightedItem.current) {\r\n highlightedItem.current.focus();\r\n }\r\n }, [items, highlightedItem]);\r\n\r\n return (\r\n <DropDownContext.Provider value={contextValue}>\r\n <div className=\"dropdown\" ref={dropDownRef} onKeyDown={handleKeyDown}>\r\n {children}\r\n </div>\r\n </DropDownContext.Provider>\r\n );\r\n}\r\n\r\nexport default function DropDown({\r\n disabled = false,\r\n buttonLabel,\r\n buttonAriaLabel,\r\n buttonClassName,\r\n buttonIconClassName,\r\n children,\r\n stopCloseOnClickSelf,\r\n}: {\r\n disabled?: boolean;\r\n buttonAriaLabel?: string;\r\n buttonClassName: string;\r\n buttonIconClassName?: string;\r\n buttonLabel?: string;\r\n children: ReactNode;\r\n stopCloseOnClickSelf?: boolean;\r\n}): JSX.Element {\r\n const dropDownRef = useRef<HTMLDivElement>(null);\r\n const buttonRef = useRef<HTMLButtonElement>(null);\r\n const [showDropDown, setShowDropDown] = useState(false);\r\n\r\n const handleClose = () => {\r\n setShowDropDown(false);\r\n if (buttonRef && buttonRef.current) {\r\n buttonRef.current.focus();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const button = buttonRef.current;\r\n const dropDown = dropDownRef.current;\r\n\r\n if (showDropDown && button !== null && dropDown !== null) {\r\n const {top, left} = button.getBoundingClientRect();\r\n dropDown.style.top = `${top + button.offsetHeight + dropDownPadding}px`;\r\n dropDown.style.left = `${Math.min(\r\n left,\r\n window.innerWidth - dropDown.offsetWidth - 20,\r\n )}px`;\r\n }\r\n }, [dropDownRef, buttonRef, showDropDown]);\r\n\r\n useEffect(() => {\r\n const button = buttonRef.current;\r\n\r\n if (button !== null && showDropDown) {\r\n const handle = (event: MouseEvent) => {\r\n const target = event.target;\r\n if (stopCloseOnClickSelf) {\r\n if (\r\n dropDownRef.current &&\r\n dropDownRef.current.contains(target as Node)\r\n ) {\r\n return;\r\n }\r\n }\r\n if (!button.contains(target as Node)) {\r\n setShowDropDown(false);\r\n }\r\n };\r\n document.addEventListener('click', handle);\r\n\r\n return () => {\r\n document.removeEventListener('click', handle);\r\n };\r\n }\r\n }, [dropDownRef, buttonRef, showDropDown, stopCloseOnClickSelf]);\r\n\r\n useEffect(() => {\r\n const handleButtonPositionUpdate = () => {\r\n if (showDropDown) {\r\n const button = buttonRef.current;\r\n const dropDown = dropDownRef.current;\r\n if (button !== null && dropDown !== null) {\r\n const {top} = button.getBoundingClientRect();\r\n const newPosition = top + button.offsetHeight + dropDownPadding;\r\n if (newPosition !== dropDown.getBoundingClientRect().top) {\r\n dropDown.style.top = `${newPosition}px`;\r\n }\r\n }\r\n }\r\n };\r\n\r\n document.addEventListener('scroll', handleButtonPositionUpdate);\r\n\r\n return () => {\r\n document.removeEventListener('scroll', handleButtonPositionUpdate);\r\n };\r\n }, [buttonRef, dropDownRef, showDropDown]);\r\n\r\n return (\r\n <>\r\n <button\r\n type=\"button\"\r\n disabled={disabled}\r\n aria-label={buttonAriaLabel || buttonLabel}\r\n className={buttonClassName}\r\n onClick={() => setShowDropDown(!showDropDown)}\r\n ref={buttonRef}>\r\n {buttonIconClassName && <span className={buttonIconClassName} />}\r\n {buttonLabel && (\r\n <span className=\"text dropdown-button-text\">{buttonLabel}</span>\r\n )}\r\n <i className=\"chevron-down\" />\r\n </button>\r\n\r\n {showDropDown &&\r\n createPortal(\r\n <DropDownItems dropDownRef={dropDownRef} onClose={handleClose}>\r\n {children}\r\n </DropDownItems>,\r\n document.body,\r\n )}\r\n </>\r\n );\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nexport default function joinClasses(\r\n ...args: Array<string | boolean | null | undefined>\r\n) {\r\n return args.filter(Boolean).join(' ');\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport './Button.css';\r\n\r\nimport * as React from 'react';\r\nimport {ReactNode} from 'react';\r\n\r\nimport joinClasses from '../../utils/joinClasses';\r\n\r\nexport default function Button({\r\n 'data-test-id': dataTestId,\r\n children,\r\n className,\r\n onClick,\r\n disabled,\r\n small,\r\n title,\r\n}: {\r\n 'data-test-id'?: string;\r\n children: ReactNode;\r\n className?: string;\r\n disabled?: boolean;\r\n onClick: () => void;\r\n small?: boolean;\r\n title?: string;\r\n}): JSX.Element {\r\n return (\r\n <button\r\n disabled={disabled}\r\n className={joinClasses(\r\n 'Button__root',\r\n disabled && 'Button__disabled',\r\n small && 'Button__small',\r\n className,\r\n )}\r\n onClick={onClick}\r\n title={title}\r\n aria-label={title}\r\n {...(dataTestId && {'data-test-id': dataTestId})}>\r\n {children}\r\n </button>\r\n );\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport './Dialog.css';\r\n\r\nimport * as React from 'react';\r\nimport {ReactNode} from 'react';\r\n\r\ntype Props = Readonly<{\r\n 'data-test-id'?: string;\r\n children: ReactNode;\r\n}>;\r\n\r\nexport function DialogButtonsList({children}: Props): JSX.Element {\r\n return <div className=\"DialogButtonsList\">{children}</div>;\r\n}\r\n\r\nexport function DialogActions({\r\n 'data-test-id': dataTestId,\r\n children,\r\n}: Props): JSX.Element {\r\n return (\r\n <div className=\"DialogActions\" data-test-id={dataTestId}>\r\n {children}\r\n </div>\r\n );\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport './Input.css';\r\n\r\nimport * as React from 'react';\r\nimport {HTMLInputTypeAttribute} from 'react';\r\n\r\ntype Props = Readonly<{\r\n 'data-test-id'?: string;\r\n label: string;\r\n onChange: (val: string, name: string) => void;\r\n placeholder?: string;\r\n value: string;\r\n type?: HTMLInputTypeAttribute;\r\n name?: string;\r\n}>;\r\n\r\nexport default function TextInput({\r\n label,\r\n value,\r\n onChange,\r\n placeholder = '',\r\n 'data-test-id': dataTestId,\r\n type = 'text',\r\n name = '',\r\n}: Props): JSX.Element {\r\n return (\r\n <div className=\"Input__wrapper\">\r\n <label className=\"Input__label\">{label}</label>\r\n <input\r\n type={type}\r\n className=\"Input__input\"\r\n placeholder={placeholder}\r\n value={value}\r\n name={name}\r\n onChange={(e) => {\r\n onChange(e.target.value, e.target.name);\r\n }}\r\n data-test-id={dataTestId}\r\n />\r\n </div>\r\n );\r\n}\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\nimport * as React from \"react\";\r\n\r\nimport Button from \"../../ui/Button\";\r\nimport { DialogActions } from \"../../ui/Dialog\";\r\nimport TextInput from \"../../ui/TextInput\";\r\nimport { usePageMarginContext } from \".\";\r\n\r\ninterface ICustomMargin {\r\n onClose: () => void;\r\n}\r\n\r\nconst CustomMarginDialog: React.FC<ICustomMargin> = ({ onClose }) => {\r\n const { margin, updatePageMarginValue, updateCustomMargin } =\r\n usePageMarginContext();\r\n\r\n const [error, setError] = React.useState(``);\r\n\r\n const onClick = () => {\r\n const totalWidth = 816;\r\n const contentWidth = 100;\r\n\r\n const totalHeight = 1156;\r\n const contentHeight = 25;\r\n\r\n const { top, right, bottom, left } = margin;\r\n\r\n const maxHorizontalMargin = (totalWidth - contentWidth) / 2;\r\n const maxVerticalMargin = (totalHeight - contentHeight) / 2;\r\n\r\n const errorMessage: string[] = [];\r\n\r\n if (+top * 96 > maxVerticalMargin) {\r\n errorMessage.push(\r\n `*Top margin is too large, maximum allowed is ${(\r\n maxVerticalMargin / 96\r\n ).toFixed(2)} inches.`\r\n );\r\n }\r\n\r\n if (+right * 96 > maxHorizontalMargin) {\r\n errorMessage.push(\r\n `*Right margin is too large, maximum allowed is ${(\r\n maxHorizontalMargin / 96\r\n ).toFixed(2)} inches.`\r\n );\r\n }\r\n\r\n if (+bottom * 96 > maxVerticalMargin) {\r\n errorMessage.push(\r\n `*Bottom margin is too large, maximum allowed is ${(\r\n maxVerticalMargin / 96\r\n ).toFixed(2)} inches.`\r\n );\r\n }\r\n\r\n if (+left * 96 > maxHorizontalMargin) {\r\n errorMessage.push(\r\n `*Left margin is too large, maximum allowed is ${(\r\n maxHorizontalMargin / 96\r\n ).toFixed(2)} inches.`\r\n );\r\n }\r\n\r\n if (errorMessage?.length) {\r\n setError(errorMessage.join(\"\\n\"));\r\n return;\r\n } else {\r\n const marginInPx = `${+top * 96}px ${+right * 96}px ${+bottom * 96}px ${\r\n +left * 96\r\n }px`;\r\n updatePageMarginValue(marginInPx);\r\n onClose();\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <TextInput\r\n label=\"Top\"\r\n onChange={updateCustomMargin}\r\n value={margin.top}\r\n data-test-id=\"custom-margin-top\"\r\n type=\"number\"\r\n name=\"top\"\r\n />\r\n\r\n <TextInput\r\n label=\"Right\"\r\n onChange={updateCustomMargin}\r\n value={margin.right}\r\n data-test-id=\"table-modal-right\"\r\n type=\"number\"\r\n name=\"right\"\r\n />\r\n\r\n <TextInput\r\n label=\"Bottom\"\r\n onChange={updateCustomMargin}\r\n value={margin.bottom}\r\n data-test-id=\"table-modal-bottom\"\r\n type=\"number\"\r\n name=\"bottom\"\r\n />\r\n\r\n <TextInput\r\n label=\"Left\"\r\n onChange={updateCustomMargin}\r\n value={margin.left}\r\n data-test-id=\"table-modal-left\"\r\n type=\"number\"\r\n name=\"left\"\r\n />\r\n\r\n <div style={{ color: \"red\", whiteSpace: \"pre-line\" }}>{error}</div>\r\n\r\n <DialogActions data-test-id=\"table-model-confirm-insert\">\r\n <Button onClick={onClick}>Confirm</Button>\r\n </DialogActions>\r\n </>\r\n );\r\n};\r\n\r\nexport default CustomMarginDialog;\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\nimport * as React from 'react';\r\n\r\nimport useModal from '../hooks/useModal';\r\nimport DropDown, {DropDownItem} from '../ui/DropDown';\r\nimport {marginSize, usePageMarginContext} from './PageMarginPlugin/index';\r\nimport CustomMarginDialog from './PageMarginPlugin/CustomMarginDialog';\r\n\r\ninterface IPageMargin {\r\n isEditable: boolean;\r\n}\r\n\r\nexport const dropDownActiveClass = (active: boolean) => {\r\n if (active) {\r\n return 'active dropdown-item-active';\r\n } else {\r\n return '';\r\n }\r\n};\r\n\r\nconst PageMargin: React.FC<IPageMargin> = ({isEditable}) => {\r\n const {pageMarginValue, updatePageMarginValue} = usePageMarginContext();\r\n\r\n const [modal, showModal] = useModal();\r\n\r\n return (\r\n <>\r\n <DropDown\r\n disabled={!isEditable}\r\n buttonClassName=\"toolbar-item spaced\"\r\n buttonLabel=\"Page Margin\"\r\n buttonAriaLabel=\"Page margin\"\r\n buttonIconClassName=\" plus\"\r\n >\r\n <DropDownItem\r\n onClick={() => updatePageMarginValue(marginSize.normal)}\r\n className={\r\n 'item ' + dropDownActiveClass(pageMarginValue === marginSize.normal)\r\n }>\r\n {/* <i className=\"icon horizontal-rule\" /> */}\r\n <span className=\"text\">Normal</span>\r\n </DropDownItem>\r\n\r\n <DropDownItem\r\n onClick={() => updatePageMarginValue(marginSize.narrow)}\r\n className={\r\n 'item ' + dropDownActiveClass(pageMarginValue === marginSize.narrow)\r\n }>\r\n {/* <i className=\"icon horizontal-rule\" /> */}\r\n <span className=\"text\">Narrow</span>\r\n </DropDownItem>\r\n\r\n <DropDownItem\r\n onClick={() => updatePageMarginValue(marginSize.moderate)}\r\n className={\r\n 'item ' +\r\n dropDownActiveClass(pageMarginValue === marginSize.moderate)\r\n }>\r\n {/* <i className=\"icon horizontal-rule\" /> */}\r\n <span className=\"text\">Moderate</span>\r\n </DropDownItem>\r\n\r\n <DropDownItem\r\n onClick={() => updatePageMarginValue(marginSize.wide)}\r\n className={\r\n 'item ' + dropDownActiveClass(pageMarginValue === marginSize.wide)\r\n }>\r\n {/* <i className=\"icon horizontal-rule\" /> */}\r\n <span className=\"text\">Wide</span>\r\n </DropDownItem>\r\n\r\n <DropDownItem\r\n onClick={() => {\r\n showModal('Custom Margin', (onClose) => (\r\n <CustomMarginDialog onClose={onClose} />\r\n ));\r\n }}\r\n className={'item '}>\r\n {/* <i className=\"icon horizontal-rule\" /> */}\r\n <span className=\"text\">Custom</span>\r\n </DropDownItem>\r\n </DropDown>\r\n\r\n {modal}\r\n </>\r\n );\r\n};\r\n\r\nexport default PageMargin;\r\n","export function Divider(): JSX.Element {\r\n return <div className=\"divider\" />;\r\n}\r\n","import {\r\n ElementFormatType,\r\n FORMAT_ELEMENT_COMMAND,\r\n INDENT_CONTENT_COMMAND,\r\n LexicalEditor,\r\n OUTDENT_CONTENT_COMMAND,\r\n} from \"lexical\";\r\nimport { Divider } from \"../../ui/Divider\";\r\nimport DropDown, { DropDownItem } from \"../../ui/DropDown\";\r\n\r\nconst ELEMENT_FORMAT_OPTIONS: {\r\n [key in Exclude<ElementFormatType, \"\">]: {\r\n icon: string;\r\n iconRTL: string;\r\n name: string;\r\n };\r\n} = {\r\n center: {\r\n icon: \"center-align\",\r\n iconRTL: \"center-align\",\r\n name: \"Center Align\",\r\n },\r\n end: {\r\n icon: \"right-align\",\r\n iconRTL: \"left-align\",\r\n name: \"End Align\",\r\n },\r\n justify: {\r\n icon: \"justify-align\",\r\n iconRTL: \"justify-align\",\r\n name: \"Justify Align\",\r\n },\r\n left: {\r\n icon: \"left-align\",\r\n iconRTL: \"left-align\",\r\n name: \"Left Align\",\r\n },\r\n right: {\r\n icon: \"right-align\",\r\n iconRTL: \"right-align\",\r\n name: \"Right Align\",\r\n },\r\n start: {\r\n icon: \"left-align\",\r\n iconRTL: \"right-align\",\r\n name: \"Start Align\",\r\n },\r\n};\r\n\r\nconst TextAlignment = ({\r\n editor,\r\n value,\r\n isRTL,\r\n disabled = false,\r\n}: {\r\n editor: LexicalEditor;\r\n value: ElementFormatType;\r\n isRTL: boolean;\r\n disabled?: boolean;\r\n}) => {\r\n const formatOption = ELEMENT_FORMAT_OPTIONS[value || \"left\"];\r\n\r\n return (\r\n <DropDown\r\n disabled={disabled}\r\n buttonLabel={formatOption.name}\r\n buttonIconClassName={`icon ${\r\n isRTL ? formatOption.iconRTL : formatOption.icon\r\n }`}\r\n buttonClassName=\"toolbar-item spaced alignment\"\r\n buttonAriaLabel=\"Formatting options for text alignment\"\r\n >\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"left\");\r\n }}\r\n className=\"item\"\r\n >\r\n <i className=\"icon left-align\" />\r\n <span className=\"text\">Left Align</span>\r\n </DropDownItem>\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"center\");\r\n }}\r\n className=\"item\"\r\n >\r\n <i className=\"icon center-align\" />\r\n <span className=\"text\">Center Align</span>\r\n </DropDownItem>\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"right\");\r\n }}\r\n className=\"item\"\r\n >\r\n <i className=\"icon right-align\" />\r\n <span className=\"text\">Right Align</span>\r\n </DropDownItem>\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"justify\");\r\n }}\r\n className=\"item\"\r\n >\r\n <i className=\"icon justify-align\" />\r\n <span className=\"text\">Justify Align</span>\r\n </DropDownItem>\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"start\");\r\n }}\r\n className=\"item\"\r\n >\r\n <i\r\n className={`icon ${\r\n isRTL\r\n ? ELEMENT_FORMAT_OPTIONS.start.iconRTL\r\n : ELEMENT_FORMAT_OPTIONS.start.icon\r\n }`}\r\n />\r\n <span className=\"text\">Start Align</span>\r\n </DropDownItem>\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"end\");\r\n }}\r\n className=\"item\"\r\n >\r\n <i\r\n className={`icon ${\r\n isRTL\r\n ? ELEMENT_FORMAT_OPTIONS.end.iconRTL\r\n : ELEMENT_FORMAT_OPTIONS.end.icon\r\n }`}\r\n />\r\n <span className=\"text\">End Align</span>\r\n </DropDownItem>\r\n <Divider />\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(OUTDENT_CONTENT_COMMAND, undefined);\r\n }}\r\n className=\"item\"\r\n >\r\n <i className={\"icon \" + (isRTL ? \"indent\" : \"outdent\")} />\r\n <span className=\"text\">Outdent</span>\r\n </DropDownItem>\r\n <DropDownItem\r\n onClick={() => {\r\n editor.dispatchCommand(INDENT_CONTENT_COMMAND, undefined);\r\n }}\r\n className=\"item\"\r\n >\r\n <i className={\"icon \" + (isRTL ? \"outdent\" : \"indent\")} />\r\n <span className=\"text\">Indent</span>\r\n </DropDownItem>\r\n </DropDown>\r\n );\r\n};\r\n\r\nexport default TextAlignment;\r\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\r\nimport { mergeRegister } from \"@lexical/utils\";\r\nimport {\r\n $getSelection,\r\n $isElementNode,\r\n $isRangeSelection,\r\n CAN_REDO_COMMAND,\r\n CAN_UNDO_COMMAND,\r\n ElementFormatType,\r\n FORMAT_ELEMENT_COMMAND,\r\n FORMAT_TEXT_COMMAND,\r\n REDO_COMMAND,\r\n SELECTION_CHANGE_COMMAND,\r\n UNDO_COMMAND,\r\n} from \"lexical\";\r\nimport { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport * as React from \"react\";\r\nimport {\r\n $getSelectionStyleValueForProperty,\r\n $isParentElementRTL,\r\n} from \"@lexical/selection\";\r\nimport { $isLinkNode } from \"@lexical/link\";\r\nimport { $findMatchingParent } from \"@lexical/utils\";\r\nimport { getSelectedNode } from \"../../../utils/getSelectedNode\";\r\nimport PageMargin from \"../PageMargin\";\r\nimport TextAlignment from \"./TextAlignment\";\r\nimport { marginSize, usePageMarginContext } from \"../PageMarginPlugin\";\r\n\r\nconst LowPriority = 1;\r\n\r\nfunction Divider() {\r\n return <div className=\"divider\" />;\r\n}\r\n\r\nexport default function ToolbarPlugin() {\r\n const {updatePageMarginValue} = usePageMarginContext()\r\n const [editor] = useLexicalComposerContext();\r\n const toolbarRef = useRef(null);\r\n const [canUndo, setCanUndo] = useState(false);\r\n const [canRedo, setCanRedo] = useState(false);\r\n const [isBold, setIsBold] = useState(false);\r\n const [isItalic, setIsItalic] = useState(false);\r\n const [isUnderline, setIsUnderline] = useState(false);\r\n const [isStrikethrough, setIsStrikethrough] = useState(false);\r\n const [isSubscript, setIsSubscript] = useState(false);\r\n const [isSuperscript, setIsSuperscript] = useState(false);\r\n const [fontSize, setFontSize] = useState<string>(\"14px\");\r\n const [elementFormat, setElementFormat] = useState<ElementFormatType>(\"left\");\r\n const [isRTL, setIsRTL] = useState(false);\r\n\r\n const updateToolbar = useCallback(() => {\r\n const selection = $getSelection();\r\n if ($isRangeSelection(selection)) {\r\n const node = getSelectedNode(selection);\r\n const parent = node.getParent();\r\n\r\n // Update text format\r\n setIsBold(selection.hasFormat(\"bold\"));\r\n setIsItalic(selection.hasFormat(\"italic\"));\r\n setIsUnderline(selection.hasFormat(\"underline\"));\r\n setIsStrikethrough(selection.hasFormat(\"strikethrough\"));\r\n setIsSubscript(selection.hasFormat(\"subscript\"));\r\n setIsSuperscript(selection.hasFormat(\"superscript\"));\r\n setIsRTL($isParentElementRTL(selection));\r\n\r\n setFontSize(\r\n $getSelectionStyleValueForProperty(selection, \"font-size\", \"14px\")\r\n );\r\n\r\n let matchingParent;\r\n if ($isLinkNode(parent)) {\r\n // If node is a link, we need to fetch the parent paragraph node to set format\r\n matchingParent = $findMatchingParent(\r\n node,\r\n (parentNode) => $isElementNode(parentNode) && !parentNode.isInline()\r\n );\r\n }\r\n\r\n // If matchingParent is a valid node, pass it's format type\r\n setElementFormat(\r\n $isElementNode(matchingParent)\r\n ? matchingParent.getFormatType()\r\n : $isElementNode(node)\r\n ? node.getFormatType()\r\n : parent?.getFormatType() || \"left\"\r\n );\r\n updatePageMarginValue(marginSize);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n return mergeRegister(\r\n editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n updateToolbar();\r\n });\r\n }),\r\n editor.registerCommand(\r\n SELECTION_CHANGE_COMMAND,\r\n (_payload, newEditor) => {\r\n updateToolbar();\r\n return false;\r\n },\r\n LowPriority\r\n ),\r\n editor.registerCommand(\r\n CAN_UNDO_COMMAND,\r\n (payload) => {\r\n setCanUndo(payload);\r\n return false;\r\n },\r\n LowPriority\r\n ),\r\n editor.registerCommand(\r\n CAN_REDO_COMMAND,\r\n (payload) => {\r\n setCanRedo(payload);\r\n return false;\r\n },\r\n LowPriority\r\n )\r\n );\r\n }, [editor, updateToolbar]);\r\n\r\n return (\r\n <div className=\"toolbar\" ref={toolbarRef}>\r\n <button\r\n disabled={!canUndo}\r\n onClick={() => {\r\n editor.dispatchCommand(UNDO_COMMAND, undefined);\r\n }}\r\n className=\"toolbar-item spaced\"\r\n aria-label=\"Undo\"\r\n >\r\n <i className=\"format undo\" />\r\n </button>\r\n <button\r\n disabled={!canRedo}\r\n onClick={() => {\r\n editor.dispatchCommand(REDO_COMMAND, undefined);\r\n }}\r\n className=\"toolbar-item\"\r\n aria-label=\"Redo\"\r\n >\r\n <i className=\"format redo\" />\r\n </button>\r\n <Divider />\r\n <Divider />\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"bold\");\r\n }}\r\n className={\"toolbar-item spaced \" + (isBold ? \"active\" : \"\")}\r\n aria-label=\"Format Bold\"\r\n >\r\n <i className=\"format bold\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"italic\");\r\n }}\r\n className={\"toolbar-item spaced \" + (isItalic ? \"active\" : \"\")}\r\n aria-label=\"Format Italics\"\r\n >\r\n <i className=\"format italic\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"underline\");\r\n }}\r\n className={\"toolbar-item spaced \" + (isUnderline ? \"active\" : \"\")}\r\n aria-label=\"Format Underline\"\r\n >\r\n <i className=\"format underline\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"strikethrough\");\r\n }}\r\n className={\"toolbar-item spaced \" + (isStrikethrough ? \"active\" : \"\")}\r\n aria-label=\"Format Strikethrough\"\r\n >\r\n <i className=\"format strikethrough\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"subscript\");\r\n }}\r\n className={\"toolbar-item spaced \" + (isSubscript ? \"active\" : \"\")}\r\n title=\"Subscript\"\r\n aria-label=\"Format text with a subscript\"\r\n type=\"button\"\r\n >\r\n <i className=\"format subscript\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, \"superscript\");\r\n }}\r\n className={\"toolbar-item spaced \" + (isSuperscript ? \"active\" : \"\")}\r\n title=\"Superscript\"\r\n aria-label=\"Format text with a superscript\"\r\n type=\"button\"\r\n >\r\n <i className=\"format superscript\" />\r\n </button>\r\n <Divider />\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"left\");\r\n }}\r\n className=\"toolbar-item spaced\"\r\n aria-label=\"Left Align\"\r\n >\r\n <i className=\"format left-align\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"center\");\r\n }}\r\n className=\"toolbar-item spaced\"\r\n aria-label=\"Center Align\"\r\n >\r\n <i className=\"format center-align\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"right\");\r\n }}\r\n className=\"toolbar-item spaced\"\r\n aria-label=\"Right Align\"\r\n >\r\n <i className=\"format right-align\" />\r\n </button>\r\n <button\r\n onClick={() => {\r\n editor.dispatchCommand(FORMAT_ELEMENT_COMMAND, \"justify\");\r\n }}\r\n className=\"toolbar-item\"\r\n aria-label=\"Justify Align\"\r\n >\r\n <i className=\"format justify-align\" />\r\n </button>{\" \"}\r\n <Divider />\r\n <PageMargin isEditable={true} />\r\n <Divider />\r\n <TextAlignment value={elementFormat} editor={editor} isRTL={isRTL} />\r\n </div>\r\n );\r\n}\r\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{useLexicalComposerContext as e}from\"@lexical/react/LexicalComposerContext\";import{useLayoutEffect as t,useEffect as i,forwardRef as a,useState as r,useCallback as n,useMemo as o}from\"react\";import{jsx as l,jsxs as d,Fragment as c}from\"react/jsx-runtime\";import{$canShowPlaceholderCurry as s}from\"@lexical/text\";import{mergeRegister as u}from\"@lexical/utils\";const m=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?t:i;function f({editor:e,ariaActiveDescendant:t,ariaAutoComplete:i,ariaControls:a,ariaDescribedBy:d,ariaExpanded:c,ariaLabel:s,ariaLabelledBy:u,ariaMultiline:f,ariaOwns:b,ariaRequired:p,autoCapitalize:x,className:E,id:v,role:w=\"textbox\",spellCheck:y=!0,style:C,tabIndex:h,\"data-testid\":L,...g},D){const[R,k]=r(e.isEditable()),q=n((t=>{t&&t.ownerDocument&&t.ownerDocument.defaultView?e.setRootElement(t):e.setRootElement(null)}),[e]),z=o((()=>function(...e){return t=>{e.forEach((e=>{\"function\"==typeof e?e(t):null!=e&&(e.current=t)}))}}(D,q)),[q,D]);return m((()=>(k(e.isEditable()),e.registerEditableListener((e=>{k(e)})))),[e]),l(\"div\",{...g,\"aria-activedescendant\":R?t:void 0,\"aria-autocomplete\":R?i:\"none\",\"aria-controls\":R?a:void 0,\"aria-describedby\":d,\"aria-expanded\":R&&\"combobox\"===w?!!c:void 0,\"aria-label\":s,\"aria-labelledby\":u,\"aria-multiline\":f,\"aria-owns\":R?b:void 0,\"aria-readonly\":!R||void 0,\"aria-required\":p,autoCapitalize:x,className:E,contentEditable:R,\"data-testid\":L,id:v,ref:z,role:R?w:void 0,spellCheck:y,style:C,tabIndex:h})}const b=a(f);function p(e){return e.getEditorState().read(s(e.isComposing()))}const x=a(E);function E(t,i){const{placeholder:a,...r}=t,[n]=e();return d(c,{children:[l(b,{editor:n,...r,ref:i}),null!=a&&l(v,{editor:n,content:a})]})}function v({content:e,editor:i}){const a=function(e){const[t,i]=r((()=>p(e)));return m((()=>{function t(){const t=p(e);i(t)}return t(),u(e.registerUpdateListener((()=>{t()})),e.registerEditableListener((()=>{t()})))}),[e]),t}(i),[n,o]=r(i.isEditable());if(t((()=>(o(i.isEditable()),i.registerEditableListener((e=>{o(e)})))),[i]),!a)return null;let d=null;return\"function\"==typeof e?d=e(n):null!==e&&(d=e),null===d?null:l(\"div\",{\"aria-hidden\":!0,children:d})}export{x as ContentEditable};\n","/**\r\n * Copyright (c) Meta Platforms, Inc. and affiliates.\r\n *\r\n * This source code is licensed under the MIT license found in the\r\n * LICENSE file in the root directory of this source tree.\r\n *\r\n */\r\n\r\nimport './ContentEditable.css';\r\n\r\nimport {ContentEditable} from '@lexical/react/LexicalContentEditable';\r\nimport * as React from 'react';\r\n\r\nexport default function LexicalContentEditable({\r\n className,\r\n style,\r\n}: {\r\n className?: string;\r\n style?: React.CSSProperties;\r\n}): JSX.Element {\r\n return (\r\n <ContentEditable\r\n className={className || 'ContentEditable__root'}\r\n style={style}\r\n />\r\n );\r\n}\r\n","import { $getRoot, $getSelection } from \"lexical\";\r\nimport { useEffect, useState } from \"react\";\r\nimport \"./style.css\";\r\n\r\nimport { LexicalComposer } from \"@lexical/react/LexicalComposer\";\r\nimport { AutoFocusPlugin } from \"@lexical/react/LexicalAutoFocusPlugin\";\r\nimport { HistoryPlugin } from \"@lexical/react/LexicalHistoryPlugin\";\r\nimport { RichTextPlugin } from \"@lexical/react/LexicalRichTextPlugin\";\r\nimport { useLexicalComposerContext } from \"@lexical/react/LexicalComposerContext\";\r\nimport { LexicalErrorBoundary } from \"@lexical/react/LexicalErrorBoundary\";\r\nimport { usePageMarginContext } from \"./plugins/PageMarginPlugin\";\r\n\r\nimport ExampleTheme from \"./ExampleTheme\";\r\nimport ToolbarPlugin from \"./plugins/ToolbarPlugin/ToolbarPlugin\";\r\nimport LexicalContentEditable from \"./ui/ContentEditable\";\r\n\r\nconst theme = {\r\n // Theme styling goes here\r\n // ...\r\n};\r\n\r\n// When the editor changes, you can get notified via the\r\n// LexicalOnChangePlugin!\r\nfunction onChange(editorState: any) {\r\n editorState.read(() => {\r\n // Read the contents of the EditorState here.\r\n const root = $getRoot();\r\n const selection = $getSelection();\r\n\r\n console.log(root, selection);\r\n });\r\n}\r\n\r\n// Lexical React plugins are React components, which makes them\r\n// highly composable. Furthermore, you can lazy load plugins if\r\n// desired, so you don't pay the cost for plugins until you\r\n// actually use them.\r\nfunction MyCustomAutoFocusPlugin() {\r\n const [editor] = useLexicalComposerContext();\r\n\r\n useEffect(() => {\r\n // Focus the editor when the effect fires!\r\n editor.focus();\r\n }, [editor]);\r\n\r\n return null;\r\n}\r\n// Catch any errors that occur during Lexical updates and log them\r\n// or throw them as needed. If you don't throw them, Lexical will\r\n// try to recover gracefully without losing user data.\r\nfunction onError(error: any) {\r\n console.error(error);\r\n}\r\n\r\nconst editorConfig = {\r\n namespace: \"React.js Demo\",\r\n nodes: [],\r\n // Handling of errors during update\r\n onError(error: Error) {\r\n throw error;\r\n },\r\n // The editor theme\r\n theme: ExampleTheme,\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport function Editor({ isCollab, ckey }: any) {\r\n\r\n\r\n\r\n\r\n // Declare the types for the state variables\r\n \r\n\r\n\r\n const { pageMarginValue } = usePageMarginContext();\r\n\r\n const initialConfig = {\r\n namespace: \"MyEditor\",\r\n theme,\r\n onError,\r\n };\r\n\r\n return (\r\n <LexicalComposer initialConfig={initialConfig}>\r\n <div className=\"editor-shell\">\r\n <ToolbarPlugin />\r\n <div className=\"editor-container\">\r\n <div className=\"editor-inner\">\r\n <RichTextPlugin\r\n contentEditable={\r\n <div className=\"editor-scroller\">\r\n <div className=\"editor\">\r\n <LexicalContentEditable\r\n style={{ margin: pageMarginValue as string }}\r\n />\r\n </div>\r\n </div>\r\n }\r\n ErrorBoundary={LexicalErrorBoundary}\r\n />\r\n <HistoryPlugin />\r\n <AutoFocusPlugin />\r\n </div>\r\n </div>\r\n </div>\r\n </LexicalComposer>\r\n );\r\n}\r\n"],"names":["getOwnPropertySymbols","hasOwnProperty","propIsEnumerable","toObject","val","shouldUseNative","test1","test2","i","order2","n","test3","letter","objectAssign","target","source","from","to","symbols","s","key","require$$0","f","require$$1","g","reactJsxRuntime_production_min","h","m","p","q","c","k","b","d","e","l","React","_assign","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","exports","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_BLOCK_TYPE","REACT_SERVER_BLOCK_TYPE","REACT_FUNDAMENTAL_TYPE","REACT_DEBUG_TRACING_MODE_TYPE","REACT_LEGACY_HIDDEN_TYPE","symbolFor","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","args","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","isValidElementType","type","getWrappedName","outerType","innerType","wrapperName","functionName","getContextName","getComponentName","context","provider","lazyComponent","payload","init","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","displayName","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","fileName","lineNumber","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","jsxRuntimeModule","t","r","o","a","u","_","y","v","S","T","C","w","N","E","P","F","D","L","O","I","A","M","W","z","B","R","K","$","J","U","V","j","H","Q","X","Y","Z","G","tt","et","nt","rt","it","st","ot","lt","ct","at","ut","ht","gt","mt","xt","vt","St","Tt","Ct","kt","bt","wt","Nt","Et","Pt","Ft","Dt","Lt","Ot","It","At","Mt","Wt","zt","Bt","Rt","Kt","$t","Jt","Ut","Vt","jt","Ht","yn","Me","qt","yi","Qt","hs","Oi","Ce","ms","oi","Te","Ne","_s","Ee","Ye","Xt","Yt","on","Zt","Gt","ts","te","ee","ne","re","se","oe","ue","le","ae","ce","Ms","en","fe","de","he","ge","pe","Yi","Zi","Gi","ye","me","xe","Se","ve","Xi","ke","be","we","Pe","Fe","De","Le","Oe","Ie","Ae","Ii","si","We","ze","Be","Re","Ke","$e","Je","Ue","Ve","je","He","Qe","Xe","Ze","us","Ge","vs","tn","sn","cn","an","dn","gn","_n","pn","xn","vn","Sn","Tn","Cn","$r","kn","bn","wn","Nn","En","Pn","Fn","Dn","Ln","On","In","An","Mn","Wn","zn","Bn","Rn","Kn","$n","Jn","Un","Vn","jn","Hn","qn","Qn","dr","lr","Xn","Yn","Zn","Gn","tr","er","nr","sr","ir","ar","rr","or","cr","ur","Es","fr","hr","gr","_r","pr","yr","Cr","xi","Tr","kr","Fr","Pr","wr","xr","Li","mr","vr","Sr","br","Nr","Er","bs","Dr","Lr","Or","Ir","Ar","Mr","Wr","Wi","Ai","zr","gi","Ns","Br","Jr","Rr","Kr","Ur","Vr","jr","Hr","qr","Qr","Xr","ei","Zr","ii","Yr","Ei","zi","li","Gr","ti","ai","ni","ri","ci","ui","fi","di","hi","_i","pi","mi","Si","wi","bi","$i","Fi","Ti","vi","Ci","ki","Ni","Pi","Mi","Bi","Ri","Ji","Ui","Vi","ji","Hi","qi","Qi","es","ns","rs","is","ss","os","ls","cs","Is","as","ds","fs","Cs","gs","ps","ys","xs","Ss","Ts","ks","ws","Ps","Os","As","dt","ft","marginSize","PageMarginContext","createContext","value","usePageMarginContext","useContext","getSelectedNode","selection","anchor","focus","anchorNode","focusNode","$isAtNodeEnd","PortalImpl","onClose","title","closeOnClickOutside","modalRef","useRef","useEffect","modalOverlayElement","handler","event","clickOutsideHandler","modelElement","Modal","createPortal","useModal","modalContent","setModalContent","useState","useCallback","modal","useMemo","content","showModal","getContent","DropDownContext","dropDownPadding","DropDownItem","className","onClick","dropDownContext","registerItem","DropDownItems","dropDownRef","items","setItems","highlightedItem","setHighlightedItem","itemRef","prev","handleKeyDown","index","contextValue","DropDown","disabled","buttonLabel","buttonAriaLabel","buttonClassName","buttonIconClassName","stopCloseOnClickSelf","buttonRef","showDropDown","setShowDropDown","handleClose","button","dropDown","top","left","handle","handleButtonPositionUpdate","newPosition","Fragment","joinClasses","Button","dataTestId","small","DialogActions","TextInput","label","onChange","placeholder","CustomMarginDialog","margin","updatePageMarginValue","updateCustomMargin","setError","right","bottom","maxHorizontalMargin","maxVerticalMargin","errorMessage","marginInPx","dropDownActiveClass","active","PageMargin","isEditable","pageMarginValue","Divider","ELEMENT_FORMAT_OPTIONS","TextAlignment","editor","isRTL","formatOption","FORMAT_ELEMENT_COMMAND","OUTDENT_CONTENT_COMMAND","INDENT_CONTENT_COMMAND","LowPriority","ToolbarPlugin","useLexicalComposerContext","toolbarRef","canUndo","setCanUndo","canRedo","setCanRedo","isBold","setIsBold","isItalic","setIsItalic","isUnderline","setIsUnderline","isStrikethrough","setIsStrikethrough","isSubscript","setIsSubscript","isSuperscript","setIsSuperscript","fontSize","setFontSize","elementFormat","setElementFormat","setIsRTL","updateToolbar","$getSelection","$isRangeSelection","parent","$isParentElementRTL","$getSelectionStyleValueForProperty","matchingParent","$isLinkNode","$findMatchingParent","parentNode","$isElementNode","mergeRegister","editorState","SELECTION_CHANGE_COMMAND","_payload","newEditor","CAN_UNDO_COMMAND","CAN_REDO_COMMAND","UNDO_COMMAND","REDO_COMMAND","FORMAT_TEXT_COMMAND","LexicalContentEditable","style","ContentEditable","theme","onError","Editor","isCollab","ckey","initialConfig","LexicalComposer","RichTextPlugin","LexicalErrorBoundary","HistoryPlugin","AutoFocusPlugin"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,35]}
|