diff --git a/.gitignore b/.gitignore index 81bbfe1a..957c519f 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,6 @@ __pycache__/ *.py[cod] *$py.class node_modules -package-lock.json \ No newline at end of file +package-lock.json +lms/public/frontend +lms/www/lms.html \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html index 998f5428..cff9e991 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -1,17 +1,29 @@ -
- - - -{{ $resources.ping }}\n\n \n \n " + X(r.content) + "";
-};
-G.code_block = function (u, e, t, n, c) {
- const r = u[e];
- return (
- "" +
- X(u[e].content) +
- `
-`
- );
-};
-G.fence = function (u, e, t, n, c) {
- const r = u[e],
- i = r.info ? iu(r.info).trim() : "";
- let o = "",
- a = "";
- if (i) {
- const l = i.split(/(\s+)/g);
- (o = l[0]), (a = l.slice(2).join(""));
- }
- let s;
- if (
- (t.highlight
- ? (s = t.highlight(r.content, o, a) || X(r.content))
- : (s = X(r.content)),
- s.indexOf("${s}
-`;
- }
- return `${s}
-`;
-};
-G.image = function (u, e, t, n, c) {
- const r = u[e];
- return (
- (r.attrs[r.attrIndex("alt")][1] = c.renderInlineAsText(
- r.children,
- t,
- n
- )),
- c.renderToken(u, e, t)
- );
-};
-G.hardbreak = function (u, e, t) {
- return t.xhtmlOut
- ? `' +\n escapeHtml(token.content) +\n ''\n}\n\ndefault_rules.code_block = function (tokens, idx, options, env, slf) {\n const token = tokens[idx]\n\n return '' +\n escapeHtml(tokens[idx].content) +\n '\\n'\n}\n\ndefault_rules.fence = function (tokens, idx, options, env, slf) {\n const token = tokens[idx]\n const info = token.info ? unescapeAll(token.info).trim() : ''\n let langName = ''\n let langAttrs = ''\n\n if (info) {\n const arr = info.split(/(\\s+)/g)\n langName = arr[0]\n langAttrs = arr.slice(2).join('')\n }\n\n let highlighted\n if (options.highlight) {\n highlighted = options.highlight(token.content, langName, langAttrs) || escapeHtml(token.content)\n } else {\n highlighted = escapeHtml(token.content)\n }\n\n if (highlighted.indexOf('${highlighted}\\n`\n }\n\n return `${highlighted}\\n`\n}\n\ndefault_rules.image = function (tokens, idx, options, env, slf) {\n const token = tokens[idx]\n\n // \"alt\" attr MUST be set, even if empty. Because it's mandatory and\n // should be placed on proper position for tests.\n //\n // Replace content with actual value\n\n token.attrs[token.attrIndex('alt')][1] =\n slf.renderInlineAsText(token.children, options, env)\n\n return slf.renderToken(tokens, idx, options)\n}\n\ndefault_rules.hardbreak = function (tokens, idx, options /*, env */) {\n return options.xhtmlOut ? '`):\n *\n * ```javascript\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * // Actual default values\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return '' +\n * hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +\n * '
';\n * } catch (__) {}\n * }\n *\n * return '' + md.utils.escapeHtml(str) + '
';\n * }\n * });\n * ```\n *\n **/\nfunction MarkdownIt (presetName, options) {\n if (!(this instanceof MarkdownIt)) {\n return new MarkdownIt(presetName, options)\n }\n\n if (!options) {\n if (!utils.isString(presetName)) {\n options = presetName || {}\n presetName = 'default'\n }\n }\n\n /**\n * MarkdownIt#inline -> ParserInline\n *\n * Instance of [[ParserInline]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.inline = new ParserInline()\n\n /**\n * MarkdownIt#block -> ParserBlock\n *\n * Instance of [[ParserBlock]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.block = new ParserBlock()\n\n /**\n * MarkdownIt#core -> Core\n *\n * Instance of [[Core]] chain executor. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.core = new ParserCore()\n\n /**\n * MarkdownIt#renderer -> Renderer\n *\n * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering\n * rules for new token types, generated by plugins.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * function myToken(tokens, idx, options, env, self) {\n * //...\n * return result;\n * };\n *\n * md.renderer.rules['my_token'] = myToken\n * ```\n *\n * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).\n **/\n this.renderer = new Renderer()\n\n /**\n * MarkdownIt#linkify -> LinkifyIt\n *\n * [linkify-it](https://github.com/markdown-it/linkify-it) instance.\n * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)\n * rule.\n **/\n this.linkify = new LinkifyIt()\n\n /**\n * MarkdownIt#validateLink(url) -> Boolean\n *\n * Link validation function. CommonMark allows too much in links. By default\n * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas\n * except some embedded image types.\n *\n * You can change this behaviour:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * // enable everything\n * md.validateLink = function () { return true; }\n * ```\n **/\n this.validateLink = validateLink\n\n /**\n * MarkdownIt#normalizeLink(url) -> String\n *\n * Function used to encode link url to a machine-readable format,\n * which includes url-encoding, punycode, etc.\n **/\n this.normalizeLink = normalizeLink\n\n /**\n * MarkdownIt#normalizeLinkText(url) -> String\n *\n * Function used to decode link url to a human-readable format`\n **/\n this.normalizeLinkText = normalizeLinkText\n\n // Expose utils & helpers for easy acces from plugins\n\n /**\n * MarkdownIt#utils -> utils\n *\n * Assorted utility functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.mjs).\n **/\n this.utils = utils\n\n /**\n * MarkdownIt#helpers -> helpers\n *\n * Link components parser functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).\n **/\n this.helpers = utils.assign({}, helpers)\n\n this.options = {}\n this.configure(presetName)\n\n if (options) { this.set(options) }\n}\n\n/** chainable\n * MarkdownIt.set(options)\n *\n * Set parser options (in the same format as in constructor). Probably, you\n * will never need it, but you can change options after constructor call.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .set({ html: true, breaks: true })\n * .set({ typographer, true });\n * ```\n *\n * __Note:__ To achieve the best possible performance, don't modify a\n * `markdown-it` instance options on the fly. If you need multiple configurations\n * it's best to create multiple instances and initialize each with separate\n * config.\n **/\nMarkdownIt.prototype.set = function (options) {\n utils.assign(this.options, options)\n return this\n}\n\n/** chainable, internal\n * MarkdownIt.configure(presets)\n *\n * Batch load of all options and compenent settings. This is internal method,\n * and you probably will not need it. But if you will - see available presets\n * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)\n *\n * We strongly recommend to use presets instead of direct config loads. That\n * will give better compatibility with next versions.\n **/\nMarkdownIt.prototype.configure = function (presets) {\n const self = this\n\n if (utils.isString(presets)) {\n const presetName = presets\n presets = config[presetName]\n if (!presets) { throw new Error('Wrong `markdown-it` preset \"' + presetName + '\", check name') }\n }\n\n if (!presets) { throw new Error('Wrong `markdown-it` preset, can\\'t be empty') }\n\n if (presets.options) { self.set(presets.options) }\n\n if (presets.components) {\n Object.keys(presets.components).forEach(function (name) {\n if (presets.components[name].rules) {\n self[name].ruler.enableOnly(presets.components[name].rules)\n }\n if (presets.components[name].rules2) {\n self[name].ruler2.enableOnly(presets.components[name].rules2)\n }\n })\n }\n return this\n}\n\n/** chainable\n * MarkdownIt.enable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to enable\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable list or rules. It will automatically find appropriate components,\n * containing rules with given names. If rule not found, and `ignoreInvalid`\n * not set - throws exception.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .enable(['sub', 'sup'])\n * .disable('smartquotes');\n * ```\n **/\nMarkdownIt.prototype.enable = function (list, ignoreInvalid) {\n let result = []\n\n if (!Array.isArray(list)) { list = [list] }\n\n ['core', 'block', 'inline'].forEach(function (chain) {\n result = result.concat(this[chain].ruler.enable(list, true))\n }, this)\n\n result = result.concat(this.inline.ruler2.enable(list, true))\n\n const missed = list.filter(function (name) { return result.indexOf(name) < 0 })\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed)\n }\n\n return this\n}\n\n/** chainable\n * MarkdownIt.disable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * The same as [[MarkdownIt.enable]], but turn specified rules off.\n **/\nMarkdownIt.prototype.disable = function (list, ignoreInvalid) {\n let result = []\n\n if (!Array.isArray(list)) { list = [list] }\n\n ['core', 'block', 'inline'].forEach(function (chain) {\n result = result.concat(this[chain].ruler.disable(list, true))\n }, this)\n\n result = result.concat(this.inline.ruler2.disable(list, true))\n\n const missed = list.filter(function (name) { return result.indexOf(name) < 0 })\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed)\n }\n return this\n}\n\n/** chainable\n * MarkdownIt.use(plugin, params)\n *\n * Load specified plugin with given params into current parser instance.\n * It's just a sugar to call `plugin(md, params)` with curring.\n *\n * ##### Example\n *\n * ```javascript\n * var iterator = require('markdown-it-for-inline');\n * var md = require('markdown-it')()\n * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {\n * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');\n * });\n * ```\n **/\nMarkdownIt.prototype.use = function (plugin /*, params, ... */) {\n const args = [this].concat(Array.prototype.slice.call(arguments, 1))\n plugin.apply(plugin, args)\n return this\n}\n\n/** internal\n * MarkdownIt.parse(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Parse input string and return list of block tokens (special token type\n * \"inline\" will contain list of inline tokens). You should not call this\n * method directly, until you write custom renderer (for example, to produce\n * AST).\n *\n * `env` is used to pass data between \"distributed\" rules and return additional\n * metadata like reference info, needed for the renderer. It also can be used to\n * inject data in specific cases. Usually, you will be ok to pass `{}`,\n * and then pass updated object to renderer.\n **/\nMarkdownIt.prototype.parse = function (src, env) {\n if (typeof src !== 'string') {\n throw new Error('Input data should be a String')\n }\n\n const state = new this.core.State(src, this, env)\n\n this.core.process(state)\n\n return state.tokens\n}\n\n/**\n * MarkdownIt.render(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Render markdown string into html. It does all magic for you :).\n *\n * `env` can be used to inject additional metadata (`{}` by default).\n * But you will not need it with high probability. See also comment\n * in [[MarkdownIt.parse]].\n **/\nMarkdownIt.prototype.render = function (src, env) {\n env = env || {}\n\n return this.renderer.render(this.parse(src, env), this.options, env)\n}\n\n/** internal\n * MarkdownIt.parseInline(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the\n * block tokens list with the single `inline` element, containing parsed inline\n * tokens in `children` property. Also updates `env` object.\n **/\nMarkdownIt.prototype.parseInline = function (src, env) {\n const state = new this.core.State(src, this, env)\n\n state.inlineMode = true\n this.core.process(state)\n\n return state.tokens\n}\n\n/**\n * MarkdownIt.renderInline(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Similar to [[MarkdownIt.render]] but for single paragraph content. Result\n * will NOT be wrapped into `` tags.\n **/\nMarkdownIt.prototype.renderInline = function (src, env) {\n env = env || {}\n\n return this.renderer.render(this.parseInline(src, env), this.options, env)\n}\n\nexport default MarkdownIt\n","\n \n \n \n {{ __(\"This quiz consists of {0} questions.\").format(quiz.doc.questions.length) }}\n \n \n {{ __(\"You will have to get {0}% correct answers in order to pass the quiz.\").format(quiz.doc.passing_percentage) }}\n \n \n {{ __(\"You can attempt this quiz {0}.\").format(quiz.doc.max_attempts == 1 ? \"1 time\" : `${quiz.doc.max_attempts} times`) }}\n \n \n {{ __(\"The quiz has a time limit.For each question you will be given { 0} seconds.\").format(quiz.doc.time) }}\n \n \n \n \n \n {{ quiz.doc.title }}\n \n \n \n {{ __(\"You have already exceeded the maximum number of attempts allowed for this quiz.\") }}\n \n \n \n \n \n \n \n \n \n {{ __(\"Question {0}\").format(activeQuestion) }}:\n \n \n {{ questionDetails.data.multiple ? __(\"Choose all answers that apply\") : __(\"Choose one answer\") }}\n \n \n \n {{ question.marks }} {{ question.marks == 1 ? __(\"Mark\") : __(\"Marks\") }}\n \n \n \n {{ questionDetails.data.question }}\n \n \n \n \n {{ questionDetails.data[`explanation_${index}`] }}\n \n \n \n \n {{ __(\"Question {0} of {1}\").format(activeQuestion, quiz.doc.questions.length) }}\n \n \n \n \n \n \n \n \n \n \n {{ __(\"Quiz Summary\") }}\n \n \n {{ __(\"You got {0}% correct answers with a score of {1} out of {2}\").format(Math.ceil(quizSubmission.data.percentage), quizSubmission.data.score, quizSubmission.data.score_out_of) }}\n \n \n \n \n \n \n \n \n \n\n","\n\t\n\t\t\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'This lesson is not available for preview. Please enroll in the course to access it.'\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ lesson.data.title }}\n\t\t\t\t\t\n\t\t\t\t\t\n\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\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\n\t\t\t\t\n\t\t\t\t\t 1,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ lesson.data.instructors[0].full_name }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ lesson.data.instructors[0].first_name }} and\n\t\t\t\t\t\t{{ lesson.data.instructors[1].first_name }}\n\t\t\t\t\t\n\t\t\t\t\t 2\">\n\t\t\t\t\t\t{{ lesson.data.instructors[0].first_name }} and\n\t\t\t\t\t\t{{ lesson.data.instructors.length - 1 }} others\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\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\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{{ __('Please login to access the quiz.') }}\n\t\t\t\t\t\t\t\t\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\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\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\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\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{{ __('Please login to access the quiz.') }}\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\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ lesson.data.course_title }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ Math.ceil(lesson.data.membership.progress) }}% completed\n\t\t\t\t\t\n\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\t\n\t\t\t \n\t\t\n\t\n\n\n\n"],"names":["CheckCircle","createLucideIcon","MinusCircle","XCircle","decodeCache","getDecodeCache","exclude","cache","i","ch","decode","string","seq","result","l","b1","b2","chr","b3","b4","encodeCache","getEncodeCache","encode","keepEscaped","code","nextCode","format","url","Url","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","hostlessProtocol","slashedProtocol","urlParse","slashesDenoteHost","u","lowerProto","hec","slashes","rest","simplePath","proto","hostEnd","auth","atSign","host","ipv6Hostname","hostparts","part","newpart","j","k","validParts","notHost","bit","hash","qm","port","Any","Cc","regex","P","Z","htmlDecodeTree","c","xmlDecodeTree","_a","decodeMap","fromCodePoint","codePoint","output","replaceCodePoint","CharCodes","TO_LOWER_BIT","BinTrieFlags","isNumber","isHexadecimalCharacter","isAsciiAlphaNumeric","isEntityInAttributeInvalidEnd","EntityDecoderState","DecodingMode","EntityDecoder","decodeTree","emitCodePoint","errors","decodeMode","str","offset","start","end","base","digitCount","startIdx","char","lastCp","expectedLength","current","valueLength","determineBranch","consumed","getDecoder","ret","decoder","lastIndex","len","nodeIdx","branchCount","jumpOffset","value","lo","hi","mid","midVal","htmlDecoder","decodeHTML","mode","_class","obj","isString","_hasOwnProperty","has","object","key","assign","source","arrayReplaceAt","src","pos","newElements","isValidEntityCode","surrogate1","surrogate2","UNESCAPE_MD_RE","ENTITY_RE","UNESCAPE_ALL_RE","DIGITAL_ENTITY_TEST_RE","replaceEntityPattern","match","name","decoded","unescapeMd","unescapeAll","escaped","entity","HTML_ESCAPE_TEST_RE","HTML_ESCAPE_REPLACE_RE","HTML_REPLACEMENTS","replaceUnsafeChar","escapeHtml","REGEXP_ESCAPE_RE","escapeRE","isSpace","isWhiteSpace","isPunctChar","ucmicro.P","isMdAsciiPunct","normalizeReference","lib","mdurl","ucmicro","parseLinkLabel","state","disableNested","level","found","marker","prevPos","max","oldPos","labelEnd","parseLinkDestination","parseLinkTitle","lines","default_rules","tokens","idx","options","env","slf","token","info","langName","langAttrs","arr","highlighted","tmpAttrs","tmpToken","Renderer","needLf","nextToken","rules","type","Ruler","self","chains","rule","altName","chain","fn","index","opt","beforeName","ruleName","afterName","list","ignoreInvalid","chainName","Token","tag","nesting","attrs","attrData","StateCore","md","NEWLINES_RE","NULL_RE","normalize","block","inline","tok","isLinkOpen","isLinkClose","linkify","blockTokens","htmlLinkLevel","currentToken","text","links","nodes","lastPos","ln","fullUrl","urlText","token_o","token_t","token_c","RARE_RE","SCOPED_ABBR_TEST_RE","SCOPED_ABBR_RE","SCOPED_ABBR","replaceFn","replace_scoped","inlineTokens","inside_autolink","replace_rare","replace","blkIdx","QUOTE_TEST_RE","QUOTE_RE","APOSTROPHE","replaceAt","process_inlines","stack","thisLevel","OUTER","t","canOpen","canClose","isSingle","lastChar","nextChar","isLastPunctChar","isNextPunctChar","isLastWhiteSpace","isNextWhiteSpace","item","openQuote","closeQuote","smartquotes","text_join","curr","last","_rules","r_normalize","r_block","r_inline","r_linkify","r_replacements","r_smartquotes","r_text_join","Core","StateBlock","s","indent","indent_found","line","from","min","begin","keepLastLF","queue","lineIndent","lineStart","first","getLine","escapedSplit","isEscaped","table","startLine","endLine","silent","nextLine","firstCh","secondCh","lineText","columns","aligns","columnCount","oldParentType","terminatorRules","token_to","tableLines","token_tho","token_htro","token_ho","token_il","tbodyLines","terminate","token_tbo","token_tro","token_tdo","fence","mem","markup","params","haveEndMarker","blockquote","oldLineMax","oldBMarks","oldBSCount","oldSCount","oldTShift","lastLineEmpty","isOutdented","initial","spaceAfterMarker","adjustTab","oldIndent","hr","cnt","skipBulletListMarker","skipOrderedListMarker","markTightParagraphs","tight","isTerminatingParagraph","isOrdered","markerValue","posAfterMarker","markerCharCode","listTokIdx","listLines","prevEmptyEnd","contentStart","indentAfterMarker","itemLines","oldTight","oldListIndent","reference","_endLine","destRes","href","destEndPos","destEndLineNo","titleRes","title","label","block_names","attr_name","unquoted","single_quoted","double_quoted","attr_value","attribute","open_tag","close_tag","comment","processing","declaration","cdata","HTML_TAG_RE","HTML_OPEN_CLOSE_TAG_RE","HTML_SEQUENCES","html_block","heading","tmp","token_i","lheading","content","paragraph","r_table","r_code","r_fence","r_blockquote","r_hr","r_list","r_reference","r_html_block","r_heading","r_lheading","r_paragraph","ParserBlock","maxNesting","hasEmptyLines","prevLine","ok","outTokens","StateInline","token_meta","canSplitWord","can_open","can_close","left_flanking","right_flanking","count","isTerminatorChar","SCHEME_RE","link","newline","pmax","ws","ESCAPED","escape","ch1","escapedStr","ch2","origStr","backtick","openerLength","matchEnd","matchStart","closerLength","strikethrough_tokenize","scanned","postProcess","delimiters","loneMarkers","startDelim","endDelim","strikethrough_postProcess","tokens_meta","r_strikethrough","emphasis_tokenize","isStrong","emphasis_post_process","r_emphasis","res","ref","parseReference","labelStart","image","EMAIL_RE","AUTOLINK_RE","autolink","isLetter","lc","html_inline","DIGITAL_RE","NAMED_RE","processDelimiters","openersBottom","headerIdx","lastTokenIdx","jumps","closerIdx","closer","minOpenerIdx","openerIdx","newMinOpenerIdx","opener","isOddMatch","lastJump","link_pairs","fragments_join","r_text","r_newline","r_escape","r_backticks","r_link","r_image","r_autolink","r_html_inline","r_entity","_rules2","r_balance_pairs","r_fragments_join","ParserInline","reFactory","opts","re","text_separators","isObject","isRegExp","isFunction","defaultOptions","isOptionsObj","acc","defaultSchemas","tail","tlds_2ch_src_re","tlds_default","resetScanCache","createValidator","createNormalizer","compile","tlds","untpl","tpl","aliases","schemaError","val","compiled","alias","slist","Match","shift","createMatch","LinkifyIt","schemas","schema","definition","m","ml","me","next","tld_pos","at_pos","keepOld","el","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","baseMinusTMin","floor","stringFromCharCode","error","map","array","callback","length","mapDomain","domain","parts","labels","encoded","ucs2decode","counter","extra","ucs2encode","codePoints","basicToDigit","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","input","inputLength","n","bias","basic","oldi","w","baseMinusT","out","currentValue","basicLength","handledCPCount","handledCPCountPlusOne","q","qMinusT","toUnicode","toASCII","punycode","cfg_default","cfg_zero","cfg_commonmark","config","BAD_PROTO_RE","GOOD_DATA_RE","validateLink","RECODE_HOSTNAME_FOR","normalizeLink","parsed","mdurl.parse","er","mdurl.encode","mdurl.format","normalizeLinkText","mdurl.decode","MarkdownIt","presetName","utils.isString","ParserCore","utils","utils.assign","helpers","presets","missed","plugin","args","user","inject","activeQuestion","currentQuestion","selectedOptions","reactive","showAnswers","props","__props","quiz","createDocumentResource","attempts","createResource","values","_b","data","submission","timeAgo","quizSubmission","questionDetails","watch","startQuiz","markAnswer","getAnswers","answers","checkAnswer","createToast","option","addToLocalStorage","resetQuestion","quizData","questionData","answer","nextQuetion","submitQuiz","createSubmission","resetQuiz","getSubmissionColumns","route","useRoute","markdown","lesson","current_lesson","markProgress","progress","breadcrumbs","computed","items","newChapterNumber","newLessonNumber","oldChapterNumber","oldLessonNumber","getYouTubeVideoSource","getId","getPDFSource","redirectToLogin","allowDiscussions","_c"],"mappings":"ueAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,MAAMA,GAAcC,GAAiB,kBAAmB,CACtD,CAAC,OAAQ,CAAE,EAAG,qCAAsC,IAAK,QAAQ,CAAE,EACnE,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAQ,CAAE,CACjD,CAAC,ECZD;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,MAAMC,GAAcD,GAAiB,kBAAmB,CACtD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,CAC1C,CAAC,ECZD;AAAA;AAAA;AAAA;AAAA;AAAA,GASA,MAAME,GAAUF,GAAiB,cAAe,CAC9C,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAQ,CAAE,EAC1C,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC,ECXKG,GAAc,CAAE,EAEtB,SAASC,GAAgBC,EAAS,CAChC,IAAIC,EAAQH,GAAYE,CAAO,EAC/B,GAAIC,EAAS,OAAOA,EAEpBA,EAAQH,GAAYE,CAAO,EAAI,CAAE,EAEjC,QAASE,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAC5B,MAAMC,EAAK,OAAO,aAAaD,CAAC,EAChCD,EAAM,KAAKE,CAAE,CACd,CAED,QAASD,EAAI,EAAGA,EAAIF,EAAQ,OAAQE,IAAK,CACvC,MAAMC,EAAKH,EAAQ,WAAWE,CAAC,EAC/BD,EAAME,CAAE,EAAI,KAAO,IAAMA,EAAG,SAAS,EAAE,EAAE,YAAW,GAAI,MAAM,EAAE,CACjE,CAED,OAAOF,CACT,CAIA,SAASG,GAAQC,EAAQL,EAAS,CAC5B,OAAOA,GAAY,WACrBA,EAAUI,GAAO,cAGnB,MAAMH,EAAQF,GAAeC,CAAO,EAEpC,OAAOK,EAAO,QAAQ,oBAAqB,SAAUC,EAAK,CACxD,IAAIC,EAAS,GAEb,QAASL,EAAI,EAAGM,EAAIF,EAAI,OAAQJ,EAAIM,EAAGN,GAAK,EAAG,CAC7C,MAAMO,EAAK,SAASH,EAAI,MAAMJ,EAAI,EAAGA,EAAI,CAAC,EAAG,EAAE,EAE/C,GAAIO,EAAK,IAAM,CACbF,GAAUN,EAAMQ,CAAE,EAClB,QACD,CAED,IAAKA,EAAK,OAAU,KAASP,EAAI,EAAIM,EAAI,CAEvC,MAAME,EAAK,SAASJ,EAAI,MAAMJ,EAAI,EAAGA,EAAI,CAAC,EAAG,EAAE,EAE/C,IAAKQ,EAAK,OAAU,IAAM,CACxB,MAAMC,EAAQF,GAAM,EAAK,KAAUC,EAAK,GAEpCC,EAAM,IACRJ,GAAU,KAEVA,GAAU,OAAO,aAAaI,CAAG,EAGnCT,GAAK,EACL,QACD,CACF,CAED,IAAKO,EAAK,OAAU,KAASP,EAAI,EAAIM,EAAI,CAEvC,MAAME,EAAK,SAASJ,EAAI,MAAMJ,EAAI,EAAGA,EAAI,CAAC,EAAG,EAAE,EACzCU,EAAK,SAASN,EAAI,MAAMJ,EAAI,EAAGA,EAAI,CAAC,EAAG,EAAE,EAE/C,IAAKQ,EAAK,OAAU,MAASE,EAAK,OAAU,IAAM,CAChD,MAAMD,EAAQF,GAAM,GAAM,MAAYC,GAAM,EAAK,KAAUE,EAAK,GAE5DD,EAAM,MAAUA,GAAO,OAAUA,GAAO,MAC1CJ,GAAU,MAEVA,GAAU,OAAO,aAAaI,CAAG,EAGnCT,GAAK,EACL,QACD,CACF,CAED,IAAKO,EAAK,OAAU,KAASP,EAAI,EAAIM,EAAI,CAEvC,MAAME,EAAK,SAASJ,EAAI,MAAMJ,EAAI,EAAGA,EAAI,CAAC,EAAG,EAAE,EACzCU,EAAK,SAASN,EAAI,MAAMJ,EAAI,EAAGA,EAAI,CAAC,EAAG,EAAE,EACzCW,EAAK,SAASP,EAAI,MAAMJ,EAAI,GAAIA,EAAI,EAAE,EAAG,EAAE,EAEjD,IAAKQ,EAAK,OAAU,MAASE,EAAK,OAAU,MAASC,EAAK,OAAU,IAAM,CACxE,IAAIF,EAAQF,GAAM,GAAM,QAAcC,GAAM,GAAM,OAAaE,GAAM,EAAK,KAAUC,EAAK,GAErFF,EAAM,OAAWA,EAAM,QACzBJ,GAAU,QAEVI,GAAO,MACPJ,GAAU,OAAO,aAAa,OAAUI,GAAO,IAAK,OAAUA,EAAM,KAAM,GAG5ET,GAAK,EACL,QACD,CACF,CAEDK,GAAU,GACX,CAED,OAAOA,CACX,CAAG,CACH,CAEAH,GAAO,aAAe,cACtBA,GAAO,eAAiB,GC7GxB,MAAMU,GAAc,CAAE,EAKtB,SAASC,GAAgBf,EAAS,CAChC,IAAIC,EAAQa,GAAYd,CAAO,EAC/B,GAAIC,EAAS,OAAOA,EAEpBA,EAAQa,GAAYd,CAAO,EAAI,CAAE,EAEjC,QAASE,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAC5B,MAAMC,EAAK,OAAO,aAAaD,CAAC,EAE5B,cAAc,KAAKC,CAAE,EAEvBF,EAAM,KAAKE,CAAE,EAEbF,EAAM,KAAK,KAAO,IAAMC,EAAE,SAAS,EAAE,EAAE,YAAa,GAAE,MAAM,EAAE,CAAC,CAElE,CAED,QAASA,EAAI,EAAGA,EAAIF,EAAQ,OAAQE,IAClCD,EAAMD,EAAQ,WAAWE,CAAC,CAAC,EAAIF,EAAQE,CAAC,EAG1C,OAAOD,CACT,CASA,SAASe,GAAQX,EAAQL,EAASiB,EAAa,CACzC,OAAOjB,GAAY,WAErBiB,EAAcjB,EACdA,EAAUgB,GAAO,cAGf,OAAOC,GAAgB,cACzBA,EAAc,IAGhB,MAAMhB,EAAQc,GAAef,CAAO,EACpC,IAAIO,EAAS,GAEb,QAASL,EAAI,EAAGM,EAAIH,EAAO,OAAQH,EAAIM,EAAGN,IAAK,CAC7C,MAAMgB,EAAOb,EAAO,WAAWH,CAAC,EAEhC,GAAIe,GAAeC,IAAS,IAAgBhB,EAAI,EAAIM,GAC9C,iBAAiB,KAAKH,EAAO,MAAMH,EAAI,EAAGA,EAAI,CAAC,CAAC,EAAG,CACrDK,GAAUF,EAAO,MAAMH,EAAGA,EAAI,CAAC,EAC/BA,GAAK,EACL,QACD,CAGH,GAAIgB,EAAO,IAAK,CACdX,GAAUN,EAAMiB,CAAI,EACpB,QACD,CAED,GAAIA,GAAQ,OAAUA,GAAQ,MAAQ,CACpC,GAAIA,GAAQ,OAAUA,GAAQ,OAAUhB,EAAI,EAAIM,EAAG,CACjD,MAAMW,EAAWd,EAAO,WAAWH,EAAI,CAAC,EACxC,GAAIiB,GAAY,OAAUA,GAAY,MAAQ,CAC5CZ,GAAU,mBAAmBF,EAAOH,CAAC,EAAIG,EAAOH,EAAI,CAAC,CAAC,EACtDA,IACA,QACD,CACF,CACDK,GAAU,YACV,QACD,CAEDA,GAAU,mBAAmBF,EAAOH,CAAC,CAAC,CACvC,CAED,OAAOK,CACT,CAEAS,GAAO,aAAe,uBACtBA,GAAO,eAAiB,YCtFT,SAASI,GAAQC,EAAK,CACnC,IAAId,EAAS,GAEb,OAAAA,GAAUc,EAAI,UAAY,GAC1Bd,GAAUc,EAAI,QAAU,KAAO,GAC/Bd,GAAUc,EAAI,KAAOA,EAAI,KAAO,IAAM,GAElCA,EAAI,UAAYA,EAAI,SAAS,QAAQ,GAAG,IAAM,GAEhDd,GAAU,IAAMc,EAAI,SAAW,IAE/Bd,GAAUc,EAAI,UAAY,GAG5Bd,GAAUc,EAAI,KAAO,IAAMA,EAAI,KAAO,GACtCd,GAAUc,EAAI,UAAY,GAC1Bd,GAAUc,EAAI,QAAU,GACxBd,GAAUc,EAAI,MAAQ,GAEfd,CACT,CCsBA,SAASe,IAAO,CACd,KAAK,SAAW,KAChB,KAAK,QAAU,KACf,KAAK,KAAO,KACZ,KAAK,KAAO,KACZ,KAAK,SAAW,KAChB,KAAK,KAAO,KACZ,KAAK,OAAS,KACd,KAAK,SAAW,IAClB,CAMA,MAAMC,GAAkB,oBAClBC,GAAc,WAIdC,GAAoB,qCAIpBC,GAAS,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM;AAAA,EAAM,GAAI,EAGnDC,GAAS,CAAC,IAAK,IAAK,IAAK,KAAM,IAAK,GAAG,EAAE,OAAOD,EAAM,EAGtDE,GAAa,CAAC,GAAI,EAAE,OAAOD,EAAM,EAKjCE,GAAe,CAAC,IAAK,IAAK,IAAK,IAAK,GAAG,EAAE,OAAOD,EAAU,EAC1DE,GAAkB,CAAC,IAAK,IAAK,GAAG,EAChCC,GAAiB,IACjBC,GAAsB,yBACtBC,GAAoB,+BAGpBC,GAAmB,CACvB,WAAY,GACZ,cAAe,EACjB,EAEMC,GAAkB,CACtB,KAAM,GACN,MAAO,GACP,IAAK,GACL,OAAQ,GACR,KAAM,GACN,QAAS,GACT,SAAU,GACV,OAAQ,GACR,UAAW,GACX,QAAS,EACX,EAEA,SAASC,GAAUf,EAAKgB,EAAmB,CACzC,GAAIhB,GAAOA,aAAeC,GAAK,OAAOD,EAEtC,MAAMiB,EAAI,IAAIhB,GACd,OAAAgB,EAAE,MAAMjB,EAAKgB,CAAiB,EACvBC,CACT,CAEAhB,GAAI,UAAU,MAAQ,SAAUD,EAAKgB,EAAmB,CACtD,IAAIE,EAAYC,EAAKC,EACjBC,EAAOrB,EAMX,GAFAqB,EAAOA,EAAK,KAAM,EAEd,CAACL,GAAqBhB,EAAI,MAAM,GAAG,EAAE,SAAW,EAAG,CAErD,MAAMsB,EAAalB,GAAkB,KAAKiB,CAAI,EAC9C,GAAIC,EACF,YAAK,SAAWA,EAAW,CAAC,EACxBA,EAAW,CAAC,IACd,KAAK,OAASA,EAAW,CAAC,GAErB,IAEV,CAED,IAAIC,EAAQrB,GAAgB,KAAKmB,CAAI,EAqBrC,GApBIE,IACFA,EAAQA,EAAM,CAAC,EACfL,EAAaK,EAAM,YAAa,EAChC,KAAK,SAAWA,EAChBF,EAAOA,EAAK,OAAOE,EAAM,MAAM,IAQ7BP,GAAqBO,GAASF,EAAK,MAAM,sBAAsB,KACjED,EAAUC,EAAK,OAAO,EAAG,CAAC,IAAM,KAC5BD,GAAW,EAAEG,GAASV,GAAiBU,CAAK,KAC9CF,EAAOA,EAAK,OAAO,CAAC,EACpB,KAAK,QAAU,KAIf,CAACR,GAAiBU,CAAK,IACtBH,GAAYG,GAAS,CAACT,GAAgBS,CAAK,GAAK,CAiBnD,IAAIC,EAAU,GACd,QAAS3C,EAAI,EAAGA,EAAI4B,GAAgB,OAAQ5B,IAC1CsC,EAAME,EAAK,QAAQZ,GAAgB5B,CAAC,CAAC,EACjCsC,IAAQ,KAAOK,IAAY,IAAML,EAAMK,KACzCA,EAAUL,GAMd,IAAIM,EAAMC,EACNF,IAAY,GAEdE,EAASL,EAAK,YAAY,GAAG,EAI7BK,EAASL,EAAK,YAAY,IAAKG,CAAO,EAKpCE,IAAW,KACbD,EAAOJ,EAAK,MAAM,EAAGK,CAAM,EAC3BL,EAAOA,EAAK,MAAMK,EAAS,CAAC,EAC5B,KAAK,KAAOD,GAIdD,EAAU,GACV,QAAS3C,EAAI,EAAGA,EAAI2B,GAAa,OAAQ3B,IACvCsC,EAAME,EAAK,QAAQb,GAAa3B,CAAC,CAAC,EAC9BsC,IAAQ,KAAOK,IAAY,IAAML,EAAMK,KACzCA,EAAUL,GAIVK,IAAY,KACdA,EAAUH,EAAK,QAGbA,EAAKG,EAAU,CAAC,IAAM,KAAOA,IACjC,MAAMG,EAAON,EAAK,MAAM,EAAGG,CAAO,EAClCH,EAAOA,EAAK,MAAMG,CAAO,EAGzB,KAAK,UAAUG,CAAI,EAInB,KAAK,SAAW,KAAK,UAAY,GAIjC,MAAMC,EAAe,KAAK,SAAS,CAAC,IAAM,KACtC,KAAK,SAAS,KAAK,SAAS,OAAS,CAAC,IAAM,IAGhD,GAAI,CAACA,EAAc,CACjB,MAAMC,EAAY,KAAK,SAAS,MAAM,IAAI,EAC1C,QAAShD,EAAI,EAAGM,EAAI0C,EAAU,OAAQhD,EAAIM,EAAGN,IAAK,CAChD,MAAMiD,EAAOD,EAAUhD,CAAC,EACxB,GAAKiD,GACD,CAACA,EAAK,MAAMnB,EAAmB,EAAG,CACpC,IAAIoB,EAAU,GACd,QAASC,EAAI,EAAGC,EAAIH,EAAK,OAAQE,EAAIC,EAAGD,IAClCF,EAAK,WAAWE,CAAC,EAAI,IAIvBD,GAAW,IAEXA,GAAWD,EAAKE,CAAC,EAIrB,GAAI,CAACD,EAAQ,MAAMpB,EAAmB,EAAG,CACvC,MAAMuB,EAAaL,EAAU,MAAM,EAAGhD,CAAC,EACjCsD,EAAUN,EAAU,MAAMhD,EAAI,CAAC,EAC/BuD,EAAMN,EAAK,MAAMlB,EAAiB,EACpCwB,IACFF,EAAW,KAAKE,EAAI,CAAC,CAAC,EACtBD,EAAQ,QAAQC,EAAI,CAAC,CAAC,GAEpBD,EAAQ,SACVd,EAAOc,EAAQ,KAAK,GAAG,EAAId,GAE7B,KAAK,SAAWa,EAAW,KAAK,GAAG,EACnC,KACD,CACF,CACF,CACF,CAEG,KAAK,SAAS,OAASxB,KACzB,KAAK,SAAW,IAKdkB,IACF,KAAK,SAAW,KAAK,SAAS,OAAO,EAAG,KAAK,SAAS,OAAS,CAAC,EAEnE,CAGD,MAAMS,EAAOhB,EAAK,QAAQ,GAAG,EACzBgB,IAAS,KAEX,KAAK,KAAOhB,EAAK,OAAOgB,CAAI,EAC5BhB,EAAOA,EAAK,MAAM,EAAGgB,CAAI,GAE3B,MAAMC,EAAKjB,EAAK,QAAQ,GAAG,EAC3B,OAAIiB,IAAO,KACT,KAAK,OAASjB,EAAK,OAAOiB,CAAE,EAC5BjB,EAAOA,EAAK,MAAM,EAAGiB,CAAE,GAErBjB,IAAQ,KAAK,SAAWA,GACxBP,GAAgBI,CAAU,GAC1B,KAAK,UAAY,CAAC,KAAK,WACzB,KAAK,SAAW,IAGX,IACT,EAEAjB,GAAI,UAAU,UAAY,SAAU0B,EAAM,CACxC,IAAIY,EAAOpC,GAAY,KAAKwB,CAAI,EAC5BY,IACFA,EAAOA,EAAK,CAAC,EACTA,IAAS,MACX,KAAK,KAAOA,EAAK,OAAO,CAAC,GAE3BZ,EAAOA,EAAK,OAAO,EAAGA,EAAK,OAASY,EAAK,MAAM,GAE7CZ,IAAQ,KAAK,SAAWA,EAC9B,6ICjTea,GAAA,mICAAC,GAAA,qBCAAC,GAAA,0PCAAC,GAAA,4+DCAAC,GAAA,sLCCfC,GAAe,IAAI,YAEnB,2keACK,MAAM,EAAE,EACR,IAAKC,GAAMA,EAAE,WAAW,CAAC,CAAC,CAAC,ECJhCC,GAAe,IAAI,YAEnB,wCACK,MAAM,EAAE,EACR,IAAKD,GAAMA,EAAE,WAAW,CAAC,CAAC,CAAC,ECJhC,IAAIE,GACJ,MAAMC,GAAY,IAAI,IAAI,CACtB,CAAC,EAAG,KAAK,EAET,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,IAAI,EACV,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,EACT,CAAC,IAAK,GAAG,CACb,CAAC,EAIYC,IAEZF,GAAK,OAAO,iBAAmB,MAAQA,KAAO,OAASA,GAAK,SAAUG,EAAW,CAC9E,IAAIC,EAAS,GACb,OAAID,EAAY,QACZA,GAAa,MACbC,GAAU,OAAO,aAAeD,IAAc,GAAM,KAAS,KAAM,EACnEA,EAAY,MAAUA,EAAY,MAEtCC,GAAU,OAAO,aAAaD,CAAS,EAChCC,CACX,EAMO,SAASC,GAAiBF,EAAW,CACxC,IAAIH,EACJ,OAAKG,GAAa,OAAUA,GAAa,OAAWA,EAAY,QACrD,OAEHH,EAAKC,GAAU,IAAIE,CAAS,KAAO,MAAQH,IAAO,OAASA,EAAKG,CAC5E,CCrDA,IAAIG,GACH,SAAUA,EAAW,CAClBA,EAAUA,EAAU,IAAS,EAAE,EAAI,MACnCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,OAAY,EAAE,EAAI,SACtCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,KAAU,EAAE,EAAI,OACpCA,EAAUA,EAAU,QAAa,EAAE,EAAI,UACvCA,EAAUA,EAAU,QAAa,GAAG,EAAI,UACxCA,EAAUA,EAAU,QAAa,GAAG,EAAI,UACxCA,EAAUA,EAAU,QAAa,GAAG,EAAI,UACxCA,EAAUA,EAAU,QAAa,EAAE,EAAI,UACvCA,EAAUA,EAAU,QAAa,EAAE,EAAI,UACvCA,EAAUA,EAAU,QAAa,EAAE,EAAI,SAC3C,GAAGA,IAAcA,EAAY,CAAE,EAAC,EAEhC,MAAMC,GAAe,GACd,IAAIC,GACV,SAAUA,EAAc,CACrBA,EAAaA,EAAa,aAAkB,KAAK,EAAI,eACrDA,EAAaA,EAAa,cAAmB,KAAK,EAAI,gBACtDA,EAAaA,EAAa,WAAgB,GAAG,EAAI,YACrD,GAAGA,IAAiBA,EAAe,CAAE,EAAC,EACtC,SAASC,GAAS5D,EAAM,CACpB,OAAOA,GAAQyD,EAAU,MAAQzD,GAAQyD,EAAU,IACvD,CACA,SAASI,GAAuB7D,EAAM,CAClC,OAASA,GAAQyD,EAAU,SAAWzD,GAAQyD,EAAU,SACnDzD,GAAQyD,EAAU,SAAWzD,GAAQyD,EAAU,OACxD,CACA,SAASK,GAAoB9D,EAAM,CAC/B,OAASA,GAAQyD,EAAU,SAAWzD,GAAQyD,EAAU,SACnDzD,GAAQyD,EAAU,SAAWzD,GAAQyD,EAAU,SAChDG,GAAS5D,CAAI,CACrB,CAOA,SAAS+D,GAA8B/D,EAAM,CACzC,OAAOA,IAASyD,EAAU,QAAUK,GAAoB9D,CAAI,CAChE,CACA,IAAIgE,GACH,SAAUA,EAAoB,CAC3BA,EAAmBA,EAAmB,YAAiB,CAAC,EAAI,cAC5DA,EAAmBA,EAAmB,aAAkB,CAAC,EAAI,eAC7DA,EAAmBA,EAAmB,eAAoB,CAAC,EAAI,iBAC/DA,EAAmBA,EAAmB,WAAgB,CAAC,EAAI,aAC3DA,EAAmBA,EAAmB,YAAiB,CAAC,EAAI,aAChE,GAAGA,IAAuBA,EAAqB,CAAE,EAAC,EAC3C,IAAIC,GACV,SAAUA,EAAc,CAErBA,EAAaA,EAAa,OAAY,CAAC,EAAI,SAE3CA,EAAaA,EAAa,OAAY,CAAC,EAAI,SAE3CA,EAAaA,EAAa,UAAe,CAAC,EAAI,WAClD,GAAGA,IAAiBA,EAAe,CAAE,EAAC,EAI/B,MAAMC,EAAc,CACvB,YAEAC,EAUAC,EAEAC,EAAQ,CACJ,KAAK,WAAaF,EAClB,KAAK,cAAgBC,EACrB,KAAK,OAASC,EAEd,KAAK,MAAQL,EAAmB,YAEhC,KAAK,SAAW,EAOhB,KAAK,OAAS,EAEd,KAAK,UAAY,EAEjB,KAAK,OAAS,EAEd,KAAK,WAAaC,EAAa,MAClC,CAED,YAAYK,EAAY,CACpB,KAAK,WAAaA,EAClB,KAAK,MAAQN,EAAmB,YAChC,KAAK,OAAS,EACd,KAAK,UAAY,EACjB,KAAK,OAAS,EACd,KAAK,SAAW,CACnB,CAYD,MAAMO,EAAKC,EAAQ,CACf,OAAQ,KAAK,MAAK,CACd,KAAKR,EAAmB,YACpB,OAAIO,EAAI,WAAWC,CAAM,IAAMf,EAAU,KACrC,KAAK,MAAQO,EAAmB,aAChC,KAAK,UAAY,EACV,KAAK,kBAAkBO,EAAKC,EAAS,CAAC,IAEjD,KAAK,MAAQR,EAAmB,YACzB,KAAK,iBAAiBO,EAAKC,CAAM,GAE5C,KAAKR,EAAmB,aACpB,OAAO,KAAK,kBAAkBO,EAAKC,CAAM,EAE7C,KAAKR,EAAmB,eACpB,OAAO,KAAK,oBAAoBO,EAAKC,CAAM,EAE/C,KAAKR,EAAmB,WACpB,OAAO,KAAK,gBAAgBO,EAAKC,CAAM,EAE3C,KAAKR,EAAmB,YACpB,OAAO,KAAK,iBAAiBO,EAAKC,CAAM,CAE/C,CACJ,CAUD,kBAAkBD,EAAKC,EAAQ,CAC3B,OAAIA,GAAUD,EAAI,OACP,IAENA,EAAI,WAAWC,CAAM,EAAId,MAAkBD,EAAU,SACtD,KAAK,MAAQO,EAAmB,WAChC,KAAK,UAAY,EACV,KAAK,gBAAgBO,EAAKC,EAAS,CAAC,IAE/C,KAAK,MAAQR,EAAmB,eACzB,KAAK,oBAAoBO,EAAKC,CAAM,EAC9C,CACD,mBAAmBD,EAAKE,EAAOC,EAAKC,EAAM,CACtC,GAAIF,IAAUC,EAAK,CACf,MAAME,EAAaF,EAAMD,EACzB,KAAK,OACD,KAAK,OAAS,KAAK,IAAIE,EAAMC,CAAU,EACnC,SAASL,EAAI,OAAOE,EAAOG,CAAU,EAAGD,CAAI,EACpD,KAAK,UAAYC,CACpB,CACJ,CAUD,gBAAgBL,EAAKC,EAAQ,CACzB,MAAMK,EAAWL,EACjB,KAAOA,EAASD,EAAI,QAAQ,CACxB,MAAMO,EAAOP,EAAI,WAAWC,CAAM,EAClC,GAAIZ,GAASkB,CAAI,GAAKjB,GAAuBiB,CAAI,EAC7CN,GAAU,MAGV,aAAK,mBAAmBD,EAAKM,EAAUL,EAAQ,EAAE,EAC1C,KAAK,kBAAkBM,EAAM,CAAC,CAE5C,CACD,YAAK,mBAAmBP,EAAKM,EAAUL,EAAQ,EAAE,EAC1C,EACV,CAUD,oBAAoBD,EAAKC,EAAQ,CAC7B,MAAMK,EAAWL,EACjB,KAAOA,EAASD,EAAI,QAAQ,CACxB,MAAMO,EAAOP,EAAI,WAAWC,CAAM,EAClC,GAAIZ,GAASkB,CAAI,EACbN,GAAU,MAGV,aAAK,mBAAmBD,EAAKM,EAAUL,EAAQ,EAAE,EAC1C,KAAK,kBAAkBM,EAAM,CAAC,CAE5C,CACD,YAAK,mBAAmBP,EAAKM,EAAUL,EAAQ,EAAE,EAC1C,EACV,CAcD,kBAAkBO,EAAQC,EAAgB,CACtC,IAAI7B,EAEJ,GAAI,KAAK,UAAY6B,EACjB,OAAC7B,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,2CAA2C,KAAK,QAAQ,EAC5G,EAGX,GAAI4B,IAAWtB,EAAU,KACrB,KAAK,UAAY,UAEZ,KAAK,aAAeQ,EAAa,OACtC,MAAO,GAEX,YAAK,cAAcT,GAAiB,KAAK,MAAM,EAAG,KAAK,QAAQ,EAC3D,KAAK,SACDuB,IAAWtB,EAAU,MACrB,KAAK,OAAO,0CAEhB,KAAK,OAAO,kCAAkC,KAAK,MAAM,GAEtD,KAAK,QACf,CAUD,iBAAiBc,EAAKC,EAAQ,CAC1B,KAAM,CAAE,WAAAL,CAAY,EAAG,KACvB,IAAIc,EAAUd,EAAW,KAAK,SAAS,EAEnCe,GAAeD,EAAUtB,EAAa,eAAiB,GAC3D,KAAOa,EAASD,EAAI,OAAQC,IAAU,KAAK,SAAU,CACjD,MAAMM,EAAOP,EAAI,WAAWC,CAAM,EAElC,GADA,KAAK,UAAYW,GAAgBhB,EAAYc,EAAS,KAAK,UAAY,KAAK,IAAI,EAAGC,CAAW,EAAGJ,CAAI,EACjG,KAAK,UAAY,EACjB,OAAO,KAAK,SAAW,GAElB,KAAK,aAAeb,EAAa,YAE7BiB,IAAgB,GAEbnB,GAA8Be,CAAI,GACxC,EACA,KAAK,6BAA4B,EAK3C,GAHAG,EAAUd,EAAW,KAAK,SAAS,EACnCe,GAAeD,EAAUtB,EAAa,eAAiB,GAEnDuB,IAAgB,EAAG,CAEnB,GAAIJ,IAASrB,EAAU,KACnB,OAAO,KAAK,oBAAoB,KAAK,UAAWyB,EAAa,KAAK,SAAW,KAAK,MAAM,EAGxF,KAAK,aAAejB,EAAa,SACjC,KAAK,OAAS,KAAK,UACnB,KAAK,UAAY,KAAK,OACtB,KAAK,OAAS,EAErB,CACJ,CACD,MAAO,EACV,CAMD,8BAA+B,CAC3B,IAAId,EACJ,KAAM,CAAE,OAAA9D,EAAQ,WAAA8E,CAAY,EAAG,KACzBe,GAAef,EAAW9E,CAAM,EAAIsE,EAAa,eAAiB,GACxE,YAAK,oBAAoBtE,EAAQ6F,EAAa,KAAK,QAAQ,GAC1D/B,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,wCAAuC,EAC3F,KAAK,QACf,CAUD,oBAAoB9D,EAAQ6F,EAAaE,EAAU,CAC/C,KAAM,CAAE,WAAAjB,CAAY,EAAG,KACvB,YAAK,cAAce,IAAgB,EAC7Bf,EAAW9E,CAAM,EAAI,CAACsE,EAAa,aACnCQ,EAAW9E,EAAS,CAAC,EAAG+F,CAAQ,EAClCF,IAAgB,GAEhB,KAAK,cAAcf,EAAW9E,EAAS,CAAC,EAAG+F,CAAQ,EAEhDA,CACV,CAQD,KAAM,CACF,IAAIjC,EACJ,OAAQ,KAAK,MAAK,CACd,KAAKa,EAAmB,YAEpB,OAAO,KAAK,SAAW,IAClB,KAAK,aAAeC,EAAa,WAC9B,KAAK,SAAW,KAAK,WACvB,KAAK,6BAA8B,EACnC,EAGV,KAAKD,EAAmB,eACpB,OAAO,KAAK,kBAAkB,EAAG,CAAC,EAEtC,KAAKA,EAAmB,WACpB,OAAO,KAAK,kBAAkB,EAAG,CAAC,EAEtC,KAAKA,EAAmB,aACpB,OAACb,EAAK,KAAK,UAAY,MAAQA,IAAO,QAAkBA,EAAG,2CAA2C,KAAK,QAAQ,EAC5G,EAEX,KAAKa,EAAmB,YAEpB,MAAO,EAEd,CACJ,CACL,CAOA,SAASqB,GAAWlB,EAAY,CAC5B,IAAImB,EAAM,GACV,MAAMC,EAAU,IAAIrB,GAAcC,EAAaI,GAASe,GAAOjC,GAAckB,CAAG,CAAE,EAClF,OAAO,SAAwBA,EAAKD,EAAY,CAC5C,IAAIkB,EAAY,EACZhB,EAAS,EACb,MAAQA,EAASD,EAAI,QAAQ,IAAKC,CAAM,IAAM,GAAG,CAC7Cc,GAAOf,EAAI,MAAMiB,EAAWhB,CAAM,EAClCe,EAAQ,YAAYjB,CAAU,EAC9B,MAAMmB,EAAMF,EAAQ,MAAMhB,EAE1BC,EAAS,CAAC,EACV,GAAIiB,EAAM,EAAG,CACTD,EAAYhB,EAASe,EAAQ,MAC7B,KACH,CACDC,EAAYhB,EAASiB,EAErBjB,EAASiB,IAAQ,EAAID,EAAY,EAAIA,CACxC,CACD,MAAMnG,EAASiG,EAAMf,EAAI,MAAMiB,CAAS,EAExC,OAAAF,EAAM,GACCjG,CACf,CACA,CAWO,SAAS8F,GAAgBhB,EAAYc,EAASS,EAASZ,EAAM,CAChE,MAAMa,GAAeV,EAAUtB,EAAa,gBAAkB,EACxDiC,EAAaX,EAAUtB,EAAa,WAE1C,GAAIgC,IAAgB,EAChB,OAAOC,IAAe,GAAKd,IAASc,EAAaF,EAAU,GAG/D,GAAIE,EAAY,CACZ,MAAMC,EAAQf,EAAOc,EACrB,OAAOC,EAAQ,GAAKA,GAASF,EACvB,GACAxB,EAAWuB,EAAUG,CAAK,EAAI,CACvC,CAGD,IAAIC,EAAKJ,EACLK,EAAKD,EAAKH,EAAc,EAC5B,KAAOG,GAAMC,GAAI,CACb,MAAMC,EAAOF,EAAKC,IAAQ,EACpBE,EAAS9B,EAAW6B,CAAG,EAC7B,GAAIC,EAASnB,EACTgB,EAAKE,EAAM,UAENC,EAASnB,EACdiB,EAAKC,EAAM,MAGX,QAAO7B,EAAW6B,EAAML,CAAW,CAE1C,CACD,MAAO,EACX,CACA,MAAMO,GAAcb,GAAWrC,EAAc,EAC1BqC,GAAWnC,EAAa,EAQpC,SAASiD,GAAW5B,EAAK6B,EAAOnC,EAAa,OAAQ,CACxD,OAAOiC,GAAY3B,EAAK6B,CAAI,CAChC,CC5cA,SAASC,GAAQC,EAAK,CAAE,OAAO,OAAO,UAAU,SAAS,KAAKA,CAAG,CAAG,CAEpE,SAASC,GAAUD,EAAK,CAAE,OAAOD,GAAOC,CAAG,IAAM,iBAAmB,CAEpE,MAAME,GAAkB,OAAO,UAAU,eAEzC,SAASC,GAAKC,EAAQC,EAAK,CACzB,OAAOH,GAAgB,KAAKE,EAAQC,CAAG,CACzC,CAIA,SAASC,GAAQN,EAAoC,CAGnD,OAFgB,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,EAE/C,QAAQ,SAAUO,EAAQ,CAChC,GAAKA,EAEL,IAAI,OAAOA,GAAW,SACpB,MAAM,IAAI,UAAUA,EAAS,gBAAgB,EAG/C,OAAO,KAAKA,CAAM,EAAE,QAAQ,SAAUF,EAAK,CACzCL,EAAIK,CAAG,EAAIE,EAAOF,CAAG,CAC3B,CAAK,EACL,CAAG,EAEML,CACT,CAIA,SAASQ,GAAgBC,EAAKC,EAAKC,EAAa,CAC9C,MAAO,CAAE,EAAC,OAAOF,EAAI,MAAM,EAAGC,CAAG,EAAGC,EAAaF,EAAI,MAAMC,EAAM,CAAC,CAAC,CACrE,CAEA,SAASE,GAAmBjE,EAAG,CAa7B,MAVI,EAAAA,GAAK,OAAUA,GAAK,OAEpBA,GAAK,OAAUA,GAAK,QACnBA,EAAI,SAAY,QAAWA,EAAI,SAAY,OAE5CA,GAAK,GAAQA,GAAK,GAClBA,IAAM,IACNA,GAAK,IAAQA,GAAK,IAClBA,GAAK,KAAQA,GAAK,KAElBA,EAAI,QAEV,CAEA,SAASI,GAAeJ,EAAG,CAEzB,GAAIA,EAAI,MAAQ,CACdA,GAAK,MACL,MAAMkE,EAAa,OAAUlE,GAAK,IAC5BmE,EAAa,OAAUnE,EAAI,MAEjC,OAAO,OAAO,aAAakE,EAAYC,CAAU,CAClD,CACD,OAAO,OAAO,aAAanE,CAAC,CAC9B,CAEA,MAAMoE,GAAkB,6CAClBC,GAAkB,6BAClBC,GAAkB,IAAI,OAAOF,GAAe,OAAS,IAAMC,GAAU,OAAQ,IAAI,EAEjFE,GAAyB,sCAE/B,SAASC,GAAsBC,EAAOC,EAAM,CAC1C,GAAIA,EAAK,WAAW,CAAC,IAAM,IAAeH,GAAuB,KAAKG,CAAI,EAAG,CAC3E,MAAM3H,EAAO2H,EAAK,CAAC,EAAE,YAAa,IAAK,IACnC,SAASA,EAAK,MAAM,CAAC,EAAG,EAAE,EAC1B,SAASA,EAAK,MAAM,CAAC,EAAG,EAAE,EAE9B,OAAIT,GAAkBlH,CAAI,EACjBqD,GAAcrD,CAAI,EAGpB0H,CACR,CAED,MAAME,EAAUzB,GAAWuB,CAAK,EAChC,OAAIE,IAAYF,EACPE,EAGFF,CACT,CAQA,SAASG,GAAYtD,EAAK,CACxB,OAAIA,EAAI,QAAQ,IAAI,EAAI,EAAYA,EAC7BA,EAAI,QAAQ8C,GAAgB,IAAI,CACzC,CAEA,SAASS,GAAavD,EAAK,CACzB,OAAIA,EAAI,QAAQ,IAAI,EAAI,GAAKA,EAAI,QAAQ,GAAG,EAAI,EAAYA,EAErDA,EAAI,QAAQgD,GAAiB,SAAUG,EAAOK,EAASC,EAAQ,CACpE,OAAID,GACGN,GAAqBC,EAAOM,CAAM,CAC7C,CAAG,CACH,CAEA,MAAMC,GAAsB,SACtBC,GAAyB,UACzBC,GAAoB,CACxB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,QACP,EAEA,SAASC,GAAmBnJ,EAAI,CAC9B,OAAOkJ,GAAkBlJ,CAAE,CAC7B,CAEA,SAASoJ,EAAY9D,EAAK,CACxB,OAAI0D,GAAoB,KAAK1D,CAAG,EACvBA,EAAI,QAAQ2D,GAAwBE,EAAiB,EAEvD7D,CACT,CAEA,MAAM+D,GAAmB,uBAEzB,SAASC,GAAUhE,EAAK,CACtB,OAAOA,EAAI,QAAQ+D,GAAkB,MAAM,CAC7C,CAEA,SAASE,EAASxI,EAAM,CACtB,OAAQA,EAAI,CACV,IAAK,GACL,IAAK,IACH,MAAO,EACV,CACD,MAAO,EACT,CAGA,SAASyI,GAAczI,EAAM,CAC3B,GAAIA,GAAQ,MAAUA,GAAQ,KAAU,MAAO,GAC/C,OAAQA,EAAI,CACV,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACH,MAAO,EACV,CACD,MAAO,EACT,CAKA,SAAS0I,GAAazJ,EAAI,CACxB,OAAO0J,GAAU,KAAK1J,CAAE,CAC1B,CASA,SAAS2J,GAAgB3J,EAAI,CAC3B,OAAQA,EAAE,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,MAAO,GACT,QACE,MAAO,EACV,CACH,CAIA,SAAS4J,GAAoBtE,EAAK,CAGhC,OAAAA,EAAMA,EAAI,KAAI,EAAG,QAAQ,OAAQ,GAAG,EAQhC,IAAI,YAAa,IAAK,MACxBA,EAAMA,EAAI,QAAQ,KAAM,GAAG,GAmCtBA,EAAI,YAAa,EAAC,YAAa,CACxC,CAMA,MAAMuE,GAAM,CAAE,MAAAC,GAAO,QAAAC,EAAO,mUCtRb,SAASC,GAAgBC,EAAOzE,EAAO0E,EAAe,CACnE,IAAIC,EAAOC,EAAOC,EAAQC,EAE1B,MAAMC,EAAMN,EAAM,OACZO,EAASP,EAAM,IAKrB,IAHAA,EAAM,IAAMzE,EAAQ,EACpB2E,EAAQ,EAEDF,EAAM,IAAMM,GAAK,CAEtB,GADAF,EAASJ,EAAM,IAAI,WAAWA,EAAM,GAAG,EACnCI,IAAW,KACbF,IACIA,IAAU,GAAG,CACfC,EAAQ,GACR,KACD,CAKH,GAFAE,EAAUL,EAAM,IAChBA,EAAM,GAAG,OAAO,UAAUA,CAAK,EAC3BI,IAAW,IACb,GAAIC,IAAYL,EAAM,IAAM,EAE1BE,YACSD,EACT,OAAAD,EAAM,IAAMO,EACL,GAGZ,CAED,IAAIC,EAAW,GAEf,OAAIL,IACFK,EAAWR,EAAM,KAInBA,EAAM,IAAMO,EAELC,CACT,CC3Ce,SAASC,GAAsBpF,EAAKE,EAAO+E,EAAK,CAC7D,IAAIxJ,EACAgH,EAAMvC,EAEV,MAAMpF,EAAS,CACb,GAAI,GACJ,IAAK,EACL,MAAO,EACP,IAAK,EACN,EAED,GAAIkF,EAAI,WAAWyC,CAAG,IAAM,GAAc,CAExC,IADAA,IACOA,EAAMwC,GAAK,CAGhB,GAFAxJ,EAAOuE,EAAI,WAAWyC,CAAG,EACrBhH,IAAS,IACTA,IAAS,GAAgB,OAAOX,EACpC,GAAIW,IAAS,GACX,OAAAX,EAAO,IAAM2H,EAAM,EACnB3H,EAAO,IAAMyI,GAAYvD,EAAI,MAAME,EAAQ,EAAGuC,CAAG,CAAC,EAClD3H,EAAO,GAAK,GACLA,EAET,GAAIW,IAAS,IAAgBgH,EAAM,EAAIwC,EAAK,CAC1CxC,GAAO,EACP,QACD,CAEDA,GACD,CAGD,OAAO3H,CACR,CAID,IAAI+J,EAAQ,EACZ,KAAOpC,EAAMwC,IACXxJ,EAAOuE,EAAI,WAAWyC,CAAG,EAErB,EAAAhH,IAAS,IAGTA,EAAO,IAAQA,IAAS,OANZ,CAQhB,GAAIA,IAAS,IAAgBgH,EAAM,EAAIwC,EAAK,CAC1C,GAAIjF,EAAI,WAAWyC,EAAM,CAAC,IAAM,GAAQ,MACxCA,GAAO,EACP,QACD,CAED,GAAIhH,IAAS,KACXoJ,IACIA,EAAQ,IAAM,OAAO/J,EAG3B,GAAIW,IAAS,GAAc,CACzB,GAAIoJ,IAAU,EAAK,MACnBA,GACD,CAEDpC,GACD,CAGD,OADIvC,IAAUuC,GACVoC,IAAU,IAEd/J,EAAO,IAAMyI,GAAYvD,EAAI,MAAME,EAAOuC,CAAG,CAAC,EAC9C3H,EAAO,IAAM2H,EACb3H,EAAO,GAAK,IACLA,CACT,CCxEe,SAASuK,GAAgBrF,EAAKE,EAAO+E,EAAK,CACvD,IAAIxJ,EAAMsJ,EACNO,EAAQ,EACR7C,EAAMvC,EAEV,MAAMpF,EAAS,CACb,GAAI,GACJ,IAAK,EACL,MAAO,EACP,IAAK,EACN,EAMD,GAJI2H,GAAOwC,IAEXF,EAAS/E,EAAI,WAAWyC,CAAG,EAEvBsC,IAAW,IAAgBA,IAAW,IAAgBA,IAAW,IAAgB,OAAOjK,EAO5F,IALA2H,IAGIsC,IAAW,KAAQA,EAAS,IAEzBtC,EAAMwC,GAAK,CAEhB,GADAxJ,EAAOuE,EAAI,WAAWyC,CAAG,EACrBhH,IAASsJ,EACX,OAAAjK,EAAO,IAAM2H,EAAM,EACnB3H,EAAO,MAAQwK,EACfxK,EAAO,IAAMyI,GAAYvD,EAAI,MAAME,EAAQ,EAAGuC,CAAG,CAAC,EAClD3H,EAAO,GAAK,GACLA,EACF,GAAIW,IAAS,IAAgBsJ,IAAW,GAC7C,OAAOjK,EACEW,IAAS,GAClB6J,IACS7J,IAAS,IAAgBgH,EAAM,EAAIwC,IAC5CxC,IACIzC,EAAI,WAAWyC,CAAG,IAAM,IAC1B6C,KAIJ7C,GACD,CAED,OAAO3H,CACT,iKCzCMyK,EAAgB,CAAE,EAExBA,EAAc,YAAc,SAAUC,EAAQC,EAAKC,EAASC,EAAKC,EAAK,CACpE,MAAMC,EAAQL,EAAOC,CAAG,EAExB,MAAQ,QAAUG,EAAI,YAAYC,CAAK,EAAI,IACnC/B,EAAW+B,EAAM,OAAO,EACxB,SACV,EAEAN,EAAc,WAAa,SAAUC,EAAQC,EAAKC,EAASC,EAAKC,EAAK,CACnE,MAAMC,EAAQL,EAAOC,CAAG,EAExB,MAAQ,OAASG,EAAI,YAAYC,CAAK,EAAI,UAClC/B,EAAW0B,EAAOC,CAAG,EAAE,OAAO,EAC9B;AAAA,CACV,EAEAF,EAAc,MAAQ,SAAUC,EAAQC,EAAKC,EAASC,EAAKC,EAAK,CAC9D,MAAMC,EAAQL,EAAOC,CAAG,EAClBK,EAAOD,EAAM,KAAOtC,GAAYsC,EAAM,IAAI,EAAE,KAAI,EAAK,GAC3D,IAAIE,EAAW,GACXC,EAAY,GAEhB,GAAIF,EAAM,CACR,MAAMG,EAAMH,EAAK,MAAM,QAAQ,EAC/BC,EAAWE,EAAI,CAAC,EAChBD,EAAYC,EAAI,MAAM,CAAC,EAAE,KAAK,EAAE,CACjC,CAED,IAAIC,EAOJ,GANIR,EAAQ,UACVQ,EAAcR,EAAQ,UAAUG,EAAM,QAASE,EAAUC,CAAS,GAAKlC,EAAW+B,EAAM,OAAO,EAE/FK,EAAcpC,EAAW+B,EAAM,OAAO,EAGpCK,EAAY,QAAQ,MAAM,IAAM,EAClC,OAAOA,EAAc;AAAA,EAMvB,GAAIJ,EAAM,CACR,MAAMrL,EAAIoL,EAAM,UAAU,OAAO,EAC3BM,EAAWN,EAAM,MAAQA,EAAM,MAAM,MAAK,EAAK,CAAE,EAEnDpL,EAAI,EACN0L,EAAS,KAAK,CAAC,QAAST,EAAQ,WAAaK,CAAQ,CAAC,GAEtDI,EAAS1L,CAAC,EAAI0L,EAAS1L,CAAC,EAAE,MAAO,EACjC0L,EAAS1L,CAAC,EAAE,CAAC,GAAK,IAAMiL,EAAQ,WAAaK,GAI/C,MAAMK,EAAW,CACf,MAAOD,CACR,EAED,MAAO,aAAaP,EAAI,YAAYQ,CAAQ,CAAC,IAAIF,CAAW;AAAA,CAC7D,CAED,MAAO,aAAaN,EAAI,YAAYC,CAAK,CAAC,IAAIK,CAAW;AAAA,CAC3D,EAEAX,EAAc,MAAQ,SAAUC,EAAQC,EAAKC,EAASC,EAAKC,EAAK,CAC9D,MAAMC,EAAQL,EAAOC,CAAG,EAOxB,OAAAI,EAAM,MAAMA,EAAM,UAAU,KAAK,CAAC,EAAE,CAAC,EACnCD,EAAI,mBAAmBC,EAAM,SAAUH,EAASC,CAAG,EAE9CC,EAAI,YAAYJ,EAAQC,EAAKC,CAAO,CAC7C,EAEAH,EAAc,UAAY,SAAUC,EAAQC,EAAKC,EAAoB,CACnE,OAAOA,EAAQ,SAAW;AAAA,EAAa;AAAA,CACzC,EACAH,EAAc,UAAY,SAAUC,EAAQC,EAAKC,EAAoB,CACnE,OAAOA,EAAQ,OAAUA,EAAQ,SAAW;AAAA,EAAa;AAAA,EAAY;AAAA,CACvE,EAEAH,EAAc,KAAO,SAAUC,EAAQC,EAAyB,CAC9D,OAAO3B,EAAW0B,EAAOC,CAAG,EAAE,OAAO,CACvC,EAEAF,EAAc,WAAa,SAAUC,EAAQC,EAAyB,CACpE,OAAOD,EAAOC,CAAG,EAAE,OACrB,EACAF,EAAc,YAAc,SAAUC,EAAQC,EAAyB,CACrE,OAAOD,EAAOC,CAAG,EAAE,OACrB,EAOA,SAASY,IAAY,CA6BnB,KAAK,MAAQhE,GAAO,CAAA,EAAIkD,CAAa,CACvC,CAOAc,GAAS,UAAU,YAAc,SAAsBR,EAAO,CAC5D,IAAIpL,EAAGM,EAAGD,EAEV,GAAI,CAAC+K,EAAM,MAAS,MAAO,GAI3B,IAFA/K,EAAS,GAEJL,EAAI,EAAGM,EAAI8K,EAAM,MAAM,OAAQpL,EAAIM,EAAGN,IACzCK,GAAU,IAAMgJ,EAAW+B,EAAM,MAAMpL,CAAC,EAAE,CAAC,CAAC,EAAI,KAAOqJ,EAAW+B,EAAM,MAAMpL,CAAC,EAAE,CAAC,CAAC,EAAI,IAGzF,OAAOK,CACT,EAWAuL,GAAS,UAAU,YAAc,SAAsBb,EAAQC,EAAKC,EAAS,CAC3E,MAAMG,EAAQL,EAAOC,CAAG,EACxB,IAAI3K,EAAS,GAGb,GAAI+K,EAAM,OACR,MAAO,GAULA,EAAM,OAASA,EAAM,UAAY,IAAMJ,GAAOD,EAAOC,EAAM,CAAC,EAAE,SAChE3K,GAAU;AAAA,GAIZA,IAAW+K,EAAM,UAAY,GAAK,KAAO,KAAOA,EAAM,IAGtD/K,GAAU,KAAK,YAAY+K,CAAK,EAG5BA,EAAM,UAAY,GAAKH,EAAQ,WACjC5K,GAAU,MAIZ,IAAIwL,EAAS,GACb,GAAIT,EAAM,QACRS,EAAS,GAELT,EAAM,UAAY,GAChBJ,EAAM,EAAID,EAAO,QAAQ,CAC3B,MAAMe,EAAYf,EAAOC,EAAM,CAAC,GAE5Bc,EAAU,OAAS,UAAYA,EAAU,QAIlCA,EAAU,UAAY,IAAMA,EAAU,MAAQV,EAAM,OAG7DS,EAAS,GAEZ,CAIL,OAAAxL,GAAUwL,EAAS;AAAA,EAAQ,IAEpBxL,CACT,EAUAuL,GAAS,UAAU,aAAe,SAAUb,EAAQE,EAASC,EAAK,CAChE,IAAI7K,EAAS,GACb,MAAM0L,EAAQ,KAAK,MAEnB,QAAS/L,EAAI,EAAGyG,EAAMsE,EAAO,OAAQ/K,EAAIyG,EAAKzG,IAAK,CACjD,MAAMgM,EAAOjB,EAAO/K,CAAC,EAAE,KAEnB,OAAO+L,EAAMC,CAAI,GAAM,YACzB3L,GAAU0L,EAAMC,CAAI,EAAEjB,EAAQ/K,EAAGiL,EAASC,EAAK,IAAI,EAEnD7K,GAAU,KAAK,YAAY0K,EAAQ/K,EAAGiL,CAAO,CAEhD,CAED,OAAO5K,CACT,EAYAuL,GAAS,UAAU,mBAAqB,SAAUb,EAAQE,EAASC,EAAK,CACtE,IAAI7K,EAAS,GAEb,QAASL,EAAI,EAAGyG,EAAMsE,EAAO,OAAQ/K,EAAIyG,EAAKzG,IAC5C,OAAQ+K,EAAO/K,CAAC,EAAE,KAAI,CACpB,IAAK,OACHK,GAAU0K,EAAO/K,CAAC,EAAE,QACpB,MACF,IAAK,QACHK,GAAU,KAAK,mBAAmB0K,EAAO/K,CAAC,EAAE,SAAUiL,EAASC,CAAG,EAClE,MACF,IAAK,cACL,IAAK,aACH7K,GAAU0K,EAAO/K,CAAC,EAAE,QACpB,MACF,IAAK,YACL,IAAK,YACHK,GAAU;AAAA,EACV,KAGH,CAGH,OAAOA,CACT,EAWAuL,GAAS,UAAU,OAAS,SAAUb,EAAQE,EAASC,EAAK,CAC1D,IAAI7K,EAAS,GACb,MAAM0L,EAAQ,KAAK,MAEnB,QAAS/L,EAAI,EAAGyG,EAAMsE,EAAO,OAAQ/K,EAAIyG,EAAKzG,IAAK,CACjD,MAAMgM,EAAOjB,EAAO/K,CAAC,EAAE,KAEnBgM,IAAS,SACX3L,GAAU,KAAK,aAAa0K,EAAO/K,CAAC,EAAE,SAAUiL,EAASC,CAAG,EACnD,OAAOa,EAAMC,CAAI,GAAM,YAChC3L,GAAU0L,EAAMC,CAAI,EAAEjB,EAAQ/K,EAAGiL,EAASC,EAAK,IAAI,EAEnD7K,GAAU,KAAK,YAAY0K,EAAQ/K,EAAGiL,EAASC,CAAG,CAErD,CAED,OAAO7K,CACT,EC1SA,SAAS4L,GAAS,CAUhB,KAAK,UAAY,CAAE,EAOnB,KAAK,UAAY,IACnB,CAMAA,EAAM,UAAU,SAAW,SAAUtD,EAAM,CACzC,QAAS3I,EAAI,EAAGA,EAAI,KAAK,UAAU,OAAQA,IACzC,GAAI,KAAK,UAAUA,CAAC,EAAE,OAAS2I,EAC7B,OAAO3I,EAGX,MAAO,EACT,EAIAiM,EAAM,UAAU,YAAc,UAAY,CACxC,MAAMC,EAAO,KACPC,EAAS,CAAC,EAAE,EAGlBD,EAAK,UAAU,QAAQ,SAAUE,EAAM,CAChCA,EAAK,SAEVA,EAAK,IAAI,QAAQ,SAAUC,EAAS,CAC9BF,EAAO,QAAQE,CAAO,EAAI,GAC5BF,EAAO,KAAKE,CAAO,CAE3B,CAAK,CACL,CAAG,EAEDH,EAAK,UAAY,CAAE,EAEnBC,EAAO,QAAQ,SAAUG,EAAO,CAC9BJ,EAAK,UAAUI,CAAK,EAAI,CAAE,EAC1BJ,EAAK,UAAU,QAAQ,SAAUE,EAAM,CAChCA,EAAK,UAENE,GAASF,EAAK,IAAI,QAAQE,CAAK,EAAI,GAEvCJ,EAAK,UAAUI,CAAK,EAAE,KAAKF,EAAK,EAAE,EACxC,CAAK,CACL,CAAG,CACH,EA2BAH,EAAM,UAAU,GAAK,SAAUtD,EAAM4D,EAAItB,EAAS,CAChD,MAAMuB,EAAQ,KAAK,SAAS7D,CAAI,EAC1B8D,EAAMxB,GAAW,CAAE,EAEzB,GAAIuB,IAAU,GAAM,MAAM,IAAI,MAAM,0BAA4B7D,CAAI,EAEpE,KAAK,UAAU6D,CAAK,EAAE,GAAKD,EAC3B,KAAK,UAAUC,CAAK,EAAE,IAAMC,EAAI,KAAO,CAAE,EACzC,KAAK,UAAY,IACnB,EA0BAR,EAAM,UAAU,OAAS,SAAUS,EAAYC,EAAUJ,EAAItB,EAAS,CACpE,MAAMuB,EAAQ,KAAK,SAASE,CAAU,EAChCD,EAAMxB,GAAW,CAAE,EAEzB,GAAIuB,IAAU,GAAM,MAAM,IAAI,MAAM,0BAA4BE,CAAU,EAE1E,KAAK,UAAU,OAAOF,EAAO,EAAG,CAC9B,KAAMG,EACN,QAAS,GACT,GAAAJ,EACA,IAAKE,EAAI,KAAO,CAAE,CACtB,CAAG,EAED,KAAK,UAAY,IACnB,EA0BAR,EAAM,UAAU,MAAQ,SAAUW,EAAWD,EAAUJ,EAAItB,EAAS,CAClE,MAAMuB,EAAQ,KAAK,SAASI,CAAS,EAC/BH,EAAMxB,GAAW,CAAE,EAEzB,GAAIuB,IAAU,GAAM,MAAM,IAAI,MAAM,0BAA4BI,CAAS,EAEzE,KAAK,UAAU,OAAOJ,EAAQ,EAAG,EAAG,CAClC,KAAMG,EACN,QAAS,GACT,GAAAJ,EACA,IAAKE,EAAI,KAAO,CAAE,CACtB,CAAG,EAED,KAAK,UAAY,IACnB,EAyBAR,EAAM,UAAU,KAAO,SAAUU,EAAUJ,EAAItB,EAAS,CACtD,MAAMwB,EAAMxB,GAAW,CAAE,EAEzB,KAAK,UAAU,KAAK,CAClB,KAAM0B,EACN,QAAS,GACT,GAAAJ,EACA,IAAKE,EAAI,KAAO,CAAE,CACtB,CAAG,EAED,KAAK,UAAY,IACnB,EAcAR,EAAM,UAAU,OAAS,SAAUY,EAAMC,EAAe,CACjD,MAAM,QAAQD,CAAI,IAAKA,EAAO,CAACA,CAAI,GAExC,MAAMxM,EAAS,CAAE,EAGjB,OAAAwM,EAAK,QAAQ,SAAUlE,EAAM,CAC3B,MAAMqC,EAAM,KAAK,SAASrC,CAAI,EAE9B,GAAIqC,EAAM,EAAG,CACX,GAAI8B,EAAiB,OACrB,MAAM,IAAI,MAAM,oCAAsCnE,CAAI,CAC3D,CACD,KAAK,UAAUqC,CAAG,EAAE,QAAU,GAC9B3K,EAAO,KAAKsI,CAAI,CACjB,EAAE,IAAI,EAEP,KAAK,UAAY,KACVtI,CACT,EAYA4L,EAAM,UAAU,WAAa,SAAUY,EAAMC,EAAe,CACrD,MAAM,QAAQD,CAAI,IAAKA,EAAO,CAACA,CAAI,GAExC,KAAK,UAAU,QAAQ,SAAUT,EAAM,CAAEA,EAAK,QAAU,GAAO,EAE/D,KAAK,OAAOS,EAAMC,CAAa,CACjC,EAcAb,EAAM,UAAU,QAAU,SAAUY,EAAMC,EAAe,CAClD,MAAM,QAAQD,CAAI,IAAKA,EAAO,CAACA,CAAI,GAExC,MAAMxM,EAAS,CAAE,EAGjB,OAAAwM,EAAK,QAAQ,SAAUlE,EAAM,CAC3B,MAAMqC,EAAM,KAAK,SAASrC,CAAI,EAE9B,GAAIqC,EAAM,EAAG,CACX,GAAI8B,EAAiB,OACrB,MAAM,IAAI,MAAM,oCAAsCnE,CAAI,CAC3D,CACD,KAAK,UAAUqC,CAAG,EAAE,QAAU,GAC9B3K,EAAO,KAAKsI,CAAI,CACjB,EAAE,IAAI,EAEP,KAAK,UAAY,KACVtI,CACT,EAWA4L,EAAM,UAAU,SAAW,SAAUc,EAAW,CAC9C,OAAI,KAAK,YAAc,MACrB,KAAK,YAAa,EAIb,KAAK,UAAUA,CAAS,GAAK,CAAE,CACxC,ECtUA,SAASC,EAAOhB,EAAMiB,EAAKC,EAAS,CAMlC,KAAK,KAAWlB,EAOhB,KAAK,IAAWiB,EAOhB,KAAK,MAAW,KAOhB,KAAK,IAAW,KAWhB,KAAK,QAAWC,EAOhB,KAAK,MAAW,EAOhB,KAAK,SAAW,KAQhB,KAAK,QAAW,GAOhB,KAAK,OAAW,GAWhB,KAAK,KAAW,GAOhB,KAAK,KAAW,KAQhB,KAAK,MAAW,GAQhB,KAAK,OAAW,EAClB,CAOAF,EAAM,UAAU,UAAY,SAAoBrE,EAAM,CACpD,GAAI,CAAC,KAAK,MAAS,MAAO,GAE1B,MAAMwE,EAAQ,KAAK,MAEnB,QAASnN,EAAI,EAAGyG,EAAM0G,EAAM,OAAQnN,EAAIyG,EAAKzG,IAC3C,GAAImN,EAAMnN,CAAC,EAAE,CAAC,IAAM2I,EAAQ,OAAO3I,EAErC,MAAO,EACT,EAOAgN,EAAM,UAAU,SAAW,SAAmBI,EAAU,CAClD,KAAK,MACP,KAAK,MAAM,KAAKA,CAAQ,EAExB,KAAK,MAAQ,CAACA,CAAQ,CAE1B,EAOAJ,EAAM,UAAU,QAAU,SAAkBrE,EAAM9B,EAAO,CACvD,MAAMmE,EAAM,KAAK,UAAUrC,CAAI,EACzByE,EAAW,CAACzE,EAAM9B,CAAK,EAEzBmE,EAAM,EACR,KAAK,SAASoC,CAAQ,EAEtB,KAAK,MAAMpC,CAAG,EAAIoC,CAEtB,EAOAJ,EAAM,UAAU,QAAU,SAAkBrE,EAAM,CAChD,MAAMqC,EAAM,KAAK,UAAUrC,CAAI,EAC/B,IAAI9B,EAAQ,KACZ,OAAImE,GAAO,IACTnE,EAAQ,KAAK,MAAMmE,CAAG,EAAE,CAAC,GAEpBnE,CACT,EAQAmG,EAAM,UAAU,SAAW,SAAmBrE,EAAM9B,EAAO,CACzD,MAAMmE,EAAM,KAAK,UAAUrC,CAAI,EAE3BqC,EAAM,EACR,KAAK,SAAS,CAACrC,EAAM9B,CAAK,CAAC,EAE3B,KAAK,MAAMmE,CAAG,EAAE,CAAC,EAAI,KAAK,MAAMA,CAAG,EAAE,CAAC,EAAI,IAAMnE,CAEpD,ECvLA,SAASwG,GAAWtF,EAAKuF,EAAIpC,EAAK,CAChC,KAAK,IAAMnD,EACX,KAAK,IAAMmD,EACX,KAAK,OAAS,CAAE,EAChB,KAAK,WAAa,GAClB,KAAK,GAAKoC,CACZ,CAGAD,GAAU,UAAU,MAAQL,ECX5B,MAAMO,GAAe,YACfC,GAAe,MAEN,SAASC,GAAWvD,EAAO,CACxC,IAAI3E,EAGJA,EAAM2E,EAAM,IAAI,QAAQqD,GAAa;AAAA,CAAI,EAGzChI,EAAMA,EAAI,QAAQiI,GAAS,GAAQ,EAEnCtD,EAAM,IAAM3E,CACd,CChBe,SAASmI,GAAOxD,EAAO,CACpC,IAAIkB,EAEAlB,EAAM,YACRkB,EAAiB,IAAIlB,EAAM,MAAM,SAAU,GAAI,CAAC,EAChDkB,EAAM,QAAWlB,EAAM,IACvBkB,EAAM,IAAW,CAAC,EAAG,CAAC,EACtBA,EAAM,SAAW,CAAE,EACnBlB,EAAM,OAAO,KAAKkB,CAAK,GAEvBlB,EAAM,GAAG,MAAM,MAAMA,EAAM,IAAKA,EAAM,GAAIA,EAAM,IAAKA,EAAM,MAAM,CAErE,CCZe,SAASyD,GAAQzD,EAAO,CACrC,MAAMa,EAASb,EAAM,OAGrB,QAASlK,EAAI,EAAGM,EAAIyK,EAAO,OAAQ/K,EAAIM,EAAGN,IAAK,CAC7C,MAAM4N,EAAM7C,EAAO/K,CAAC,EAChB4N,EAAI,OAAS,UACf1D,EAAM,GAAG,OAAO,MAAM0D,EAAI,QAAS1D,EAAM,GAAIA,EAAM,IAAK0D,EAAI,QAAQ,CAEvE,CACH,CCHA,SAASC,GAAYtI,EAAK,CACxB,MAAO,YAAY,KAAKA,CAAG,CAC7B,CACA,SAASuI,GAAavI,EAAK,CACzB,MAAO,aAAa,KAAKA,CAAG,CAC9B,CAEe,SAASwI,GAAS7D,EAAO,CACtC,MAAM8D,EAAc9D,EAAM,OAE1B,GAAKA,EAAM,GAAG,QAAQ,QAEtB,QAAS/G,EAAI,EAAG7C,EAAI0N,EAAY,OAAQ7K,EAAI7C,EAAG6C,IAAK,CAClD,GAAI6K,EAAY7K,CAAC,EAAE,OAAS,UACxB,CAAC+G,EAAM,GAAG,QAAQ,QAAQ8D,EAAY7K,CAAC,EAAE,OAAO,EAClD,SAGF,IAAI4H,EAASiD,EAAY7K,CAAC,EAAE,SAExB8K,EAAgB,EAIpB,QAAS,EAAIlD,EAAO,OAAS,EAAG,GAAK,EAAG,IAAK,CAC3C,MAAMmD,EAAenD,EAAO,CAAC,EAG7B,GAAImD,EAAa,OAAS,aAAc,CAEtC,IADA,IACOnD,EAAO,CAAC,EAAE,QAAUmD,EAAa,OAASnD,EAAO,CAAC,EAAE,OAAS,aAClE,IAEF,QACD,CAWD,GARImD,EAAa,OAAS,gBACpBL,GAAWK,EAAa,OAAO,GAAKD,EAAgB,GACtDA,IAEEH,GAAYI,EAAa,OAAO,GAClCD,KAGA,EAAAA,EAAgB,IAEhBC,EAAa,OAAS,QAAUhE,EAAM,GAAG,QAAQ,KAAKgE,EAAa,OAAO,EAAG,CAC/E,MAAMC,EAAOD,EAAa,QAC1B,IAAIE,EAAQlE,EAAM,GAAG,QAAQ,MAAMiE,CAAI,EAGvC,MAAME,EAAQ,CAAE,EAChB,IAAIjE,EAAQ8D,EAAa,MACrBI,EAAU,EAKVF,EAAM,OAAS,GACfA,EAAM,CAAC,EAAE,QAAU,GACnB,EAAI,GACJrD,EAAO,EAAI,CAAC,EAAE,OAAS,iBACzBqD,EAAQA,EAAM,MAAM,CAAC,GAGvB,QAASG,EAAK,EAAGA,EAAKH,EAAM,OAAQG,IAAM,CACxC,MAAMpN,EAAMiN,EAAMG,CAAE,EAAE,IAChBC,EAAUtE,EAAM,GAAG,cAAc/I,CAAG,EAC1C,GAAI,CAAC+I,EAAM,GAAG,aAAasE,CAAO,EAAK,SAEvC,IAAIC,EAAUL,EAAMG,CAAE,EAAE,KAMnBH,EAAMG,CAAE,EAAE,OAEJH,EAAMG,CAAE,EAAE,SAAW,WAAa,CAAC,YAAY,KAAKE,CAAO,EACpEA,EAAUvE,EAAM,GAAG,kBAAkB,UAAYuE,CAAO,EAAE,QAAQ,WAAY,EAAE,EAEhFA,EAAUvE,EAAM,GAAG,kBAAkBuE,CAAO,EAJ5CA,EAAUvE,EAAM,GAAG,kBAAkB,UAAYuE,CAAO,EAAE,QAAQ,aAAc,EAAE,EAOpF,MAAMzG,EAAMoG,EAAMG,CAAE,EAAE,MAEtB,GAAIvG,EAAMsG,EAAS,CACjB,MAAMlD,EAAU,IAAIlB,EAAM,MAAM,OAAQ,GAAI,CAAC,EAC7CkB,EAAM,QAAU+C,EAAK,MAAMG,EAAStG,CAAG,EACvCoD,EAAM,MAAUhB,EAChBiE,EAAM,KAAKjD,CAAK,CACjB,CAED,MAAMsD,EAAY,IAAIxE,EAAM,MAAM,YAAa,IAAK,CAAC,EACrDwE,EAAQ,MAAU,CAAC,CAAC,OAAQF,CAAO,CAAC,EACpCE,EAAQ,MAAUtE,IAClBsE,EAAQ,OAAU,UAClBA,EAAQ,KAAU,OAClBL,EAAM,KAAKK,CAAO,EAElB,MAAMC,EAAY,IAAIzE,EAAM,MAAM,OAAQ,GAAI,CAAC,EAC/CyE,EAAQ,QAAUF,EAClBE,EAAQ,MAAUvE,EAClBiE,EAAM,KAAKM,CAAO,EAElB,MAAMC,EAAY,IAAI1E,EAAM,MAAM,aAAc,IAAK,EAAE,EACvD0E,EAAQ,MAAU,EAAExE,EACpBwE,EAAQ,OAAU,UAClBA,EAAQ,KAAU,OAClBP,EAAM,KAAKO,CAAO,EAElBN,EAAUF,EAAMG,CAAE,EAAE,SACrB,CACD,GAAID,EAAUH,EAAK,OAAQ,CACzB,MAAM/C,EAAU,IAAIlB,EAAM,MAAM,OAAQ,GAAI,CAAC,EAC7CkB,EAAM,QAAU+C,EAAK,MAAMG,CAAO,EAClClD,EAAM,MAAUhB,EAChBiE,EAAM,KAAKjD,CAAK,CACjB,CAGD4C,EAAY7K,CAAC,EAAE,SAAW4H,EAASjD,GAAeiD,EAAQ,EAAGsD,CAAK,CACnE,CACF,CACF,CACH,CCtHA,MAAMQ,GAAU,+BAIVC,GAAsB,gBAEtBC,GAAiB,iBACjBC,GAAc,CAClB,EAAG,IACH,EAAG,IACH,GAAI,GACN,EAEA,SAASC,GAAWvG,EAAOC,EAAM,CAC/B,OAAOqG,GAAYrG,EAAK,aAAa,CACvC,CAEA,SAASuG,GAAgBC,EAAc,CACrC,IAAIC,EAAkB,EAEtB,QAASpP,EAAImP,EAAa,OAAS,EAAGnP,GAAK,EAAGA,IAAK,CACjD,MAAMoL,EAAQ+D,EAAanP,CAAC,EAExBoL,EAAM,OAAS,QAAU,CAACgE,IAC5BhE,EAAM,QAAUA,EAAM,QAAQ,QAAQ2D,GAAgBE,EAAS,GAG7D7D,EAAM,OAAS,aAAeA,EAAM,OAAS,QAC/CgE,IAGEhE,EAAM,OAAS,cAAgBA,EAAM,OAAS,QAChDgE,GAEH,CACH,CAEA,SAASC,GAAcF,EAAc,CACnC,IAAIC,EAAkB,EAEtB,QAASpP,EAAImP,EAAa,OAAS,EAAGnP,GAAK,EAAGA,IAAK,CACjD,MAAMoL,EAAQ+D,EAAanP,CAAC,EAExBoL,EAAM,OAAS,QAAU,CAACgE,GACxBP,GAAQ,KAAKzD,EAAM,OAAO,IAC5BA,EAAM,QAAUA,EAAM,QACnB,QAAQ,OAAQ,GAAG,EAGnB,QAAQ,UAAW,GAAG,EAAE,QAAQ,WAAY,MAAM,EAClD,QAAQ,cAAe,QAAQ,EAAE,QAAQ,SAAU,GAAG,EAEtD,QAAQ,0BAA2B,KAAU,EAE7C,QAAQ,qBAAsB,KAAU,EACxC,QAAQ,6BAA8B,KAAU,GAInDA,EAAM,OAAS,aAAeA,EAAM,OAAS,QAC/CgE,IAGEhE,EAAM,OAAS,cAAgBA,EAAM,OAAS,QAChDgE,GAEH,CACH,CAEe,SAASE,GAASpF,EAAO,CACtC,IAAIqF,EAEJ,GAAKrF,EAAM,GAAG,QAAQ,YAEtB,IAAKqF,EAASrF,EAAM,OAAO,OAAS,EAAGqF,GAAU,EAAGA,IAC9CrF,EAAM,OAAOqF,CAAM,EAAE,OAAS,WAE9BT,GAAoB,KAAK5E,EAAM,OAAOqF,CAAM,EAAE,OAAO,GACvDL,GAAehF,EAAM,OAAOqF,CAAM,EAAE,QAAQ,EAG1CV,GAAQ,KAAK3E,EAAM,OAAOqF,CAAM,EAAE,OAAO,GAC3CF,GAAanF,EAAM,OAAOqF,CAAM,EAAE,QAAQ,EAGhD,CC/FA,MAAMC,GAAgB,OAChBC,GAAW,QACXC,GAAa,IAEnB,SAASC,GAAWpK,EAAKiH,EAAOvM,EAAI,CAClC,OAAOsF,EAAI,MAAM,EAAGiH,CAAK,EAAIvM,EAAKsF,EAAI,MAAMiH,EAAQ,CAAC,CACvD,CAEA,SAASoD,GAAiB7E,EAAQb,EAAO,CACvC,IAAI/G,EAEJ,MAAM0M,EAAQ,CAAE,EAEhB,QAAS7P,EAAI,EAAGA,EAAI+K,EAAO,OAAQ/K,IAAK,CACtC,MAAMoL,EAAQL,EAAO/K,CAAC,EAEhB8P,EAAY/E,EAAO/K,CAAC,EAAE,MAE5B,IAAKmD,EAAI0M,EAAM,OAAS,EAAG1M,GAAK,GAC1B,EAAA0M,EAAM1M,CAAC,EAAE,OAAS2M,GADW3M,IACjC,CAIF,GAFA0M,EAAM,OAAS1M,EAAI,EAEfiI,EAAM,OAAS,OAAU,SAE7B,IAAI+C,EAAO/C,EAAM,QACbpD,EAAM,EACNwC,EAAM2D,EAAK,OAGf4B,EACA,KAAO/H,EAAMwC,GAAK,CAChBiF,GAAS,UAAYzH,EACrB,MAAMgI,EAAIP,GAAS,KAAKtB,CAAI,EAC5B,GAAI,CAAC6B,EAAK,MAEV,IAAIC,EAAU,GACVC,EAAW,GACflI,EAAMgI,EAAE,MAAQ,EAChB,MAAMG,EAAYH,EAAE,CAAC,IAAM,IAK3B,IAAII,EAAW,GAEf,GAAIJ,EAAE,MAAQ,GAAK,EACjBI,EAAWjC,EAAK,WAAW6B,EAAE,MAAQ,CAAC,MAEtC,KAAK7M,EAAInD,EAAI,EAAGmD,GAAK,GACf,EAAA4H,EAAO5H,CAAC,EAAE,OAAS,aAAe4H,EAAO5H,CAAC,EAAE,OAAS,aADnCA,IAEtB,GAAK4H,EAAO5H,CAAC,EAAE,QAEf,CAAAiN,EAAWrF,EAAO5H,CAAC,EAAE,QAAQ,WAAW4H,EAAO5H,CAAC,EAAE,QAAQ,OAAS,CAAC,EACpE,MAOJ,IAAIkN,EAAW,GAEf,GAAIrI,EAAMwC,EACR6F,EAAWlC,EAAK,WAAWnG,CAAG,MAE9B,KAAK7E,EAAInD,EAAI,EAAGmD,EAAI4H,EAAO,QACrB,EAAAA,EAAO5H,CAAC,EAAE,OAAS,aAAe4H,EAAO5H,CAAC,EAAE,OAAS,aADxBA,IAEjC,GAAK4H,EAAO5H,CAAC,EAAE,QAEf,CAAAkN,EAAWtF,EAAO5H,CAAC,EAAE,QAAQ,WAAW,CAAC,EACzC,MAIJ,MAAMmN,EAAkB1G,GAAewG,CAAQ,GAAK1G,GAAY,OAAO,aAAa0G,CAAQ,CAAC,EACvFG,EAAkB3G,GAAeyG,CAAQ,GAAK3G,GAAY,OAAO,aAAa2G,CAAQ,CAAC,EAEvFG,EAAmB/G,GAAa2G,CAAQ,EACxCK,EAAmBhH,GAAa4G,CAAQ,EAqC9C,GAnCII,EACFR,EAAU,GACDM,IACHC,GAAoBF,IACxBL,EAAU,KAIVO,EACFN,EAAW,GACFI,IACHG,GAAoBF,IACxBL,EAAW,KAIXG,IAAa,IAAgBL,EAAE,CAAC,IAAM,KACpCI,GAAY,IAAgBA,GAAY,KAE1CF,EAAWD,EAAU,IAIrBA,GAAWC,IAQbD,EAAUK,EACVJ,EAAWK,GAGT,CAACN,GAAW,CAACC,EAAU,CAErBC,IACF/E,EAAM,QAAUuE,GAAUvE,EAAM,QAAS4E,EAAE,MAAON,EAAU,GAE9D,QACD,CAED,GAAIQ,EAEF,IAAK/M,EAAI0M,EAAM,OAAS,EAAG1M,GAAK,EAAGA,IAAK,CACtC,IAAIuN,EAAOb,EAAM1M,CAAC,EAClB,GAAI0M,EAAM1M,CAAC,EAAE,MAAQ2M,EAAa,MAClC,GAAIY,EAAK,SAAWP,GAAYN,EAAM1M,CAAC,EAAE,QAAU2M,EAAW,CAC5DY,EAAOb,EAAM1M,CAAC,EAEd,IAAIwN,EACAC,EACAT,GACFQ,EAAYzG,EAAM,GAAG,QAAQ,OAAO,CAAC,EACrC0G,EAAa1G,EAAM,GAAG,QAAQ,OAAO,CAAC,IAEtCyG,EAAYzG,EAAM,GAAG,QAAQ,OAAO,CAAC,EACrC0G,EAAa1G,EAAM,GAAG,QAAQ,OAAO,CAAC,GAMxCkB,EAAM,QAAUuE,GAAUvE,EAAM,QAAS4E,EAAE,MAAOY,CAAU,EAC5D7F,EAAO2F,EAAK,KAAK,EAAE,QAAUf,GAC3B5E,EAAO2F,EAAK,KAAK,EAAE,QAASA,EAAK,IAAKC,CAAS,EAEjD3I,GAAO4I,EAAW,OAAS,EACvBF,EAAK,QAAU1Q,IAAKgI,GAAO2I,EAAU,OAAS,GAElDxC,EAAO/C,EAAM,QACbZ,EAAM2D,EAAK,OAEX0B,EAAM,OAAS1M,EACf,SAAS4M,CACV,CACF,CAGCE,EACFJ,EAAM,KAAK,CACT,MAAO7P,EACP,IAAKgQ,EAAE,MACP,OAAQG,EACR,MAAOL,CACjB,CAAS,EACQI,GAAYC,IACrB/E,EAAM,QAAUuE,GAAUvE,EAAM,QAAS4E,EAAE,MAAON,EAAU,EAE/D,CACF,CACH,CAEe,SAASmB,GAAa3G,EAAO,CAE1C,GAAKA,EAAM,GAAG,QAAQ,YAEtB,QAASqF,EAASrF,EAAM,OAAO,OAAS,EAAGqF,GAAU,EAAGA,IAClDrF,EAAM,OAAOqF,CAAM,EAAE,OAAS,UAC9B,CAACC,GAAc,KAAKtF,EAAM,OAAOqF,CAAM,EAAE,OAAO,GAIpDK,GAAgB1F,EAAM,OAAOqF,CAAM,EAAE,SAAUrF,CAAK,CAExD,CCxLe,SAAS4G,GAAW5G,EAAO,CACxC,IAAI6G,EAAMC,EACV,MAAMhD,EAAc9D,EAAM,OACpB5J,EAAI0N,EAAY,OAEtB,QAAS7K,EAAI,EAAGA,EAAI7C,EAAG6C,IAAK,CAC1B,GAAI6K,EAAY7K,CAAC,EAAE,OAAS,SAAU,SAEtC,MAAM4H,EAASiD,EAAY7K,CAAC,EAAE,SACxBqH,EAAMO,EAAO,OAEnB,IAAKgG,EAAO,EAAGA,EAAOvG,EAAKuG,IACrBhG,EAAOgG,CAAI,EAAE,OAAS,iBACxBhG,EAAOgG,CAAI,EAAE,KAAO,QAIxB,IAAKA,EAAOC,EAAO,EAAGD,EAAOvG,EAAKuG,IAC5BhG,EAAOgG,CAAI,EAAE,OAAS,QACtBA,EAAO,EAAIvG,GACXO,EAAOgG,EAAO,CAAC,EAAE,OAAS,OAE5BhG,EAAOgG,EAAO,CAAC,EAAE,QAAUhG,EAAOgG,CAAI,EAAE,QAAUhG,EAAOgG,EAAO,CAAC,EAAE,SAE/DA,IAASC,IAAQjG,EAAOiG,CAAI,EAAIjG,EAAOgG,CAAI,GAE/CC,KAIAD,IAASC,IACXjG,EAAO,OAASiG,EAEnB,CACH,CCxBA,MAAMC,GAAS,CACb,CAAC,YAAkBC,EAAW,EAC9B,CAAC,QAAkBC,EAAO,EAC1B,CAAC,SAAkBC,EAAQ,EAC3B,CAAC,UAAkBC,EAAS,EAC5B,CAAC,eAAkBC,EAAc,EACjC,CAAC,cAAkBC,EAAa,EAGhC,CAAC,YAAkBC,EAAW,CAChC,EAKA,SAASC,IAAQ,CAMf,KAAK,MAAQ,IAAIxF,EAEjB,QAASjM,EAAI,EAAGA,EAAIiR,GAAO,OAAQjR,IACjC,KAAK,MAAM,KAAKiR,GAAOjR,CAAC,EAAE,CAAC,EAAGiR,GAAOjR,CAAC,EAAE,CAAC,CAAC,CAE9C,CAOAyR,GAAK,UAAU,QAAU,SAAUvH,EAAO,CACxC,MAAM6B,EAAQ,KAAK,MAAM,SAAS,EAAE,EAEpC,QAAS/L,EAAI,EAAGM,EAAIyL,EAAM,OAAQ/L,EAAIM,EAAGN,IACvC+L,EAAM/L,CAAC,EAAEkK,CAAK,CAElB,EAEAuH,GAAK,UAAU,MAAQpE,GCtDvB,SAASqE,EAAY3J,EAAKuF,EAAIpC,EAAKH,EAAQ,CACzC,KAAK,IAAMhD,EAGX,KAAK,GAASuF,EAEd,KAAK,IAAMpC,EAMX,KAAK,OAASH,EAEd,KAAK,OAAS,CAAE,EAChB,KAAK,OAAS,CAAE,EAChB,KAAK,OAAS,CAAE,EAChB,KAAK,OAAS,CAAE,EAYhB,KAAK,QAAU,CAAE,EAMjB,KAAK,UAAa,EAClB,KAAK,KAAa,EAClB,KAAK,QAAa,EAClB,KAAK,MAAa,GAClB,KAAK,SAAa,GAClB,KAAK,WAAa,GAIlB,KAAK,WAAa,OAElB,KAAK,MAAQ,EAIb,MAAM4G,EAAI,KAAK,IAEf,QAASlM,EAAQ,EAAGuC,EAAM,EAAG4J,EAAS,EAAGpM,EAAS,EAAGiB,EAAMkL,EAAE,OAAQE,EAAe,GAAO7J,EAAMvB,EAAKuB,IAAO,CAC3G,MAAM/H,EAAK0R,EAAE,WAAW3J,CAAG,EAE3B,GAAI,CAAC6J,EACH,GAAIrI,EAAQvJ,CAAE,EAAG,CACf2R,IAEI3R,IAAO,EACTuF,GAAU,EAAIA,EAAS,EAEvBA,IAEF,QACR,MACQqM,EAAe,IAIf5R,IAAO,IAAQ+H,IAAQvB,EAAM,KAC3BxG,IAAO,IAAQ+H,IACnB,KAAK,OAAO,KAAKvC,CAAK,EACtB,KAAK,OAAO,KAAKuC,CAAG,EACpB,KAAK,OAAO,KAAK4J,CAAM,EACvB,KAAK,OAAO,KAAKpM,CAAM,EACvB,KAAK,QAAQ,KAAK,CAAC,EAEnBqM,EAAe,GACfD,EAAS,EACTpM,EAAS,EACTC,EAAQuC,EAAM,EAEjB,CAGD,KAAK,OAAO,KAAK2J,EAAE,MAAM,EACzB,KAAK,OAAO,KAAKA,EAAE,MAAM,EACzB,KAAK,OAAO,KAAK,CAAC,EAClB,KAAK,OAAO,KAAK,CAAC,EAClB,KAAK,QAAQ,KAAK,CAAC,EAEnB,KAAK,QAAU,KAAK,OAAO,OAAS,CACtC,CAIAD,EAAW,UAAU,KAAO,SAAU1F,EAAMiB,EAAKC,EAAS,CACxD,MAAM9B,EAAQ,IAAI4B,EAAMhB,EAAMiB,EAAKC,CAAO,EAC1C,OAAA9B,EAAM,MAAQ,GAEV8B,EAAU,GAAG,KAAK,QACtB9B,EAAM,MAAQ,KAAK,MACf8B,EAAU,GAAG,KAAK,QAEtB,KAAK,OAAO,KAAK9B,CAAK,EACfA,CACT,EAEAsG,EAAW,UAAU,QAAU,SAAkBI,EAAM,CACrD,OAAO,KAAK,OAAOA,CAAI,EAAI,KAAK,OAAOA,CAAI,GAAK,KAAK,OAAOA,CAAI,CAClE,EAEAJ,EAAW,UAAU,eAAiB,SAAyBK,EAAM,CACnE,QAASvH,EAAM,KAAK,QAASuH,EAAOvH,GAC9B,OAAK,OAAOuH,CAAI,EAAI,KAAK,OAAOA,CAAI,EAAI,KAAK,OAAOA,CAAI,GADrBA,IACvC,CAIF,OAAOA,CACT,EAGAL,EAAW,UAAU,WAAa,SAAqB1J,EAAK,CAC1D,QAASwC,EAAM,KAAK,IAAI,OAAQxC,EAAMwC,EAAKxC,IAAO,CAChD,MAAM/H,EAAK,KAAK,IAAI,WAAW+H,CAAG,EAClC,GAAI,CAACwB,EAAQvJ,CAAE,EAAK,KACrB,CACD,OAAO+H,CACT,EAGA0J,EAAW,UAAU,eAAiB,SAAyB1J,EAAKgK,EAAK,CACvE,GAAIhK,GAAOgK,EAAO,OAAOhK,EAEzB,KAAOA,EAAMgK,GACX,GAAI,CAACxI,EAAQ,KAAK,IAAI,WAAW,EAAExB,CAAG,CAAC,EAAK,OAAOA,EAAM,EAE3D,OAAOA,CACT,EAGA0J,EAAW,UAAU,UAAY,SAAoB1J,EAAKhH,EAAM,CAC9D,QAASwJ,EAAM,KAAK,IAAI,OAAQxC,EAAMwC,GAChC,KAAK,IAAI,WAAWxC,CAAG,IAAMhH,EADQgH,IACzC,CAEF,OAAOA,CACT,EAGA0J,EAAW,UAAU,cAAgB,SAAwB1J,EAAKhH,EAAMgR,EAAK,CAC3E,GAAIhK,GAAOgK,EAAO,OAAOhK,EAEzB,KAAOA,EAAMgK,GACX,GAAIhR,IAAS,KAAK,IAAI,WAAW,EAAEgH,CAAG,EAAK,OAAOA,EAAM,EAE1D,OAAOA,CACT,EAGA0J,EAAW,UAAU,SAAW,SAAmBO,EAAOvM,EAAKkM,EAAQM,EAAY,CACjF,GAAID,GAASvM,EACX,MAAO,GAGT,MAAMyM,EAAQ,IAAI,MAAMzM,EAAMuM,CAAK,EAEnC,QAAS,EAAI,EAAGH,EAAOG,EAAOH,EAAOpM,EAAKoM,IAAQ,IAAK,CACrD,IAAIM,EAAa,EACjB,MAAMC,EAAY,KAAK,OAAOP,CAAI,EAClC,IAAIQ,EAAQD,EACRrB,EASJ,IAPIc,EAAO,EAAIpM,GAAOwM,EAEpBlB,EAAO,KAAK,OAAOc,CAAI,EAAI,EAE3Bd,EAAO,KAAK,OAAOc,CAAI,EAGlBQ,EAAQtB,GAAQoB,EAAaR,GAAQ,CAC1C,MAAM3R,EAAK,KAAK,IAAI,WAAWqS,CAAK,EAEpC,GAAI9I,EAAQvJ,CAAE,EACRA,IAAO,EACTmS,GAAc,GAAKA,EAAa,KAAK,QAAQN,CAAI,GAAK,EAEtDM,YAEOE,EAAQD,EAAY,KAAK,OAAOP,CAAI,EAE7CM,QAEA,OAGFE,GACD,CAEGF,EAAaR,EAGfO,EAAM,CAAC,EAAI,IAAI,MAAMC,EAAaR,EAAS,CAAC,EAAE,KAAK,GAAG,EAAI,KAAK,IAAI,MAAMU,EAAOtB,CAAI,EAEpFmB,EAAM,CAAC,EAAI,KAAK,IAAI,MAAMG,EAAOtB,CAAI,CAExC,CAED,OAAOmB,EAAM,KAAK,EAAE,CACtB,EAGAT,EAAW,UAAU,MAAQ1E,ECrN7B,SAASuF,GAASrI,EAAO4H,EAAM,CAC7B,MAAM9J,EAAMkC,EAAM,OAAO4H,CAAI,EAAI5H,EAAM,OAAO4H,CAAI,EAC5CtH,EAAMN,EAAM,OAAO4H,CAAI,EAE7B,OAAO5H,EAAM,IAAI,MAAMlC,EAAKwC,CAAG,CACjC,CAEA,SAASgI,GAAcjN,EAAK,CAC1B,MAAMlF,EAAS,CAAE,EACXmK,EAAMjF,EAAI,OAEhB,IAAIyC,EAAM,EACN/H,EAAKsF,EAAI,WAAWyC,CAAG,EACvByK,EAAY,GACZnE,EAAU,EACVrI,EAAU,GAEd,KAAO+B,EAAMwC,GACPvK,IAAO,MACJwS,GAOHxM,GAAWV,EAAI,UAAU+I,EAAStG,EAAM,CAAC,EACzCsG,EAAUtG,IANV3H,EAAO,KAAK4F,EAAUV,EAAI,UAAU+I,EAAStG,CAAG,CAAC,EACjD/B,EAAU,GACVqI,EAAUtG,EAAM,IAQpByK,EAAaxS,IAAO,GACpB+H,IAEA/H,EAAKsF,EAAI,WAAWyC,CAAG,EAGzB,OAAA3H,EAAO,KAAK4F,EAAUV,EAAI,UAAU+I,CAAO,CAAC,EAErCjO,CACT,CAEe,SAASqS,GAAOxI,EAAOyI,EAAWC,EAASC,EAAQ,CAEhE,GAAIF,EAAY,EAAIC,EAAW,MAAO,GAEtC,IAAIE,EAAWH,EAAY,EAK3B,GAHIzI,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAG/BA,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAAa,EAAK,MAAO,GAM5D,IAAIlC,EAAMkC,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,EACxD,GAAI9K,GAAOkC,EAAM,OAAO4I,CAAQ,EAAK,MAAO,GAE5C,MAAMC,EAAU7I,EAAM,IAAI,WAAWlC,GAAK,EAG1C,GAFI+K,IAAY,KAAeA,IAAY,IAAeA,IAAY,IAElE/K,GAAOkC,EAAM,OAAO4I,CAAQ,EAAK,MAAO,GAE5C,MAAME,EAAW9I,EAAM,IAAI,WAAWlC,GAAK,EAO3C,GANIgL,IAAa,KAAeA,IAAa,IAAeA,IAAa,IAAe,CAACxJ,EAAQwJ,CAAQ,GAMrGD,IAAY,IAAevJ,EAAQwJ,CAAQ,EAAK,MAAO,GAE3D,KAAOhL,EAAMkC,EAAM,OAAO4I,CAAQ,GAAG,CACnC,MAAM7S,EAAKiK,EAAM,IAAI,WAAWlC,CAAG,EAEnC,GAAI/H,IAAO,KAAeA,IAAO,IAAeA,IAAO,IAAe,CAACuJ,EAAQvJ,CAAE,EAAK,MAAO,GAE7F+H,GACD,CAED,IAAIiL,EAAWV,GAAQrI,EAAOyI,EAAY,CAAC,EACvCO,EAAUD,EAAS,MAAM,GAAG,EAChC,MAAME,EAAS,CAAE,EACjB,QAASnT,EAAI,EAAGA,EAAIkT,EAAQ,OAAQlT,IAAK,CACvC,MAAMgQ,EAAIkD,EAAQlT,CAAC,EAAE,KAAM,EAC3B,GAAI,CAACgQ,EAAG,CAGN,GAAIhQ,IAAM,GAAKA,IAAMkT,EAAQ,OAAS,EACpC,SAEA,MAAO,EAEV,CAED,GAAI,CAAC,WAAW,KAAKlD,CAAC,EAAK,MAAO,GAC9BA,EAAE,WAAWA,EAAE,OAAS,CAAC,IAAM,GACjCmD,EAAO,KAAKnD,EAAE,WAAW,CAAC,IAAM,GAAc,SAAW,OAAO,EACvDA,EAAE,WAAW,CAAC,IAAM,GAC7BmD,EAAO,KAAK,MAAM,EAElBA,EAAO,KAAK,EAAE,CAEjB,CAID,GAFAF,EAAWV,GAAQrI,EAAOyI,CAAS,EAAE,KAAM,EACvCM,EAAS,QAAQ,GAAG,IAAM,IAC1B/I,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,EAAK,MAAO,GAC7DgJ,EAAUV,GAAaS,CAAQ,EAC3BC,EAAQ,QAAUA,EAAQ,CAAC,IAAM,IAAIA,EAAQ,MAAO,EACpDA,EAAQ,QAAUA,EAAQA,EAAQ,OAAS,CAAC,IAAM,IAAIA,EAAQ,IAAK,EAIvE,MAAME,EAAcF,EAAQ,OAC5B,GAAIE,IAAgB,GAAKA,IAAgBD,EAAO,OAAU,MAAO,GAEjE,GAAIN,EAAU,MAAO,GAErB,MAAMQ,EAAgBnJ,EAAM,WAC5BA,EAAM,WAAa,QAInB,MAAMoJ,EAAkBpJ,EAAM,GAAG,MAAM,MAAM,SAAS,YAAY,EAE5DqJ,EAAWrJ,EAAM,KAAK,aAAc,QAAS,CAAC,EAC9CsJ,EAAa,CAACb,EAAW,CAAC,EAChCY,EAAS,IAAMC,EAEf,MAAMC,EAAYvJ,EAAM,KAAK,aAAc,QAAS,CAAC,EACrDuJ,EAAU,IAAM,CAACd,EAAWA,EAAY,CAAC,EAEzC,MAAMe,EAAaxJ,EAAM,KAAK,UAAW,KAAM,CAAC,EAChDwJ,EAAW,IAAM,CAACf,EAAWA,EAAY,CAAC,EAE1C,QAAS3S,EAAI,EAAGA,EAAIkT,EAAQ,OAAQlT,IAAK,CACvC,MAAM2T,EAAWzJ,EAAM,KAAK,UAAW,KAAM,CAAC,EAC1CiJ,EAAOnT,CAAC,IACV2T,EAAS,MAAS,CAAC,CAAC,QAAS,cAAgBR,EAAOnT,CAAC,CAAC,CAAC,GAGzD,MAAM4T,EAAW1J,EAAM,KAAK,SAAU,GAAI,CAAC,EAC3C0J,EAAS,QAAWV,EAAQlT,CAAC,EAAE,KAAM,EACrC4T,EAAS,SAAW,CAAE,EAEtB1J,EAAM,KAAK,WAAY,KAAM,EAAE,CAChC,CAEDA,EAAM,KAAK,WAAY,KAAM,EAAE,EAC/BA,EAAM,KAAK,cAAe,QAAS,EAAE,EAErC,IAAI2J,EAEJ,IAAKf,EAAWH,EAAY,EAAGG,EAAWF,GACpC,EAAA1I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WADc4I,IAAY,CAG7D,IAAIgB,EAAY,GAChB,QAAS9T,EAAI,EAAGM,EAAIgT,EAAgB,OAAQtT,EAAIM,EAAGN,IACjD,GAAIsT,EAAgBtT,CAAC,EAAEkK,EAAO4I,EAAUF,EAAS,EAAI,EAAG,CACtDkB,EAAY,GACZ,KACD,CAMH,GAHIA,IACJb,EAAWV,GAAQrI,EAAO4I,CAAQ,EAAE,KAAM,EACtC,CAACG,IACD/I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAAa,EAAK,MAKrD,GAJAgJ,EAAUV,GAAaS,CAAQ,EAC3BC,EAAQ,QAAUA,EAAQ,CAAC,IAAM,IAAIA,EAAQ,MAAO,EACpDA,EAAQ,QAAUA,EAAQA,EAAQ,OAAS,CAAC,IAAM,IAAIA,EAAQ,IAAK,EAEnEJ,IAAaH,EAAY,EAAG,CAC9B,MAAMoB,EAAY7J,EAAM,KAAK,aAAc,QAAS,CAAC,EACrD6J,EAAU,IAAMF,EAAa,CAAClB,EAAY,EAAG,CAAC,CAC/C,CAED,MAAMqB,EAAY9J,EAAM,KAAK,UAAW,KAAM,CAAC,EAC/C8J,EAAU,IAAM,CAAClB,EAAUA,EAAW,CAAC,EAEvC,QAAS9S,EAAI,EAAGA,EAAIoT,EAAapT,IAAK,CACpC,MAAMiU,EAAY/J,EAAM,KAAK,UAAW,KAAM,CAAC,EAC3CiJ,EAAOnT,CAAC,IACViU,EAAU,MAAS,CAAC,CAAC,QAAS,cAAgBd,EAAOnT,CAAC,CAAC,CAAC,GAG1D,MAAM4T,EAAW1J,EAAM,KAAK,SAAU,GAAI,CAAC,EAC3C0J,EAAS,QAAWV,EAAQlT,CAAC,EAAIkT,EAAQlT,CAAC,EAAE,KAAI,EAAK,GACrD4T,EAAS,SAAW,CAAE,EAEtB1J,EAAM,KAAK,WAAY,KAAM,EAAE,CAChC,CACDA,EAAM,KAAK,WAAY,KAAM,EAAE,CAChC,CAED,OAAI2J,IACF3J,EAAM,KAAK,cAAe,QAAS,EAAE,EACrC2J,EAAW,CAAC,EAAIf,GAGlB5I,EAAM,KAAK,cAAe,QAAS,EAAE,EACrCsJ,EAAW,CAAC,EAAIV,EAEhB5I,EAAM,WAAamJ,EACnBnJ,EAAM,KAAO4I,EACN,EACT,CCnNe,SAAS9R,GAAMkJ,EAAOyI,EAAWC,EAAsB,CACpE,GAAI1I,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,UAAY,EAAK,MAAO,GAE5D,IAAI4I,EAAWH,EAAY,EACvB3B,EAAO8B,EAEX,KAAOA,EAAWF,GAAS,CACzB,GAAI1I,EAAM,QAAQ4I,CAAQ,EAAG,CAC3BA,IACA,QACD,CAED,GAAI5I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAAa,EAAG,CACjD4I,IACA9B,EAAO8B,EACP,QACD,CACD,KACD,CAED5I,EAAM,KAAO8G,EAEb,MAAM5F,EAAUlB,EAAM,KAAK,aAAc,OAAQ,CAAC,EAClD,OAAAkB,EAAM,QAAUlB,EAAM,SAASyI,EAAW3B,EAAM,EAAI9G,EAAM,UAAW,EAAK,EAAI;AAAA,EAC9EkB,EAAM,IAAU,CAACuH,EAAWzI,EAAM,IAAI,EAE/B,EACT,CC3Be,SAASgK,GAAOhK,EAAOyI,EAAWC,EAASC,EAAQ,CAChE,IAAI7K,EAAMkC,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EACtDnI,EAAMN,EAAM,OAAOyI,CAAS,EAKhC,GAFIzI,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,GAE7ClC,EAAM,EAAIwC,EAAO,MAAO,GAE5B,MAAMF,EAASJ,EAAM,IAAI,WAAWlC,CAAG,EAEvC,GAAIsC,IAAW,KAAeA,IAAW,GACvC,MAAO,GAIT,IAAI6J,EAAMnM,EACVA,EAAMkC,EAAM,UAAUlC,EAAKsC,CAAM,EAEjC,IAAI7D,EAAMuB,EAAMmM,EAEhB,GAAI1N,EAAM,EAAK,MAAO,GAEtB,MAAM2N,EAASlK,EAAM,IAAI,MAAMiK,EAAKnM,CAAG,EACjCqM,EAASnK,EAAM,IAAI,MAAMlC,EAAKwC,CAAG,EAEvC,GAAIF,IAAW,IACT+J,EAAO,QAAQ,OAAO,aAAa/J,CAAM,CAAC,GAAK,EACjD,MAAO,GAKX,GAAIuI,EAAU,MAAO,GAGrB,IAAIC,EAAWH,EACX2B,EAAgB,GAEpB,KACExB,IACI,EAAAA,GAAYF,IAMhB5K,EAAMmM,EAAMjK,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,EAC1DtI,EAAMN,EAAM,OAAO4I,CAAQ,EAEvB9K,EAAMwC,GAAON,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,aAOhD,GAAIA,EAAM,IAAI,WAAWlC,CAAG,IAAMsC,GAE9B,EAAAJ,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAAa,KAKhDlC,EAAMkC,EAAM,UAAUlC,EAAKsC,CAAM,EAG7B,EAAAtC,EAAMmM,EAAM1N,KAGhBuB,EAAMkC,EAAM,WAAWlC,CAAG,EAEtB,EAAAA,EAAMwC,KAEV,CAAA8J,EAAgB,GAEhB,MAIF7N,EAAMyD,EAAM,OAAOyI,CAAS,EAE5BzI,EAAM,KAAO4I,GAAYwB,EAAgB,EAAI,GAE7C,MAAMlJ,EAAUlB,EAAM,KAAK,QAAS,OAAQ,CAAC,EAC7C,OAAAkB,EAAM,KAAUiJ,EAChBjJ,EAAM,QAAUlB,EAAM,SAASyI,EAAY,EAAGG,EAAUrM,EAAK,EAAI,EACjE2E,EAAM,OAAUgJ,EAChBhJ,EAAM,IAAU,CAACuH,EAAWzI,EAAM,IAAI,EAE/B,EACT,CCzFe,SAASqK,GAAYrK,EAAOyI,EAAWC,EAASC,EAAQ,CACrE,IAAI7K,EAAMkC,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EACtDnI,EAAMN,EAAM,OAAOyI,CAAS,EAEhC,MAAM6B,EAAatK,EAAM,QAMzB,GAHIA,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,GAG7CA,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAAe,MAAO,GAIxD,GAAI6K,EAAU,MAAO,GAErB,MAAM4B,EAAa,CAAE,EACfC,EAAa,CAAE,EACfC,EAAa,CAAE,EACfC,EAAa,CAAE,EAEftB,EAAkBpJ,EAAM,GAAG,MAAM,MAAM,SAAS,YAAY,EAE5DmJ,EAAgBnJ,EAAM,WAC5BA,EAAM,WAAa,aACnB,IAAI2K,EAAgB,GAChB/B,EAoBJ,IAAKA,EAAWH,EAAWG,EAAWF,EAASE,IAAY,CASzD,MAAMgC,EAAc5K,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,UAKnD,GAHAlC,EAAMkC,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,EACpDtI,EAAMN,EAAM,OAAO4I,CAAQ,EAEvB9K,GAAOwC,EAET,MAGF,GAAIN,EAAM,IAAI,WAAWlC,GAAK,IAAM,IAAe,CAAC8M,EAAa,CAI/D,IAAIC,EAAU7K,EAAM,OAAO4I,CAAQ,EAAI,EACnCkC,EACAC,EAGA/K,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAGhCA,IACA+M,IACAE,EAAY,GACZD,EAAmB,IACV9K,EAAM,IAAI,WAAWlC,CAAG,IAAM,GACvCgN,EAAmB,IAEd9K,EAAM,QAAQ4I,CAAQ,EAAIiC,GAAW,IAAM,GAG9C/M,IACA+M,IACAE,EAAY,IAKZA,EAAY,IAGdD,EAAmB,GAGrB,IAAIxP,EAASuP,EAIb,IAHAN,EAAU,KAAKvK,EAAM,OAAO4I,CAAQ,CAAC,EACrC5I,EAAM,OAAO4I,CAAQ,EAAI9K,EAElBA,EAAMwC,GAAK,CAChB,MAAMvK,EAAKiK,EAAM,IAAI,WAAWlC,CAAG,EAEnC,GAAIwB,EAAQvJ,CAAE,EACRA,IAAO,EACTuF,GAAU,GAAKA,EAAS0E,EAAM,QAAQ4I,CAAQ,GAAKmC,EAAY,EAAI,IAAM,EAEzEzP,QAGF,OAGFwC,GACD,CAED6M,EAAgB7M,GAAOwC,EAEvBkK,EAAW,KAAKxK,EAAM,QAAQ4I,CAAQ,CAAC,EACvC5I,EAAM,QAAQ4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,EAAI,GAAKkC,EAAmB,EAAI,GAE/EL,EAAU,KAAKzK,EAAM,OAAO4I,CAAQ,CAAC,EACrC5I,EAAM,OAAO4I,CAAQ,EAAItN,EAASuP,EAElCH,EAAU,KAAK1K,EAAM,OAAO4I,CAAQ,CAAC,EACrC5I,EAAM,OAAO4I,CAAQ,EAAI9K,EAAMkC,EAAM,OAAO4I,CAAQ,EACpD,QACD,CAGD,GAAI+B,EAAiB,MAGrB,IAAIf,EAAY,GAChB,QAAS9T,EAAI,EAAGM,EAAIgT,EAAgB,OAAQtT,EAAIM,EAAGN,IACjD,GAAIsT,EAAgBtT,CAAC,EAAEkK,EAAO4I,EAAUF,EAAS,EAAI,EAAG,CACtDkB,EAAY,GACZ,KACD,CAGH,GAAIA,EAAW,CAKb5J,EAAM,QAAU4I,EAEZ5I,EAAM,YAAc,IAItBuK,EAAU,KAAKvK,EAAM,OAAO4I,CAAQ,CAAC,EACrC4B,EAAW,KAAKxK,EAAM,QAAQ4I,CAAQ,CAAC,EACvC8B,EAAU,KAAK1K,EAAM,OAAO4I,CAAQ,CAAC,EACrC6B,EAAU,KAAKzK,EAAM,OAAO4I,CAAQ,CAAC,EACrC5I,EAAM,OAAO4I,CAAQ,GAAK5I,EAAM,WAGlC,KACD,CAEDuK,EAAU,KAAKvK,EAAM,OAAO4I,CAAQ,CAAC,EACrC4B,EAAW,KAAKxK,EAAM,QAAQ4I,CAAQ,CAAC,EACvC8B,EAAU,KAAK1K,EAAM,OAAO4I,CAAQ,CAAC,EACrC6B,EAAU,KAAKzK,EAAM,OAAO4I,CAAQ,CAAC,EAIrC5I,EAAM,OAAO4I,CAAQ,EAAI,EAC1B,CAED,MAAMoC,EAAYhL,EAAM,UACxBA,EAAM,UAAY,EAElB,MAAMwE,EAAWxE,EAAM,KAAK,kBAAmB,aAAc,CAAC,EAC9DwE,EAAQ,OAAS,IACjB,MAAM7D,EAAQ,CAAC8H,EAAW,CAAC,EAC3BjE,EAAQ,IAAS7D,EAEjBX,EAAM,GAAG,MAAM,SAASA,EAAOyI,EAAWG,CAAQ,EAElD,MAAMlE,EAAW1E,EAAM,KAAK,mBAAoB,aAAc,EAAE,EAChE0E,EAAQ,OAAS,IAEjB1E,EAAM,QAAUsK,EAChBtK,EAAM,WAAamJ,EACnBxI,EAAM,CAAC,EAAIX,EAAM,KAIjB,QAASlK,EAAI,EAAGA,EAAI4U,EAAU,OAAQ5U,IACpCkK,EAAM,OAAOlK,EAAI2S,CAAS,EAAI8B,EAAUzU,CAAC,EACzCkK,EAAM,OAAOlK,EAAI2S,CAAS,EAAIiC,EAAU5U,CAAC,EACzCkK,EAAM,OAAOlK,EAAI2S,CAAS,EAAIgC,EAAU3U,CAAC,EACzCkK,EAAM,QAAQlK,EAAI2S,CAAS,EAAI+B,EAAW1U,CAAC,EAE7C,OAAAkK,EAAM,UAAYgL,EAEX,EACT,CC5Me,SAASC,GAAIjL,EAAOyI,EAAWC,EAASC,EAAQ,CAC7D,MAAMrI,EAAMN,EAAM,OAAOyI,CAAS,EAElC,GAAIzI,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,EAAK,MAAO,GAE7D,IAAIlC,EAAMkC,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EAC1D,MAAMrI,EAASJ,EAAM,IAAI,WAAWlC,GAAK,EAGzC,GAAIsC,IAAW,IACXA,IAAW,IACXA,IAAW,GACb,MAAO,GAKT,IAAI8K,EAAM,EACV,KAAOpN,EAAMwC,GAAK,CAChB,MAAMvK,EAAKiK,EAAM,IAAI,WAAWlC,GAAK,EACrC,GAAI/H,IAAOqK,GAAU,CAACd,EAAQvJ,CAAE,EAAK,MAAO,GACxCA,IAAOqK,GAAU8K,GACtB,CAED,GAAIA,EAAM,EAAK,MAAO,GAEtB,GAAIvC,EAAU,MAAO,GAErB3I,EAAM,KAAOyI,EAAY,EAEzB,MAAMvH,EAASlB,EAAM,KAAK,KAAM,KAAM,CAAC,EACvC,OAAAkB,EAAM,IAAS,CAACuH,EAAWzI,EAAM,IAAI,EACrCkB,EAAM,OAAS,MAAMgK,EAAM,CAAC,EAAE,KAAK,OAAO,aAAa9K,CAAM,CAAC,EAEvD,EACT,CCjCA,SAAS+K,GAAsBnL,EAAOyI,EAAW,CAC/C,MAAMnI,EAAMN,EAAM,OAAOyI,CAAS,EAClC,IAAI3K,EAAMkC,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EAE1D,MAAMrI,EAASJ,EAAM,IAAI,WAAWlC,GAAK,EAEzC,GAAIsC,IAAW,IACXA,IAAW,IACXA,IAAW,GACb,MAAO,GAGT,GAAItC,EAAMwC,EAAK,CACb,MAAMvK,EAAKiK,EAAM,IAAI,WAAWlC,CAAG,EAEnC,GAAI,CAACwB,EAAQvJ,CAAE,EAEb,MAAO,EAEV,CAED,OAAO+H,CACT,CAIA,SAASsN,GAAuBpL,EAAOyI,EAAW,CAChD,MAAMlN,EAAQyE,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EACxDnI,EAAMN,EAAM,OAAOyI,CAAS,EAClC,IAAI3K,EAAMvC,EAGV,GAAIuC,EAAM,GAAKwC,EAAO,MAAO,GAE7B,IAAIvK,EAAKiK,EAAM,IAAI,WAAWlC,GAAK,EAEnC,GAAI/H,EAAK,IAAeA,EAAK,GAAe,MAAO,GAEnD,OAAS,CAEP,GAAI+H,GAAOwC,EAAO,MAAO,GAIzB,GAFAvK,EAAKiK,EAAM,IAAI,WAAWlC,GAAK,EAE3B/H,GAAM,IAAeA,GAAM,GAAa,CAG1C,GAAI+H,EAAMvC,GAAS,GAAM,MAAO,GAEhC,QACD,CAGD,GAAIxF,IAAO,IAAeA,IAAO,GAC/B,MAGF,MAAO,EACR,CAED,OAAI+H,EAAMwC,IACRvK,EAAKiK,EAAM,IAAI,WAAWlC,CAAG,EAEzB,CAACwB,EAAQvJ,CAAE,GAEN,GAGJ+H,CACT,CAEA,SAASuN,GAAqBrL,EAAOc,EAAK,CACxC,MAAMZ,EAAQF,EAAM,MAAQ,EAE5B,QAASlK,EAAIgL,EAAM,EAAG1K,EAAI4J,EAAM,OAAO,OAAS,EAAGlK,EAAIM,EAAGN,IACpDkK,EAAM,OAAOlK,CAAC,EAAE,QAAUoK,GAASF,EAAM,OAAOlK,CAAC,EAAE,OAAS,mBAC9DkK,EAAM,OAAOlK,EAAI,CAAC,EAAE,OAAS,GAC7BkK,EAAM,OAAOlK,CAAC,EAAE,OAAS,GACzBA,GAAK,EAGX,CAEe,SAAS6M,GAAM3C,EAAOyI,EAAWC,EAASC,EAAQ,CAC/D,IAAIrI,EAAKxC,EAAKvC,EAAO2F,EACjB0H,EAAWH,EACX6C,EAAQ,GAWZ,GARItL,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAAa,GAQ5CA,EAAM,YAAc,GACpBA,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,YAAc,GAC7CA,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,UACjC,MAAO,GAGT,IAAIuL,EAAyB,GAIzB5C,GAAU3I,EAAM,aAAe,aAM7BA,EAAM,OAAO4I,CAAQ,GAAK5I,EAAM,YAClCuL,EAAyB,IAK7B,IAAIC,EACAC,EACAC,EACJ,IAAKA,EAAiBN,GAAsBpL,EAAO4I,CAAQ,IAAM,GAO/D,GANA4C,EAAY,GACZjQ,EAAQyE,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,EACtD6C,EAAc,OAAOzL,EAAM,IAAI,MAAMzE,EAAOmQ,EAAiB,CAAC,CAAC,EAI3DH,GAA0BE,IAAgB,EAAG,MAAO,YAC9CC,EAAiBP,GAAqBnL,EAAO4I,CAAQ,IAAM,EACrE4C,EAAY,OAEZ,OAAO,GAKT,GAAID,GACEvL,EAAM,WAAW0L,CAAc,GAAK1L,EAAM,OAAO4I,CAAQ,EAAG,MAAO,GAIzE,GAAID,EAAU,MAAO,GAGrB,MAAMgD,EAAiB3L,EAAM,IAAI,WAAW0L,EAAiB,CAAC,EAGxDE,EAAa5L,EAAM,OAAO,OAE5BwL,GACFtK,EAAclB,EAAM,KAAK,oBAAqB,KAAM,CAAC,EACjDyL,IAAgB,IAClBvK,EAAM,MAAQ,CAAC,CAAC,QAASuK,CAAW,CAAC,IAGvCvK,EAAclB,EAAM,KAAK,mBAAoB,KAAM,CAAC,EAGtD,MAAM6L,EAAY,CAACjD,EAAU,CAAC,EAC9B1H,EAAM,IAAS2K,EACf3K,EAAM,OAAS,OAAO,aAAayK,CAAc,EAMjD,IAAIG,EAAe,GACnB,MAAM1C,EAAkBpJ,EAAM,GAAG,MAAM,MAAM,SAAS,MAAM,EAEtDmJ,EAAgBnJ,EAAM,WAG5B,IAFAA,EAAM,WAAa,OAEZ4I,EAAWF,GAAS,CACzB5K,EAAM4N,EACNpL,EAAMN,EAAM,OAAO4I,CAAQ,EAE3B,MAAMiC,EAAU7K,EAAM,OAAO4I,CAAQ,EAAI8C,GAAkB1L,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,GACzG,IAAItN,EAASuP,EAEb,KAAO/M,EAAMwC,GAAK,CAChB,MAAMvK,EAAKiK,EAAM,IAAI,WAAWlC,CAAG,EAEnC,GAAI/H,IAAO,EACTuF,GAAU,GAAKA,EAAS0E,EAAM,QAAQ4I,CAAQ,GAAK,UAC1C7S,IAAO,GAChBuF,QAEA,OAGFwC,GACD,CAED,MAAMiO,EAAejO,EACrB,IAAIkO,EAEAD,GAAgBzL,EAElB0L,EAAoB,EAEpBA,EAAoB1Q,EAASuP,EAK3BmB,EAAoB,IAAKA,EAAoB,GAIjD,MAAMtE,EAASmD,EAAUmB,EAGzB9K,EAAelB,EAAM,KAAK,iBAAkB,KAAM,CAAC,EACnDkB,EAAM,OAAS,OAAO,aAAayK,CAAc,EACjD,MAAMM,EAAY,CAACrD,EAAU,CAAC,EAC9B1H,EAAM,IAAS+K,EACXT,IACFtK,EAAM,KAAOlB,EAAM,IAAI,MAAMzE,EAAOmQ,EAAiB,CAAC,GAIxD,MAAMQ,GAAWlM,EAAM,MACjB0K,GAAY1K,EAAM,OAAO4I,CAAQ,EACjC6B,GAAYzK,EAAM,OAAO4I,CAAQ,EAMjCuD,GAAgBnM,EAAM,WAiD5B,GAhDAA,EAAM,WAAaA,EAAM,UACzBA,EAAM,UAAY0H,EAElB1H,EAAM,MAAQ,GACdA,EAAM,OAAO4I,CAAQ,EAAImD,EAAe/L,EAAM,OAAO4I,CAAQ,EAC7D5I,EAAM,OAAO4I,CAAQ,EAAItN,EAErByQ,GAAgBzL,GAAON,EAAM,QAAQ4I,EAAW,CAAC,EAQnD5I,EAAM,KAAO,KAAK,IAAIA,EAAM,KAAO,EAAG0I,CAAO,EAE7C1I,EAAM,GAAG,MAAM,SAASA,EAAO4I,EAAUF,EAAS,EAAI,GAIpD,CAAC1I,EAAM,OAAS8L,KAClBR,EAAQ,IAIVQ,EAAgB9L,EAAM,KAAO4I,EAAY,GAAK5I,EAAM,QAAQA,EAAM,KAAO,CAAC,EAE1EA,EAAM,UAAYA,EAAM,WACxBA,EAAM,WAAamM,GACnBnM,EAAM,OAAO4I,CAAQ,EAAI8B,GACzB1K,EAAM,OAAO4I,CAAQ,EAAI6B,GACzBzK,EAAM,MAAQkM,GAEdhL,EAAelB,EAAM,KAAK,kBAAmB,KAAM,EAAE,EACrDkB,EAAM,OAAS,OAAO,aAAayK,CAAc,EAEjD/C,EAAW5I,EAAM,KACjBiM,EAAU,CAAC,EAAIrD,EAEXA,GAAYF,GAKZ1I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAG/BA,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WAAa,EAAK,MAGrD,IAAI4J,EAAY,GAChB,QAAS9T,EAAI,EAAGM,GAAIgT,EAAgB,OAAQtT,EAAIM,GAAGN,IACjD,GAAIsT,EAAgBtT,CAAC,EAAEkK,EAAO4I,EAAUF,EAAS,EAAI,EAAG,CACtDkB,EAAY,GACZ,KACD,CAEH,GAAIA,EAAa,MAGjB,GAAI4B,EAAW,CAEb,GADAE,EAAiBN,GAAsBpL,EAAO4I,CAAQ,EAClD8C,EAAiB,EAAK,MAC1BnQ,EAAQyE,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,CAC5D,SACM8C,EAAiBP,GAAqBnL,EAAO4I,CAAQ,EACjD8C,EAAiB,EAAK,MAG5B,GAAIC,IAAmB3L,EAAM,IAAI,WAAW0L,EAAiB,CAAC,EAAK,KACpE,CAGD,OAAIF,EACFtK,EAAQlB,EAAM,KAAK,qBAAsB,KAAM,EAAE,EAEjDkB,EAAQlB,EAAM,KAAK,oBAAqB,KAAM,EAAE,EAElDkB,EAAM,OAAS,OAAO,aAAayK,CAAc,EAEjDE,EAAU,CAAC,EAAIjD,EACf5I,EAAM,KAAO4I,EAEb5I,EAAM,WAAamJ,EAGfmC,GACFD,GAAoBrL,EAAO4L,CAAU,EAGhC,EACT,CCxUe,SAASQ,GAAWpM,EAAOyI,EAAW4D,EAAU1D,EAAQ,CACrE,IAAIhI,EAAQ,EAER7C,EAAMkC,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EACtDnI,EAAMN,EAAM,OAAOyI,CAAS,EAC5BG,EAAWH,EAAY,EAK3B,GAFIzI,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,GAE7CA,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAAe,MAAO,GAIxD,KAAO,EAAEA,EAAMwC,GACb,GAAIN,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAC9BkC,EAAM,IAAI,WAAWlC,EAAM,CAAC,IAAM,GAAa,CAEjD,GADIA,EAAM,IAAMwC,GACZN,EAAM,IAAI,WAAWlC,EAAM,CAAC,IAAM,GAAe,MAAO,GAC5D,KACD,CAGH,MAAM4K,EAAU1I,EAAM,QAGhBoJ,EAAkBpJ,EAAM,GAAG,MAAM,MAAM,SAAS,WAAW,EAE3DmJ,EAAgBnJ,EAAM,WAG5B,IAFAA,EAAM,WAAa,YAEZ4I,EAAWF,GAAW,CAAC1I,EAAM,QAAQ4I,CAAQ,EAAGA,IAAY,CAMjE,GAHI5I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,UAAY,GAG3CA,EAAM,OAAO4I,CAAQ,EAAI,EAAK,SAGlC,IAAIgB,EAAY,GAChB,QAAS9T,EAAI,EAAGM,EAAIgT,EAAgB,OAAQtT,EAAIM,EAAGN,IACjD,GAAIsT,EAAgBtT,CAAC,EAAEkK,EAAO4I,EAAUF,EAAS,EAAI,EAAG,CACtDkB,EAAY,GACZ,KACD,CAEH,GAAIA,EAAa,KAClB,CAED,MAAMvO,EAAM2E,EAAM,SAASyI,EAAWG,EAAU5I,EAAM,UAAW,EAAK,EAAE,KAAM,EAC9EM,EAAMjF,EAAI,OACV,IAAImF,EAAW,GAEf,IAAK1C,EAAM,EAAGA,EAAMwC,EAAKxC,IAAO,CAC9B,MAAM/H,EAAKsF,EAAI,WAAWyC,CAAG,EAC7B,GAAI/H,IAAO,GACT,MAAO,GACF,GAAIA,IAAO,GAAc,CAC9ByK,EAAW1C,EACX,KACN,MAAe/H,IAAO,GAChB4K,IACS5K,IAAO,KAChB+H,IACIA,EAAMwC,GAAOjF,EAAI,WAAWyC,CAAG,IAAM,IACvC6C,IAGL,CAED,GAAIH,EAAW,GAAKnF,EAAI,WAAWmF,EAAW,CAAC,IAAM,GAAe,MAAO,GAI3E,IAAK1C,EAAM0C,EAAW,EAAG1C,EAAMwC,EAAKxC,IAAO,CACzC,MAAM/H,EAAKsF,EAAI,WAAWyC,CAAG,EAC7B,GAAI/H,IAAO,GACT4K,YACS,CAAArB,EAAQvJ,CAAE,EAGnB,KAEH,CAID,MAAMuW,EAAUtM,EAAM,GAAG,QAAQ,qBAAqB3E,EAAKyC,EAAKwC,CAAG,EACnE,GAAI,CAACgM,EAAQ,GAAM,MAAO,GAE1B,MAAMC,EAAOvM,EAAM,GAAG,cAAcsM,EAAQ,GAAG,EAC/C,GAAI,CAACtM,EAAM,GAAG,aAAauM,CAAI,EAAK,MAAO,GAE3CzO,EAAMwO,EAAQ,IACd3L,GAAS2L,EAAQ,MAGjB,MAAME,EAAa1O,EACb2O,EAAgB9L,EAIhBpF,EAAQuC,EACd,KAAOA,EAAMwC,EAAKxC,IAAO,CACvB,MAAM/H,EAAKsF,EAAI,WAAWyC,CAAG,EAC7B,GAAI/H,IAAO,GACT4K,YACS,CAAArB,EAAQvJ,CAAE,EAGnB,KAEH,CAID,MAAM2W,EAAW1M,EAAM,GAAG,QAAQ,eAAe3E,EAAKyC,EAAKwC,CAAG,EAC9D,IAAIqM,EAaJ,IAXI7O,EAAMwC,GAAO/E,IAAUuC,GAAO4O,EAAS,IACzCC,EAAQD,EAAS,IACjB5O,EAAM4O,EAAS,IACf/L,GAAS+L,EAAS,QAElBC,EAAQ,GACR7O,EAAM0O,EACN7L,EAAQ8L,GAIH3O,EAAMwC,GAAK,CAChB,MAAMvK,EAAKsF,EAAI,WAAWyC,CAAG,EAC7B,GAAI,CAACwB,EAAQvJ,CAAE,EAAK,MACpB+H,GACD,CAED,GAAIA,EAAMwC,GAAOjF,EAAI,WAAWyC,CAAG,IAAM,IACnC6O,EAMF,IAHAA,EAAQ,GACR7O,EAAM0O,EACN7L,EAAQ8L,EACD3O,EAAMwC,GAAK,CAChB,MAAMvK,EAAKsF,EAAI,WAAWyC,CAAG,EAC7B,GAAI,CAACwB,EAAQvJ,CAAE,EAAK,MACpB+H,GACD,CAIL,GAAIA,EAAMwC,GAAOjF,EAAI,WAAWyC,CAAG,IAAM,GAEvC,MAAO,GAGT,MAAM8O,EAAQjN,GAAmBtE,EAAI,MAAM,EAAGmF,CAAQ,CAAC,EACvD,OAAKoM,GAODjE,IAEA,OAAO3I,EAAM,IAAI,YAAe,cAClCA,EAAM,IAAI,WAAa,CAAE,GAEvB,OAAOA,EAAM,IAAI,WAAW4M,CAAK,GAAM,cACzC5M,EAAM,IAAI,WAAW4M,CAAK,EAAI,CAAE,MAAAD,EAAO,KAAAJ,CAAM,GAG/CvM,EAAM,WAAamJ,EAEnBnJ,EAAM,KAAOyI,EAAY9H,EAAQ,GAC1B,IAjBE,EAkBX,CCjLA,MAAekM,GAAA,CACb,UACA,UACA,QACA,OACA,WACA,aACA,OACA,UACA,SACA,MACA,WACA,KACA,UACA,SACA,MACA,MACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,QACA,WACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,KACA,OACA,SACA,SACA,KACA,OACA,OACA,OACA,WACA,MACA,WACA,KACA,WACA,SACA,IACA,QACA,UACA,SACA,UACA,QACA,QACA,KACA,QACA,KACA,QACA,QACA,KACA,QACA,IACF,EChEMC,GAAgB,6BAEhBC,GAAgB,yBAChBC,GAAgB,UAChBC,GAAgB,UAEhBC,GAAc,MAAQH,GAAW,IAAMC,GAAgB,IAAMC,GAAgB,IAE7EE,GAAc,UAAYL,GAAY,eAAiBI,GAAa,MAEpEE,GAAc,2BAA6BD,GAAY,aAEvDE,GAAc,mCACdC,GAAc,wCACdC,GAAc,qBACdC,GAAc,qBACdC,GAAc,iCAEdC,GAAc,IAAI,OAAO,OAASN,GAAW,IAAMC,GAAY,IAAMC,GACnD,IAAMC,GAAa,IAAMC,GAAc,IAAMC,GAAQ,GAAG,EAC1EE,GAAyB,IAAI,OAAO,OAASP,GAAW,IAAMC,GAAY,GAAG,ECd7EO,GAAiB,CACrB,CAAC,6CAA8C,mCAAoC,EAAI,EACvF,CAAC,QAAgB,MAAS,EAAI,EAC9B,CAAC,OAAgB,MAAS,EAAI,EAC9B,CAAC,WAAgB,IAAS,EAAI,EAC9B,CAAC,eAAgB,QAAS,EAAI,EAC9B,CAAC,IAAI,OAAO,QAAUf,GAAY,KAAK,GAAG,EAAI,mBAAoB,GAAG,EAAG,KAAM,EAAI,EAClF,CAAC,IAAI,OAAOc,GAAuB,OAAS,OAAO,EAAI,KAAM,EAAK,CACpE,EAEe,SAASE,GAAY7N,EAAOyI,EAAWC,EAASC,EAAQ,CACrE,IAAI7K,EAAMkC,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EACtDnI,EAAMN,EAAM,OAAOyI,CAAS,EAOhC,GAJIzI,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,GAE7C,CAACA,EAAM,GAAG,QAAQ,MAElBA,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAAe,MAAO,GAExD,IAAIiL,EAAW/I,EAAM,IAAI,MAAMlC,EAAKwC,CAAG,EAEnCxK,EAAI,EACR,KAAOA,EAAI8X,GAAe,QACpB,CAAAA,GAAe9X,CAAC,EAAE,CAAC,EAAE,KAAKiT,CAAQ,EADNjT,IAChC,CAEF,GAAIA,IAAM8X,GAAe,OAAU,MAAO,GAE1C,GAAIjF,EAEF,OAAOiF,GAAe9X,CAAC,EAAE,CAAC,EAG5B,IAAI8S,EAAWH,EAAY,EAI3B,GAAI,CAACmF,GAAe9X,CAAC,EAAE,CAAC,EAAE,KAAKiT,CAAQ,GACrC,KAAOH,EAAWF,GACZ,EAAA1I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,WADV4I,IAOzB,GAJA9K,EAAMkC,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,EACpDtI,EAAMN,EAAM,OAAO4I,CAAQ,EAC3BG,EAAW/I,EAAM,IAAI,MAAMlC,EAAKwC,CAAG,EAE/BsN,GAAe9X,CAAC,EAAE,CAAC,EAAE,KAAKiT,CAAQ,EAAG,CACnCA,EAAS,SAAW,GAAKH,IAC7B,KACD,EAIL5I,EAAM,KAAO4I,EAEb,MAAM1H,EAAUlB,EAAM,KAAK,aAAc,GAAI,CAAC,EAC9C,OAAAkB,EAAM,IAAU,CAACuH,EAAWG,CAAQ,EACpC1H,EAAM,QAAUlB,EAAM,SAASyI,EAAWG,EAAU5I,EAAM,UAAW,EAAI,EAElE,EACT,CChEe,SAAS8N,GAAS9N,EAAOyI,EAAWC,EAASC,EAAQ,CAClE,IAAI7K,EAAMkC,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,OAAOyI,CAAS,EACtDnI,EAAMN,EAAM,OAAOyI,CAAS,EAGhC,GAAIzI,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,EAAK,MAAO,GAE7D,IAAIjK,EAAMiK,EAAM,IAAI,WAAWlC,CAAG,EAElC,GAAI/H,IAAO,IAAe+H,GAAOwC,EAAO,MAAO,GAG/C,IAAIJ,EAAQ,EAEZ,IADAnK,EAAKiK,EAAM,IAAI,WAAW,EAAElC,CAAG,EACxB/H,IAAO,IAAe+H,EAAMwC,GAAOJ,GAAS,GACjDA,IACAnK,EAAKiK,EAAM,IAAI,WAAW,EAAElC,CAAG,EAGjC,GAAIoC,EAAQ,GAAMpC,EAAMwC,GAAO,CAAChB,EAAQvJ,CAAE,EAAM,MAAO,GAEvD,GAAI4S,EAAU,MAAO,GAIrBrI,EAAMN,EAAM,eAAeM,EAAKxC,CAAG,EACnC,MAAMiQ,EAAM/N,EAAM,cAAcM,EAAK,GAAMxC,CAAG,EAC1CiQ,EAAMjQ,GAAOwB,EAAQU,EAAM,IAAI,WAAW+N,EAAM,CAAC,CAAC,IACpDzN,EAAMyN,GAGR/N,EAAM,KAAOyI,EAAY,EAEzB,MAAMjE,EAAWxE,EAAM,KAAK,eAAgB,IAAM,OAAOE,CAAK,EAAG,CAAC,EAClEsE,EAAQ,OAAS,WAAW,MAAM,EAAGtE,CAAK,EAC1CsE,EAAQ,IAAS,CAACiE,EAAWzI,EAAM,IAAI,EAEvC,MAAMgO,EAAahO,EAAM,KAAK,SAAU,GAAI,CAAC,EAC7CgO,EAAQ,QAAWhO,EAAM,IAAI,MAAMlC,EAAKwC,CAAG,EAAE,KAAM,EACnD0N,EAAQ,IAAW,CAACvF,EAAWzI,EAAM,IAAI,EACzCgO,EAAQ,SAAW,CAAE,EAErB,MAAMtJ,EAAW1E,EAAM,KAAK,gBAAiB,IAAM,OAAOE,CAAK,EAAG,EAAE,EACpE,OAAAwE,EAAQ,OAAS,WAAW,MAAM,EAAGxE,CAAK,EAEnC,EACT,CChDe,SAAS+N,GAAUjO,EAAOyI,EAAWC,EAAsB,CACxE,MAAMU,EAAkBpJ,EAAM,GAAG,MAAM,MAAM,SAAS,WAAW,EAGjE,GAAIA,EAAM,OAAOyI,CAAS,EAAIzI,EAAM,WAAa,EAAK,MAAO,GAE7D,MAAMmJ,EAAgBnJ,EAAM,WAC5BA,EAAM,WAAa,YAGnB,IAAIE,EAAQ,EACRE,EACAwI,EAAWH,EAAY,EAE3B,KAAOG,EAAWF,GAAW,CAAC1I,EAAM,QAAQ4I,CAAQ,EAAGA,IAAY,CAGjE,GAAI5I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,UAAY,EAAK,SAKpD,GAAIA,EAAM,OAAO4I,CAAQ,GAAK5I,EAAM,UAAW,CAC7C,IAAIlC,EAAMkC,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,OAAO4I,CAAQ,EACxD,MAAMtI,EAAMN,EAAM,OAAO4I,CAAQ,EAEjC,GAAI9K,EAAMwC,IACRF,EAASJ,EAAM,IAAI,WAAWlC,CAAG,GAE7BsC,IAAW,IAAeA,IAAW,MACvCtC,EAAMkC,EAAM,UAAUlC,EAAKsC,CAAM,EACjCtC,EAAMkC,EAAM,WAAWlC,CAAG,EAEtBA,GAAOwC,IAAK,CACdJ,EAASE,IAAW,GAAc,EAAI,EACtC,KACD,CAGN,CAGD,GAAIJ,EAAM,OAAO4I,CAAQ,EAAI,EAAK,SAGlC,IAAIgB,EAAY,GAChB,QAAS9T,EAAI,EAAGM,EAAIgT,EAAgB,OAAQtT,EAAIM,EAAGN,IACjD,GAAIsT,EAAgBtT,CAAC,EAAEkK,EAAO4I,EAAUF,EAAS,EAAI,EAAG,CACtDkB,EAAY,GACZ,KACD,CAEH,GAAIA,EAAa,KAClB,CAED,GAAI,CAAC1J,EAEH,MAAO,GAGT,MAAMgO,EAAUlO,EAAM,SAASyI,EAAWG,EAAU5I,EAAM,UAAW,EAAK,EAAE,KAAM,EAElFA,EAAM,KAAO4I,EAAW,EAExB,MAAMpE,EAAaxE,EAAM,KAAK,eAAgB,IAAM,OAAOE,CAAK,EAAG,CAAC,EACpEsE,EAAQ,OAAW,OAAO,aAAapE,CAAM,EAC7CoE,EAAQ,IAAW,CAACiE,EAAWzI,EAAM,IAAI,EAEzC,MAAMgO,EAAahO,EAAM,KAAK,SAAU,GAAI,CAAC,EAC7CgO,EAAQ,QAAWE,EACnBF,EAAQ,IAAW,CAACvF,EAAWzI,EAAM,KAAO,CAAC,EAC7CgO,EAAQ,SAAW,CAAE,EAErB,MAAMtJ,EAAa1E,EAAM,KAAK,gBAAiB,IAAM,OAAOE,CAAK,EAAG,EAAE,EACtE,OAAAwE,EAAQ,OAAW,OAAO,aAAatE,CAAM,EAE7CJ,EAAM,WAAamJ,EAEZ,EACT,CC/Ee,SAASgF,GAAWnO,EAAOyI,EAAWC,EAAS,CAC5D,MAAMU,EAAkBpJ,EAAM,GAAG,MAAM,MAAM,SAAS,WAAW,EAC3DmJ,EAAgBnJ,EAAM,WAC5B,IAAI4I,EAAWH,EAAY,EAI3B,IAHAzI,EAAM,WAAa,YAGZ4I,EAAWF,GAAW,CAAC1I,EAAM,QAAQ4I,CAAQ,EAAGA,IAAY,CAMjE,GAHI5I,EAAM,OAAO4I,CAAQ,EAAI5I,EAAM,UAAY,GAG3CA,EAAM,OAAO4I,CAAQ,EAAI,EAAK,SAGlC,IAAIgB,EAAY,GAChB,QAAS9T,EAAI,EAAGM,EAAIgT,EAAgB,OAAQtT,EAAIM,EAAGN,IACjD,GAAIsT,EAAgBtT,CAAC,EAAEkK,EAAO4I,EAAUF,EAAS,EAAI,EAAG,CACtDkB,EAAY,GACZ,KACD,CAEH,GAAIA,EAAa,KAClB,CAED,MAAMsE,EAAUlO,EAAM,SAASyI,EAAWG,EAAU5I,EAAM,UAAW,EAAK,EAAE,KAAM,EAElFA,EAAM,KAAO4I,EAEb,MAAMpE,EAAaxE,EAAM,KAAK,iBAAkB,IAAK,CAAC,EACtDwE,EAAQ,IAAW,CAACiE,EAAWzI,EAAM,IAAI,EAEzC,MAAMgO,EAAahO,EAAM,KAAK,SAAU,GAAI,CAAC,EAC7C,OAAAgO,EAAQ,QAAWE,EACnBF,EAAQ,IAAW,CAACvF,EAAWzI,EAAM,IAAI,EACzCgO,EAAQ,SAAW,CAAE,EAErBhO,EAAM,KAAK,kBAAmB,IAAK,EAAE,EAErCA,EAAM,WAAamJ,EAEZ,EACT,CCxBA,MAAMpC,GAAS,CAGb,CAAC,QAAcqH,GAAc,CAAC,YAAa,WAAW,CAAC,EACvD,CAAC,OAAcC,EAAM,EACrB,CAAC,QAAcC,GAAc,CAAC,YAAa,YAAa,aAAc,MAAM,CAAC,EAC7E,CAAC,aAAcC,GAAc,CAAC,YAAa,YAAa,aAAc,MAAM,CAAC,EAC7E,CAAC,KAAcC,GAAc,CAAC,YAAa,YAAa,aAAc,MAAM,CAAC,EAC7E,CAAC,OAAcC,GAAc,CAAC,YAAa,YAAa,YAAY,CAAC,EACrE,CAAC,YAAcC,EAAW,EAC1B,CAAC,aAAcC,GAAc,CAAC,YAAa,YAAa,YAAY,CAAC,EACrE,CAAC,UAAcC,GAAc,CAAC,YAAa,YAAa,YAAY,CAAC,EACrE,CAAC,WAAcC,EAAU,EACzB,CAAC,YAAcC,EAAW,CAC5B,EAKA,SAASC,IAAe,CAMtB,KAAK,MAAQ,IAAIhN,EAEjB,QAASjM,EAAI,EAAGA,EAAIiR,GAAO,OAAQjR,IACjC,KAAK,MAAM,KAAKiR,GAAOjR,CAAC,EAAE,CAAC,EAAGiR,GAAOjR,CAAC,EAAE,CAAC,EAAG,CAAE,KAAMiR,GAAOjR,CAAC,EAAE,CAAC,GAAK,CAAA,GAAI,MAAK,EAAI,CAErF,CAIAiZ,GAAY,UAAU,SAAW,SAAU/O,EAAOyI,EAAWC,EAAS,CACpE,MAAM7G,EAAQ,KAAK,MAAM,SAAS,EAAE,EAC9BtF,EAAMsF,EAAM,OACZmN,EAAahP,EAAM,GAAG,QAAQ,WACpC,IAAI4H,EAAOa,EACPwG,EAAgB,GAEpB,KAAOrH,EAAOc,IACZ1I,EAAM,KAAO4H,EAAO5H,EAAM,eAAe4H,CAAI,EACzC,EAAAA,GAAQc,GAIR1I,EAAM,OAAO4H,CAAI,EAAI5H,EAAM,aANV,CAUrB,GAAIA,EAAM,OAASgP,EAAY,CAC7BhP,EAAM,KAAO0I,EACb,KACD,CAQD,MAAMwG,EAAWlP,EAAM,KACvB,IAAImP,EAAK,GAET,QAASrZ,EAAI,EAAGA,EAAIyG,EAAKzG,IAEvB,GADAqZ,EAAKtN,EAAM/L,CAAC,EAAEkK,EAAO4H,EAAMc,EAAS,EAAK,EACrCyG,EAAI,CACN,GAAID,GAAYlP,EAAM,KACpB,MAAM,IAAI,MAAM,wCAAwC,EAE1D,KACD,CAIH,GAAI,CAACmP,EAAI,MAAM,IAAI,MAAM,iCAAiC,EAI1DnP,EAAM,MAAQ,CAACiP,EAGXjP,EAAM,QAAQA,EAAM,KAAO,CAAC,IAC9BiP,EAAgB,IAGlBrH,EAAO5H,EAAM,KAET4H,EAAOc,GAAW1I,EAAM,QAAQ4H,CAAI,IACtCqH,EAAgB,GAChBrH,IACA5H,EAAM,KAAO4H,EAEhB,CACH,EAOAmH,GAAY,UAAU,MAAQ,SAAUlR,EAAKuF,EAAIpC,EAAKoO,EAAW,CAC/D,GAAI,CAACvR,EAAO,OAEZ,MAAMmC,EAAQ,IAAI,KAAK,MAAMnC,EAAKuF,EAAIpC,EAAKoO,CAAS,EAEpD,KAAK,SAASpP,EAAOA,EAAM,KAAMA,EAAM,OAAO,CAChD,EAEA+O,GAAY,UAAU,MAAQvH,EC9H9B,SAAS6H,GAAaxR,EAAKuF,EAAIpC,EAAKoO,EAAW,CAC7C,KAAK,IAAMvR,EACX,KAAK,IAAMmD,EACX,KAAK,GAAKoC,EACV,KAAK,OAASgM,EACd,KAAK,YAAc,MAAMA,EAAU,MAAM,EAEzC,KAAK,IAAM,EACX,KAAK,OAAS,KAAK,IAAI,OACvB,KAAK,MAAQ,EACb,KAAK,QAAU,GACf,KAAK,aAAe,EAIpB,KAAK,MAAQ,CAAE,EAGf,KAAK,WAAa,CAAE,EAGpB,KAAK,iBAAmB,CAAE,EAG1B,KAAK,UAAY,CAAE,EACnB,KAAK,iBAAmB,GAIxB,KAAK,UAAY,CACnB,CAIAC,GAAY,UAAU,YAAc,UAAY,CAC9C,MAAMnO,EAAQ,IAAI4B,EAAM,OAAQ,GAAI,CAAC,EACrC,OAAA5B,EAAM,QAAU,KAAK,QACrBA,EAAM,MAAQ,KAAK,aACnB,KAAK,OAAO,KAAKA,CAAK,EACtB,KAAK,QAAU,GACRA,CACT,EAKAmO,GAAY,UAAU,KAAO,SAAUvN,EAAMiB,EAAKC,EAAS,CACrD,KAAK,SACP,KAAK,YAAa,EAGpB,MAAM9B,EAAQ,IAAI4B,EAAMhB,EAAMiB,EAAKC,CAAO,EAC1C,IAAIsM,EAAa,KAEjB,OAAItM,EAAU,IAEZ,KAAK,QACL,KAAK,WAAa,KAAK,iBAAiB,IAAK,GAG/C9B,EAAM,MAAQ,KAAK,MAEf8B,EAAU,IAEZ,KAAK,QACL,KAAK,iBAAiB,KAAK,KAAK,UAAU,EAC1C,KAAK,WAAa,CAAE,EACpBsM,EAAa,CAAE,WAAY,KAAK,UAAY,GAG9C,KAAK,aAAe,KAAK,MACzB,KAAK,OAAO,KAAKpO,CAAK,EACtB,KAAK,YAAY,KAAKoO,CAAU,EACzBpO,CACT,EAQAmO,GAAY,UAAU,WAAa,SAAU9T,EAAOgU,EAAc,CAChE,IAAIC,EAAUC,EACVC,EAAgB,GAChBC,EAAiB,GACrB,MAAMrP,EAAM,KAAK,OACXF,EAAS,KAAK,IAAI,WAAW7E,CAAK,EAGlC2K,EAAW3K,EAAQ,EAAI,KAAK,IAAI,WAAWA,EAAQ,CAAC,EAAI,GAE9D,IAAIuC,EAAMvC,EACV,KAAOuC,EAAMwC,GAAO,KAAK,IAAI,WAAWxC,CAAG,IAAMsC,GAAUtC,IAE3D,MAAM8R,EAAQ9R,EAAMvC,EAGd4K,EAAWrI,EAAMwC,EAAM,KAAK,IAAI,WAAWxC,CAAG,EAAI,GAElDsI,EAAkB1G,GAAewG,CAAQ,GAAK1G,GAAY,OAAO,aAAa0G,CAAQ,CAAC,EACvFG,EAAkB3G,GAAeyG,CAAQ,GAAK3G,GAAY,OAAO,aAAa2G,CAAQ,CAAC,EAEvFG,EAAmB/G,GAAa2G,CAAQ,EACxCK,EAAmBhH,GAAa4G,CAAQ,EAE9C,OAAII,EACFmJ,EAAgB,GACPrJ,IACHC,GAAoBF,IACxBsJ,EAAgB,KAIhBpJ,EACFqJ,EAAiB,GACRvJ,IACHG,GAAoBF,IACxBsJ,EAAiB,KAIhBJ,GAIHC,EAAYE,EACZD,EAAYE,IAJZH,EAAYE,IAAmB,CAACC,GAAkBvJ,GAClDqJ,EAAYE,IAAmB,CAACD,GAAkBrJ,IAM7C,CAAE,SAAAmJ,EAAU,UAAAC,EAAW,OAAQG,CAAO,CAC/C,EAGAP,GAAY,UAAU,MAAQvM,ECjI9B,SAAS+M,GAAkB9Z,EAAI,CAC7B,OAAQA,EAAE,CACR,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,MAAO,GACT,QACE,MAAO,EACV,CACH,CAEe,SAASkO,GAAMjE,EAAO2I,EAAQ,CAC3C,IAAI7K,EAAMkC,EAAM,IAEhB,KAAOlC,EAAMkC,EAAM,QAAU,CAAC6P,GAAiB7P,EAAM,IAAI,WAAWlC,CAAG,CAAC,GACtEA,IAGF,OAAIA,IAAQkC,EAAM,IAAc,IAE3B2I,IAAU3I,EAAM,SAAWA,EAAM,IAAI,MAAMA,EAAM,IAAKlC,CAAG,GAE9DkC,EAAM,IAAMlC,EAEL,GACT,CCpDA,MAAMgS,GAAY,0CAEH,SAASjM,GAAS7D,EAAO2I,EAAQ,CAE9C,GADI,CAAC3I,EAAM,GAAG,QAAQ,SAClBA,EAAM,UAAY,EAAG,MAAO,GAEhC,MAAMlC,EAAMkC,EAAM,IACZM,EAAMN,EAAM,OAKlB,GAHIlC,EAAM,EAAIwC,GACVN,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAC9BkC,EAAM,IAAI,WAAWlC,EAAM,CAAC,IAAM,IAClCkC,EAAM,IAAI,WAAWlC,EAAM,CAAC,IAAM,GAAa,MAAO,GAE1D,MAAMU,EAAQwB,EAAM,QAAQ,MAAM8P,EAAS,EAC3C,GAAI,CAACtR,EAAO,MAAO,GAEnB,MAAMhG,EAAQgG,EAAM,CAAC,EAEfuR,EAAO/P,EAAM,GAAG,QAAQ,aAAaA,EAAM,IAAI,MAAMlC,EAAMtF,EAAM,MAAM,CAAC,EAC9E,GAAI,CAACuX,EAAM,MAAO,GAElB,IAAI9Y,EAAM8Y,EAAK,IAIf,GAAI9Y,EAAI,QAAUuB,EAAM,OAAQ,MAAO,GAGvCvB,EAAMA,EAAI,QAAQ,OAAQ,EAAE,EAE5B,MAAMqN,EAAUtE,EAAM,GAAG,cAAc/I,CAAG,EAC1C,GAAI,CAAC+I,EAAM,GAAG,aAAasE,CAAO,EAAG,MAAO,GAE5C,GAAI,CAACqE,EAAQ,CACX3I,EAAM,QAAUA,EAAM,QAAQ,MAAM,EAAG,CAACxH,EAAM,MAAM,EAEpD,MAAMgM,EAAUxE,EAAM,KAAK,YAAa,IAAK,CAAC,EAC9CwE,EAAQ,MAAQ,CAAC,CAAC,OAAQF,CAAO,CAAC,EAClCE,EAAQ,OAAS,UACjBA,EAAQ,KAAO,OAEf,MAAMC,EAAUzE,EAAM,KAAK,OAAQ,GAAI,CAAC,EACxCyE,EAAQ,QAAUzE,EAAM,GAAG,kBAAkB/I,CAAG,EAEhD,MAAMyN,EAAU1E,EAAM,KAAK,aAAc,IAAK,EAAE,EAChD0E,EAAQ,OAAS,UACjBA,EAAQ,KAAO,MAChB,CAED,OAAA1E,EAAM,KAAO/I,EAAI,OAASuB,EAAM,OACzB,EACT,CCnDe,SAASwX,GAAShQ,EAAO2I,EAAQ,CAC9C,IAAI7K,EAAMkC,EAAM,IAEhB,GAAIA,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAAgB,MAAO,GAEzD,MAAMmS,EAAOjQ,EAAM,QAAQ,OAAS,EAC9BM,EAAMN,EAAM,OAMlB,GAAI,CAAC2I,EACH,GAAIsH,GAAQ,GAAKjQ,EAAM,QAAQ,WAAWiQ,CAAI,IAAM,GAClD,GAAIA,GAAQ,GAAKjQ,EAAM,QAAQ,WAAWiQ,EAAO,CAAC,IAAM,GAAM,CAE5D,IAAIC,EAAKD,EAAO,EAChB,KAAOC,GAAM,GAAKlQ,EAAM,QAAQ,WAAWkQ,EAAK,CAAC,IAAM,IAAMA,IAE7DlQ,EAAM,QAAUA,EAAM,QAAQ,MAAM,EAAGkQ,CAAE,EACzClQ,EAAM,KAAK,YAAa,KAAM,CAAC,CACvC,MACQA,EAAM,QAAUA,EAAM,QAAQ,MAAM,EAAG,EAAE,EACzCA,EAAM,KAAK,YAAa,KAAM,CAAC,OAGjCA,EAAM,KAAK,YAAa,KAAM,CAAC,EAOnC,IAHAlC,IAGOA,EAAMwC,GAAOhB,EAAQU,EAAM,IAAI,WAAWlC,CAAG,CAAC,GAAKA,IAE1D,OAAAkC,EAAM,IAAMlC,EACL,EACT,CCrCA,MAAMqS,GAAU,CAAE,EAElB,QAASra,EAAI,EAAGA,EAAI,IAAKA,IAAOqa,GAAQ,KAAK,CAAC,EAE9C,qCACG,MAAM,EAAE,EAAE,QAAQ,SAAUpa,EAAI,CAAEoa,GAAQpa,EAAG,WAAW,CAAC,CAAC,EAAI,CAAC,CAAE,EAErD,SAASqa,GAAQpQ,EAAO2I,EAAQ,CAC7C,IAAI7K,EAAMkC,EAAM,IAChB,MAAMM,EAAMN,EAAM,OAMlB,GAJIA,EAAM,IAAI,WAAWlC,CAAG,IAAM,KAClCA,IAGIA,GAAOwC,GAAK,MAAO,GAEvB,IAAI+P,EAAMrQ,EAAM,IAAI,WAAWlC,CAAG,EAElC,GAAIuS,IAAQ,GAAM,CAOhB,IANK1H,GACH3I,EAAM,KAAK,YAAa,KAAM,CAAC,EAGjClC,IAEOA,EAAMwC,IACX+P,EAAMrQ,EAAM,IAAI,WAAWlC,CAAG,EAC1B,EAACwB,EAAQ+Q,CAAG,IAChBvS,IAGF,OAAAkC,EAAM,IAAMlC,EACL,EACR,CAED,IAAIwS,EAAatQ,EAAM,IAAIlC,CAAG,EAE9B,GAAIuS,GAAO,OAAUA,GAAO,OAAUvS,EAAM,EAAIwC,EAAK,CACnD,MAAMiQ,EAAMvQ,EAAM,IAAI,WAAWlC,EAAM,CAAC,EAEpCyS,GAAO,OAAUA,GAAO,QAC1BD,GAActQ,EAAM,IAAIlC,EAAM,CAAC,EAC/BA,IAEH,CAED,MAAM0S,EAAU,KAAOF,EAEvB,GAAI,CAAC3H,EAAQ,CACX,MAAMzH,EAAQlB,EAAM,KAAK,eAAgB,GAAI,CAAC,EAE1CqQ,EAAM,KAAOF,GAAQE,CAAG,IAAM,EAChCnP,EAAM,QAAUoP,EAEhBpP,EAAM,QAAUsP,EAGlBtP,EAAM,OAASsP,EACftP,EAAM,KAAS,QAChB,CAED,OAAAlB,EAAM,IAAMlC,EAAM,EACX,EACT,CClEe,SAAS2S,GAAUzQ,EAAO2I,EAAQ,CAC/C,IAAI7K,EAAMkC,EAAM,IAGhB,GAFWA,EAAM,IAAI,WAAWlC,CAAG,IAExB,GAAe,MAAO,GAEjC,MAAMvC,EAAQuC,EACdA,IACA,MAAMwC,EAAMN,EAAM,OAGlB,KAAOlC,EAAMwC,GAAON,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAAeA,IAEjE,MAAMsC,EAASJ,EAAM,IAAI,MAAMzE,EAAOuC,CAAG,EACnC4S,EAAetQ,EAAO,OAE5B,GAAIJ,EAAM,mBAAqBA,EAAM,UAAU0Q,CAAY,GAAK,IAAMnV,EACpE,OAAKoN,IAAQ3I,EAAM,SAAWI,GAC9BJ,EAAM,KAAO0Q,EACN,GAGT,IAAIC,EAAW7S,EACX8S,EAGJ,MAAQA,EAAa5Q,EAAM,IAAI,QAAQ,IAAK2Q,CAAQ,KAAO,IAAI,CAI7D,IAHAA,EAAWC,EAAa,EAGjBD,EAAWrQ,GAAON,EAAM,IAAI,WAAW2Q,CAAQ,IAAM,IAAeA,IAE3E,MAAME,EAAeF,EAAWC,EAEhC,GAAIC,IAAiBH,EAAc,CAEjC,GAAI,CAAC/H,EAAQ,CACX,MAAMzH,EAAQlB,EAAM,KAAK,cAAe,OAAQ,CAAC,EACjDkB,EAAM,OAASd,EACfc,EAAM,QAAUlB,EAAM,IAAI,MAAMlC,EAAK8S,CAAU,EAC5C,QAAQ,MAAO,GAAG,EAClB,QAAQ,WAAY,IAAI,CAC5B,CACD,OAAA5Q,EAAM,IAAM2Q,EACL,EACR,CAGD3Q,EAAM,UAAU6Q,CAAY,EAAID,CACjC,CAGD,OAAA5Q,EAAM,iBAAmB,GAEpB2I,IAAQ3I,EAAM,SAAWI,GAC9BJ,EAAM,KAAO0Q,EACN,EACT,CCtDA,SAASI,GAAwB9Q,EAAO2I,EAAQ,CAC9C,MAAMpN,EAAQyE,EAAM,IACdI,EAASJ,EAAM,IAAI,WAAWzE,CAAK,EAIzC,GAFIoN,GAEAvI,IAAW,IAAe,MAAO,GAErC,MAAM2Q,EAAU/Q,EAAM,WAAWA,EAAM,IAAK,EAAI,EAChD,IAAIzD,EAAMwU,EAAQ,OAClB,MAAMhb,EAAK,OAAO,aAAaqK,CAAM,EAErC,GAAI7D,EAAM,EAAK,MAAO,GAEtB,IAAI2E,EAEA3E,EAAM,IACR2E,EAAgBlB,EAAM,KAAK,OAAQ,GAAI,CAAC,EACxCkB,EAAM,QAAUnL,EAChBwG,KAGF,QAASzG,EAAI,EAAGA,EAAIyG,EAAKzG,GAAK,EAC5BoL,EAAgBlB,EAAM,KAAK,OAAQ,GAAI,CAAC,EACxCkB,EAAM,QAAUnL,EAAKA,EAErBiK,EAAM,WAAW,KAAK,CACpB,OAAAI,EACA,OAAQ,EACR,MAAOJ,EAAM,OAAO,OAAS,EAC7B,IAAK,GACL,KAAM+Q,EAAQ,SACd,MAAOA,EAAQ,SACrB,CAAK,EAGH,OAAA/Q,EAAM,KAAO+Q,EAAQ,OAEd,EACT,CAEA,SAASC,GAAahR,EAAOiR,EAAY,CACvC,IAAI/P,EACJ,MAAMgQ,EAAc,CAAE,EAChB5Q,EAAM2Q,EAAW,OAEvB,QAASnb,EAAI,EAAGA,EAAIwK,EAAKxK,IAAK,CAC5B,MAAMqb,EAAaF,EAAWnb,CAAC,EAM/B,GAJIqb,EAAW,SAAW,KAItBA,EAAW,MAAQ,GACrB,SAGF,MAAMC,EAAWH,EAAWE,EAAW,GAAG,EAE1CjQ,EAAgBlB,EAAM,OAAOmR,EAAW,KAAK,EAC7CjQ,EAAM,KAAU,SAChBA,EAAM,IAAU,IAChBA,EAAM,QAAU,EAChBA,EAAM,OAAU,KAChBA,EAAM,QAAU,GAEhBA,EAAgBlB,EAAM,OAAOoR,EAAS,KAAK,EAC3ClQ,EAAM,KAAU,UAChBA,EAAM,IAAU,IAChBA,EAAM,QAAU,GAChBA,EAAM,OAAU,KAChBA,EAAM,QAAU,GAEZlB,EAAM,OAAOoR,EAAS,MAAQ,CAAC,EAAE,OAAS,QAC1CpR,EAAM,OAAOoR,EAAS,MAAQ,CAAC,EAAE,UAAY,KAC/CF,EAAY,KAAKE,EAAS,MAAQ,CAAC,CAEtC,CAQD,KAAOF,EAAY,QAAQ,CACzB,MAAMpb,EAAIob,EAAY,IAAK,EAC3B,IAAIjY,EAAInD,EAAI,EAEZ,KAAOmD,EAAI+G,EAAM,OAAO,QAAUA,EAAM,OAAO/G,CAAC,EAAE,OAAS,WACzDA,IAGFA,IAEInD,IAAMmD,IACRiI,EAAQlB,EAAM,OAAO/G,CAAC,EACtB+G,EAAM,OAAO/G,CAAC,EAAI+G,EAAM,OAAOlK,CAAC,EAChCkK,EAAM,OAAOlK,CAAC,EAAIoL,EAErB,CACH,CAIA,SAASmQ,GAA2BrR,EAAO,CACzC,MAAMsR,EAActR,EAAM,YACpBM,EAAMN,EAAM,YAAY,OAE9BgR,GAAYhR,EAAOA,EAAM,UAAU,EAEnC,QAAS6G,EAAO,EAAGA,EAAOvG,EAAKuG,IACzByK,EAAYzK,CAAI,GAAKyK,EAAYzK,CAAI,EAAE,YACzCmK,GAAYhR,EAAOsR,EAAYzK,CAAI,EAAE,UAAU,CAGrD,CAEA,MAAe0K,GAAA,CACb,SAAUT,GACV,YAAaO,EACf,ECzHA,SAASG,GAAmBxR,EAAO2I,EAAQ,CACzC,MAAMpN,EAAQyE,EAAM,IACdI,EAASJ,EAAM,IAAI,WAAWzE,CAAK,EAIzC,GAFIoN,GAEAvI,IAAW,IAAgBA,IAAW,GAAgB,MAAO,GAEjE,MAAM2Q,EAAU/Q,EAAM,WAAWA,EAAM,IAAKI,IAAW,EAAI,EAE3D,QAAStK,EAAI,EAAGA,EAAIib,EAAQ,OAAQjb,IAAK,CACvC,MAAMoL,EAAQlB,EAAM,KAAK,OAAQ,GAAI,CAAC,EACtCkB,EAAM,QAAU,OAAO,aAAad,CAAM,EAE1CJ,EAAM,WAAW,KAAK,CAGpB,OAAAI,EAIA,OAAQ2Q,EAAQ,OAIhB,MAAO/Q,EAAM,OAAO,OAAS,EAK7B,IAAK,GAKL,KAAM+Q,EAAQ,SACd,MAAOA,EAAQ,SACrB,CAAK,CACF,CAED,OAAA/Q,EAAM,KAAO+Q,EAAQ,OAEd,EACT,CAEA,SAASC,GAAahR,EAAOiR,EAAY,CACvC,MAAM3Q,EAAM2Q,EAAW,OAEvB,QAASnb,EAAIwK,EAAM,EAAGxK,GAAK,EAAGA,IAAK,CACjC,MAAMqb,EAAaF,EAAWnb,CAAC,EAO/B,GALIqb,EAAW,SAAW,IAAeA,EAAW,SAAW,IAK3DA,EAAW,MAAQ,GACrB,SAGF,MAAMC,EAAWH,EAAWE,EAAW,GAAG,EAOpCM,EAAW3b,EAAI,GACVmb,EAAWnb,EAAI,CAAC,EAAE,MAAQqb,EAAW,IAAM,GAE3CF,EAAWnb,EAAI,CAAC,EAAE,SAAWqb,EAAW,QACxCF,EAAWnb,EAAI,CAAC,EAAE,QAAUqb,EAAW,MAAQ,GAE/CF,EAAWE,EAAW,IAAM,CAAC,EAAE,QAAUC,EAAS,MAAQ,EAE/Drb,EAAK,OAAO,aAAaob,EAAW,MAAM,EAE1C3M,EAAYxE,EAAM,OAAOmR,EAAW,KAAK,EAC/C3M,EAAQ,KAAUiN,EAAW,cAAgB,UAC7CjN,EAAQ,IAAUiN,EAAW,SAAW,KACxCjN,EAAQ,QAAU,EAClBA,EAAQ,OAAUiN,EAAW1b,EAAKA,EAAKA,EACvCyO,EAAQ,QAAU,GAElB,MAAME,EAAY1E,EAAM,OAAOoR,EAAS,KAAK,EAC7C1M,EAAQ,KAAU+M,EAAW,eAAiB,WAC9C/M,EAAQ,IAAU+M,EAAW,SAAW,KACxC/M,EAAQ,QAAU,GAClBA,EAAQ,OAAU+M,EAAW1b,EAAKA,EAAKA,EACvC2O,EAAQ,QAAU,GAEd+M,IACFzR,EAAM,OAAOiR,EAAWnb,EAAI,CAAC,EAAE,KAAK,EAAE,QAAU,GAChDkK,EAAM,OAAOiR,EAAWE,EAAW,IAAM,CAAC,EAAE,KAAK,EAAE,QAAU,GAC7Drb,IAEH,CACH,CAIA,SAAS4b,GAAuB1R,EAAO,CACrC,MAAMsR,EAActR,EAAM,YACpBM,EAAMN,EAAM,YAAY,OAE9BgR,GAAYhR,EAAOA,EAAM,UAAU,EAEnC,QAAS6G,EAAO,EAAGA,EAAOvG,EAAKuG,IACzByK,EAAYzK,CAAI,GAAKyK,EAAYzK,CAAI,EAAE,YACzCmK,GAAYhR,EAAOsR,EAAYzK,CAAI,EAAE,UAAU,CAGrD,CAEA,MAAe8K,GAAA,CACb,SAAUH,GACV,YAAaE,EACf,ECtHe,SAAS3B,GAAM/P,EAAO2I,EAAQ,CAC3C,IAAI7R,EAAM8V,EAAOgF,EAAKC,EAClBtF,EAAO,GACPI,EAAQ,GACRpR,EAAQyE,EAAM,IACd8R,EAAiB,GAErB,GAAI9R,EAAM,IAAI,WAAWA,EAAM,GAAG,IAAM,GAAe,MAAO,GAE9D,MAAMO,EAASP,EAAM,IACfM,EAAMN,EAAM,OACZ+R,EAAa/R,EAAM,IAAM,EACzBQ,EAAWR,EAAM,GAAG,QAAQ,eAAeA,EAAOA,EAAM,IAAK,EAAI,EAGvE,GAAIQ,EAAW,EAAK,MAAO,GAE3B,IAAI1C,EAAM0C,EAAW,EACrB,GAAI1C,EAAMwC,GAAON,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAAa,CAW1D,IALAgU,EAAiB,GAIjBhU,IACOA,EAAMwC,IACXxJ,EAAOkJ,EAAM,IAAI,WAAWlC,CAAG,EAC3B,GAACwB,EAAQxI,CAAI,GAAKA,IAAS,KAFfgH,IAEhB,CAEF,GAAIA,GAAOwC,EAAO,MAAO,GAMzB,GAFA/E,EAAQuC,EACR8T,EAAM5R,EAAM,GAAG,QAAQ,qBAAqBA,EAAM,IAAKlC,EAAKkC,EAAM,MAAM,EACpE4R,EAAI,GAAI,CAWV,IAVArF,EAAOvM,EAAM,GAAG,cAAc4R,EAAI,GAAG,EACjC5R,EAAM,GAAG,aAAauM,CAAI,EAC5BzO,EAAM8T,EAAI,IAEVrF,EAAO,GAKThR,EAAQuC,EACDA,EAAMwC,IACXxJ,EAAOkJ,EAAM,IAAI,WAAWlC,CAAG,EAC3B,GAACwB,EAAQxI,CAAI,GAAKA,IAAS,KAFfgH,IAEhB,CAMF,GADA8T,EAAM5R,EAAM,GAAG,QAAQ,eAAeA,EAAM,IAAKlC,EAAKkC,EAAM,MAAM,EAC9DlC,EAAMwC,GAAO/E,IAAUuC,GAAO8T,EAAI,GAMpC,IALAjF,EAAQiF,EAAI,IACZ9T,EAAM8T,EAAI,IAIH9T,EAAMwC,IACXxJ,EAAOkJ,EAAM,IAAI,WAAWlC,CAAG,EAC3B,GAACwB,EAAQxI,CAAI,GAAKA,IAAS,KAFfgH,IAEhB,CAGL,EAEGA,GAAOwC,GAAON,EAAM,IAAI,WAAWlC,CAAG,IAAM,MAE9CgU,EAAiB,IAEnBhU,GACD,CAED,GAAIgU,EAAgB,CAIlB,GAAI,OAAO9R,EAAM,IAAI,YAAe,YAAe,MAAO,GAmB1D,GAjBIlC,EAAMwC,GAAON,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAC7CvC,EAAQuC,EAAM,EACdA,EAAMkC,EAAM,GAAG,QAAQ,eAAeA,EAAOlC,CAAG,EAC5CA,GAAO,EACT8O,EAAQ5M,EAAM,IAAI,MAAMzE,EAAOuC,GAAK,EAEpCA,EAAM0C,EAAW,GAGnB1C,EAAM0C,EAAW,EAKdoM,IAASA,EAAQ5M,EAAM,IAAI,MAAM+R,EAAYvR,CAAQ,GAE1DqR,EAAM7R,EAAM,IAAI,WAAWL,GAAmBiN,CAAK,CAAC,EAChD,CAACiF,EACH,OAAA7R,EAAM,IAAMO,EACL,GAETgM,EAAOsF,EAAI,KACXlF,EAAQkF,EAAI,KACb,CAMD,GAAI,CAAClJ,EAAQ,CACX3I,EAAM,IAAM+R,EACZ/R,EAAM,OAASQ,EAEf,MAAMgE,EAAUxE,EAAM,KAAK,YAAa,IAAK,CAAC,EACxCiD,EAAQ,CAAC,CAAC,OAAQsJ,CAAI,CAAC,EAC7B/H,EAAQ,MAASvB,EACb0J,GACF1J,EAAM,KAAK,CAAC,QAAS0J,CAAK,CAAC,EAG7B3M,EAAM,YACNA,EAAM,GAAG,OAAO,SAASA,CAAK,EAC9BA,EAAM,YAENA,EAAM,KAAK,aAAc,IAAK,EAAE,CACjC,CAED,OAAAA,EAAM,IAAMlC,EACZkC,EAAM,OAASM,EACR,EACT,CCtIe,SAAS0R,GAAOhS,EAAO2I,EAAQ,CAC5C,IAAI7R,EAAMoX,EAAStB,EAAO9O,EAAK+T,EAAKD,EAAKjF,EAAOpR,EAC5CgR,EAAO,GACX,MAAMhM,EAASP,EAAM,IACfM,EAAMN,EAAM,OAGlB,GADIA,EAAM,IAAI,WAAWA,EAAM,GAAG,IAAM,IACpCA,EAAM,IAAI,WAAWA,EAAM,IAAM,CAAC,IAAM,GAAe,MAAO,GAElE,MAAM+R,EAAa/R,EAAM,IAAM,EACzBQ,EAAWR,EAAM,GAAG,QAAQ,eAAeA,EAAOA,EAAM,IAAM,EAAG,EAAK,EAG5E,GAAIQ,EAAW,EAAK,MAAO,GAG3B,GADA1C,EAAM0C,EAAW,EACb1C,EAAMwC,GAAON,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAAa,CAQ1D,IADAA,IACOA,EAAMwC,IACXxJ,EAAOkJ,EAAM,IAAI,WAAWlC,CAAG,EAC3B,GAACwB,EAAQxI,CAAI,GAAKA,IAAS,KAFfgH,IAEhB,CAEF,GAAIA,GAAOwC,EAAO,MAAO,GAkBzB,IAdA/E,EAAQuC,EACR8T,EAAM5R,EAAM,GAAG,QAAQ,qBAAqBA,EAAM,IAAKlC,EAAKkC,EAAM,MAAM,EACpE4R,EAAI,KACNrF,EAAOvM,EAAM,GAAG,cAAc4R,EAAI,GAAG,EACjC5R,EAAM,GAAG,aAAauM,CAAI,EAC5BzO,EAAM8T,EAAI,IAEVrF,EAAO,IAMXhR,EAAQuC,EACDA,EAAMwC,IACXxJ,EAAOkJ,EAAM,IAAI,WAAWlC,CAAG,EAC3B,GAACwB,EAAQxI,CAAI,GAAKA,IAAS,KAFfgH,IAEhB,CAMF,GADA8T,EAAM5R,EAAM,GAAG,QAAQ,eAAeA,EAAM,IAAKlC,EAAKkC,EAAM,MAAM,EAC9DlC,EAAMwC,GAAO/E,IAAUuC,GAAO8T,EAAI,GAMpC,IALAjF,EAAQiF,EAAI,IACZ9T,EAAM8T,EAAI,IAIH9T,EAAMwC,IACXxJ,EAAOkJ,EAAM,IAAI,WAAWlC,CAAG,EAC3B,GAACwB,EAAQxI,CAAI,GAAKA,IAAS,KAFfgH,IAEhB,MAGF6O,EAAQ,GAGV,GAAI7O,GAAOwC,GAAON,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAC9C,OAAAkC,EAAM,IAAMO,EACL,GAETzC,GACJ,KAAS,CAIL,GAAI,OAAOkC,EAAM,IAAI,YAAe,YAAe,MAAO,GAmB1D,GAjBIlC,EAAMwC,GAAON,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAC7CvC,EAAQuC,EAAM,EACdA,EAAMkC,EAAM,GAAG,QAAQ,eAAeA,EAAOlC,CAAG,EAC5CA,GAAO,EACT8O,EAAQ5M,EAAM,IAAI,MAAMzE,EAAOuC,GAAK,EAEpCA,EAAM0C,EAAW,GAGnB1C,EAAM0C,EAAW,EAKdoM,IAASA,EAAQ5M,EAAM,IAAI,MAAM+R,EAAYvR,CAAQ,GAE1DqR,EAAM7R,EAAM,IAAI,WAAWL,GAAmBiN,CAAK,CAAC,EAChD,CAACiF,EACH,OAAA7R,EAAM,IAAMO,EACL,GAETgM,EAAOsF,EAAI,KACXlF,EAAQkF,EAAI,KACb,CAMD,GAAI,CAAClJ,EAAQ,CACXuF,EAAUlO,EAAM,IAAI,MAAM+R,EAAYvR,CAAQ,EAE9C,MAAMK,EAAS,CAAE,EACjBb,EAAM,GAAG,OAAO,MACdkO,EACAlO,EAAM,GACNA,EAAM,IACNa,CACD,EAED,MAAMK,EAAQlB,EAAM,KAAK,QAAS,MAAO,CAAC,EACpCiD,EAAQ,CAAC,CAAC,MAAOsJ,CAAI,EAAG,CAAC,MAAO,EAAE,CAAC,EACzCrL,EAAM,MAAQ+B,EACd/B,EAAM,SAAWL,EACjBK,EAAM,QAAUgN,EAEZvB,GACF1J,EAAM,KAAK,CAAC,QAAS0J,CAAK,CAAC,CAE9B,CAED,OAAA3M,EAAM,IAAMlC,EACZkC,EAAM,OAASM,EACR,EACT,CCtIA,MAAM2R,GAAc,yIAEdC,GAAc,qDAEL,SAASC,GAAUnS,EAAO2I,EAAQ,CAC/C,IAAI7K,EAAMkC,EAAM,IAEhB,GAAIA,EAAM,IAAI,WAAWlC,CAAG,IAAM,GAAe,MAAO,GAExD,MAAMvC,EAAQyE,EAAM,IACdM,EAAMN,EAAM,OAElB,OAAS,CACP,GAAI,EAAElC,GAAOwC,EAAK,MAAO,GAEzB,MAAMvK,EAAKiK,EAAM,IAAI,WAAWlC,CAAG,EAEnC,GAAI/H,IAAO,GAAc,MAAO,GAChC,GAAIA,IAAO,GAAc,KAC1B,CAED,MAAMkB,EAAM+I,EAAM,IAAI,MAAMzE,EAAQ,EAAGuC,CAAG,EAE1C,GAAIoU,GAAY,KAAKjb,CAAG,EAAG,CACzB,MAAMqN,EAAUtE,EAAM,GAAG,cAAc/I,CAAG,EAC1C,GAAI,CAAC+I,EAAM,GAAG,aAAasE,CAAO,EAAK,MAAO,GAE9C,GAAI,CAACqE,EAAQ,CACX,MAAMnE,EAAYxE,EAAM,KAAK,YAAa,IAAK,CAAC,EAChDwE,EAAQ,MAAU,CAAC,CAAC,OAAQF,CAAO,CAAC,EACpCE,EAAQ,OAAU,WAClBA,EAAQ,KAAU,OAElB,MAAMC,EAAYzE,EAAM,KAAK,OAAQ,GAAI,CAAC,EAC1CyE,EAAQ,QAAUzE,EAAM,GAAG,kBAAkB/I,CAAG,EAEhD,MAAMyN,EAAY1E,EAAM,KAAK,aAAc,IAAK,EAAE,EAClD0E,EAAQ,OAAU,WAClBA,EAAQ,KAAU,MACnB,CAED,OAAA1E,EAAM,KAAO/I,EAAI,OAAS,EACnB,EACR,CAED,GAAIgb,GAAS,KAAKhb,CAAG,EAAG,CACtB,MAAMqN,EAAUtE,EAAM,GAAG,cAAc,UAAY/I,CAAG,EACtD,GAAI,CAAC+I,EAAM,GAAG,aAAasE,CAAO,EAAK,MAAO,GAE9C,GAAI,CAACqE,EAAQ,CACX,MAAMnE,EAAYxE,EAAM,KAAK,YAAa,IAAK,CAAC,EAChDwE,EAAQ,MAAU,CAAC,CAAC,OAAQF,CAAO,CAAC,EACpCE,EAAQ,OAAU,WAClBA,EAAQ,KAAU,OAElB,MAAMC,EAAYzE,EAAM,KAAK,OAAQ,GAAI,CAAC,EAC1CyE,EAAQ,QAAUzE,EAAM,GAAG,kBAAkB/I,CAAG,EAEhD,MAAMyN,EAAY1E,EAAM,KAAK,aAAc,IAAK,EAAE,EAClD0E,EAAQ,OAAU,WAClBA,EAAQ,KAAU,MACnB,CAED,OAAA1E,EAAM,KAAO/I,EAAI,OAAS,EACnB,EACR,CAED,MAAO,EACT,CCnEA,SAAS0M,GAAYtI,EAAK,CACxB,MAAO,YAAY,KAAKA,CAAG,CAC7B,CACA,SAASuI,GAAavI,EAAK,CACzB,MAAO,aAAa,KAAKA,CAAG,CAC9B,CAEA,SAAS+W,GAAUrc,EAAI,CAErB,MAAMsc,EAAKtc,EAAK,GAChB,OAAQsc,GAAM,IAAiBA,GAAM,GACvC,CAEe,SAASC,GAAatS,EAAO2I,EAAQ,CAClD,GAAI,CAAC3I,EAAM,GAAG,QAAQ,KAAQ,MAAO,GAGrC,MAAMM,EAAMN,EAAM,OACZlC,EAAMkC,EAAM,IAClB,GAAIA,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAC9BA,EAAM,GAAKwC,EACb,MAAO,GAIT,MAAMvK,EAAKiK,EAAM,IAAI,WAAWlC,EAAM,CAAC,EACvC,GAAI/H,IAAO,IACPA,IAAO,IACPA,IAAO,IACP,CAACqc,GAASrc,CAAE,EACd,MAAO,GAGT,MAAMyI,EAAQwB,EAAM,IAAI,MAAMlC,CAAG,EAAE,MAAM4P,EAAW,EACpD,GAAI,CAAClP,EAAS,MAAO,GAErB,GAAI,CAACmK,EAAQ,CACX,MAAMzH,EAAQlB,EAAM,KAAK,cAAe,GAAI,CAAC,EAC7CkB,EAAM,QAAU1C,EAAM,CAAC,EAEnBmF,GAAWzC,EAAM,OAAO,GAAIlB,EAAM,YAClC4D,GAAY1C,EAAM,OAAO,GAAGlB,EAAM,WACvC,CACD,OAAAA,EAAM,KAAOxB,EAAM,CAAC,EAAE,OACf,EACT,CC5CA,MAAM+T,GAAa,uCACbC,GAAa,4BAEJ,SAAS1T,GAAQkB,EAAO2I,EAAQ,CAC7C,MAAM7K,EAAMkC,EAAM,IACZM,EAAMN,EAAM,OAIlB,GAFIA,EAAM,IAAI,WAAWlC,CAAG,IAAM,IAE9BA,EAAM,GAAKwC,EAAK,MAAO,GAI3B,GAFWN,EAAM,IAAI,WAAWlC,EAAM,CAAC,IAE5B,GAAc,CACvB,MAAMU,EAAQwB,EAAM,IAAI,MAAMlC,CAAG,EAAE,MAAMyU,EAAU,EACnD,GAAI/T,EAAO,CACT,GAAI,CAACmK,EAAQ,CACX,MAAM7R,EAAO0H,EAAM,CAAC,EAAE,CAAC,EAAE,YAAW,IAAO,IAAM,SAASA,EAAM,CAAC,EAAE,MAAM,CAAC,EAAG,EAAE,EAAI,SAASA,EAAM,CAAC,EAAG,EAAE,EAElG0C,EAAUlB,EAAM,KAAK,eAAgB,GAAI,CAAC,EAChDkB,EAAM,QAAUlD,GAAkBlH,CAAI,EAAIqD,GAAcrD,CAAI,EAAIqD,GAAc,KAAM,EACpF+G,EAAM,OAAU1C,EAAM,CAAC,EACvB0C,EAAM,KAAU,QACjB,CACD,OAAAlB,EAAM,KAAOxB,EAAM,CAAC,EAAE,OACf,EACR,CACL,KAAS,CACL,MAAMA,EAAQwB,EAAM,IAAI,MAAMlC,CAAG,EAAE,MAAM0U,EAAQ,EACjD,GAAIhU,EAAO,CACT,MAAME,EAAUzB,GAAWuB,EAAM,CAAC,CAAC,EACnC,GAAIE,IAAYF,EAAM,CAAC,EAAG,CACxB,GAAI,CAACmK,EAAQ,CACX,MAAMzH,EAAUlB,EAAM,KAAK,eAAgB,GAAI,CAAC,EAChDkB,EAAM,QAAUxC,EAChBwC,EAAM,OAAU1C,EAAM,CAAC,EACvB0C,EAAM,KAAU,QACjB,CACD,OAAAlB,EAAM,KAAOxB,EAAM,CAAC,EAAE,OACf,EACR,CACF,CACF,CAED,MAAO,EACT,CC/CA,SAASiU,GAAmBxB,EAAY,CACtC,MAAMyB,EAAgB,CAAE,EAClBpS,EAAM2Q,EAAW,OAEvB,GAAI,CAAC3Q,EAAK,OAGV,IAAIqS,EAAY,EACZC,EAAe,GACnB,MAAMC,EAAQ,CAAE,EAEhB,QAASC,EAAY,EAAGA,EAAYxS,EAAKwS,IAAa,CACpD,MAAMC,EAAS9B,EAAW6B,CAAS,EAoBnC,GAlBAD,EAAM,KAAK,CAAC,GAMR5B,EAAW0B,CAAS,EAAE,SAAWI,EAAO,QAAUH,IAAiBG,EAAO,MAAQ,KACpFJ,EAAYG,GAGdF,EAAeG,EAAO,MAMtBA,EAAO,OAASA,EAAO,QAAU,EAE7B,CAACA,EAAO,MAAO,SAOdL,EAAc,eAAeK,EAAO,MAAM,IAC7CL,EAAcK,EAAO,MAAM,EAAI,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,GAGxD,MAAMC,EAAeN,EAAcK,EAAO,MAAM,GAAGA,EAAO,KAAO,EAAI,GAAMA,EAAO,OAAS,CAAE,EAE7F,IAAIE,EAAYN,EAAYE,EAAMF,CAAS,EAAI,EAE3CO,EAAkBD,EAEtB,KAAOA,EAAYD,EAAcC,GAAaJ,EAAMI,CAAS,EAAI,EAAG,CAClE,MAAME,EAASlC,EAAWgC,CAAS,EAEnC,GAAIE,EAAO,SAAWJ,EAAO,QAEzBI,EAAO,MAAQA,EAAO,IAAM,EAAG,CACjC,IAAIC,EAAa,GAiBjB,IARID,EAAO,OAASJ,EAAO,QACpBI,EAAO,OAASJ,EAAO,QAAU,IAAM,IACtCI,EAAO,OAAS,IAAM,GAAKJ,EAAO,OAAS,IAAM,KACnDK,EAAa,IAKf,CAACA,EAAY,CAKf,MAAMC,EAAWJ,EAAY,GAAK,CAAChC,EAAWgC,EAAY,CAAC,EAAE,KACzDJ,EAAMI,EAAY,CAAC,EAAI,EACvB,EAEJJ,EAAMC,CAAS,EAAIA,EAAYG,EAAYI,EAC3CR,EAAMI,CAAS,EAAII,EAEnBN,EAAO,KAAQ,GACfI,EAAO,IAAQL,EACfK,EAAO,MAAQ,GACfD,EAAkB,GAGlBN,EAAe,GACf,KACD,CACF,CACF,CAEGM,IAAoB,KAQtBR,EAAcK,EAAO,MAAM,GAAGA,EAAO,KAAO,EAAI,IAAOA,EAAO,QAAU,GAAK,CAAE,EAAIG,EAEtF,CACH,CAEe,SAASI,GAAYtT,EAAO,CACzC,MAAMsR,EAActR,EAAM,YACpBM,EAAMN,EAAM,YAAY,OAE9ByS,GAAkBzS,EAAM,UAAU,EAElC,QAAS6G,EAAO,EAAGA,EAAOvG,EAAKuG,IACzByK,EAAYzK,CAAI,GAAKyK,EAAYzK,CAAI,EAAE,YACzC4L,GAAkBnB,EAAYzK,CAAI,EAAE,UAAU,CAGpD,CClHe,SAAS0M,GAAgBvT,EAAO,CAC7C,IAAI6G,EAAMC,EACN5G,EAAQ,EACZ,MAAMW,EAASb,EAAM,OACfM,EAAMN,EAAM,OAAO,OAEzB,IAAK6G,EAAOC,EAAO,EAAGD,EAAOvG,EAAKuG,IAG5BhG,EAAOgG,CAAI,EAAE,QAAU,GAAG3G,IAC9BW,EAAOgG,CAAI,EAAE,MAAQ3G,EACjBW,EAAOgG,CAAI,EAAE,QAAU,GAAG3G,IAE1BW,EAAOgG,CAAI,EAAE,OAAS,QACtBA,EAAO,EAAIvG,GACXO,EAAOgG,EAAO,CAAC,EAAE,OAAS,OAE5BhG,EAAOgG,EAAO,CAAC,EAAE,QAAUhG,EAAOgG,CAAI,EAAE,QAAUhG,EAAOgG,EAAO,CAAC,EAAE,SAE/DA,IAASC,IAAQjG,EAAOiG,CAAI,EAAIjG,EAAOgG,CAAI,GAE/CC,KAIAD,IAASC,IACXjG,EAAO,OAASiG,EAEpB,CCVA,MAAMC,GAAS,CACb,CAAC,OAAmByM,EAAM,EAC1B,CAAC,UAAmBrM,EAAS,EAC7B,CAAC,UAAmBsM,EAAS,EAC7B,CAAC,SAAmBC,EAAQ,EAC5B,CAAC,YAAmBC,EAAW,EAC/B,CAAC,gBAAmBpC,GAAgB,QAAQ,EAC5C,CAAC,WAAmBI,GAAW,QAAQ,EACvC,CAAC,OAAmBiC,EAAM,EAC1B,CAAC,QAAmBC,EAAO,EAC3B,CAAC,WAAmBC,EAAU,EAC9B,CAAC,cAAmBC,EAAa,EACjC,CAAC,SAAmBC,EAAQ,CAC9B,EAOMC,GAAU,CACd,CAAC,gBAAmBC,EAAe,EACnC,CAAC,gBAAmB3C,GAAgB,WAAW,EAC/C,CAAC,WAAmBI,GAAW,WAAW,EAG1C,CAAC,iBAAmBwC,EAAgB,CACtC,EAKA,SAASC,IAAgB,CAMvB,KAAK,MAAQ,IAAIrS,EAEjB,QAASjM,EAAI,EAAGA,EAAIiR,GAAO,OAAQjR,IACjC,KAAK,MAAM,KAAKiR,GAAOjR,CAAC,EAAE,CAAC,EAAGiR,GAAOjR,CAAC,EAAE,CAAC,CAAC,EAS5C,KAAK,OAAS,IAAIiM,EAElB,QAASjM,EAAI,EAAGA,EAAIme,GAAQ,OAAQne,IAClC,KAAK,OAAO,KAAKme,GAAQne,CAAC,EAAE,CAAC,EAAGme,GAAQne,CAAC,EAAE,CAAC,CAAC,CAEjD,CAKAse,GAAa,UAAU,UAAY,SAAUpU,EAAO,CAClD,MAAMlC,EAAMkC,EAAM,IACZ6B,EAAQ,KAAK,MAAM,SAAS,EAAE,EAC9BtF,EAAMsF,EAAM,OACZmN,EAAahP,EAAM,GAAG,QAAQ,WAC9BnK,EAAQmK,EAAM,MAEpB,GAAI,OAAOnK,EAAMiI,CAAG,GAAM,YAAa,CACrCkC,EAAM,IAAMnK,EAAMiI,CAAG,EACrB,MACD,CAED,IAAIqR,EAAK,GAET,GAAInP,EAAM,MAAQgP,GAChB,QAASlZ,EAAI,EAAGA,EAAIyG,EAAKzG,IASvB,GAJAkK,EAAM,QACNmP,EAAKtN,EAAM/L,CAAC,EAAEkK,EAAO,EAAI,EACzBA,EAAM,QAEFmP,EAAI,CACN,GAAIrR,GAAOkC,EAAM,IAAO,MAAM,IAAI,MAAM,wCAAwC,EAChF,KACD,OAcHA,EAAM,IAAMA,EAAM,OAGfmP,GAAMnP,EAAM,MACjBnK,EAAMiI,CAAG,EAAIkC,EAAM,GACrB,EAIAoU,GAAa,UAAU,SAAW,SAAUpU,EAAO,CACjD,MAAM6B,EAAQ,KAAK,MAAM,SAAS,EAAE,EAC9BtF,EAAMsF,EAAM,OACZrG,EAAMwE,EAAM,OACZgP,EAAahP,EAAM,GAAG,QAAQ,WAEpC,KAAOA,EAAM,IAAMxE,GAAK,CAOtB,MAAM6E,EAAUL,EAAM,IACtB,IAAImP,EAAK,GAET,GAAInP,EAAM,MAAQgP,GAChB,QAASlZ,EAAI,EAAGA,EAAIyG,EAAKzG,IAEvB,GADAqZ,EAAKtN,EAAM/L,CAAC,EAAEkK,EAAO,EAAK,EACtBmP,EAAI,CACN,GAAI9O,GAAWL,EAAM,IAAO,MAAM,IAAI,MAAM,wCAAwC,EACpF,KACD,EAIL,GAAImP,EAAI,CACN,GAAInP,EAAM,KAAOxE,EAAO,MACxB,QACD,CAEDwE,EAAM,SAAWA,EAAM,IAAIA,EAAM,KAAK,CACvC,CAEGA,EAAM,SACRA,EAAM,YAAa,CAEvB,EAOAoU,GAAa,UAAU,MAAQ,SAAU/Y,EAAK+H,EAAIpC,EAAKoO,EAAW,CAChE,MAAMpP,EAAQ,IAAI,KAAK,MAAM3E,EAAK+H,EAAIpC,EAAKoO,CAAS,EAEpD,KAAK,SAASpP,CAAK,EAEnB,MAAM6B,EAAQ,KAAK,OAAO,SAAS,EAAE,EAC/BtF,EAAMsF,EAAM,OAElB,QAAS/L,EAAI,EAAGA,EAAIyG,EAAKzG,IACvB+L,EAAM/L,CAAC,EAAEkK,CAAK,CAElB,EAEAoU,GAAa,UAAU,MAAQ/E,GChMhB,SAAQgF,GAAEC,EAAM,CAC7B,MAAMC,EAAK,CAAE,EACbD,EAAOA,GAAQ,CAAE,EAEjBC,EAAG,QAAU9a,GAAI,OACjB8a,EAAG,OAAS7a,GAAG,OACf6a,EAAG,MAAQ1a,GAAE,OACb0a,EAAG,MAAQ3a,GAAE,OAGb2a,EAAG,SAAW,CAACA,EAAG,MAAOA,EAAG,MAAOA,EAAG,MAAM,EAAE,KAAK,GAAG,EAGtDA,EAAG,QAAU,CAACA,EAAG,MAAOA,EAAG,MAAM,EAAE,KAAK,GAAG,EAI3C,MAAMC,EAAkB,QAKxB,OAAAD,EAAG,kBAAoB,SAAWC,EAAkB,IAAMD,EAAG,SAAW,IAAMA,EAAG,QAAU,IAI3FA,EAAG,QAED,yFAGFA,EAAG,SAAW,YAAcA,EAAG,QAAU,uBAEzCA,EAAG,SAED,kFAEFA,EAAG,oBAED,QAAUC,EAAkB,IAAMD,EAAG,SAAW,QACvCD,EAAK,KAAK,EAAI,WAAa,MAAQ,uBAAyBC,EAAG,SAAW,KAErFA,EAAG,SAED,iBAGcA,EAAG,QAAU,IAAMC,EAAkB,oCAC/BD,EAAG,QAAU,wBACbA,EAAG,QAAU,wBACbA,EAAG,QAAU,wBACbA,EAAG,QAAU,wBACbA,EAAG,QAAU,qBAGhBA,EAAG,kBAAoB,qCAYvBA,EAAG,QAAU,YACvBD,EAAK,KAAK,EACP,6BACA,SAGJ,OAASC,EAAG,QAAU,WAGbA,EAAG,QAAU,cAGVA,EAAG,QAAU,iBAEdA,EAAG,QAAU,kBAOhCA,EAAG,eAED,iEAEFA,EAAG,OAED,wBAKFA,EAAG,gBAGD,MACEA,EAAG,OACH,IACAA,EAAG,kBAAoB,UAG3BA,EAAG,WAED,MACEA,EAAG,OACH,OACQA,EAAG,kBAAoB,QAEvBA,EAAG,kBAAoB,QAAUA,EAAG,kBAAoB,UAAYA,EAAG,kBAAoB,KAGvGA,EAAG,SAED,eAIgBA,EAAG,WAAa,SAAWA,EAAG,WAAwB,KAGxEA,EAAG,eAED,MACEA,EAAG,QACL,aACgBA,EAAG,WAAa,qBAGlCA,EAAG,qBAED,YAAcA,EAAG,WAAa,oBAEhCA,EAAG,gBAEDA,EAAG,SAAWA,EAAG,oBAEnBA,EAAG,sBAEDA,EAAG,eAAiBA,EAAG,oBAEzBA,EAAG,qBAEDA,EAAG,SAAWA,EAAG,SAAWA,EAAG,oBAEjCA,EAAG,2BAEDA,EAAG,eAAiBA,EAAG,SAAWA,EAAG,oBAEvCA,EAAG,iCAEDA,EAAG,qBAAuBA,EAAG,SAAWA,EAAG,oBAO7CA,EAAG,oBAED,sDAAwDA,EAAG,SAAW,SAExEA,EAAG,gBAEC,MAAQC,EAAkB,UAAYD,EAAG,QAAU,KAC7CA,EAAG,eAAiB,IAAMA,EAAG,sBAAwB,IAE/DA,EAAG,eAGC,mCAA0CA,EAAG,SAAW,qBAC9BA,EAAG,2BAA6BA,EAAG,SAAW,IAE5EA,EAAG,qBAGC,mCAA0CA,EAAG,SAAW,qBAC9BA,EAAG,iCAAmCA,EAAG,SAAW,IAE3EA,CACT,CCpLA,SAAS7W,GAAQN,EAAoC,CAGnD,OAFgB,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,EAE/C,QAAQ,SAAUO,EAAQ,CAC3BA,GAEL,OAAO,KAAKA,CAAM,EAAE,QAAQ,SAAUF,EAAK,CACzCL,EAAIK,CAAG,EAAIE,EAAOF,CAAG,CAC3B,CAAK,CACL,CAAG,EAEML,CACT,CAEA,SAASD,GAAQC,EAAK,CAAE,OAAO,OAAO,UAAU,SAAS,KAAKA,CAAG,CAAG,CACpE,SAASC,GAAUD,EAAK,CAAE,OAAOD,GAAOC,CAAG,IAAM,iBAAmB,CACpE,SAASqX,GAAUrX,EAAK,CAAE,OAAOD,GAAOC,CAAG,IAAM,iBAAmB,CACpE,SAASsX,GAAUtX,EAAK,CAAE,OAAOD,GAAOC,CAAG,IAAM,iBAAmB,CACpE,SAASuX,GAAYvX,EAAK,CAAE,OAAOD,GAAOC,CAAG,IAAM,mBAAqB,CAExE,SAASiC,GAAUhE,EAAK,CAAE,OAAOA,EAAI,QAAQ,uBAAwB,MAAM,CAAG,CAI9E,MAAMuZ,GAAiB,CACrB,UAAW,GACX,WAAY,GACZ,QAAS,EACX,EAEA,SAASC,GAAczX,EAAK,CAC1B,OAAO,OAAO,KAAKA,GAAO,CAAA,CAAE,EAAE,OAAO,SAAU0X,EAAK5b,EAAG,CAErD,OAAO4b,GAAOF,GAAe,eAAe1b,CAAC,CAC9C,EAAE,EAAK,CACV,CAEA,MAAM6b,GAAiB,CACrB,QAAS,CACP,SAAU,SAAU9Q,EAAMnG,EAAKkE,EAAM,CACnC,MAAMgT,EAAO/Q,EAAK,MAAMnG,CAAG,EAQ3B,OANKkE,EAAK,GAAG,OAEXA,EAAK,GAAG,KAAO,IAAI,OACjB,UAAYA,EAAK,GAAG,SAAWA,EAAK,GAAG,qBAAuBA,EAAK,GAAG,SAAU,GACjF,GAECA,EAAK,GAAG,KAAK,KAAKgT,CAAI,EACjBA,EAAK,MAAMhT,EAAK,GAAG,IAAI,EAAE,CAAC,EAAE,OAE9B,CACR,CACF,EACD,SAAU,QACV,OAAQ,QACR,KAAM,CACJ,SAAU,SAAUiC,EAAMnG,EAAKkE,EAAM,CACnC,MAAMgT,EAAO/Q,EAAK,MAAMnG,CAAG,EAkB3B,OAhBKkE,EAAK,GAAG,UAEXA,EAAK,GAAG,QAAU,IAAI,OACpB,IACAA,EAAK,GAAG,SAGR,sBAAwBA,EAAK,GAAG,WAAa,SAAWA,EAAK,GAAG,gBAAkB,IAClFA,EAAK,GAAG,SACRA,EAAK,GAAG,oBACRA,EAAK,GAAG,SAER,GACD,GAGCA,EAAK,GAAG,QAAQ,KAAKgT,CAAI,EAEvBlX,GAAO,GAAKmG,EAAKnG,EAAM,CAAC,IAAM,KAC9BA,GAAO,GAAKmG,EAAKnG,EAAM,CAAC,IAAM,IAAc,EACzCkX,EAAK,MAAMhT,EAAK,GAAG,OAAO,EAAE,CAAC,EAAE,OAEjC,CACR,CACF,EACD,UAAW,CACT,SAAU,SAAUiC,EAAMnG,EAAKkE,EAAM,CACnC,MAAMgT,EAAO/Q,EAAK,MAAMnG,CAAG,EAO3B,OALKkE,EAAK,GAAG,SACXA,EAAK,GAAG,OAAS,IAAI,OACnB,IAAMA,EAAK,GAAG,eAAiB,IAAMA,EAAK,GAAG,gBAAiB,GAC/D,GAECA,EAAK,GAAG,OAAO,KAAKgT,CAAI,EACnBA,EAAK,MAAMhT,EAAK,GAAG,MAAM,EAAE,CAAC,EAAE,OAEhC,CACR,CACF,CACH,EAIMiT,GAAkB,0VAGlBC,GAAe,8EAA8E,MAAM,GAAG,EAE5G,SAASC,GAAgBnT,EAAM,CAC7BA,EAAK,UAAY,GACjBA,EAAK,eAAiB,EACxB,CAEA,SAASoT,GAAiBb,EAAI,CAC5B,OAAO,SAAUtQ,EAAMnG,EAAK,CAC1B,MAAMkX,EAAO/Q,EAAK,MAAMnG,CAAG,EAE3B,OAAIyW,EAAG,KAAKS,CAAI,EACPA,EAAK,MAAMT,CAAE,EAAE,CAAC,EAAE,OAEpB,CACR,CACH,CAEA,SAASc,IAAoB,CAC3B,OAAO,SAAU7W,EAAOwD,EAAM,CAC5BA,EAAK,UAAUxD,CAAK,CACrB,CACH,CAIA,SAAS8W,GAAStT,EAAM,CAEtB,MAAMuS,EAAKvS,EAAK,GAAKqS,GAAUrS,EAAK,QAAQ,EAGtCuT,EAAOvT,EAAK,SAAS,MAAO,EAElCA,EAAK,UAAW,EAEXA,EAAK,mBACRuT,EAAK,KAAKN,EAAe,EAE3BM,EAAK,KAAKhB,EAAG,MAAM,EAEnBA,EAAG,SAAWgB,EAAK,KAAK,GAAG,EAE3B,SAASC,EAAOC,EAAK,CAAE,OAAOA,EAAI,QAAQ,SAAUlB,EAAG,QAAQ,CAAG,CAElEA,EAAG,YAAc,OAAOiB,EAAMjB,EAAG,eAAe,EAAG,GAAG,EACtDA,EAAG,WAAa,OAAOiB,EAAMjB,EAAG,cAAc,EAAG,GAAG,EACpDA,EAAG,iBAAmB,OAAOiB,EAAMjB,EAAG,oBAAoB,EAAG,GAAG,EAChEA,EAAG,gBAAkB,OAAOiB,EAAMjB,EAAG,mBAAmB,EAAG,GAAG,EAM9D,MAAMmB,EAAU,CAAE,EAElB1T,EAAK,aAAe,CAAE,EAEtB,SAAS2T,EAAalX,EAAMmX,EAAK,CAC/B,MAAM,IAAI,MAAM,+BAAiCnX,EAAO,MAAQmX,CAAG,CACpE,CAED,OAAO,KAAK5T,EAAK,WAAW,EAAE,QAAQ,SAAUvD,EAAM,CACpD,MAAMmX,EAAM5T,EAAK,YAAYvD,CAAI,EAGjC,GAAImX,IAAQ,KAAQ,OAEpB,MAAMC,EAAW,CAAE,SAAU,KAAM,KAAM,IAAM,EAI/C,GAFA7T,EAAK,aAAavD,CAAI,EAAIoX,EAEtBpB,GAASmB,CAAG,EAAG,CACblB,GAASkB,EAAI,QAAQ,EACvBC,EAAS,SAAWT,GAAgBQ,EAAI,QAAQ,EACvCjB,GAAWiB,EAAI,QAAQ,EAChCC,EAAS,SAAWD,EAAI,SAExBD,EAAYlX,EAAMmX,CAAG,EAGnBjB,GAAWiB,EAAI,SAAS,EAC1BC,EAAS,UAAYD,EAAI,UACfA,EAAI,UAGdD,EAAYlX,EAAMmX,CAAG,EAFrBC,EAAS,UAAYR,GAAkB,EAKzC,MACD,CAED,GAAIhY,GAASuY,CAAG,EAAG,CACjBF,EAAQ,KAAKjX,CAAI,EACjB,MACD,CAEDkX,EAAYlX,EAAMmX,CAAG,CACzB,CAAG,EAMDF,EAAQ,QAAQ,SAAUI,EAAO,CAC1B9T,EAAK,aAAaA,EAAK,YAAY8T,CAAK,CAAC,IAM9C9T,EAAK,aAAa8T,CAAK,EAAE,SACvB9T,EAAK,aAAaA,EAAK,YAAY8T,CAAK,CAAC,EAAE,SAC7C9T,EAAK,aAAa8T,CAAK,EAAE,UACvB9T,EAAK,aAAaA,EAAK,YAAY8T,CAAK,CAAC,EAAE,UACjD,CAAG,EAKD9T,EAAK,aAAa,EAAE,EAAI,CAAE,SAAU,KAAM,UAAWqT,IAAoB,EAKzE,MAAMU,EAAQ,OAAO,KAAK/T,EAAK,YAAY,EACxC,OAAO,SAAUvD,EAAM,CAEtB,OAAOA,EAAK,OAAS,GAAKuD,EAAK,aAAavD,CAAI,CACtD,CAAK,EACA,IAAIY,EAAQ,EACZ,KAAK,GAAG,EAEX2C,EAAK,GAAG,YAAc,OAAO,oBAA2BuS,EAAG,SAAW,MAAQwB,EAAQ,IAAK,GAAG,EAC9F/T,EAAK,GAAG,cAAgB,OAAO,oBAA2BuS,EAAG,SAAW,MAAQwB,EAAQ,IAAK,IAAI,EACjG/T,EAAK,GAAG,gBAAkB,OAAO,IAAMA,EAAK,GAAG,cAAc,OAAQ,GAAG,EAExEA,EAAK,GAAG,QAAU,OAChB,IAAMA,EAAK,GAAG,YAAY,OAAS,MAAQA,EAAK,GAAG,gBAAgB,OAAS,MAC5E,GACD,EAMDmT,GAAenT,CAAI,CACrB,CAOA,SAASgU,GAAOhU,EAAMiU,EAAO,CAC3B,MAAM1a,EAAQyG,EAAK,UACbxG,EAAMwG,EAAK,eACXiC,EAAOjC,EAAK,eAAe,MAAMzG,EAAOC,CAAG,EAOjD,KAAK,OAASwG,EAAK,WAAW,YAAa,EAM3C,KAAK,MAAQzG,EAAQ0a,EAMrB,KAAK,UAAYza,EAAMya,EAMvB,KAAK,IAAMhS,EAMX,KAAK,KAAOA,EAMZ,KAAK,IAAMA,CACb,CAEA,SAASiS,GAAalU,EAAMiU,EAAO,CACjC,MAAMzX,EAAQ,IAAIwX,GAAMhU,EAAMiU,CAAK,EAEnC,OAAAjU,EAAK,aAAaxD,EAAM,MAAM,EAAE,UAAUA,EAAOwD,CAAI,EAE9CxD,CACT,CAwCA,SAAS2X,EAAWC,EAASrV,EAAS,CACpC,GAAI,EAAE,gBAAgBoV,GACpB,OAAO,IAAIA,EAAUC,EAASrV,CAAO,EAGlCA,GACC8T,GAAauB,CAAO,IACtBrV,EAAUqV,EACVA,EAAU,CAAE,GAIhB,KAAK,SAAW1Y,GAAO,CAAA,EAAIkX,GAAgB7T,CAAO,EAGlD,KAAK,UAAY,GACjB,KAAK,eAAiB,GACtB,KAAK,WAAa,GAClB,KAAK,eAAiB,GAEtB,KAAK,YAAcrD,GAAO,CAAA,EAAIqX,GAAgBqB,CAAO,EACrD,KAAK,aAAe,CAAE,EAEtB,KAAK,SAAWlB,GAChB,KAAK,kBAAoB,GAEzB,KAAK,GAAK,CAAE,EAEZI,GAAQ,IAAI,CACd,CASAa,EAAU,UAAU,IAAM,SAAcE,EAAQC,EAAY,CAC1D,YAAK,YAAYD,CAAM,EAAIC,EAC3BhB,GAAQ,IAAI,EACL,IACT,EAQAa,EAAU,UAAU,IAAM,SAAcpV,EAAS,CAC/C,YAAK,SAAWrD,GAAO,KAAK,SAAUqD,CAAO,EACtC,IACT,EAOAoV,EAAU,UAAU,KAAO,SAAelS,EAAM,CAK9C,GAHA,KAAK,eAAiBA,EACtB,KAAK,UAAY,GAEb,CAACA,EAAK,OAAU,MAAO,GAE3B,IAAIsS,EAAGC,EAAIC,EAAIla,EAAK0Z,EAAOS,EAAMnC,EAAIoC,EAASC,EAG9C,GAAI,KAAK,GAAG,YAAY,KAAK3S,CAAI,GAG/B,IAFAsQ,EAAK,KAAK,GAAG,cACbA,EAAG,UAAY,GACPgC,EAAIhC,EAAG,KAAKtQ,CAAI,KAAO,MAE7B,GADA1H,EAAM,KAAK,aAAa0H,EAAMsS,EAAE,CAAC,EAAGhC,EAAG,SAAS,EAC5ChY,EAAK,CACP,KAAK,WAAaga,EAAE,CAAC,EACrB,KAAK,UAAYA,EAAE,MAAQA,EAAE,CAAC,EAAE,OAChC,KAAK,eAAiBA,EAAE,MAAQA,EAAE,CAAC,EAAE,OAASha,EAC9C,KACD,EAIL,OAAI,KAAK,SAAS,WAAa,KAAK,aAAa,OAAO,IAEtDoa,EAAU1S,EAAK,OAAO,KAAK,GAAG,eAAe,EACzC0S,GAAW,IAET,KAAK,UAAY,GAAKA,EAAU,KAAK,aAClCH,EAAKvS,EAAK,MAAM,KAAK,SAAS,QAAU,KAAK,GAAG,WAAa,KAAK,GAAG,gBAAgB,KAAO,OAC/FgS,EAAQO,EAAG,MAAQA,EAAG,CAAC,EAAE,QAErB,KAAK,UAAY,GAAKP,EAAQ,KAAK,aACrC,KAAK,WAAa,GAClB,KAAK,UAAYA,EACjB,KAAK,eAAiBO,EAAG,MAAQA,EAAG,CAAC,EAAE,UAO7C,KAAK,SAAS,YAAc,KAAK,aAAa,SAAS,IAEzDI,EAAS3S,EAAK,QAAQ,GAAG,EACrB2S,GAAU,IAGPH,EAAKxS,EAAK,MAAM,KAAK,GAAG,WAAW,KAAO,OAC7CgS,EAAQQ,EAAG,MAAQA,EAAG,CAAC,EAAE,OACzBC,EAAOD,EAAG,MAAQA,EAAG,CAAC,EAAE,QAEpB,KAAK,UAAY,GAAKR,EAAQ,KAAK,WAClCA,IAAU,KAAK,WAAaS,EAAO,KAAK,kBAC3C,KAAK,WAAa,UAClB,KAAK,UAAYT,EACjB,KAAK,eAAiBS,KAMvB,KAAK,WAAa,CAC3B,EASAP,EAAU,UAAU,QAAU,SAAkBlS,EAAM,CACpD,OAAO,KAAK,GAAG,QAAQ,KAAKA,CAAI,CAClC,EAWAkS,EAAU,UAAU,aAAe,SAAuBlS,EAAMoS,EAAQvY,EAAK,CAE3E,OAAK,KAAK,aAAauY,EAAO,YAAa,CAAA,EAGpC,KAAK,aAAaA,EAAO,YAAW,CAAE,EAAE,SAASpS,EAAMnG,EAAK,IAAI,EAF9D,CAGX,EAkBAqY,EAAU,UAAU,MAAQ,SAAgBlS,EAAM,CAChD,MAAM9N,EAAS,CAAE,EACjB,IAAI8f,EAAQ,EAGR,KAAK,WAAa,GAAK,KAAK,iBAAmBhS,IACjD9N,EAAO,KAAK+f,GAAY,KAAMD,CAAK,CAAC,EACpCA,EAAQ,KAAK,gBAIf,IAAIjB,EAAOiB,EAAQhS,EAAK,MAAMgS,CAAK,EAAIhS,EAGvC,KAAO,KAAK,KAAK+Q,CAAI,GACnB7e,EAAO,KAAK+f,GAAY,KAAMD,CAAK,CAAC,EAEpCjB,EAAOA,EAAK,MAAM,KAAK,cAAc,EACrCiB,GAAS,KAAK,eAGhB,OAAI9f,EAAO,OACFA,EAGF,IACT,EAQAggB,EAAU,UAAU,aAAe,SAAuBlS,EAAM,CAK9D,GAHA,KAAK,eAAiBA,EACtB,KAAK,UAAY,GAEb,CAACA,EAAK,OAAQ,OAAO,KAEzB,MAAMsS,EAAI,KAAK,GAAG,gBAAgB,KAAKtS,CAAI,EAC3C,GAAI,CAACsS,EAAG,OAAO,KAEf,MAAMha,EAAM,KAAK,aAAa0H,EAAMsS,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAE,MAAM,EACrD,OAAKha,GAEL,KAAK,WAAaga,EAAE,CAAC,EACrB,KAAK,UAAYA,EAAE,MAAQA,EAAE,CAAC,EAAE,OAChC,KAAK,eAAiBA,EAAE,MAAQA,EAAE,CAAC,EAAE,OAASha,EAEvC2Z,GAAY,KAAM,CAAC,GANT,IAOnB,EAiBAC,EAAU,UAAU,KAAO,SAAexT,EAAMkU,EAAS,CAGvD,OAFAlU,EAAO,MAAM,QAAQA,CAAI,EAAIA,EAAO,CAACA,CAAI,EAEpCkU,GAOL,KAAK,SAAW,KAAK,SAAS,OAAOlU,CAAI,EACtC,KAAM,EACN,OAAO,SAAUmU,EAAIhW,EAAKQ,EAAK,CAC9B,OAAOwV,IAAOxV,EAAIR,EAAM,CAAC,CAC/B,CAAK,EACA,QAAS,EAEZwU,GAAQ,IAAI,EACL,OAdL,KAAK,SAAW3S,EAAK,MAAO,EAC5B,KAAK,kBAAoB,GACzB2S,GAAQ,IAAI,EACL,KAYX,EAOAa,EAAU,UAAU,UAAY,SAAoB3X,EAAO,CAIpDA,EAAM,SAAUA,EAAM,IAAM,UAAYA,EAAM,KAE/CA,EAAM,SAAW,WAAa,CAAC,YAAY,KAAKA,EAAM,GAAG,IAC3DA,EAAM,IAAM,UAAYA,EAAM,IAElC,EAOA2X,EAAU,UAAU,UAAY,UAAsB,CACtD,EC5nBA,MAAMY,GAAS,WAGTtb,EAAO,GACPub,GAAO,EACPC,GAAO,GACPC,GAAO,GACPC,GAAO,IACPC,GAAc,GACdC,GAAW,IACXC,GAAY,IAGZC,GAAgB,QAChBC,GAAgB,aAChBC,GAAkB,4BAGlBtc,GAAS,CACd,SAAY,kDACZ,YAAa,iDACb,gBAAiB,eAClB,EAGMuc,GAAgBjc,EAAOub,GACvBW,EAAQ,KAAK,MACbC,GAAqB,OAAO,aAUlC,SAASC,EAAM/V,EAAM,CACpB,MAAM,IAAI,WAAW3G,GAAO2G,CAAI,CAAC,CAClC,CAUA,SAASgW,GAAIC,EAAOC,EAAU,CAC7B,MAAM7hB,EAAS,CAAA,EACf,IAAI8hB,EAASF,EAAM,OACnB,KAAOE,KACN9hB,EAAO8hB,CAAM,EAAID,EAASD,EAAME,CAAM,CAAC,EAExC,OAAO9hB,CACR,CAYA,SAAS+hB,GAAUC,EAAQH,EAAU,CACpC,MAAMI,EAAQD,EAAO,MAAM,GAAG,EAC9B,IAAIhiB,EAAS,GACTiiB,EAAM,OAAS,IAGlBjiB,EAASiiB,EAAM,CAAC,EAAI,IACpBD,EAASC,EAAM,CAAC,GAGjBD,EAASA,EAAO,QAAQV,GAAiB,GAAM,EAC/C,MAAMY,EAASF,EAAO,MAAM,GAAG,EACzBG,EAAUR,GAAIO,EAAQL,CAAQ,EAAE,KAAK,GAAG,EAC9C,OAAO7hB,EAASmiB,CACjB,CAeA,SAASC,GAAWtiB,EAAQ,CAC3B,MAAMoE,EAAS,CAAA,EACf,IAAIme,EAAU,EACd,MAAMP,EAAShiB,EAAO,OACtB,KAAOuiB,EAAUP,GAAQ,CACxB,MAAMtb,EAAQ1G,EAAO,WAAWuiB,GAAS,EACzC,GAAI7b,GAAS,OAAUA,GAAS,OAAU6b,EAAUP,EAAQ,CAE3D,MAAMQ,EAAQxiB,EAAO,WAAWuiB,GAAS,GACpCC,EAAQ,QAAW,MACvBpe,EAAO,OAAOsC,EAAQ,OAAU,KAAO8b,EAAQ,MAAS,KAAO,GAI/Dpe,EAAO,KAAKsC,CAAK,EACjB6b,IAEJ,MACGne,EAAO,KAAKsC,CAAK,CAElB,CACD,OAAOtC,CACR,CAUA,MAAMqe,GAAaC,GAAc,OAAO,cAAc,GAAGA,CAAU,EAW7DC,GAAe,SAASxe,EAAW,CACxC,OAAIA,GAAa,IAAQA,EAAY,GAC7B,IAAMA,EAAY,IAEtBA,GAAa,IAAQA,EAAY,GAC7BA,EAAY,GAEhBA,GAAa,IAAQA,EAAY,IAC7BA,EAAY,GAEbqB,CACR,EAaMod,GAAe,SAASC,EAAOC,EAAM,CAG1C,OAAOD,EAAQ,GAAK,IAAMA,EAAQ,MAAQC,GAAQ,IAAM,EACzD,EAOMC,GAAQ,SAASC,EAAOC,EAAWC,EAAW,CACnD,IAAIjgB,EAAI,EAGR,IAFA+f,EAAQE,EAAYxB,EAAMsB,EAAQ9B,EAAI,EAAI8B,GAAS,EACnDA,GAAStB,EAAMsB,EAAQC,CAAS,EACFD,EAAQvB,GAAgBT,IAAQ,EAAG/d,GAAKuC,EACrEwd,EAAQtB,EAAMsB,EAAQvB,EAAa,EAEpC,OAAOC,EAAMze,GAAKwe,GAAgB,GAAKuB,GAASA,EAAQ/B,GAAK,CAC9D,EASMlhB,GAAS,SAASojB,EAAO,CAE9B,MAAM/e,EAAS,CAAA,EACTgf,EAAcD,EAAM,OAC1B,IAAItjB,EAAI,EACJwjB,EAAIjC,GACJkC,EAAOnC,GAMPoC,EAAQJ,EAAM,YAAY9B,EAAS,EACnCkC,EAAQ,IACXA,EAAQ,GAGT,QAASvgB,EAAI,EAAGA,EAAIugB,EAAO,EAAEvgB,EAExBmgB,EAAM,WAAWngB,CAAC,GAAK,KAC1B4e,EAAM,WAAW,EAElBxd,EAAO,KAAK+e,EAAM,WAAWngB,CAAC,CAAC,EAMhC,QAASqJ,EAAQkX,EAAQ,EAAIA,EAAQ,EAAI,EAAGlX,EAAQ+W,GAAwC,CAO3F,MAAMI,EAAO3jB,EACb,QAAS4jB,EAAI,EAAGxgB,EAAIuC,GAA0BvC,GAAKuC,EAAM,CAEpD6G,GAAS+W,GACZxB,EAAM,eAAe,EAGtB,MAAMiB,EAAQF,GAAaQ,EAAM,WAAW9W,GAAO,CAAC,EAEhDwW,GAASrd,GACZoc,EAAM,eAAe,EAElBiB,EAAQnB,GAAOZ,GAASjhB,GAAK4jB,CAAC,GACjC7B,EAAM,UAAU,EAGjB/hB,GAAKgjB,EAAQY,EACb,MAAM5T,EAAI5M,GAAKqgB,EAAOvC,GAAQ9d,GAAKqgB,EAAOtC,GAAOA,GAAO/d,EAAIqgB,EAE5D,GAAIT,EAAQhT,EACX,MAGD,MAAM6T,EAAale,EAAOqK,EACtB4T,EAAI/B,EAAMZ,GAAS4C,CAAU,GAChC9B,EAAM,UAAU,EAGjB6B,GAAKC,CAEL,CAED,MAAMC,EAAMvf,EAAO,OAAS,EAC5Bkf,EAAOP,GAAMljB,EAAI2jB,EAAMG,EAAKH,GAAQ,CAAC,EAIjC9B,EAAM7hB,EAAI8jB,CAAG,EAAI7C,GAASuC,GAC7BzB,EAAM,UAAU,EAGjByB,GAAK3B,EAAM7hB,EAAI8jB,CAAG,EAClB9jB,GAAK8jB,EAGLvf,EAAO,OAAOvE,IAAK,EAAGwjB,CAAC,CAEvB,CAED,OAAO,OAAO,cAAc,GAAGjf,CAAM,CACtC,EASMzD,GAAS,SAASwiB,EAAO,CAC9B,MAAM/e,EAAS,CAAA,EAGf+e,EAAQb,GAAWa,CAAK,EAGxB,MAAMC,EAAcD,EAAM,OAG1B,IAAI,EAAI/B,GACJ4B,EAAQ,EACRM,EAAOnC,GAGX,UAAWyC,KAAgBT,EACtBS,EAAe,KAClBxf,EAAO,KAAKud,GAAmBiC,CAAY,CAAC,EAI9C,MAAMC,EAAczf,EAAO,OAC3B,IAAI0f,EAAiBD,EAWrB,IALIA,GACHzf,EAAO,KAAKid,EAAS,EAIfyC,EAAiBV,GAAa,CAIpC,IAAI9C,EAAIQ,GACR,UAAW8C,KAAgBT,EACtBS,GAAgB,GAAKA,EAAetD,IACvCA,EAAIsD,GAMN,MAAMG,EAAwBD,EAAiB,EAC3CxD,EAAI,EAAIoB,GAAOZ,GAASkC,GAASe,CAAqB,GACzDnC,EAAM,UAAU,EAGjBoB,IAAU1C,EAAI,GAAKyD,EACnB,EAAIzD,EAEJ,UAAWsD,KAAgBT,EAI1B,GAHIS,EAAe,GAAK,EAAEZ,EAAQlC,IACjCc,EAAM,UAAU,EAEbgC,IAAiB,EAAG,CAEvB,IAAII,EAAIhB,EACR,QAAS/f,EAAIuC,GAA0BvC,GAAKuC,EAAM,CACjD,MAAMqK,EAAI5M,GAAKqgB,EAAOvC,GAAQ9d,GAAKqgB,EAAOtC,GAAOA,GAAO/d,EAAIqgB,EAC5D,GAAIU,EAAInU,EACP,MAED,MAAMoU,EAAUD,EAAInU,EACd6T,EAAale,EAAOqK,EAC1BzL,EAAO,KACNud,GAAmBiB,GAAa/S,EAAIoU,EAAUP,EAAY,CAAC,CAAC,CAClE,EACKM,EAAItC,EAAMuC,EAAUP,CAAU,CAC9B,CAEDtf,EAAO,KAAKud,GAAmBiB,GAAaoB,EAAG,CAAC,CAAC,CAAC,EAClDV,EAAOP,GAAMC,EAAOe,EAAuBD,IAAmBD,CAAW,EACzEb,EAAQ,EACR,EAAEc,CACF,CAGF,EAAEd,EACF,EAAE,CAEF,CACD,OAAO5e,EAAO,KAAK,EAAE,CACtB,EAaM8f,GAAY,SAASf,EAAO,CACjC,OAAOlB,GAAUkB,EAAO,SAASnjB,EAAQ,CACxC,OAAOshB,GAAc,KAAKthB,CAAM,EAC7BD,GAAOC,EAAO,MAAM,CAAC,EAAE,YAAW,CAAE,EACpCA,CACL,CAAE,CACF,EAaMmkB,GAAU,SAAShB,EAAO,CAC/B,OAAOlB,GAAUkB,EAAO,SAASnjB,EAAQ,CACxC,OAAOuhB,GAAc,KAAKvhB,CAAM,EAC7B,OAASW,GAAOX,CAAM,EACtBA,CACL,CAAE,CACF,EAKMokB,GAAW,CAMhB,QAAW,QAQX,KAAQ,CACP,OAAU9B,GACV,OAAUG,EACV,EACD,OAAU1iB,GACV,OAAUY,GACV,QAAWwjB,GACX,UAAaD,EACd,ECtbeG,GAAA,CACb,QAAS,CAEP,KAAM,GAGN,SAAU,GAGV,OAAQ,GAGR,WAAY,YAGZ,QAAS,GAGT,YAAa,GAOb,OAAQ,OAQR,UAAW,KAGX,WAAY,GACb,EAED,WAAY,CACV,KAAM,CAAE,EACR,MAAO,CAAE,EACT,OAAQ,CAAE,CACX,CACH,EC3CeC,GAAA,CACb,QAAS,CAEP,KAAM,GAGN,SAAU,GAGV,OAAQ,GAGR,WAAY,YAGZ,QAAS,GAGT,YAAa,GAOb,OAAQ,OAQR,UAAW,KAGX,WAAY,EACb,EAED,WAAY,CAEV,KAAM,CACJ,MAAO,CACL,YACA,QACA,SACA,WACD,CACF,EAED,MAAO,CACL,MAAO,CACL,WACD,CACF,EAED,OAAQ,CACN,MAAO,CACL,MACD,EACD,OAAQ,CACN,gBACA,gBACD,CACF,CACF,CACH,ECnEeC,GAAA,CACb,QAAS,CAEP,KAAM,GAGN,SAAU,GAGV,OAAQ,GAGR,WAAY,YAGZ,QAAS,GAGT,YAAa,GAOb,OAAQ,OAQR,UAAW,KAGX,WAAY,EACb,EAED,WAAY,CAEV,KAAM,CACJ,MAAO,CACL,YACA,QACA,SACA,WACD,CACF,EAED,MAAO,CACL,MAAO,CACL,aACA,OACA,QACA,UACA,KACA,aACA,WACA,OACA,YACA,WACD,CACF,EAED,OAAQ,CACN,MAAO,CACL,WACA,YACA,WACA,SACA,SACA,cACA,QACA,OACA,UACA,MACD,EACD,OAAQ,CACN,gBACA,WACA,gBACD,CACF,CACF,CACH,ECvEMC,GAAS,CACb,QAASH,GACT,KAAMC,GACN,WAAYC,EACd,EAUME,GAAe,oCACfC,GAAe,oCAErB,SAASC,GAAc3jB,EAAK,CAE1B,MAAMoE,EAAMpE,EAAI,KAAI,EAAG,YAAa,EAEpC,OAAOyjB,GAAa,KAAKrf,CAAG,EAAIsf,GAAa,KAAKtf,CAAG,EAAI,EAC3D,CAEA,MAAMwf,GAAsB,CAAC,QAAS,SAAU,SAAS,EAEzD,SAASC,GAAe7jB,EAAK,CAC3B,MAAM8jB,EAASC,GAAY/jB,EAAK,EAAI,EAEpC,GAAI8jB,EAAO,WAOL,CAACA,EAAO,UAAYF,GAAoB,QAAQE,EAAO,QAAQ,GAAK,GACtE,GAAI,CACFA,EAAO,SAAWV,GAAS,QAAQU,EAAO,QAAQ,CAC1D,OAAeE,EAAI,CAAQ,CAIzB,OAAOC,GAAaC,GAAaJ,CAAM,CAAC,CAC1C,CAEA,SAASK,GAAmBnkB,EAAK,CAC/B,MAAM8jB,EAASC,GAAY/jB,EAAK,EAAI,EAEpC,GAAI8jB,EAAO,WAOL,CAACA,EAAO,UAAYF,GAAoB,QAAQE,EAAO,QAAQ,GAAK,GACtE,GAAI,CACFA,EAAO,SAAWV,GAAS,UAAUU,EAAO,QAAQ,CAC5D,OAAeE,EAAI,CAAQ,CAKzB,OAAOI,GAAaF,GAAaJ,CAAM,EAAGM,GAAa,aAAe,GAAG,CAC3E,CAuIA,SAASC,EAAYC,EAAYxa,EAAS,CACxC,GAAI,EAAE,gBAAgBua,GACpB,OAAO,IAAIA,EAAWC,EAAYxa,CAAO,EAGtCA,GACEya,GAAeD,CAAU,IAC5Bxa,EAAUwa,GAAc,CAAE,EAC1BA,EAAa,WAWjB,KAAK,OAAS,IAAInH,GASlB,KAAK,MAAQ,IAAIrF,GASjB,KAAK,KAAO,IAAI0M,GAuBhB,KAAK,SAAW,IAAI/Z,GASpB,KAAK,QAAU,IAAIyU,EAiBnB,KAAK,aAAeyE,GAQpB,KAAK,cAAgBE,GAOrB,KAAK,kBAAoBM,GAUzB,KAAK,MAAQM,GAQb,KAAK,QAAUC,GAAa,CAAA,EAAIC,EAAO,EAEvC,KAAK,QAAU,CAAE,EACjB,KAAK,UAAUL,CAAU,EAErBxa,GAAW,KAAK,IAAIA,CAAO,CACjC,CAqBAua,EAAW,UAAU,IAAM,SAAUva,EAAS,CAC5C4a,OAAAA,GAAa,KAAK,QAAS5a,CAAO,EAC3B,IACT,EAYAua,EAAW,UAAU,UAAY,SAAUO,EAAS,CAClD,MAAM7Z,EAAO,KAEb,GAAIwZ,GAAeK,CAAO,EAAG,CAC3B,MAAMN,EAAaM,EAEnB,GADAA,EAAUpB,GAAOc,CAAU,EACvB,CAACM,EAAW,MAAM,IAAI,MAAM,+BAAiCN,EAAa,eAAe,CAC9F,CAED,GAAI,CAACM,EAAW,MAAM,IAAI,MAAM,4CAA6C,EAE7E,OAAIA,EAAQ,SAAW7Z,EAAK,IAAI6Z,EAAQ,OAAO,EAE3CA,EAAQ,YACV,OAAO,KAAKA,EAAQ,UAAU,EAAE,QAAQ,SAAUpd,EAAM,CAClDod,EAAQ,WAAWpd,CAAI,EAAE,OAC3BuD,EAAKvD,CAAI,EAAE,MAAM,WAAWod,EAAQ,WAAWpd,CAAI,EAAE,KAAK,EAExDod,EAAQ,WAAWpd,CAAI,EAAE,QAC3BuD,EAAKvD,CAAI,EAAE,OAAO,WAAWod,EAAQ,WAAWpd,CAAI,EAAE,MAAM,CAEpE,CAAK,EAEI,IACT,EAmBA6c,EAAW,UAAU,OAAS,SAAU3Y,EAAMC,EAAe,CAC3D,IAAIzM,EAAS,CAAE,EAEV,MAAM,QAAQwM,CAAI,IAAKA,EAAO,CAACA,CAAI,GAExC,CAAC,OAAQ,QAAS,QAAQ,EAAE,QAAQ,SAAUP,EAAO,CACnDjM,EAASA,EAAO,OAAO,KAAKiM,CAAK,EAAE,MAAM,OAAOO,EAAM,EAAI,CAAC,CAC5D,EAAE,IAAI,EAEPxM,EAASA,EAAO,OAAO,KAAK,OAAO,OAAO,OAAOwM,EAAM,EAAI,CAAC,EAE5D,MAAMmZ,EAASnZ,EAAK,OAAO,SAAUlE,EAAM,CAAE,OAAOtI,EAAO,QAAQsI,CAAI,EAAI,CAAC,CAAE,EAE9E,GAAIqd,EAAO,QAAU,CAAClZ,EACpB,MAAM,IAAI,MAAM,iDAAmDkZ,CAAM,EAG3E,OAAO,IACT,EASAR,EAAW,UAAU,QAAU,SAAU3Y,EAAMC,EAAe,CAC5D,IAAIzM,EAAS,CAAE,EAEV,MAAM,QAAQwM,CAAI,IAAKA,EAAO,CAACA,CAAI,GAExC,CAAC,OAAQ,QAAS,QAAQ,EAAE,QAAQ,SAAUP,EAAO,CACnDjM,EAASA,EAAO,OAAO,KAAKiM,CAAK,EAAE,MAAM,QAAQO,EAAM,EAAI,CAAC,CAC7D,EAAE,IAAI,EAEPxM,EAASA,EAAO,OAAO,KAAK,OAAO,OAAO,QAAQwM,EAAM,EAAI,CAAC,EAE7D,MAAMmZ,EAASnZ,EAAK,OAAO,SAAUlE,EAAM,CAAE,OAAOtI,EAAO,QAAQsI,CAAI,EAAI,CAAC,CAAE,EAE9E,GAAIqd,EAAO,QAAU,CAAClZ,EACpB,MAAM,IAAI,MAAM,kDAAoDkZ,CAAM,EAE5E,OAAO,IACT,EAkBAR,EAAW,UAAU,IAAM,SAAUS,EAA2B,CAC9D,MAAMC,EAAO,CAAC,IAAI,EAAE,OAAO,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,CAAC,EACnE,OAAAD,EAAO,MAAMA,EAAQC,CAAI,EAClB,IACT,EAiBAV,EAAW,UAAU,MAAQ,SAAUzd,EAAKmD,EAAK,CAC/C,GAAI,OAAOnD,GAAQ,SACjB,MAAM,IAAI,MAAM,+BAA+B,EAGjD,MAAMmC,EAAQ,IAAI,KAAK,KAAK,MAAMnC,EAAK,KAAMmD,CAAG,EAEhD,YAAK,KAAK,QAAQhB,CAAK,EAEhBA,EAAM,MACf,EAaAsb,EAAW,UAAU,OAAS,SAAUzd,EAAKmD,EAAK,CAChD,OAAAA,EAAMA,GAAO,CAAE,EAER,KAAK,SAAS,OAAO,KAAK,MAAMnD,EAAKmD,CAAG,EAAG,KAAK,QAASA,CAAG,CACrE,EAWAsa,EAAW,UAAU,YAAc,SAAUzd,EAAKmD,EAAK,CACrD,MAAMhB,EAAQ,IAAI,KAAK,KAAK,MAAMnC,EAAK,KAAMmD,CAAG,EAEhD,OAAAhB,EAAM,WAAa,GACnB,KAAK,KAAK,QAAQA,CAAK,EAEhBA,EAAM,MACf,EAUAsb,EAAW,UAAU,aAAe,SAAUzd,EAAKmD,EAAK,CACtD,OAAAA,EAAMA,GAAO,CAAE,EAER,KAAK,SAAS,OAAO,KAAK,YAAYnD,EAAKmD,CAAG,EAAG,KAAK,QAASA,CAAG,CAC3E,ggCC9aA,MAAMib,EAAOC,GAAO,OAAO,EAErBC,EAAiBtK,GAAI,CAAC,EACtBuK,EAAkBvK,GAAI,EAAE,EACxBwK,EAAkBC,GAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EACpCC,EAAcD,GAAS,EAAE,EAEzBE,EAAQC,EAORC,EAAOC,GAAuB,CAChC,QAAS,WACT,KAAMH,EAAM,SACZ,MAAO,CAAC,OAAQA,EAAM,QAAQ,EAC9B,KAAM,EACV,CAAC,EAEKI,EAAWC,EAAe,CAC5B,IAAK,yBACL,WAAWC,EAAQ,SACf,MAAO,CACH,QAAS,sBACT,QAAS,CACL,QAAQ7iB,EAAAgiB,EAAK,OAAL,YAAAhiB,EAAW,KACnB,MAAM8iB,EAAAL,EAAK,MAAL,YAAAK,EAAU,IACnB,EACD,OAAQ,CAAC,OAAQ,WAAY,QAAS,eAAgB,aAAc,oBAAoB,EACxF,SAAU,eACb,CACJ,EACD,KAAM,GACN,UAAUC,EAAM,CACZA,EAAK,QAAQ,CAACC,EAAY3a,IAAU,CAChC2a,EAAW,SAAWC,GAAQD,EAAW,QAAQ,EACjDA,EAAW,IAAM3a,EAAQ,CACrC,CAAS,CACJ,CACL,CAAC,EAEK6a,EAAiBN,EAAe,CAClC,IAAK,iDACL,WAAWC,EAAQ,CACf,MAAO,CACH,KAAMJ,EAAK,IAAI,KACf,QAAS,aAAa,QAAQA,EAAK,IAAI,KAAK,CAC/C,CACJ,CACL,CAAC,EAEKU,EAAkBP,EAAe,CACnC,IAAK,qCACL,WAAWC,EAAQ,CACf,MAAO,CACH,SAAUV,EAAgB,KAC7B,CACJ,CACL,CAAC,EAEDiB,GAAMlB,EAAiBxf,GAAU,CACzBA,EAAQ,IACRyf,EAAgB,MAAQM,EAAK,IAAI,UAAU/f,EAAQ,CAAC,EAAE,SACtDygB,EAAgB,OAAM,EAE9B,CAAC,EAED,MAAME,EAAY,IAAM,CACpBnB,EAAe,MAAQ,EACvB,aAAa,WAAWO,EAAK,IAAI,KAAK,CAC1C,EAEMa,EAAcjb,GAAU,CACrB8a,EAAgB,KAAK,UACtBf,EAAgB,OAAO,EAAGA,EAAgB,OAAY,EAAE,EAAE,EAAE,CAAE,EAClEA,EAAgB/Z,EAAQ,CAAC,EAAI+Z,EAAgB/Z,EAAQ,CAAC,EAAI,EAAI,CAClE,EAEMkb,EAAa,IAAM,CACrB,IAAIC,EAAU,CAAA,EACd,OAAApB,EAAgB,QAAQ,CAAC1f,EAAO2F,IAAU,CAClC+Z,EAAgB/Z,CAAK,GACrBmb,EAAQ,KAAKL,EAAgB,KAAK,UAAU9a,EAAQ,CAAC,EAAE,CAAC,CACpE,CAAK,EACMmb,CACX,EAEMC,EAAc,IAAM,CACtB,IAAID,EAAUD,IACd,GAAI,CAACC,EAAQ,OAAQ,CACjBE,GAAY,CACR,MAAO,0BACP,KAAM,eACN,YAAa,+BACzB,CAAS,EACD,MACH,CAEDd,EAAe,CACX,IAAK,iDACL,OAAQ,CACJ,SAAYT,EAAgB,MAC5B,KAAQgB,EAAgB,KAAK,KAC7B,QAAW,KAAK,UAAUK,CAAO,CACpC,EACD,KAAM,GACN,UAAUT,EAAM,CACZX,EAAgB,QAAQ,CAACuB,EAAQtb,IAAU,CACnCsb,EACArB,EAAYja,CAAK,EAAIsb,GAAUZ,EAAK1a,CAAK,EAClC8a,EAAgB,KAAK,cAAc9a,EAAQ,CAAC,EAAE,EACrDia,EAAYja,CAAK,EAAI,EAErBia,EAAYja,CAAK,EAAI,MAEzC,CAAa,EACDub,IACKnB,EAAK,IAAI,cACVoB,GAEP,CACT,CAAK,CACL,EAEMD,EAAoB,IAAM,CAC5B,IAAIE,EAAW,KAAK,MAAM,aAAa,QAAQrB,EAAK,IAAI,KAAK,CAAC,EAC1DsB,EAAe,CACf,eAAkB7B,EAAe,MACjC,QAAWqB,EAAY,EAAC,KAAM,EAC9B,WAAcjB,EAAY,OAAQ0B,GACvBA,GAAU,IACpB,CACJ,EACDF,EAAWA,EAAS,KAAKC,CAAY,EAAKD,EAAW,CAACC,CAAY,EAClE,aAAa,QAAQtB,EAAK,IAAI,MAAO,KAAK,UAAUqB,CAAQ,CAAC,CACjE,EAEMG,EAAc,IAAM,CACjBxB,EAAK,IAAI,aAGVoB,IAFAJ,GAIR,EAEMI,EAAgB,IAAM,CACpB3B,EAAe,OAASO,EAAK,IAAI,UAAU,SAE/CP,EAAe,MAAQA,EAAe,MAAQ,EAC9CE,EAAgB,OAAO,EAAGA,EAAgB,OAAY,EAAG,EAAG,EAAG,CAAE,EACjEE,EAAY,OAAS,EACzB,EAEM4B,EAAa,IAAM,CACrB,GAAI,CAACzB,EAAK,IAAI,aAAc,CACxBgB,IACA,WAAW,IAAM,CACbU,GACH,EAAE,GAAG,EACN,MACH,CACDA,GACJ,EAEMA,EAAmB,IAAM,CAC3BjB,EAAe,SAAS,KAAK,IAAM,CAC/BP,EAAS,OAAM,CACvB,CAAK,CACL,EAEMyB,EAAY,IAAM,CACpBlC,EAAe,MAAQ,EACvBE,EAAgB,OAAO,EAAGA,EAAgB,OAAY,EAAE,EAAE,EAAE,CAAE,EAC9DE,EAAY,OAAS,EACrBY,EAAe,MAAK,CACxB,EAEMmB,EAAuB,IAClB,CACH,CACI,MAAO,MACP,IAAK,KAER,EACD,CACI,MAAO,OACP,IAAK,UACR,EACD,CACI,MAAO,QACP,IAAK,QACL,MAAO,QACV,EACD,CACI,MAAO,eACP,IAAK,eACL,MAAO,QACV,EACD,CACI,MAAO,aACP,IAAK,aACL,MAAO,QACV,CACJ,+kKC1HL,MAAMrC,EAAOC,GAAO,OAAO,EACrBqC,EAAQC,GAAU,EAElBC,EAAW,IAAInD,EAAW,CAC/B,KAAM,GACN,QAAS,EACV,CAAC,EAEKkB,EAAQC,EAeRiC,EAAS7B,EAAe,CAC7B,IAAK,2BACL,MAAO,CAAC,SAAUL,EAAM,WAAYA,EAAM,cAAeA,EAAM,YAAY,EAC3E,WAAWM,EAAQ,CAClB,MAAO,CACN,OAAQN,EAAM,WACd,QAASM,EAASA,EAAO,QAAUN,EAAM,cACzC,OAAQM,EAASA,EAAO,OAASN,EAAM,YACvC,CACD,EACD,KAAM,GACN,UAAUQ,EAAM,CACXA,EAAK,YACR2B,EAAe,OAAO,CACrB,KAAM3B,EAAK,WAAW,KACtB,YAAaA,EAAK,IACtB,CAAI,EACF4B,EAAa5B,CAAI,CACjB,CACF,CAAC,EAEK4B,EAAgB5B,GAAS,CAC9B,WAAW,IAAM,CACXA,EAAK,UAAU6B,EAAS,OAAQ,CACrC,EAAE,GAAK,CACT,EAEMF,EAAiB9B,EAAe,CACrC,IAAK,0BACL,WAAWC,EAAQ,CAClB,MAAO,CACN,QAAS,iBACT,KAAMA,EAAO,KACb,UAAW,iBACX,MAAOA,EAAO,WACd,CACD,CACF,CAAC,EAEK+B,EAAWhC,EAAe,CAC/B,IAAK,4DACL,YAAa,CACZ,MAAO,CACN,OAAQ6B,EAAO,KAAK,KACpB,OAAQlC,EAAM,UACd,CACD,CACF,CAAC,EAEKsC,EAAcC,GAAS,IAAM,SAClC,IAAIC,EAAQ,CAAC,CAAE,MAAO,cAAe,MAAO,CAAE,KAAM,SAAS,EAAI,EACjE,OAAAA,EAAM,KAAK,CACV,OAAO/kB,EAAAykB,GAAA,YAAAA,EAAQ,OAAR,YAAAzkB,EAAc,aACrB,MAAO,CAAE,KAAM,eAAgB,OAAQ,CAAE,OAAQuiB,EAAM,WAAc,CACvE,CAAE,EACDwC,EAAM,KAAK,CACV,OAAOjC,EAAA2B,GAAA,YAAAA,EAAQ,OAAR,YAAA3B,EAAc,MACrB,MAAO,CACN,KAAM,SACN,OAAQ,CACP,OAAQP,EAAM,WACd,cAAeA,EAAM,cACrB,aAAcA,EAAM,YACpB,CACD,CACH,CAAE,EACMwC,CACR,CAAC,EAED3B,GACC,CAAC,IAAMkB,EAAM,OAAO,cAAe,IAAMA,EAAM,OAAO,YAAY,EAClE,CACC,CAACU,EAAkBC,CAAe,EAClC,CAACC,EAAkBC,CAAe,IAC9B,CACAH,GAAoBC,GACvBR,EAAO,OAAO,CACb,QAASO,EACT,OAAQC,CACZ,CAAI,CAEF,CACF,EAEA,MAAMG,EAAyB7b,IAC1BA,EAAM,SAAS,IAAI,IACtBA,EAAQ8b,EAAM9b,CAAK,GAEb,iCAAiCA,CAAK,IAGxC+b,EAAgB/b,GACd,GAAG8b,EAAM9b,CAAK,CAAC,aAGjB8b,EAAS9b,GACPA,EAAM,MAAM,uBAAuB,EAAE,CAAC,EAGxCgc,EAAkB,IAAM,CAC7B,OAAO,SAAS,KAAO,+BAA+BhD,EAAM,UAAU,UAAU+B,EAAM,OAAO,aAAa,IAAIA,EAAM,OAAO,YAAY,EACxI,EAEMkB,EAAmB,IAAM,WAC9B,QACCxlB,EAAAykB,EAAO,OAAP,YAAAzkB,EAAa,eACb8iB,EAAAd,EAAK,OAAL,YAAAc,EAAW,iBACX2C,EAAAzD,EAAK,OAAL,YAAAyD,EAAW,cAEb;;;","x_google_ignoreList":[0,1,2,3,4,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,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69]}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/Link-xVzNCgtj.js b/lms/public/frontend/assets/Link-xVzNCgtj.js
deleted file mode 100644
index faf178ae..00000000
--- a/lms/public/frontend/assets/Link-xVzNCgtj.js
+++ /dev/null
@@ -1,735 +0,0 @@
-import {
- r as B,
- aD as J,
- aE as X,
- j as x,
- w as A,
- n as Q,
- x as n,
- F,
- G as c,
- J as w,
- K as a,
- aF as Z,
- O as g,
- aG as C,
- aH as V,
- H as v,
- I,
- y as p,
- L as N,
- aI as R,
- aJ as W,
- aK as Y,
- Q as U,
- R as E,
- M as q,
- aL as ee,
- a4 as te,
- aM as G,
- aN as ae,
- aO as H,
- k as se,
- aP as le,
- a7 as re,
-} from "./frappe-ui-n1bXVQkV.js";
-import { a as oe, C as ue } from "./index-xt-hKVBz.js";
-import { P as ne } from "./plus-w56hNznP.js";
-/**
- * @license lucide-vue-next v0.309.0 - ISC
- *
- * This source code is licensed under the ISC license.
- * See the LICENSE file in the root directory of this source tree.
- */ const ie = oe("XIcon", [
- ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
- ["path", { d: "m6 6 12 12", key: "d8bk6v" }],
- ]),
- de = { class: "w-full" },
- ce = ["onClick"],
- pe = { class: "flex items-center" },
- fe = {
- key: 0,
- class: "overflow-hidden text-ellipsis whitespace-nowrap text-base leading-5",
- },
- me = { key: 1, class: "text-base leading-5 text-gray-500" },
- ye = { class: "mt-1 rounded-lg bg-white py-1 text-base shadow-2xl" },
- be = { class: "relative px-1.5 pt-0.5" },
- ve = { key: 0, class: "px-2.5 py-1.5 text-sm font-medium text-gray-500" },
- ge = {
- key: 0,
- class: "mt-1.5 rounded-md px-2.5 py-1.5 text-base text-gray-600",
- },
- he = { key: 0, class: "border-t p-1.5 pb-0.5" },
- xe = {
- __name: "Autocomplete",
- props: {
- modelValue: { type: String, default: "" },
- options: { type: Array, default: () => [] },
- size: { type: String, default: "md" },
- variant: { type: String, default: "subtle" },
- placeholder: { type: String, default: "" },
- disabled: { type: Boolean, default: !1 },
- filterable: { type: Boolean, default: !0 },
- },
- emits: ["update:modelValue", "update:query", "change"],
- setup(j, { expose: D, emit: f }) {
- const r = j,
- u = f,
- i = B(""),
- h = B(!1),
- S = B(null),
- k = J(),
- z = X(),
- L = x(() => "value" in k),
- _ = x({
- get() {
- return L.value ? k.value : r.modelValue;
- },
- set(t) {
- (i.value = ""),
- t && (h.value = !1),
- u(L.value ? "change" : "update:modelValue", t);
- },
- });
- function e() {
- h.value = !1;
- }
- const m = x(() => {
- var s;
- return !r.options || r.options.length == 0
- ? []
- : ((s = r.options[0]) != null && s.group
- ? r.options
- : [{ group: "", items: r.options }]
- )
- .map((l, o) => ({
- key: o,
- group: l.group,
- hideLabel: l.hideLabel || !1,
- items: r.filterable ? d(l.items) : l.items,
- }))
- .filter((l) => l.items.length > 0);
- });
- function d(t) {
- return i.value
- ? t.filter((s) =>
- [s.label, s.value].some((o) =>
- (o || "")
- .toString()
- .toLowerCase()
- .includes(i.value.toLowerCase())
- )
- )
- : t;
- }
- function y(t) {
- if (typeof t == "string") {
- let l = m.value
- .flatMap((o) => o.items)
- .find((o) => o.value === t);
- return (l == null ? void 0 : l.label) || t;
- }
- return t == null ? void 0 : t.label;
- }
- A(i, (t) => {
- u("update:query", t);
- }),
- A(h, (t) => {
- t &&
- Q(() => {
- S.value.el.focus();
- });
- });
- const $ = x(() => (r.disabled ? "text-gray-600" : "text-gray-800")),
- K = x(() => {
- let t = {
- sm: "text-base rounded h-7",
- md: "text-base rounded h-8",
- lg: "text-lg rounded-md h-10",
- xl: "text-xl rounded-md h-10",
- }[r.size],
- s = {
- sm: "py-1.5 px-2",
- md: "py-1.5 px-2.5",
- lg: "py-1.5 px-3",
- xl: "py-1.5 px-3",
- }[r.size],
- l = r.disabled ? "disabled" : r.variant,
- o = {
- subtle: "border border-gray-100 bg-gray-100 placeholder-gray-500 hover:border-gray-200 hover:bg-gray-200 focus:bg-white focus:border-gray-500 focus:shadow-sm focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- outline:
- "border border-gray-300 bg-white placeholder-gray-500 hover:border-gray-400 hover:shadow-sm focus:bg-white focus:border-gray-500 focus:shadow-sm focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- disabled: [
- "border bg-gray-50 placeholder-gray-400",
- r.variant === "outline"
- ? "border-gray-300"
- : "border-transparent",
- ],
- }[l];
- return [t, s, o, $.value, "transition-colors w-full"];
- });
- return (
- D({ query: i }),
- (t, s) => (
- n(),
- F(
- a(ae),
- {
- modelValue: _.value,
- "onUpdate:modelValue":
- s[3] || (s[3] = (l) => (_.value = l)),
- nullable: "",
- },
- {
- default: c(({ open: l }) => [
- w(
- a(Z),
- {
- class: "w-full",
- show: h.value,
- "onUpdate:show":
- s[2] ||
- (s[2] = (o) => (h.value = o)),
- },
- {
- target: c(
- ({ open: o, togglePopover: P }) => [
- g(
- t.$slots,
- "target",
- C(
- V({
- open: o,
- togglePopover: P,
- })
- ),
- () => [
- v("div", de, [
- v(
- "button",
- {
- class: I([
- "flex w-full items-center justify-between focus:outline-none",
- K.value,
- ]),
- onClick:
- () =>
- P(),
- },
- [
- v(
- "div",
- pe,
- [
- g(
- t.$slots,
- "prefix"
- ),
- _.value
- ? (n(),
- p(
- "span",
- fe,
- N(
- y(
- _.value
- )
- ),
- 1
- ))
- : (n(),
- p(
- "span",
- me,
- N(
- j.placeholder ||
- ""
- ),
- 1
- )),
- ]
- ),
- w(a(ue), {
- class: "h-4 w-4 stroke-1.5",
- }),
- ],
- 10,
- ce
- ),
- ]),
- ]
- ),
- ]
- ),
- body: c(({ isOpen: o }) => {
- var P;
- return [
- R(
- v(
- "div",
- null,
- [
- v("div", ye, [
- v("div", be, [
- w(
- a(W),
- {
- ref_key:
- "search",
- ref: S,
- class: "form-input w-full",
- type: "text",
- onChange:
- s[0] ||
- (s[0] =
- (
- b
- ) => {
- i.value =
- b.target.value;
- }),
- value: i.value,
- autocomplete:
- "off",
- placeholder:
- "Search",
- },
- null,
- 8,
- [
- "value",
- ]
- ),
- v(
- "button",
- {
- class: "absolute right-1.5 inline-flex h-7 w-7 items-center justify-center",
- onClick:
- s[1] ||
- (s[1] =
- (
- b
- ) =>
- (_.value =
- null)),
- },
- [
- w(
- a(
- ie
- ),
- {
- class: "h-4 w-4 stroke-1.5",
- }
- ),
- ]
- ),
- ]),
- w(
- a(Y),
- {
- class: "my-1 max-h-[12rem] overflow-y-auto px-1.5",
- static: "",
- },
- {
- default:
- c(
- () => [
- (n(
- !0
- ),
- p(
- U,
- null,
- E(
- m.value,
- (
- b
- ) =>
- R(
- (n(),
- p(
- "div",
- {
- class: "mt-1.5",
- key: b.key,
- },
- [
- b.group &&
- !b.hideLabel
- ? (n(),
- p(
- "div",
- ve,
- N(
- b.group
- ),
- 1
- ))
- : q(
- "",
- !0
- ),
- (n(
- !0
- ),
- p(
- U,
- null,
- E(
- b.items,
- (
- O
- ) => (
- n(),
- F(
- a(
- ee
- ),
- {
- as: "template",
- key: O.value,
- value: O,
- },
- {
- default:
- c(
- ({
- active: T,
- selected:
- M,
- }) => [
- v(
- "li",
- {
- class: I(
- [
- "flex items-center rounded px-2.5 py-1.5 text-base",
- {
- "bg-gray-100":
- T,
- },
- ]
- ),
- },
- [
- g(
- t.$slots,
- "item-prefix",
- C(
- V(
- {
- active: T,
- selected:
- M,
- option: O,
- }
- )
- )
- ),
- g(
- t.$slots,
- "item-label",
- C(
- V(
- {
- active: T,
- selected:
- M,
- option: O,
- }
- )
- ),
- () => [
- te(
- N(
- O.label
- ),
- 1
- ),
- ]
- ),
- ],
- 2
- ),
- ]
- ),
- _: 2,
- },
- 1032,
- [
- "value",
- ]
- )
- )
- ),
- 128
- )),
- ]
- )),
- [
- [
- G,
- b
- .items
- .length >
- 0,
- ],
- ]
- )
- ),
- 128
- )),
- m
- .value
- .length ==
- 0
- ? (n(),
- p(
- "li",
- ge,
- " No results found "
- ))
- : q(
- "",
- !0
- ),
- ]
- ),
- _: 3,
- }
- ),
- a(z).footer
- ? (n(),
- p(
- "div",
- he,
- [
- g(
- t.$slots,
- "footer",
- C(
- V(
- {
- value:
- (P =
- S.value) ==
- null
- ? void 0
- : P
- .el
- ._value,
- close: e,
- }
- )
- )
- ),
- ]
- ))
- : q("", !0),
- ]),
- ],
- 512
- ),
- [[G, o]]
- ),
- ];
- }),
- _: 3,
- },
- 8,
- ["show"]
- ),
- ]),
- _: 3,
- },
- 8,
- ["modelValue"]
- )
- )
- );
- },
- },
- we = { class: "space-y-1.5" },
- Ve = {
- __name: "Link",
- props: {
- doctype: { type: String, required: !0 },
- filters: { type: Object, default: () => ({}) },
- modelValue: { type: String, default: "" },
- },
- emits: ["update:modelValue", "change"],
- setup(j, { emit: D }) {
- const f = j,
- r = D,
- u = J(),
- i = x(() => "value" in u),
- h = x({
- get: () => (i.value ? u.value : f.modelValue),
- set: (e) => (
- console.log(e == null ? void 0 : e.value, i.value),
- (e == null ? void 0 : e.value) &&
- r(
- i.value ? "change" : "update:modelValue",
- e == null ? void 0 : e.value
- )
- ),
- }),
- S = B(null),
- k = B("");
- H(
- () => {
- var e;
- return (e = S.value) == null ? void 0 : e.query;
- },
- (e) => {
- (e = e || ""), k.value !== e && ((k.value = e), L(e));
- },
- { debounce: 300, immediate: !0 }
- ),
- H(
- () => f.doctype,
- () => L(""),
- { debounce: 300, immediate: !0 }
- );
- const z = se({
- url: "frappe.desk.search.search_link",
- cache: [f.doctype, k.value],
- method: "POST",
- params: {
- txt: k.value,
- doctype: f.doctype,
- filters: f.filters,
- },
- transform: (e) =>
- e.map((m) => ({ label: m.value, value: m.value })),
- });
- function L(e) {
- z.update({
- params: { txt: e, doctype: f.doctype, filters: f.filters },
- }),
- z.reload();
- }
- const _ = x(() => [
- { sm: "text-xs", md: "text-base" }[u.size || "sm"],
- "text-gray-600",
- ]);
- return (e, m) => (
- n(),
- p("div", we, [
- a(u).label
- ? (n(),
- p(
- "label",
- { key: 0, class: I(["block", _.value]) },
- N(a(u).label),
- 3
- ))
- : q("", !0),
- w(
- xe,
- {
- ref_key: "autocomplete",
- ref: S,
- options: a(z).data,
- modelValue: h.value,
- "onUpdate:modelValue":
- m[0] || (m[0] = (d) => (h.value = d)),
- size: a(u).size || "sm",
- variant: a(u).variant,
- placeholder: a(u).placeholder,
- filterable: !1,
- },
- le(
- {
- target: c(({ open: d, togglePopover: y }) => [
- g(
- e.$slots,
- "target",
- C(V({ open: d, togglePopover: y }))
- ),
- ]),
- prefix: c(() => [g(e.$slots, "prefix")]),
- "item-prefix": c(
- ({ active: d, selected: y, option: $ }) => [
- g(
- e.$slots,
- "item-prefix",
- C(
- V({
- active: d,
- selected: y,
- option: $,
- })
- )
- ),
- ]
- ),
- "item-label": c(
- ({ active: d, selected: y, option: $ }) => [
- g(
- e.$slots,
- "item-label",
- C(
- V({
- active: d,
- selected: y,
- option: $,
- })
- )
- ),
- ]
- ),
- _: 2,
- },
- [
- a(u).onCreate
- ? {
- name: "footer",
- fn: c(({ value: d, close: y }) => [
- v("div", null, [
- w(
- a(re),
- {
- variant: "ghost",
- class: "w-full !justify-start",
- label: "Create New",
- onClick: ($) =>
- a(u).onCreate(
- d,
- y
- ),
- },
- {
- prefix: c(() => [
- w(a(ne), {
- class: "h-4 w-4 stroke-1.5",
- }),
- ]),
- _: 2,
- },
- 1032,
- ["onClick"]
- ),
- ]),
- ]),
- key: "0",
- }
- : void 0,
- ]
- ),
- 1032,
- [
- "options",
- "modelValue",
- "size",
- "variant",
- "placeholder",
- ]
- ),
- ])
- );
- },
- };
-export { ie as X, Ve as _ };
-//# sourceMappingURL=Link-xVzNCgtj.js.map
diff --git a/lms/public/frontend/assets/Link-xVzNCgtj.js.map b/lms/public/frontend/assets/Link-xVzNCgtj.js.map
deleted file mode 100644
index 12498fee..00000000
--- a/lms/public/frontend/assets/Link-xVzNCgtj.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Link-xVzNCgtj.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/x.js","../../../../frontend/src/components/Controls/Autocomplete.vue","../../../../frontend/src/components/Controls/Link.vue"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"XIcon\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\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\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tquery = e.target.value\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t:value=\"query\"\n\t\t\t\t\t\t\t\tautocomplete=\"off\"\n\t\t\t\t\t\t\t\tplaceholder=\"Search\"\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\t\n\t\t\t\t\t\t\t 0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{{ group.group }}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{{ option.label }}\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo results found\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\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\n\n","\n\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\t\t\t\t \n\t\t\t\n\n\t\t\t\n\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\n\n"],"names":["X","createLucideIcon","props","__props","emit","__emit","query","ref","showOptions","search","attrs","useAttrs","slots","useSlots","valuePropPassed","computed","selectedValue","val","close","groups","_a","group","i","filterOptions","options","option","text","displayValue","selectedOption","watch","q","nextTick","textColor","inputClasses","sizeClasses","paddingClasses","variant","variantClasses","__expose","value","autocomplete","watchDebounced","reload","createResource","data","labelClasses"],"mappings":"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","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/Profile-dLRFEpeq.js b/lms/public/frontend/assets/Profile-dLRFEpeq.js
deleted file mode 100644
index d7e1a889..00000000
--- a/lms/public/frontend/assets/Profile-dLRFEpeq.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { v as r } from "./frappe-ui-n1bXVQkV.js";
-const e = {};
-function c(n, t) {
- return null;
-}
-const _ = r(e, [["render", c]]);
-export { _ as default };
-//# sourceMappingURL=Profile-dLRFEpeq.js.map
diff --git a/lms/public/frontend/assets/Profile-dLRFEpeq.js.map b/lms/public/frontend/assets/Profile-dLRFEpeq.js.map
deleted file mode 100644
index 52626720..00000000
--- a/lms/public/frontend/assets/Profile-dLRFEpeq.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Profile-dLRFEpeq.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/Statistics-HRvuiWCP.js b/lms/public/frontend/assets/Statistics-HRvuiWCP.js
deleted file mode 100644
index 5992502b..00000000
--- a/lms/public/frontend/assets/Statistics-HRvuiWCP.js
+++ /dev/null
@@ -1,11156 +0,0 @@
-var mo = Object.defineProperty,
- bo = Object.defineProperties;
-var _o = Object.getOwnPropertyDescriptors;
-var Zi = Object.getOwnPropertySymbols;
-var xo = Object.prototype.hasOwnProperty,
- yo = Object.prototype.propertyIsEnumerable;
-var ci = (i, t, e) =>
- t in i
- ? mo(i, t, {
- enumerable: !0,
- configurable: !0,
- writable: !0,
- value: e,
- })
- : (i[t] = e),
- St = (i, t) => {
- for (var e in t || (t = {})) xo.call(t, e) && ci(i, e, t[e]);
- if (Zi) for (var e of Zi(t)) yo.call(t, e) && ci(i, e, t[e]);
- return i;
- },
- Ji = (i, t) => bo(i, _o(t));
-var w = (i, t, e) => (ci(i, typeof t != "symbol" ? t + "" : t, e), e);
-import {
- as as yn,
- at as vn,
- q as yi,
- au as vo,
- r as ko,
- s as wo,
- av as Mo,
- w as So,
- t as vi,
- n as Co,
- aw as kn,
- d as Po,
- j as Do,
- k as Qt,
- y as Qi,
- H as L,
- J as Ht,
- K as W,
- L as rt,
- F as Se,
- M as te,
- x as Nt,
- a6 as Oo,
-} from "./frappe-ui-n1bXVQkV.js";
-import { a as wn, B as Ao, L as To } from "./index-xt-hKVBz.js";
-import { B as Lo } from "./book-open-check-c5K78KcT.js";
-/**
- * @license lucide-vue-next v0.309.0 - ISC
- *
- * This source code is licensed under the ISC license.
- * See the LICENSE file in the root directory of this source tree.
- */ const Ro = wn("FileCheck2Icon", [
- [
- "path",
- {
- d: "M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4",
- key: "702lig",
- },
- ],
- ["polyline", { points: "14 2 14 8 20 8", key: "1ew0cm" }],
- ["path", { d: "m3 15 2 2 4-4", key: "1lhrkk" }],
-]);
-/**
- * @license lucide-vue-next v0.309.0 - ISC
- *
- * This source code is licensed under the ISC license.
- * See the LICENSE file in the root directory of this source tree.
- */ const Fo = wn("FileCheckIcon", [
- [
- "path",
- {
- d: "M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",
- key: "1nnpy2",
- },
- ],
- ["polyline", { points: "14 2 14 8 20 8", key: "1ew0cm" }],
- ["path", { d: "m9 15 2 2 4-4", key: "1grp1n" }],
-]);
-/*!
- * @kurkle/color v0.3.2
- * https://github.com/kurkle/color#readme
- * (c) 2023 Jukka Kurkela
- * Released under the MIT License
- */ function ke(i) {
- return (i + 0.5) | 0;
-}
-const bt = (i, t, e) => Math.max(Math.min(i, e), t);
-function re(i) {
- return bt(ke(i * 2.55), 0, 255);
-}
-function yt(i) {
- return bt(ke(i * 255), 0, 255);
-}
-function gt(i) {
- return bt(ke(i / 2.55) / 100, 0, 1);
-}
-function ts(i) {
- return bt(ke(i * 100), 0, 100);
-}
-const st = {
- 0: 0,
- 1: 1,
- 2: 2,
- 3: 3,
- 4: 4,
- 5: 5,
- 6: 6,
- 7: 7,
- 8: 8,
- 9: 9,
- A: 10,
- B: 11,
- C: 12,
- D: 13,
- E: 14,
- F: 15,
- a: 10,
- b: 11,
- c: 12,
- d: 13,
- e: 14,
- f: 15,
- },
- ki = [..."0123456789ABCDEF"],
- Io = (i) => ki[i & 15],
- Eo = (i) => ki[(i & 240) >> 4] + ki[i & 15],
- Ce = (i) => (i & 240) >> 4 === (i & 15),
- zo = (i) => Ce(i.r) && Ce(i.g) && Ce(i.b) && Ce(i.a);
-function Bo(i) {
- var t = i.length,
- e;
- return (
- i[0] === "#" &&
- (t === 4 || t === 5
- ? (e = {
- r: 255 & (st[i[1]] * 17),
- g: 255 & (st[i[2]] * 17),
- b: 255 & (st[i[3]] * 17),
- a: t === 5 ? st[i[4]] * 17 : 255,
- })
- : (t === 7 || t === 9) &&
- (e = {
- r: (st[i[1]] << 4) | st[i[2]],
- g: (st[i[3]] << 4) | st[i[4]],
- b: (st[i[5]] << 4) | st[i[6]],
- a: t === 9 ? (st[i[7]] << 4) | st[i[8]] : 255,
- })),
- e
- );
-}
-const Wo = (i, t) => (i < 255 ? t(i) : "");
-function Ho(i) {
- var t = zo(i) ? Io : Eo;
- return i ? "#" + t(i.r) + t(i.g) + t(i.b) + Wo(i.a, t) : void 0;
-}
-const No =
- /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;
-function Mn(i, t, e) {
- const s = t * Math.min(e, 1 - e),
- n = (o, r = (o + i / 30) % 12) =>
- e - s * Math.max(Math.min(r - 3, 9 - r, 1), -1);
- return [n(0), n(8), n(4)];
-}
-function Vo(i, t, e) {
- const s = (n, o = (n + i / 60) % 6) =>
- e - e * t * Math.max(Math.min(o, 4 - o, 1), 0);
- return [s(5), s(3), s(1)];
-}
-function jo(i, t, e) {
- const s = Mn(i, 1, 0.5);
- let n;
- for (
- t + e > 1 && ((n = 1 / (t + e)), (t *= n), (e *= n)), n = 0;
- n < 3;
- n++
- )
- (s[n] *= 1 - t - e), (s[n] += t);
- return s;
-}
-function $o(i, t, e, s, n) {
- return i === n
- ? (t - e) / s + (t < e ? 6 : 0)
- : t === n
- ? (e - i) / s + 2
- : (i - t) / s + 4;
-}
-function Ii(i) {
- const e = i.r / 255,
- s = i.g / 255,
- n = i.b / 255,
- o = Math.max(e, s, n),
- r = Math.min(e, s, n),
- a = (o + r) / 2;
- let l, c, h;
- return (
- o !== r &&
- ((h = o - r),
- (c = a > 0.5 ? h / (2 - o - r) : h / (o + r)),
- (l = $o(e, s, n, h, o)),
- (l = l * 60 + 0.5)),
- [l | 0, c || 0, a]
- );
-}
-function Ei(i, t, e, s) {
- return (Array.isArray(t) ? i(t[0], t[1], t[2]) : i(t, e, s)).map(yt);
-}
-function zi(i, t, e) {
- return Ei(Mn, i, t, e);
-}
-function Yo(i, t, e) {
- return Ei(jo, i, t, e);
-}
-function Uo(i, t, e) {
- return Ei(Vo, i, t, e);
-}
-function Sn(i) {
- return ((i % 360) + 360) % 360;
-}
-function Xo(i) {
- const t = No.exec(i);
- let e = 255,
- s;
- if (!t) return;
- t[5] !== s && (e = t[6] ? re(+t[5]) : yt(+t[5]));
- const n = Sn(+t[2]),
- o = +t[3] / 100,
- r = +t[4] / 100;
- return (
- t[1] === "hwb"
- ? (s = Yo(n, o, r))
- : t[1] === "hsv"
- ? (s = Uo(n, o, r))
- : (s = zi(n, o, r)),
- { r: s[0], g: s[1], b: s[2], a: e }
- );
-}
-function Ko(i, t) {
- var e = Ii(i);
- (e[0] = Sn(e[0] + t)),
- (e = zi(e)),
- (i.r = e[0]),
- (i.g = e[1]),
- (i.b = e[2]);
-}
-function qo(i) {
- if (!i) return;
- const t = Ii(i),
- e = t[0],
- s = ts(t[1]),
- n = ts(t[2]);
- return i.a < 255
- ? `hsla(${e}, ${s}%, ${n}%, ${gt(i.a)})`
- : `hsl(${e}, ${s}%, ${n}%)`;
-}
-const es = {
- x: "dark",
- Z: "light",
- Y: "re",
- X: "blu",
- W: "gr",
- V: "medium",
- U: "slate",
- A: "ee",
- T: "ol",
- S: "or",
- B: "ra",
- C: "lateg",
- D: "ights",
- R: "in",
- Q: "turquois",
- E: "hi",
- P: "ro",
- O: "al",
- N: "le",
- M: "de",
- L: "yello",
- F: "en",
- K: "ch",
- G: "arks",
- H: "ea",
- I: "ightg",
- J: "wh",
- },
- is = {
- OiceXe: "f0f8ff",
- antiquewEte: "faebd7",
- aqua: "ffff",
- aquamarRe: "7fffd4",
- azuY: "f0ffff",
- beige: "f5f5dc",
- bisque: "ffe4c4",
- black: "0",
- blanKedOmond: "ffebcd",
- Xe: "ff",
- XeviTet: "8a2be2",
- bPwn: "a52a2a",
- burlywood: "deb887",
- caMtXe: "5f9ea0",
- KartYuse: "7fff00",
- KocTate: "d2691e",
- cSO: "ff7f50",
- cSnflowerXe: "6495ed",
- cSnsilk: "fff8dc",
- crimson: "dc143c",
- cyan: "ffff",
- xXe: "8b",
- xcyan: "8b8b",
- xgTMnPd: "b8860b",
- xWay: "a9a9a9",
- xgYF: "6400",
- xgYy: "a9a9a9",
- xkhaki: "bdb76b",
- xmagFta: "8b008b",
- xTivegYF: "556b2f",
- xSange: "ff8c00",
- xScEd: "9932cc",
- xYd: "8b0000",
- xsOmon: "e9967a",
- xsHgYF: "8fbc8f",
- xUXe: "483d8b",
- xUWay: "2f4f4f",
- xUgYy: "2f4f4f",
- xQe: "ced1",
- xviTet: "9400d3",
- dAppRk: "ff1493",
- dApskyXe: "bfff",
- dimWay: "696969",
- dimgYy: "696969",
- dodgerXe: "1e90ff",
- fiYbrick: "b22222",
- flSOwEte: "fffaf0",
- foYstWAn: "228b22",
- fuKsia: "ff00ff",
- gaRsbSo: "dcdcdc",
- ghostwEte: "f8f8ff",
- gTd: "ffd700",
- gTMnPd: "daa520",
- Way: "808080",
- gYF: "8000",
- gYFLw: "adff2f",
- gYy: "808080",
- honeyMw: "f0fff0",
- hotpRk: "ff69b4",
- RdianYd: "cd5c5c",
- Rdigo: "4b0082",
- ivSy: "fffff0",
- khaki: "f0e68c",
- lavFMr: "e6e6fa",
- lavFMrXsh: "fff0f5",
- lawngYF: "7cfc00",
- NmoncEffon: "fffacd",
- ZXe: "add8e6",
- ZcSO: "f08080",
- Zcyan: "e0ffff",
- ZgTMnPdLw: "fafad2",
- ZWay: "d3d3d3",
- ZgYF: "90ee90",
- ZgYy: "d3d3d3",
- ZpRk: "ffb6c1",
- ZsOmon: "ffa07a",
- ZsHgYF: "20b2aa",
- ZskyXe: "87cefa",
- ZUWay: "778899",
- ZUgYy: "778899",
- ZstAlXe: "b0c4de",
- ZLw: "ffffe0",
- lime: "ff00",
- limegYF: "32cd32",
- lRF: "faf0e6",
- magFta: "ff00ff",
- maPon: "800000",
- VaquamarRe: "66cdaa",
- VXe: "cd",
- VScEd: "ba55d3",
- VpurpN: "9370db",
- VsHgYF: "3cb371",
- VUXe: "7b68ee",
- VsprRggYF: "fa9a",
- VQe: "48d1cc",
- VviTetYd: "c71585",
- midnightXe: "191970",
- mRtcYam: "f5fffa",
- mistyPse: "ffe4e1",
- moccasR: "ffe4b5",
- navajowEte: "ffdead",
- navy: "80",
- Tdlace: "fdf5e6",
- Tive: "808000",
- TivedBb: "6b8e23",
- Sange: "ffa500",
- SangeYd: "ff4500",
- ScEd: "da70d6",
- pOegTMnPd: "eee8aa",
- pOegYF: "98fb98",
- pOeQe: "afeeee",
- pOeviTetYd: "db7093",
- papayawEp: "ffefd5",
- pHKpuff: "ffdab9",
- peru: "cd853f",
- pRk: "ffc0cb",
- plum: "dda0dd",
- powMrXe: "b0e0e6",
- purpN: "800080",
- YbeccapurpN: "663399",
- Yd: "ff0000",
- Psybrown: "bc8f8f",
- PyOXe: "4169e1",
- saddNbPwn: "8b4513",
- sOmon: "fa8072",
- sandybPwn: "f4a460",
- sHgYF: "2e8b57",
- sHshell: "fff5ee",
- siFna: "a0522d",
- silver: "c0c0c0",
- skyXe: "87ceeb",
- UXe: "6a5acd",
- UWay: "708090",
- UgYy: "708090",
- snow: "fffafa",
- sprRggYF: "ff7f",
- stAlXe: "4682b4",
- tan: "d2b48c",
- teO: "8080",
- tEstN: "d8bfd8",
- tomato: "ff6347",
- Qe: "40e0d0",
- viTet: "ee82ee",
- JHt: "f5deb3",
- wEte: "ffffff",
- wEtesmoke: "f5f5f5",
- Lw: "ffff00",
- LwgYF: "9acd32",
- };
-function Go() {
- const i = {},
- t = Object.keys(is),
- e = Object.keys(es);
- let s, n, o, r, a;
- for (s = 0; s < t.length; s++) {
- for (r = a = t[s], n = 0; n < e.length; n++)
- (o = e[n]), (a = a.replace(o, es[o]));
- (o = parseInt(is[r], 16)),
- (i[a] = [(o >> 16) & 255, (o >> 8) & 255, o & 255]);
- }
- return i;
-}
-let Pe;
-function Zo(i) {
- Pe || ((Pe = Go()), (Pe.transparent = [0, 0, 0, 0]));
- const t = Pe[i.toLowerCase()];
- return t && { r: t[0], g: t[1], b: t[2], a: t.length === 4 ? t[3] : 255 };
-}
-const Jo =
- /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;
-function Qo(i) {
- const t = Jo.exec(i);
- let e = 255,
- s,
- n,
- o;
- if (t) {
- if (t[7] !== s) {
- const r = +t[7];
- e = t[8] ? re(r) : bt(r * 255, 0, 255);
- }
- return (
- (s = +t[1]),
- (n = +t[3]),
- (o = +t[5]),
- (s = 255 & (t[2] ? re(s) : bt(s, 0, 255))),
- (n = 255 & (t[4] ? re(n) : bt(n, 0, 255))),
- (o = 255 & (t[6] ? re(o) : bt(o, 0, 255))),
- { r: s, g: n, b: o, a: e }
- );
- }
-}
-function tr(i) {
- return (
- i &&
- (i.a < 255
- ? `rgba(${i.r}, ${i.g}, ${i.b}, ${gt(i.a)})`
- : `rgb(${i.r}, ${i.g}, ${i.b})`)
- );
-}
-const hi = (i) =>
- i <= 0.0031308 ? i * 12.92 : Math.pow(i, 1 / 2.4) * 1.055 - 0.055,
- Vt = (i) => (i <= 0.04045 ? i / 12.92 : Math.pow((i + 0.055) / 1.055, 2.4));
-function er(i, t, e) {
- const s = Vt(gt(i.r)),
- n = Vt(gt(i.g)),
- o = Vt(gt(i.b));
- return {
- r: yt(hi(s + e * (Vt(gt(t.r)) - s))),
- g: yt(hi(n + e * (Vt(gt(t.g)) - n))),
- b: yt(hi(o + e * (Vt(gt(t.b)) - o))),
- a: i.a + e * (t.a - i.a),
- };
-}
-function De(i, t, e) {
- if (i) {
- let s = Ii(i);
- (s[t] = Math.max(0, Math.min(s[t] + s[t] * e, t === 0 ? 360 : 1))),
- (s = zi(s)),
- (i.r = s[0]),
- (i.g = s[1]),
- (i.b = s[2]);
- }
-}
-function Cn(i, t) {
- return i && Object.assign(t || {}, i);
-}
-function ss(i) {
- var t = { r: 0, g: 0, b: 0, a: 255 };
- return (
- Array.isArray(i)
- ? i.length >= 3 &&
- ((t = { r: i[0], g: i[1], b: i[2], a: 255 }),
- i.length > 3 && (t.a = yt(i[3])))
- : ((t = Cn(i, { r: 0, g: 0, b: 0, a: 1 })), (t.a = yt(t.a))),
- t
- );
-}
-function ir(i) {
- return i.charAt(0) === "r" ? Qo(i) : Xo(i);
-}
-class pe {
- constructor(t) {
- if (t instanceof pe) return t;
- const e = typeof t;
- let s;
- e === "object"
- ? (s = ss(t))
- : e === "string" && (s = Bo(t) || Zo(t) || ir(t)),
- (this._rgb = s),
- (this._valid = !!s);
- }
- get valid() {
- return this._valid;
- }
- get rgb() {
- var t = Cn(this._rgb);
- return t && (t.a = gt(t.a)), t;
- }
- set rgb(t) {
- this._rgb = ss(t);
- }
- rgbString() {
- return this._valid ? tr(this._rgb) : void 0;
- }
- hexString() {
- return this._valid ? Ho(this._rgb) : void 0;
- }
- hslString() {
- return this._valid ? qo(this._rgb) : void 0;
- }
- mix(t, e) {
- if (t) {
- const s = this.rgb,
- n = t.rgb;
- let o;
- const r = e === o ? 0.5 : e,
- a = 2 * r - 1,
- l = s.a - n.a,
- c = ((a * l === -1 ? a : (a + l) / (1 + a * l)) + 1) / 2;
- (o = 1 - c),
- (s.r = 255 & (c * s.r + o * n.r + 0.5)),
- (s.g = 255 & (c * s.g + o * n.g + 0.5)),
- (s.b = 255 & (c * s.b + o * n.b + 0.5)),
- (s.a = r * s.a + (1 - r) * n.a),
- (this.rgb = s);
- }
- return this;
- }
- interpolate(t, e) {
- return t && (this._rgb = er(this._rgb, t._rgb, e)), this;
- }
- clone() {
- return new pe(this.rgb);
- }
- alpha(t) {
- return (this._rgb.a = yt(t)), this;
- }
- clearer(t) {
- const e = this._rgb;
- return (e.a *= 1 - t), this;
- }
- greyscale() {
- const t = this._rgb,
- e = ke(t.r * 0.3 + t.g * 0.59 + t.b * 0.11);
- return (t.r = t.g = t.b = e), this;
- }
- opaquer(t) {
- const e = this._rgb;
- return (e.a *= 1 + t), this;
- }
- negate() {
- const t = this._rgb;
- return (t.r = 255 - t.r), (t.g = 255 - t.g), (t.b = 255 - t.b), this;
- }
- lighten(t) {
- return De(this._rgb, 2, t), this;
- }
- darken(t) {
- return De(this._rgb, 2, -t), this;
- }
- saturate(t) {
- return De(this._rgb, 1, t), this;
- }
- desaturate(t) {
- return De(this._rgb, 1, -t), this;
- }
- rotate(t) {
- return Ko(this._rgb, t), this;
- }
-}
-/*!
- * Chart.js v4.4.1
- * https://www.chartjs.org
- * (c) 2023 Chart.js Contributors
- * Released under the MIT License
- */ function dt() {}
-const sr = (() => {
- let i = 0;
- return () => i++;
-})();
-function E(i) {
- return i === null || typeof i == "undefined";
-}
-function H(i) {
- if (Array.isArray && Array.isArray(i)) return !0;
- const t = Object.prototype.toString.call(i);
- return t.slice(0, 7) === "[object" && t.slice(-6) === "Array]";
-}
-function A(i) {
- return (
- i !== null && Object.prototype.toString.call(i) === "[object Object]"
- );
-}
-function V(i) {
- return (typeof i == "number" || i instanceof Number) && isFinite(+i);
-}
-function et(i, t) {
- return V(i) ? i : t;
-}
-function D(i, t) {
- return typeof i == "undefined" ? t : i;
-}
-const nr = (i, t) =>
- typeof i == "string" && i.endsWith("%") ? parseFloat(i) / 100 : +i / t,
- Pn = (i, t) =>
- typeof i == "string" && i.endsWith("%")
- ? (parseFloat(i) / 100) * t
- : +i;
-function I(i, t, e) {
- if (i && typeof i.call == "function") return i.apply(e, t);
-}
-function R(i, t, e, s) {
- let n, o, r;
- if (H(i))
- if (((o = i.length), s))
- for (n = o - 1; n >= 0; n--) t.call(e, i[n], n);
- else for (n = 0; n < o; n++) t.call(e, i[n], n);
- else if (A(i))
- for (r = Object.keys(i), o = r.length, n = 0; n < o; n++)
- t.call(e, i[r[n]], r[n]);
-}
-function Ye(i, t) {
- let e, s, n, o;
- if (!i || !t || i.length !== t.length) return !1;
- for (e = 0, s = i.length; e < s; ++e)
- if (
- ((n = i[e]),
- (o = t[e]),
- n.datasetIndex !== o.datasetIndex || n.index !== o.index)
- )
- return !1;
- return !0;
-}
-function Ue(i) {
- if (H(i)) return i.map(Ue);
- if (A(i)) {
- const t = Object.create(null),
- e = Object.keys(i),
- s = e.length;
- let n = 0;
- for (; n < s; ++n) t[e[n]] = Ue(i[e[n]]);
- return t;
- }
- return i;
-}
-function Dn(i) {
- return ["__proto__", "prototype", "constructor"].indexOf(i) === -1;
-}
-function or(i, t, e, s) {
- if (!Dn(i)) return;
- const n = t[i],
- o = e[i];
- A(n) && A(o) ? me(n, o, s) : (t[i] = Ue(o));
-}
-function me(i, t, e) {
- const s = H(t) ? t : [t],
- n = s.length;
- if (!A(i)) return i;
- e = e || {};
- const o = e.merger || or;
- let r;
- for (let a = 0; a < n; ++a) {
- if (((r = s[a]), !A(r))) continue;
- const l = Object.keys(r);
- for (let c = 0, h = l.length; c < h; ++c) o(l[c], i, r, e);
- }
- return i;
-}
-function de(i, t) {
- return me(i, t, { merger: rr });
-}
-function rr(i, t, e) {
- if (!Dn(i)) return;
- const s = t[i],
- n = e[i];
- A(s) && A(n)
- ? de(s, n)
- : Object.prototype.hasOwnProperty.call(t, i) || (t[i] = Ue(n));
-}
-const ns = { "": (i) => i, x: (i) => i.x, y: (i) => i.y };
-function ar(i) {
- const t = i.split("."),
- e = [];
- let s = "";
- for (const n of t)
- (s += n),
- s.endsWith("\\")
- ? (s = s.slice(0, -1) + ".")
- : (e.push(s), (s = ""));
- return e;
-}
-function lr(i) {
- const t = ar(i);
- return (e) => {
- for (const s of t) {
- if (s === "") break;
- e = e && e[s];
- }
- return e;
- };
-}
-function be(i, t) {
- return (ns[t] || (ns[t] = lr(t)))(i);
-}
-function Bi(i) {
- return i.charAt(0).toUpperCase() + i.slice(1);
-}
-const Xe = (i) => typeof i != "undefined",
- vt = (i) => typeof i == "function",
- os = (i, t) => {
- if (i.size !== t.size) return !1;
- for (const e of i) if (!t.has(e)) return !1;
- return !0;
- };
-function cr(i) {
- return (
- i.type === "mouseup" || i.type === "click" || i.type === "contextmenu"
- );
-}
-const N = Math.PI,
- z = 2 * N,
- hr = z + N,
- Ke = Number.POSITIVE_INFINITY,
- dr = N / 180,
- Y = N / 2,
- Ct = N / 4,
- rs = (N * 2) / 3,
- _t = Math.log10,
- Kt = Math.sign;
-function fe(i, t, e) {
- return Math.abs(i - t) < e;
-}
-function as(i) {
- const t = Math.round(i);
- i = fe(i, t, i / 1e3) ? t : i;
- const e = Math.pow(10, Math.floor(_t(i))),
- s = i / e;
- return (s <= 1 ? 1 : s <= 2 ? 2 : s <= 5 ? 5 : 10) * e;
-}
-function fr(i) {
- const t = [],
- e = Math.sqrt(i);
- let s;
- for (s = 1; s < e; s++) i % s === 0 && (t.push(s), t.push(i / s));
- return e === (e | 0) && t.push(e), t.sort((n, o) => n - o).pop(), t;
-}
-function _e(i) {
- return !isNaN(parseFloat(i)) && isFinite(i);
-}
-function ur(i, t) {
- const e = Math.round(i);
- return e - t <= i && e + t >= i;
-}
-function On(i, t, e) {
- let s, n, o;
- for (s = 0, n = i.length; s < n; s++)
- (o = i[s][e]),
- isNaN(o) ||
- ((t.min = Math.min(t.min, o)), (t.max = Math.max(t.max, o)));
-}
-function ct(i) {
- return i * (N / 180);
-}
-function Wi(i) {
- return i * (180 / N);
-}
-function ls(i) {
- if (!V(i)) return;
- let t = 1,
- e = 0;
- for (; Math.round(i * t) / t !== i; ) (t *= 10), e++;
- return e;
-}
-function An(i, t) {
- const e = t.x - i.x,
- s = t.y - i.y,
- n = Math.sqrt(e * e + s * s);
- let o = Math.atan2(s, e);
- return o < -0.5 * N && (o += z), { angle: o, distance: n };
-}
-function wi(i, t) {
- return Math.sqrt(Math.pow(t.x - i.x, 2) + Math.pow(t.y - i.y, 2));
-}
-function gr(i, t) {
- return ((i - t + hr) % z) - N;
-}
-function it(i) {
- return ((i % z) + z) % z;
-}
-function xe(i, t, e, s) {
- const n = it(i),
- o = it(t),
- r = it(e),
- a = it(o - n),
- l = it(r - n),
- c = it(n - o),
- h = it(n - r);
- return n === o || n === r || (s && o === r) || (a > l && c < h);
-}
-function Z(i, t, e) {
- return Math.max(t, Math.min(e, i));
-}
-function pr(i) {
- return Z(i, -32768, 32767);
-}
-function Lt(i, t, e, s = 1e-6) {
- return i >= Math.min(t, e) - s && i <= Math.max(t, e) + s;
-}
-function Hi(i, t, e) {
- e = e || ((r) => i[r] < t);
- let s = i.length - 1,
- n = 0,
- o;
- for (; s - n > 1; ) (o = (n + s) >> 1), e(o) ? (n = o) : (s = o);
- return { lo: n, hi: s };
-}
-const Rt = (i, t, e, s) =>
- Hi(
- i,
- e,
- s
- ? (n) => {
- const o = i[n][t];
- return o < e || (o === e && i[n + 1][t] === e);
- }
- : (n) => i[n][t] < e
- ),
- mr = (i, t, e) => Hi(i, e, (s) => i[s][t] >= e);
-function br(i, t, e) {
- let s = 0,
- n = i.length;
- for (; s < n && i[s] < t; ) s++;
- for (; n > s && i[n - 1] > e; ) n--;
- return s > 0 || n < i.length ? i.slice(s, n) : i;
-}
-const Tn = ["push", "pop", "shift", "splice", "unshift"];
-function _r(i, t) {
- if (i._chartjs) {
- i._chartjs.listeners.push(t);
- return;
- }
- Object.defineProperty(i, "_chartjs", {
- configurable: !0,
- enumerable: !1,
- value: { listeners: [t] },
- }),
- Tn.forEach((e) => {
- const s = "_onData" + Bi(e),
- n = i[e];
- Object.defineProperty(i, e, {
- configurable: !0,
- enumerable: !1,
- value(...o) {
- const r = n.apply(this, o);
- return (
- i._chartjs.listeners.forEach((a) => {
- typeof a[s] == "function" && a[s](...o);
- }),
- r
- );
- },
- });
- });
-}
-function cs(i, t) {
- const e = i._chartjs;
- if (!e) return;
- const s = e.listeners,
- n = s.indexOf(t);
- n !== -1 && s.splice(n, 1),
- !(s.length > 0) &&
- (Tn.forEach((o) => {
- delete i[o];
- }),
- delete i._chartjs);
-}
-function xr(i) {
- const t = new Set(i);
- return t.size === i.length ? i : Array.from(t);
-}
-const Ln = (function () {
- return typeof window == "undefined"
- ? function (i) {
- return i();
- }
- : window.requestAnimationFrame;
-})();
-function Rn(i, t) {
- let e = [],
- s = !1;
- return function (...n) {
- (e = n),
- s ||
- ((s = !0),
- Ln.call(window, () => {
- (s = !1), i.apply(t, e);
- }));
- };
-}
-function yr(i, t) {
- let e;
- return function (...s) {
- return (
- t ? (clearTimeout(e), (e = setTimeout(i, t, s))) : i.apply(this, s),
- t
- );
- };
-}
-const Ni = (i) => (i === "start" ? "left" : i === "end" ? "right" : "center"),
- q = (i, t, e) => (i === "start" ? t : i === "end" ? e : (t + e) / 2),
- vr = (i, t, e, s) =>
- i === (s ? "left" : "right") ? e : i === "center" ? (t + e) / 2 : t;
-function kr(i, t, e) {
- const s = t.length;
- let n = 0,
- o = s;
- if (i._sorted) {
- const { iScale: r, _parsed: a } = i,
- l = r.axis,
- {
- min: c,
- max: h,
- minDefined: d,
- maxDefined: f,
- } = r.getUserBounds();
- d &&
- (n = Z(
- Math.min(
- Rt(a, l, c).lo,
- e ? s : Rt(t, l, r.getPixelForValue(c)).lo
- ),
- 0,
- s - 1
- )),
- f
- ? (o =
- Z(
- Math.max(
- Rt(a, r.axis, h, !0).hi + 1,
- e
- ? 0
- : Rt(t, l, r.getPixelForValue(h), !0).hi + 1
- ),
- n,
- s
- ) - n)
- : (o = s - n);
- }
- return { start: n, count: o };
-}
-function wr(i) {
- const { xScale: t, yScale: e, _scaleRanges: s } = i,
- n = { xmin: t.min, xmax: t.max, ymin: e.min, ymax: e.max };
- if (!s) return (i._scaleRanges = n), !0;
- const o =
- s.xmin !== t.min ||
- s.xmax !== t.max ||
- s.ymin !== e.min ||
- s.ymax !== e.max;
- return Object.assign(s, n), o;
-}
-const Oe = (i) => i === 0 || i === 1,
- hs = (i, t, e) =>
- -(Math.pow(2, 10 * (i -= 1)) * Math.sin(((i - t) * z) / e)),
- ds = (i, t, e) => Math.pow(2, -10 * i) * Math.sin(((i - t) * z) / e) + 1,
- ue = {
- linear: (i) => i,
- easeInQuad: (i) => i * i,
- easeOutQuad: (i) => -i * (i - 2),
- easeInOutQuad: (i) =>
- (i /= 0.5) < 1 ? 0.5 * i * i : -0.5 * (--i * (i - 2) - 1),
- easeInCubic: (i) => i * i * i,
- easeOutCubic: (i) => (i -= 1) * i * i + 1,
- easeInOutCubic: (i) =>
- (i /= 0.5) < 1 ? 0.5 * i * i * i : 0.5 * ((i -= 2) * i * i + 2),
- easeInQuart: (i) => i * i * i * i,
- easeOutQuart: (i) => -((i -= 1) * i * i * i - 1),
- easeInOutQuart: (i) =>
- (i /= 0.5) < 1
- ? 0.5 * i * i * i * i
- : -0.5 * ((i -= 2) * i * i * i - 2),
- easeInQuint: (i) => i * i * i * i * i,
- easeOutQuint: (i) => (i -= 1) * i * i * i * i + 1,
- easeInOutQuint: (i) =>
- (i /= 0.5) < 1
- ? 0.5 * i * i * i * i * i
- : 0.5 * ((i -= 2) * i * i * i * i + 2),
- easeInSine: (i) => -Math.cos(i * Y) + 1,
- easeOutSine: (i) => Math.sin(i * Y),
- easeInOutSine: (i) => -0.5 * (Math.cos(N * i) - 1),
- easeInExpo: (i) => (i === 0 ? 0 : Math.pow(2, 10 * (i - 1))),
- easeOutExpo: (i) => (i === 1 ? 1 : -Math.pow(2, -10 * i) + 1),
- easeInOutExpo: (i) =>
- Oe(i)
- ? i
- : i < 0.5
- ? 0.5 * Math.pow(2, 10 * (i * 2 - 1))
- : 0.5 * (-Math.pow(2, -10 * (i * 2 - 1)) + 2),
- easeInCirc: (i) => (i >= 1 ? i : -(Math.sqrt(1 - i * i) - 1)),
- easeOutCirc: (i) => Math.sqrt(1 - (i -= 1) * i),
- easeInOutCirc: (i) =>
- (i /= 0.5) < 1
- ? -0.5 * (Math.sqrt(1 - i * i) - 1)
- : 0.5 * (Math.sqrt(1 - (i -= 2) * i) + 1),
- easeInElastic: (i) => (Oe(i) ? i : hs(i, 0.075, 0.3)),
- easeOutElastic: (i) => (Oe(i) ? i : ds(i, 0.075, 0.3)),
- easeInOutElastic(i) {
- return Oe(i)
- ? i
- : i < 0.5
- ? 0.5 * hs(i * 2, 0.1125, 0.45)
- : 0.5 + 0.5 * ds(i * 2 - 1, 0.1125, 0.45);
- },
- easeInBack(i) {
- return i * i * ((1.70158 + 1) * i - 1.70158);
- },
- easeOutBack(i) {
- return (i -= 1) * i * ((1.70158 + 1) * i + 1.70158) + 1;
- },
- easeInOutBack(i) {
- let t = 1.70158;
- return (i /= 0.5) < 1
- ? 0.5 * (i * i * (((t *= 1.525) + 1) * i - t))
- : 0.5 * ((i -= 2) * i * (((t *= 1.525) + 1) * i + t) + 2);
- },
- easeInBounce: (i) => 1 - ue.easeOutBounce(1 - i),
- easeOutBounce(i) {
- return i < 1 / 2.75
- ? 7.5625 * i * i
- : i < 2 / 2.75
- ? 7.5625 * (i -= 1.5 / 2.75) * i + 0.75
- : i < 2.5 / 2.75
- ? 7.5625 * (i -= 2.25 / 2.75) * i + 0.9375
- : 7.5625 * (i -= 2.625 / 2.75) * i + 0.984375;
- },
- easeInOutBounce: (i) =>
- i < 0.5
- ? ue.easeInBounce(i * 2) * 0.5
- : ue.easeOutBounce(i * 2 - 1) * 0.5 + 0.5,
- };
-function Vi(i) {
- if (i && typeof i == "object") {
- const t = i.toString();
- return (
- t === "[object CanvasPattern]" || t === "[object CanvasGradient]"
- );
- }
- return !1;
-}
-function fs(i) {
- return Vi(i) ? i : new pe(i);
-}
-function di(i) {
- return Vi(i) ? i : new pe(i).saturate(0.5).darken(0.1).hexString();
-}
-const Mr = ["x", "y", "borderWidth", "radius", "tension"],
- Sr = ["color", "borderColor", "backgroundColor"];
-function Cr(i) {
- i.set("animation", {
- delay: void 0,
- duration: 1e3,
- easing: "easeOutQuart",
- fn: void 0,
- from: void 0,
- loop: void 0,
- to: void 0,
- type: void 0,
- }),
- i.describe("animation", {
- _fallback: !1,
- _indexable: !1,
- _scriptable: (t) =>
- t !== "onProgress" && t !== "onComplete" && t !== "fn",
- }),
- i.set("animations", {
- colors: { type: "color", properties: Sr },
- numbers: { type: "number", properties: Mr },
- }),
- i.describe("animations", { _fallback: "animation" }),
- i.set("transitions", {
- active: { animation: { duration: 400 } },
- resize: { animation: { duration: 0 } },
- show: {
- animations: {
- colors: { from: "transparent" },
- visible: { type: "boolean", duration: 0 },
- },
- },
- hide: {
- animations: {
- colors: { to: "transparent" },
- visible: {
- type: "boolean",
- easing: "linear",
- fn: (t) => t | 0,
- },
- },
- },
- });
-}
-function Pr(i) {
- i.set("layout", {
- autoPadding: !0,
- padding: { top: 0, right: 0, bottom: 0, left: 0 },
- });
-}
-const us = new Map();
-function Dr(i, t) {
- t = t || {};
- const e = i + JSON.stringify(t);
- let s = us.get(e);
- return s || ((s = new Intl.NumberFormat(i, t)), us.set(e, s)), s;
-}
-function ii(i, t, e) {
- return Dr(t, e).format(i);
-}
-const Fn = {
- values(i) {
- return H(i) ? i : "" + i;
- },
- numeric(i, t, e) {
- if (i === 0) return "0";
- const s = this.chart.options.locale;
- let n,
- o = i;
- if (e.length > 1) {
- const c = Math.max(
- Math.abs(e[0].value),
- Math.abs(e[e.length - 1].value)
- );
- (c < 1e-4 || c > 1e15) && (n = "scientific"), (o = Or(i, e));
- }
- const r = _t(Math.abs(o)),
- a = isNaN(r) ? 1 : Math.max(Math.min(-1 * Math.floor(r), 20), 0),
- l = {
- notation: n,
- minimumFractionDigits: a,
- maximumFractionDigits: a,
- };
- return Object.assign(l, this.options.ticks.format), ii(i, s, l);
- },
- logarithmic(i, t, e) {
- if (i === 0) return "0";
- const s = e[t].significand || i / Math.pow(10, Math.floor(_t(i)));
- return [1, 2, 3, 5, 10, 15].includes(s) || t > 0.8 * e.length
- ? Fn.numeric.call(this, i, t, e)
- : "";
- },
-};
-function Or(i, t) {
- let e = t.length > 3 ? t[2].value - t[1].value : t[1].value - t[0].value;
- return (
- Math.abs(e) >= 1 && i !== Math.floor(i) && (e = i - Math.floor(i)), e
- );
-}
-var si = { formatters: Fn };
-function Ar(i) {
- i.set("scale", {
- display: !0,
- offset: !1,
- reverse: !1,
- beginAtZero: !1,
- bounds: "ticks",
- clip: !0,
- grace: 0,
- grid: {
- display: !0,
- lineWidth: 1,
- drawOnChartArea: !0,
- drawTicks: !0,
- tickLength: 8,
- tickWidth: (t, e) => e.lineWidth,
- tickColor: (t, e) => e.color,
- offset: !1,
- },
- border: { display: !0, dash: [], dashOffset: 0, width: 1 },
- title: { display: !1, text: "", padding: { top: 4, bottom: 4 } },
- ticks: {
- minRotation: 0,
- maxRotation: 50,
- mirror: !1,
- textStrokeWidth: 0,
- textStrokeColor: "",
- padding: 3,
- display: !0,
- autoSkip: !0,
- autoSkipPadding: 3,
- labelOffset: 0,
- callback: si.formatters.values,
- minor: {},
- major: {},
- align: "center",
- crossAlign: "near",
- showLabelBackdrop: !1,
- backdropColor: "rgba(255, 255, 255, 0.75)",
- backdropPadding: 2,
- },
- }),
- i.route("scale.ticks", "color", "", "color"),
- i.route("scale.grid", "color", "", "borderColor"),
- i.route("scale.border", "color", "", "borderColor"),
- i.route("scale.title", "color", "", "color"),
- i.describe("scale", {
- _fallback: !1,
- _scriptable: (t) =>
- !t.startsWith("before") &&
- !t.startsWith("after") &&
- t !== "callback" &&
- t !== "parser",
- _indexable: (t) =>
- t !== "borderDash" && t !== "tickBorderDash" && t !== "dash",
- }),
- i.describe("scales", { _fallback: "scale" }),
- i.describe("scale.ticks", {
- _scriptable: (t) => t !== "backdropPadding" && t !== "callback",
- _indexable: (t) => t !== "backdropPadding",
- });
-}
-const It = Object.create(null),
- Mi = Object.create(null);
-function ge(i, t) {
- if (!t) return i;
- const e = t.split(".");
- for (let s = 0, n = e.length; s < n; ++s) {
- const o = e[s];
- i = i[o] || (i[o] = Object.create(null));
- }
- return i;
-}
-function fi(i, t, e) {
- return typeof t == "string" ? me(ge(i, t), e) : me(ge(i, ""), t);
-}
-class Tr {
- constructor(t, e) {
- (this.animation = void 0),
- (this.backgroundColor = "rgba(0,0,0,0.1)"),
- (this.borderColor = "rgba(0,0,0,0.1)"),
- (this.color = "#666"),
- (this.datasets = {}),
- (this.devicePixelRatio = (s) =>
- s.chart.platform.getDevicePixelRatio()),
- (this.elements = {}),
- (this.events = [
- "mousemove",
- "mouseout",
- "click",
- "touchstart",
- "touchmove",
- ]),
- (this.font = {
- family: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",
- size: 12,
- style: "normal",
- lineHeight: 1.2,
- weight: null,
- }),
- (this.hover = {}),
- (this.hoverBackgroundColor = (s, n) => di(n.backgroundColor)),
- (this.hoverBorderColor = (s, n) => di(n.borderColor)),
- (this.hoverColor = (s, n) => di(n.color)),
- (this.indexAxis = "x"),
- (this.interaction = {
- mode: "nearest",
- intersect: !0,
- includeInvisible: !1,
- }),
- (this.maintainAspectRatio = !0),
- (this.onHover = null),
- (this.onClick = null),
- (this.parsing = !0),
- (this.plugins = {}),
- (this.responsive = !0),
- (this.scale = void 0),
- (this.scales = {}),
- (this.showLine = !0),
- (this.drawActiveElementsOnTop = !0),
- this.describe(t),
- this.apply(e);
- }
- set(t, e) {
- return fi(this, t, e);
- }
- get(t) {
- return ge(this, t);
- }
- describe(t, e) {
- return fi(Mi, t, e);
- }
- override(t, e) {
- return fi(It, t, e);
- }
- route(t, e, s, n) {
- const o = ge(this, t),
- r = ge(this, s),
- a = "_" + e;
- Object.defineProperties(o, {
- [a]: { value: o[e], writable: !0 },
- [e]: {
- enumerable: !0,
- get() {
- const l = this[a],
- c = r[n];
- return A(l) ? Object.assign({}, c, l) : D(l, c);
- },
- set(l) {
- this[a] = l;
- },
- },
- });
- }
- apply(t) {
- t.forEach((e) => e(this));
- }
-}
-var j = new Tr(
- {
- _scriptable: (i) => !i.startsWith("on"),
- _indexable: (i) => i !== "events",
- hover: { _fallback: "interaction" },
- interaction: { _scriptable: !1, _indexable: !1 },
- },
- [Cr, Pr, Ar]
-);
-function Lr(i) {
- return !i || E(i.size) || E(i.family)
- ? null
- : (i.style ? i.style + " " : "") +
- (i.weight ? i.weight + " " : "") +
- i.size +
- "px " +
- i.family;
-}
-function qe(i, t, e, s, n) {
- let o = t[n];
- return (
- o || ((o = t[n] = i.measureText(n).width), e.push(n)),
- o > s && (s = o),
- s
- );
-}
-function Rr(i, t, e, s) {
- s = s || {};
- let n = (s.data = s.data || {}),
- o = (s.garbageCollect = s.garbageCollect || []);
- s.font !== t &&
- ((n = s.data = {}), (o = s.garbageCollect = []), (s.font = t)),
- i.save(),
- (i.font = t);
- let r = 0;
- const a = e.length;
- let l, c, h, d, f;
- for (l = 0; l < a; l++)
- if (((d = e[l]), d != null && !H(d))) r = qe(i, n, o, r, d);
- else if (H(d))
- for (c = 0, h = d.length; c < h; c++)
- (f = d[c]), f != null && !H(f) && (r = qe(i, n, o, r, f));
- i.restore();
- const u = o.length / 2;
- if (u > e.length) {
- for (l = 0; l < u; l++) delete n[o[l]];
- o.splice(0, u);
- }
- return r;
-}
-function Pt(i, t, e) {
- const s = i.currentDevicePixelRatio,
- n = e !== 0 ? Math.max(e / 2, 0.5) : 0;
- return Math.round((t - n) * s) / s + n;
-}
-function gs(i, t) {
- (t = t || i.getContext("2d")),
- t.save(),
- t.resetTransform(),
- t.clearRect(0, 0, i.width, i.height),
- t.restore();
-}
-function Si(i, t, e, s) {
- In(i, t, e, s, null);
-}
-function In(i, t, e, s, n) {
- let o, r, a, l, c, h, d, f;
- const u = t.pointStyle,
- p = t.rotation,
- g = t.radius;
- let m = (p || 0) * dr;
- if (
- u &&
- typeof u == "object" &&
- ((o = u.toString()),
- o === "[object HTMLImageElement]" || o === "[object HTMLCanvasElement]")
- ) {
- i.save(),
- i.translate(e, s),
- i.rotate(m),
- i.drawImage(u, -u.width / 2, -u.height / 2, u.width, u.height),
- i.restore();
- return;
- }
- if (!(isNaN(g) || g <= 0)) {
- switch ((i.beginPath(), u)) {
- default:
- n ? i.ellipse(e, s, n / 2, g, 0, 0, z) : i.arc(e, s, g, 0, z),
- i.closePath();
- break;
- case "triangle":
- (h = n ? n / 2 : g),
- i.moveTo(e + Math.sin(m) * h, s - Math.cos(m) * g),
- (m += rs),
- i.lineTo(e + Math.sin(m) * h, s - Math.cos(m) * g),
- (m += rs),
- i.lineTo(e + Math.sin(m) * h, s - Math.cos(m) * g),
- i.closePath();
- break;
- case "rectRounded":
- (c = g * 0.516),
- (l = g - c),
- (r = Math.cos(m + Ct) * l),
- (d = Math.cos(m + Ct) * (n ? n / 2 - c : l)),
- (a = Math.sin(m + Ct) * l),
- (f = Math.sin(m + Ct) * (n ? n / 2 - c : l)),
- i.arc(e - d, s - a, c, m - N, m - Y),
- i.arc(e + f, s - r, c, m - Y, m),
- i.arc(e + d, s + a, c, m, m + Y),
- i.arc(e - f, s + r, c, m + Y, m + N),
- i.closePath();
- break;
- case "rect":
- if (!p) {
- (l = Math.SQRT1_2 * g),
- (h = n ? n / 2 : l),
- i.rect(e - h, s - l, 2 * h, 2 * l);
- break;
- }
- m += Ct;
- case "rectRot":
- (d = Math.cos(m) * (n ? n / 2 : g)),
- (r = Math.cos(m) * g),
- (a = Math.sin(m) * g),
- (f = Math.sin(m) * (n ? n / 2 : g)),
- i.moveTo(e - d, s - a),
- i.lineTo(e + f, s - r),
- i.lineTo(e + d, s + a),
- i.lineTo(e - f, s + r),
- i.closePath();
- break;
- case "crossRot":
- m += Ct;
- case "cross":
- (d = Math.cos(m) * (n ? n / 2 : g)),
- (r = Math.cos(m) * g),
- (a = Math.sin(m) * g),
- (f = Math.sin(m) * (n ? n / 2 : g)),
- i.moveTo(e - d, s - a),
- i.lineTo(e + d, s + a),
- i.moveTo(e + f, s - r),
- i.lineTo(e - f, s + r);
- break;
- case "star":
- (d = Math.cos(m) * (n ? n / 2 : g)),
- (r = Math.cos(m) * g),
- (a = Math.sin(m) * g),
- (f = Math.sin(m) * (n ? n / 2 : g)),
- i.moveTo(e - d, s - a),
- i.lineTo(e + d, s + a),
- i.moveTo(e + f, s - r),
- i.lineTo(e - f, s + r),
- (m += Ct),
- (d = Math.cos(m) * (n ? n / 2 : g)),
- (r = Math.cos(m) * g),
- (a = Math.sin(m) * g),
- (f = Math.sin(m) * (n ? n / 2 : g)),
- i.moveTo(e - d, s - a),
- i.lineTo(e + d, s + a),
- i.moveTo(e + f, s - r),
- i.lineTo(e - f, s + r);
- break;
- case "line":
- (r = n ? n / 2 : Math.cos(m) * g),
- (a = Math.sin(m) * g),
- i.moveTo(e - r, s - a),
- i.lineTo(e + r, s + a);
- break;
- case "dash":
- i.moveTo(e, s),
- i.lineTo(
- e + Math.cos(m) * (n ? n / 2 : g),
- s + Math.sin(m) * g
- );
- break;
- case !1:
- i.closePath();
- break;
- }
- i.fill(), t.borderWidth > 0 && i.stroke();
- }
-}
-function pt(i, t, e) {
- return (
- (e = e || 0.5),
- !t ||
- (i &&
- i.x > t.left - e &&
- i.x < t.right + e &&
- i.y > t.top - e &&
- i.y < t.bottom + e)
- );
-}
-function ni(i, t) {
- i.save(),
- i.beginPath(),
- i.rect(t.left, t.top, t.right - t.left, t.bottom - t.top),
- i.clip();
-}
-function oi(i) {
- i.restore();
-}
-function Fr(i, t, e, s, n) {
- if (!t) return i.lineTo(e.x, e.y);
- if (n === "middle") {
- const o = (t.x + e.x) / 2;
- i.lineTo(o, t.y), i.lineTo(o, e.y);
- } else (n === "after") != !!s ? i.lineTo(t.x, e.y) : i.lineTo(e.x, t.y);
- i.lineTo(e.x, e.y);
-}
-function Ir(i, t, e, s) {
- if (!t) return i.lineTo(e.x, e.y);
- i.bezierCurveTo(
- s ? t.cp1x : t.cp2x,
- s ? t.cp1y : t.cp2y,
- s ? e.cp2x : e.cp1x,
- s ? e.cp2y : e.cp1y,
- e.x,
- e.y
- );
-}
-function Er(i, t) {
- t.translation && i.translate(t.translation[0], t.translation[1]),
- E(t.rotation) || i.rotate(t.rotation),
- t.color && (i.fillStyle = t.color),
- t.textAlign && (i.textAlign = t.textAlign),
- t.textBaseline && (i.textBaseline = t.textBaseline);
-}
-function zr(i, t, e, s, n) {
- if (n.strikethrough || n.underline) {
- const o = i.measureText(s),
- r = t - o.actualBoundingBoxLeft,
- a = t + o.actualBoundingBoxRight,
- l = e - o.actualBoundingBoxAscent,
- c = e + o.actualBoundingBoxDescent,
- h = n.strikethrough ? (l + c) / 2 : c;
- (i.strokeStyle = i.fillStyle),
- i.beginPath(),
- (i.lineWidth = n.decorationWidth || 2),
- i.moveTo(r, h),
- i.lineTo(a, h),
- i.stroke();
- }
-}
-function Br(i, t) {
- const e = i.fillStyle;
- (i.fillStyle = t.color),
- i.fillRect(t.left, t.top, t.width, t.height),
- (i.fillStyle = e);
-}
-function Et(i, t, e, s, n, o = {}) {
- const r = H(t) ? t : [t],
- a = o.strokeWidth > 0 && o.strokeColor !== "";
- let l, c;
- for (i.save(), i.font = n.string, Er(i, o), l = 0; l < r.length; ++l)
- (c = r[l]),
- o.backdrop && Br(i, o.backdrop),
- a &&
- (o.strokeColor && (i.strokeStyle = o.strokeColor),
- E(o.strokeWidth) || (i.lineWidth = o.strokeWidth),
- i.strokeText(c, e, s, o.maxWidth)),
- i.fillText(c, e, s, o.maxWidth),
- zr(i, e, s, c, o),
- (s += Number(n.lineHeight));
- i.restore();
-}
-function Ge(i, t) {
- const { x: e, y: s, w: n, h: o, radius: r } = t;
- i.arc(e + r.topLeft, s + r.topLeft, r.topLeft, 1.5 * N, N, !0),
- i.lineTo(e, s + o - r.bottomLeft),
- i.arc(e + r.bottomLeft, s + o - r.bottomLeft, r.bottomLeft, N, Y, !0),
- i.lineTo(e + n - r.bottomRight, s + o),
- i.arc(
- e + n - r.bottomRight,
- s + o - r.bottomRight,
- r.bottomRight,
- Y,
- 0,
- !0
- ),
- i.lineTo(e + n, s + r.topRight),
- i.arc(e + n - r.topRight, s + r.topRight, r.topRight, 0, -Y, !0),
- i.lineTo(e + r.topLeft, s);
-}
-const Wr = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,
- Hr =
- /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;
-function Nr(i, t) {
- const e = ("" + i).match(Wr);
- if (!e || e[1] === "normal") return t * 1.2;
- switch (((i = +e[2]), e[3])) {
- case "px":
- return i;
- case "%":
- i /= 100;
- break;
- }
- return t * i;
-}
-const Vr = (i) => +i || 0;
-function ji(i, t) {
- const e = {},
- s = A(t),
- n = s ? Object.keys(t) : t,
- o = A(i) ? (s ? (r) => D(i[r], i[t[r]]) : (r) => i[r]) : () => i;
- for (const r of n) e[r] = Vr(o(r));
- return e;
-}
-function jr(i) {
- return ji(i, { top: "y", right: "x", bottom: "y", left: "x" });
-}
-function Yt(i) {
- return ji(i, ["topLeft", "topRight", "bottomLeft", "bottomRight"]);
-}
-function G(i) {
- const t = jr(i);
- return (t.width = t.left + t.right), (t.height = t.top + t.bottom), t;
-}
-function U(i, t) {
- (i = i || {}), (t = t || j.font);
- let e = D(i.size, t.size);
- typeof e == "string" && (e = parseInt(e, 10));
- let s = D(i.style, t.style);
- s &&
- !("" + s).match(Hr) &&
- (console.warn('Invalid font style specified: "' + s + '"'),
- (s = void 0));
- const n = {
- family: D(i.family, t.family),
- lineHeight: Nr(D(i.lineHeight, t.lineHeight), e),
- size: e,
- style: s,
- weight: D(i.weight, t.weight),
- string: "",
- };
- return (n.string = Lr(n)), n;
-}
-function Ae(i, t, e, s) {
- let n = !0,
- o,
- r,
- a;
- for (o = 0, r = i.length; o < r; ++o)
- if (
- ((a = i[o]),
- a !== void 0 &&
- (t !== void 0 &&
- typeof a == "function" &&
- ((a = a(t)), (n = !1)),
- e !== void 0 && H(a) && ((a = a[e % a.length]), (n = !1)),
- a !== void 0))
- )
- return s && !n && (s.cacheable = !1), a;
-}
-function $r(i, t, e) {
- const { min: s, max: n } = i,
- o = Pn(t, (n - s) / 2),
- r = (a, l) => (e && a === 0 ? 0 : a + l);
- return { min: r(s, -Math.abs(o)), max: r(n, o) };
-}
-function kt(i, t) {
- return Object.assign(Object.create(i), t);
-}
-function $i(i, t = [""], e, s, n = () => i[0]) {
- const o = e || i;
- typeof s == "undefined" && (s = Wn("_fallback", i));
- const r = {
- [Symbol.toStringTag]: "Object",
- _cacheable: !0,
- _scopes: i,
- _rootScopes: o,
- _fallback: s,
- _getTarget: n,
- override: (a) => $i([a, ...i], t, o, s),
- };
- return new Proxy(r, {
- deleteProperty(a, l) {
- return delete a[l], delete a._keys, delete i[0][l], !0;
- },
- get(a, l) {
- return zn(a, l, () => Jr(l, t, i, a));
- },
- getOwnPropertyDescriptor(a, l) {
- return Reflect.getOwnPropertyDescriptor(a._scopes[0], l);
- },
- getPrototypeOf() {
- return Reflect.getPrototypeOf(i[0]);
- },
- has(a, l) {
- return ms(a).includes(l);
- },
- ownKeys(a) {
- return ms(a);
- },
- set(a, l, c) {
- const h = a._storage || (a._storage = n());
- return (a[l] = h[l] = c), delete a._keys, !0;
- },
- });
-}
-function qt(i, t, e, s) {
- const n = {
- _cacheable: !1,
- _proxy: i,
- _context: t,
- _subProxy: e,
- _stack: new Set(),
- _descriptors: En(i, s),
- setContext: (o) => qt(i, o, e, s),
- override: (o) => qt(i.override(o), t, e, s),
- };
- return new Proxy(n, {
- deleteProperty(o, r) {
- return delete o[r], delete i[r], !0;
- },
- get(o, r, a) {
- return zn(o, r, () => Ur(o, r, a));
- },
- getOwnPropertyDescriptor(o, r) {
- return o._descriptors.allKeys
- ? Reflect.has(i, r)
- ? { enumerable: !0, configurable: !0 }
- : void 0
- : Reflect.getOwnPropertyDescriptor(i, r);
- },
- getPrototypeOf() {
- return Reflect.getPrototypeOf(i);
- },
- has(o, r) {
- return Reflect.has(i, r);
- },
- ownKeys() {
- return Reflect.ownKeys(i);
- },
- set(o, r, a) {
- return (i[r] = a), delete o[r], !0;
- },
- });
-}
-function En(i, t = { scriptable: !0, indexable: !0 }) {
- const {
- _scriptable: e = t.scriptable,
- _indexable: s = t.indexable,
- _allKeys: n = t.allKeys,
- } = i;
- return {
- allKeys: n,
- scriptable: e,
- indexable: s,
- isScriptable: vt(e) ? e : () => e,
- isIndexable: vt(s) ? s : () => s,
- };
-}
-const Yr = (i, t) => (i ? i + Bi(t) : t),
- Yi = (i, t) =>
- A(t) &&
- i !== "adapters" &&
- (Object.getPrototypeOf(t) === null || t.constructor === Object);
-function zn(i, t, e) {
- if (Object.prototype.hasOwnProperty.call(i, t)) return i[t];
- const s = e();
- return (i[t] = s), s;
-}
-function Ur(i, t, e) {
- const { _proxy: s, _context: n, _subProxy: o, _descriptors: r } = i;
- let a = s[t];
- return (
- vt(a) && r.isScriptable(t) && (a = Xr(t, a, i, e)),
- H(a) && a.length && (a = Kr(t, a, i, r.isIndexable)),
- Yi(t, a) && (a = qt(a, n, o && o[t], r)),
- a
- );
-}
-function Xr(i, t, e, s) {
- const { _proxy: n, _context: o, _subProxy: r, _stack: a } = e;
- if (a.has(i))
- throw new Error(
- "Recursion detected: " + Array.from(a).join("->") + "->" + i
- );
- a.add(i);
- let l = t(o, r || s);
- return a.delete(i), Yi(i, l) && (l = Ui(n._scopes, n, i, l)), l;
-}
-function Kr(i, t, e, s) {
- const { _proxy: n, _context: o, _subProxy: r, _descriptors: a } = e;
- if (typeof o.index != "undefined" && s(i)) return t[o.index % t.length];
- if (A(t[0])) {
- const l = t,
- c = n._scopes.filter((h) => h !== l);
- t = [];
- for (const h of l) {
- const d = Ui(c, n, i, h);
- t.push(qt(d, o, r && r[i], a));
- }
- }
- return t;
-}
-function Bn(i, t, e) {
- return vt(i) ? i(t, e) : i;
-}
-const qr = (i, t) => (i === !0 ? t : typeof i == "string" ? be(t, i) : void 0);
-function Gr(i, t, e, s, n) {
- for (const o of t) {
- const r = qr(e, o);
- if (r) {
- i.add(r);
- const a = Bn(r._fallback, e, n);
- if (typeof a != "undefined" && a !== e && a !== s) return a;
- } else if (r === !1 && typeof s != "undefined" && e !== s) return null;
- }
- return !1;
-}
-function Ui(i, t, e, s) {
- const n = t._rootScopes,
- o = Bn(t._fallback, e, s),
- r = [...i, ...n],
- a = new Set();
- a.add(s);
- let l = ps(a, r, e, o || e, s);
- return l === null ||
- (typeof o != "undefined" &&
- o !== e &&
- ((l = ps(a, r, o, l, s)), l === null))
- ? !1
- : $i(Array.from(a), [""], n, o, () => Zr(t, e, s));
-}
-function ps(i, t, e, s, n) {
- for (; e; ) e = Gr(i, t, e, s, n);
- return e;
-}
-function Zr(i, t, e) {
- const s = i._getTarget();
- t in s || (s[t] = {});
- const n = s[t];
- return H(n) && A(e) ? e : n || {};
-}
-function Jr(i, t, e, s) {
- let n;
- for (const o of t)
- if (((n = Wn(Yr(o, i), e)), typeof n != "undefined"))
- return Yi(i, n) ? Ui(e, s, i, n) : n;
-}
-function Wn(i, t) {
- for (const e of t) {
- if (!e) continue;
- const s = e[i];
- if (typeof s != "undefined") return s;
- }
-}
-function ms(i) {
- let t = i._keys;
- return t || (t = i._keys = Qr(i._scopes)), t;
-}
-function Qr(i) {
- const t = new Set();
- for (const e of i)
- for (const s of Object.keys(e).filter((n) => !n.startsWith("_")))
- t.add(s);
- return Array.from(t);
-}
-const ta = Number.EPSILON || 1e-14,
- Gt = (i, t) => t < i.length && !i[t].skip && i[t],
- Hn = (i) => (i === "x" ? "y" : "x");
-function ea(i, t, e, s) {
- const n = i.skip ? t : i,
- o = t,
- r = e.skip ? t : e,
- a = wi(o, n),
- l = wi(r, o);
- let c = a / (a + l),
- h = l / (a + l);
- (c = isNaN(c) ? 0 : c), (h = isNaN(h) ? 0 : h);
- const d = s * c,
- f = s * h;
- return {
- previous: { x: o.x - d * (r.x - n.x), y: o.y - d * (r.y - n.y) },
- next: { x: o.x + f * (r.x - n.x), y: o.y + f * (r.y - n.y) },
- };
-}
-function ia(i, t, e) {
- const s = i.length;
- let n,
- o,
- r,
- a,
- l,
- c = Gt(i, 0);
- for (let h = 0; h < s - 1; ++h)
- if (((l = c), (c = Gt(i, h + 1)), !(!l || !c))) {
- if (fe(t[h], 0, ta)) {
- e[h] = e[h + 1] = 0;
- continue;
- }
- (n = e[h] / t[h]),
- (o = e[h + 1] / t[h]),
- (a = Math.pow(n, 2) + Math.pow(o, 2)),
- !(a <= 9) &&
- ((r = 3 / Math.sqrt(a)),
- (e[h] = n * r * t[h]),
- (e[h + 1] = o * r * t[h]));
- }
-}
-function sa(i, t, e = "x") {
- const s = Hn(e),
- n = i.length;
- let o,
- r,
- a,
- l = Gt(i, 0);
- for (let c = 0; c < n; ++c) {
- if (((r = a), (a = l), (l = Gt(i, c + 1)), !a)) continue;
- const h = a[e],
- d = a[s];
- r &&
- ((o = (h - r[e]) / 3),
- (a[`cp1${e}`] = h - o),
- (a[`cp1${s}`] = d - o * t[c])),
- l &&
- ((o = (l[e] - h) / 3),
- (a[`cp2${e}`] = h + o),
- (a[`cp2${s}`] = d + o * t[c]));
- }
-}
-function na(i, t = "x") {
- const e = Hn(t),
- s = i.length,
- n = Array(s).fill(0),
- o = Array(s);
- let r,
- a,
- l,
- c = Gt(i, 0);
- for (r = 0; r < s; ++r)
- if (((a = l), (l = c), (c = Gt(i, r + 1)), !!l)) {
- if (c) {
- const h = c[t] - l[t];
- n[r] = h !== 0 ? (c[e] - l[e]) / h : 0;
- }
- o[r] = a
- ? c
- ? Kt(n[r - 1]) !== Kt(n[r])
- ? 0
- : (n[r - 1] + n[r]) / 2
- : n[r - 1]
- : n[r];
- }
- ia(i, n, o), sa(i, o, t);
-}
-function Te(i, t, e) {
- return Math.max(Math.min(i, e), t);
-}
-function oa(i, t) {
- let e,
- s,
- n,
- o,
- r,
- a = pt(i[0], t);
- for (e = 0, s = i.length; e < s; ++e)
- (r = o),
- (o = a),
- (a = e < s - 1 && pt(i[e + 1], t)),
- o &&
- ((n = i[e]),
- r &&
- ((n.cp1x = Te(n.cp1x, t.left, t.right)),
- (n.cp1y = Te(n.cp1y, t.top, t.bottom))),
- a &&
- ((n.cp2x = Te(n.cp2x, t.left, t.right)),
- (n.cp2y = Te(n.cp2y, t.top, t.bottom))));
-}
-function ra(i, t, e, s, n) {
- let o, r, a, l;
- if (
- (t.spanGaps && (i = i.filter((c) => !c.skip)),
- t.cubicInterpolationMode === "monotone")
- )
- na(i, n);
- else {
- let c = s ? i[i.length - 1] : i[0];
- for (o = 0, r = i.length; o < r; ++o)
- (a = i[o]),
- (l = ea(
- c,
- a,
- i[Math.min(o + 1, r - (s ? 0 : 1)) % r],
- t.tension
- )),
- (a.cp1x = l.previous.x),
- (a.cp1y = l.previous.y),
- (a.cp2x = l.next.x),
- (a.cp2y = l.next.y),
- (c = a);
- }
- t.capBezierPoints && oa(i, e);
-}
-function Xi() {
- return typeof window != "undefined" && typeof document != "undefined";
-}
-function Ki(i) {
- let t = i.parentNode;
- return t && t.toString() === "[object ShadowRoot]" && (t = t.host), t;
-}
-function Ze(i, t, e) {
- let s;
- return (
- typeof i == "string"
- ? ((s = parseInt(i, 10)),
- i.indexOf("%") !== -1 && (s = (s / 100) * t.parentNode[e]))
- : (s = i),
- s
- );
-}
-const ri = (i) => i.ownerDocument.defaultView.getComputedStyle(i, null);
-function aa(i, t) {
- return ri(i).getPropertyValue(t);
-}
-const la = ["top", "right", "bottom", "left"];
-function Ft(i, t, e) {
- const s = {};
- e = e ? "-" + e : "";
- for (let n = 0; n < 4; n++) {
- const o = la[n];
- s[o] = parseFloat(i[t + "-" + o + e]) || 0;
- }
- return (s.width = s.left + s.right), (s.height = s.top + s.bottom), s;
-}
-const ca = (i, t, e) => (i > 0 || t > 0) && (!e || !e.shadowRoot);
-function ha(i, t) {
- const e = i.touches,
- s = e && e.length ? e[0] : i,
- { offsetX: n, offsetY: o } = s;
- let r = !1,
- a,
- l;
- if (ca(n, o, i.target)) (a = n), (l = o);
- else {
- const c = t.getBoundingClientRect();
- (a = s.clientX - c.left), (l = s.clientY - c.top), (r = !0);
- }
- return { x: a, y: l, box: r };
-}
-function At(i, t) {
- if ("native" in i) return i;
- const { canvas: e, currentDevicePixelRatio: s } = t,
- n = ri(e),
- o = n.boxSizing === "border-box",
- r = Ft(n, "padding"),
- a = Ft(n, "border", "width"),
- { x: l, y: c, box: h } = ha(i, e),
- d = r.left + (h && a.left),
- f = r.top + (h && a.top);
- let { width: u, height: p } = t;
- return (
- o && ((u -= r.width + a.width), (p -= r.height + a.height)),
- {
- x: Math.round((((l - d) / u) * e.width) / s),
- y: Math.round((((c - f) / p) * e.height) / s),
- }
- );
-}
-function da(i, t, e) {
- let s, n;
- if (t === void 0 || e === void 0) {
- const o = Ki(i);
- if (!o) (t = i.clientWidth), (e = i.clientHeight);
- else {
- const r = o.getBoundingClientRect(),
- a = ri(o),
- l = Ft(a, "border", "width"),
- c = Ft(a, "padding");
- (t = r.width - c.width - l.width),
- (e = r.height - c.height - l.height),
- (s = Ze(a.maxWidth, o, "clientWidth")),
- (n = Ze(a.maxHeight, o, "clientHeight"));
- }
- }
- return { width: t, height: e, maxWidth: s || Ke, maxHeight: n || Ke };
-}
-const Le = (i) => Math.round(i * 10) / 10;
-function fa(i, t, e, s) {
- const n = ri(i),
- o = Ft(n, "margin"),
- r = Ze(n.maxWidth, i, "clientWidth") || Ke,
- a = Ze(n.maxHeight, i, "clientHeight") || Ke,
- l = da(i, t, e);
- let { width: c, height: h } = l;
- if (n.boxSizing === "content-box") {
- const f = Ft(n, "border", "width"),
- u = Ft(n, "padding");
- (c -= u.width + f.width), (h -= u.height + f.height);
- }
- return (
- (c = Math.max(0, c - o.width)),
- (h = Math.max(0, s ? c / s : h - o.height)),
- (c = Le(Math.min(c, r, l.maxWidth))),
- (h = Le(Math.min(h, a, l.maxHeight))),
- c && !h && (h = Le(c / 2)),
- (t !== void 0 || e !== void 0) &&
- s &&
- l.height &&
- h > l.height &&
- ((h = l.height), (c = Le(Math.floor(h * s)))),
- { width: c, height: h }
- );
-}
-function bs(i, t, e) {
- const s = t || 1,
- n = Math.floor(i.height * s),
- o = Math.floor(i.width * s);
- (i.height = Math.floor(i.height)), (i.width = Math.floor(i.width));
- const r = i.canvas;
- return (
- r.style &&
- (e || (!r.style.height && !r.style.width)) &&
- ((r.style.height = `${i.height}px`),
- (r.style.width = `${i.width}px`)),
- i.currentDevicePixelRatio !== s || r.height !== n || r.width !== o
- ? ((i.currentDevicePixelRatio = s),
- (r.height = n),
- (r.width = o),
- i.ctx.setTransform(s, 0, 0, s, 0, 0),
- !0)
- : !1
- );
-}
-const ua = (function () {
- let i = !1;
- try {
- const t = {
- get passive() {
- return (i = !0), !1;
- },
- };
- Xi() &&
- (window.addEventListener("test", null, t),
- window.removeEventListener("test", null, t));
- } catch (t) {}
- return i;
-})();
-function _s(i, t) {
- const e = aa(i, t),
- s = e && e.match(/^(\d+)(\.\d+)?px$/);
- return s ? +s[1] : void 0;
-}
-function Tt(i, t, e, s) {
- return { x: i.x + e * (t.x - i.x), y: i.y + e * (t.y - i.y) };
-}
-function ga(i, t, e, s) {
- return {
- x: i.x + e * (t.x - i.x),
- y:
- s === "middle"
- ? e < 0.5
- ? i.y
- : t.y
- : s === "after"
- ? e < 1
- ? i.y
- : t.y
- : e > 0
- ? t.y
- : i.y,
- };
-}
-function pa(i, t, e, s) {
- const n = { x: i.cp2x, y: i.cp2y },
- o = { x: t.cp1x, y: t.cp1y },
- r = Tt(i, n, e),
- a = Tt(n, o, e),
- l = Tt(o, t, e),
- c = Tt(r, a, e),
- h = Tt(a, l, e);
- return Tt(c, h, e);
-}
-const ma = function (i, t) {
- return {
- x(e) {
- return i + i + t - e;
- },
- setWidth(e) {
- t = e;
- },
- textAlign(e) {
- return e === "center" ? e : e === "right" ? "left" : "right";
- },
- xPlus(e, s) {
- return e - s;
- },
- leftForLtr(e, s) {
- return e - s;
- },
- };
- },
- ba = function () {
- return {
- x(i) {
- return i;
- },
- setWidth(i) {},
- textAlign(i) {
- return i;
- },
- xPlus(i, t) {
- return i + t;
- },
- leftForLtr(i, t) {
- return i;
- },
- };
- };
-function Ut(i, t, e) {
- return i ? ma(t, e) : ba();
-}
-function Nn(i, t) {
- let e, s;
- (t === "ltr" || t === "rtl") &&
- ((e = i.canvas.style),
- (s = [
- e.getPropertyValue("direction"),
- e.getPropertyPriority("direction"),
- ]),
- e.setProperty("direction", t, "important"),
- (i.prevTextDirection = s));
-}
-function Vn(i, t) {
- t !== void 0 &&
- (delete i.prevTextDirection,
- i.canvas.style.setProperty("direction", t[0], t[1]));
-}
-function jn(i) {
- return i === "angle"
- ? { between: xe, compare: gr, normalize: it }
- : { between: Lt, compare: (t, e) => t - e, normalize: (t) => t };
-}
-function xs({ start: i, end: t, count: e, loop: s, style: n }) {
- return {
- start: i % e,
- end: t % e,
- loop: s && (t - i + 1) % e === 0,
- style: n,
- };
-}
-function _a(i, t, e) {
- const { property: s, start: n, end: o } = e,
- { between: r, normalize: a } = jn(s),
- l = t.length;
- let { start: c, end: h, loop: d } = i,
- f,
- u;
- if (d) {
- for (
- c += l, h += l, f = 0, u = l;
- f < u && r(a(t[c % l][s]), n, o);
- ++f
- )
- c--, h--;
- (c %= l), (h %= l);
- }
- return h < c && (h += l), { start: c, end: h, loop: d, style: i.style };
-}
-function $n(i, t, e) {
- if (!e) return [i];
- const { property: s, start: n, end: o } = e,
- r = t.length,
- { compare: a, between: l, normalize: c } = jn(s),
- { start: h, end: d, loop: f, style: u } = _a(i, t, e),
- p = [];
- let g = !1,
- m = null,
- b,
- _,
- y;
- const v = () => l(n, y, b) && a(n, y) !== 0,
- x = () => a(o, b) === 0 || l(o, y, b),
- M = () => g || v(),
- S = () => !g || x();
- for (let k = h, C = h; k <= d; ++k)
- (_ = t[k % r]),
- !_.skip &&
- ((b = c(_[s])),
- b !== y &&
- ((g = l(b, n, o)),
- m === null && M() && (m = a(b, n) === 0 ? k : C),
- m !== null &&
- S() &&
- (p.push(
- xs({
- start: m,
- end: k,
- loop: f,
- count: r,
- style: u,
- })
- ),
- (m = null)),
- (C = k),
- (y = b)));
- return (
- m !== null &&
- p.push(xs({ start: m, end: d, loop: f, count: r, style: u })),
- p
- );
-}
-function Yn(i, t) {
- const e = [],
- s = i.segments;
- for (let n = 0; n < s.length; n++) {
- const o = $n(s[n], i.points, t);
- o.length && e.push(...o);
- }
- return e;
-}
-function xa(i, t, e, s) {
- let n = 0,
- o = t - 1;
- if (e && !s) for (; n < t && !i[n].skip; ) n++;
- for (; n < t && i[n].skip; ) n++;
- for (n %= t, e && (o += n); o > n && i[o % t].skip; ) o--;
- return (o %= t), { start: n, end: o };
-}
-function ya(i, t, e, s) {
- const n = i.length,
- o = [];
- let r = t,
- a = i[t],
- l;
- for (l = t + 1; l <= e; ++l) {
- const c = i[l % n];
- c.skip || c.stop
- ? a.skip ||
- ((s = !1),
- o.push({ start: t % n, end: (l - 1) % n, loop: s }),
- (t = r = c.stop ? l : null))
- : ((r = l), a.skip && (t = l)),
- (a = c);
- }
- return r !== null && o.push({ start: t % n, end: r % n, loop: s }), o;
-}
-function va(i, t) {
- const e = i.points,
- s = i.options.spanGaps,
- n = e.length;
- if (!n) return [];
- const o = !!i._loop,
- { start: r, end: a } = xa(e, n, o, s);
- if (s === !0) return ys(i, [{ start: r, end: a, loop: o }], e, t);
- const l = a < r ? a + n : a,
- c = !!i._fullLoop && r === 0 && a === n - 1;
- return ys(i, ya(e, r, l, c), e, t);
-}
-function ys(i, t, e, s) {
- return !s || !s.setContext || !e ? t : ka(i, t, e, s);
-}
-function ka(i, t, e, s) {
- const n = i._chart.getContext(),
- o = vs(i.options),
- {
- _datasetIndex: r,
- options: { spanGaps: a },
- } = i,
- l = e.length,
- c = [];
- let h = o,
- d = t[0].start,
- f = d;
- function u(p, g, m, b) {
- const _ = a ? -1 : 1;
- if (p !== g) {
- for (p += l; e[p % l].skip; ) p -= _;
- for (; e[g % l].skip; ) g += _;
- p % l !== g % l &&
- (c.push({ start: p % l, end: g % l, loop: m, style: b }),
- (h = b),
- (d = g % l));
- }
- }
- for (const p of t) {
- d = a ? d : p.start;
- let g = e[d % l],
- m;
- for (f = d + 1; f <= p.end; f++) {
- const b = e[f % l];
- (m = vs(
- s.setContext(
- kt(n, {
- type: "segment",
- p0: g,
- p1: b,
- p0DataIndex: (f - 1) % l,
- p1DataIndex: f % l,
- datasetIndex: r,
- })
- )
- )),
- wa(m, h) && u(d, f - 1, p.loop, h),
- (g = b),
- (h = m);
- }
- d < f - 1 && u(d, f - 1, p.loop, h);
- }
- return c;
-}
-function vs(i) {
- return {
- backgroundColor: i.backgroundColor,
- borderCapStyle: i.borderCapStyle,
- borderDash: i.borderDash,
- borderDashOffset: i.borderDashOffset,
- borderJoinStyle: i.borderJoinStyle,
- borderWidth: i.borderWidth,
- borderColor: i.borderColor,
- };
-}
-function wa(i, t) {
- if (!t) return !1;
- const e = [],
- s = function (n, o) {
- return Vi(o) ? (e.includes(o) || e.push(o), e.indexOf(o)) : o;
- };
- return JSON.stringify(i, s) !== JSON.stringify(t, s);
-}
-/*!
- * Chart.js v4.4.1
- * https://www.chartjs.org
- * (c) 2023 Chart.js Contributors
- * Released under the MIT License
- */ class Ma {
- constructor() {
- (this._request = null),
- (this._charts = new Map()),
- (this._running = !1),
- (this._lastDate = void 0);
- }
- _notify(t, e, s, n) {
- const o = e.listeners[n],
- r = e.duration;
- o.forEach((a) =>
- a({
- chart: t,
- initial: e.initial,
- numSteps: r,
- currentStep: Math.min(s - e.start, r),
- })
- );
- }
- _refresh() {
- this._request ||
- ((this._running = !0),
- (this._request = Ln.call(window, () => {
- this._update(),
- (this._request = null),
- this._running && this._refresh();
- })));
- }
- _update(t = Date.now()) {
- let e = 0;
- this._charts.forEach((s, n) => {
- if (!s.running || !s.items.length) return;
- const o = s.items;
- let r = o.length - 1,
- a = !1,
- l;
- for (; r >= 0; --r)
- (l = o[r]),
- l._active
- ? (l._total > s.duration && (s.duration = l._total),
- l.tick(t),
- (a = !0))
- : ((o[r] = o[o.length - 1]), o.pop());
- a && (n.draw(), this._notify(n, s, t, "progress")),
- o.length ||
- ((s.running = !1),
- this._notify(n, s, t, "complete"),
- (s.initial = !1)),
- (e += o.length);
- }),
- (this._lastDate = t),
- e === 0 && (this._running = !1);
- }
- _getAnims(t) {
- const e = this._charts;
- let s = e.get(t);
- return (
- s ||
- ((s = {
- running: !1,
- initial: !0,
- items: [],
- listeners: { complete: [], progress: [] },
- }),
- e.set(t, s)),
- s
- );
- }
- listen(t, e, s) {
- this._getAnims(t).listeners[e].push(s);
- }
- add(t, e) {
- !e || !e.length || this._getAnims(t).items.push(...e);
- }
- has(t) {
- return this._getAnims(t).items.length > 0;
- }
- start(t) {
- const e = this._charts.get(t);
- e &&
- ((e.running = !0),
- (e.start = Date.now()),
- (e.duration = e.items.reduce(
- (s, n) => Math.max(s, n._duration),
- 0
- )),
- this._refresh());
- }
- running(t) {
- if (!this._running) return !1;
- const e = this._charts.get(t);
- return !(!e || !e.running || !e.items.length);
- }
- stop(t) {
- const e = this._charts.get(t);
- if (!e || !e.items.length) return;
- const s = e.items;
- let n = s.length - 1;
- for (; n >= 0; --n) s[n].cancel();
- (e.items = []), this._notify(t, e, Date.now(), "complete");
- }
- remove(t) {
- return this._charts.delete(t);
- }
-}
-var ft = new Ma();
-const ks = "transparent",
- Sa = {
- boolean(i, t, e) {
- return e > 0.5 ? t : i;
- },
- color(i, t, e) {
- const s = fs(i || ks),
- n = s.valid && fs(t || ks);
- return n && n.valid ? n.mix(s, e).hexString() : t;
- },
- number(i, t, e) {
- return i + (t - i) * e;
- },
- };
-class Ca {
- constructor(t, e, s, n) {
- const o = e[s];
- n = Ae([t.to, n, o, t.from]);
- const r = Ae([t.from, o, n]);
- (this._active = !0),
- (this._fn = t.fn || Sa[t.type || typeof r]),
- (this._easing = ue[t.easing] || ue.linear),
- (this._start = Math.floor(Date.now() + (t.delay || 0))),
- (this._duration = this._total = Math.floor(t.duration)),
- (this._loop = !!t.loop),
- (this._target = e),
- (this._prop = s),
- (this._from = r),
- (this._to = n),
- (this._promises = void 0);
- }
- active() {
- return this._active;
- }
- update(t, e, s) {
- if (this._active) {
- this._notify(!1);
- const n = this._target[this._prop],
- o = s - this._start,
- r = this._duration - o;
- (this._start = s),
- (this._duration = Math.floor(Math.max(r, t.duration))),
- (this._total += o),
- (this._loop = !!t.loop),
- (this._to = Ae([t.to, e, n, t.from])),
- (this._from = Ae([t.from, n, e]));
- }
- }
- cancel() {
- this._active &&
- (this.tick(Date.now()), (this._active = !1), this._notify(!1));
- }
- tick(t) {
- const e = t - this._start,
- s = this._duration,
- n = this._prop,
- o = this._from,
- r = this._loop,
- a = this._to;
- let l;
- if (((this._active = o !== a && (r || e < s)), !this._active)) {
- (this._target[n] = a), this._notify(!0);
- return;
- }
- if (e < 0) {
- this._target[n] = o;
- return;
- }
- (l = (e / s) % 2),
- (l = r && l > 1 ? 2 - l : l),
- (l = this._easing(Math.min(1, Math.max(0, l)))),
- (this._target[n] = this._fn(o, a, l));
- }
- wait() {
- const t = this._promises || (this._promises = []);
- return new Promise((e, s) => {
- t.push({ res: e, rej: s });
- });
- }
- _notify(t) {
- const e = t ? "res" : "rej",
- s = this._promises || [];
- for (let n = 0; n < s.length; n++) s[n][e]();
- }
-}
-class Un {
- constructor(t, e) {
- (this._chart = t), (this._properties = new Map()), this.configure(e);
- }
- configure(t) {
- if (!A(t)) return;
- const e = Object.keys(j.animation),
- s = this._properties;
- Object.getOwnPropertyNames(t).forEach((n) => {
- const o = t[n];
- if (!A(o)) return;
- const r = {};
- for (const a of e) r[a] = o[a];
- ((H(o.properties) && o.properties) || [n]).forEach((a) => {
- (a === n || !s.has(a)) && s.set(a, r);
- });
- });
- }
- _animateOptions(t, e) {
- const s = e.options,
- n = Da(t, s);
- if (!n) return [];
- const o = this._createAnimations(n, s);
- return (
- s.$shared &&
- Pa(t.options.$animations, s).then(
- () => {
- t.options = s;
- },
- () => {}
- ),
- o
- );
- }
- _createAnimations(t, e) {
- const s = this._properties,
- n = [],
- o = t.$animations || (t.$animations = {}),
- r = Object.keys(e),
- a = Date.now();
- let l;
- for (l = r.length - 1; l >= 0; --l) {
- const c = r[l];
- if (c.charAt(0) === "$") continue;
- if (c === "options") {
- n.push(...this._animateOptions(t, e));
- continue;
- }
- const h = e[c];
- let d = o[c];
- const f = s.get(c);
- if (d)
- if (f && d.active()) {
- d.update(f, h, a);
- continue;
- } else d.cancel();
- if (!f || !f.duration) {
- t[c] = h;
- continue;
- }
- (o[c] = d = new Ca(f, t, c, h)), n.push(d);
- }
- return n;
- }
- update(t, e) {
- if (this._properties.size === 0) {
- Object.assign(t, e);
- return;
- }
- const s = this._createAnimations(t, e);
- if (s.length) return ft.add(this._chart, s), !0;
- }
-}
-function Pa(i, t) {
- const e = [],
- s = Object.keys(t);
- for (let n = 0; n < s.length; n++) {
- const o = i[s[n]];
- o && o.active() && e.push(o.wait());
- }
- return Promise.all(e);
-}
-function Da(i, t) {
- if (!t) return;
- let e = i.options;
- if (!e) {
- i.options = t;
- return;
- }
- return (
- e.$shared &&
- (i.options = e =
- Object.assign({}, e, { $shared: !1, $animations: {} })),
- e
- );
-}
-function ws(i, t) {
- const e = (i && i.options) || {},
- s = e.reverse,
- n = e.min === void 0 ? t : 0,
- o = e.max === void 0 ? t : 0;
- return { start: s ? o : n, end: s ? n : o };
-}
-function Oa(i, t, e) {
- if (e === !1) return !1;
- const s = ws(i, e),
- n = ws(t, e);
- return { top: n.end, right: s.end, bottom: n.start, left: s.start };
-}
-function Aa(i) {
- let t, e, s, n;
- return (
- A(i)
- ? ((t = i.top), (e = i.right), (s = i.bottom), (n = i.left))
- : (t = e = s = n = i),
- { top: t, right: e, bottom: s, left: n, disabled: i === !1 }
- );
-}
-function Xn(i, t) {
- const e = [],
- s = i._getSortedDatasetMetas(t);
- let n, o;
- for (n = 0, o = s.length; n < o; ++n) e.push(s[n].index);
- return e;
-}
-function Ms(i, t, e, s = {}) {
- const n = i.keys,
- o = s.mode === "single";
- let r, a, l, c;
- if (t !== null) {
- for (r = 0, a = n.length; r < a; ++r) {
- if (((l = +n[r]), l === e)) {
- if (s.all) continue;
- break;
- }
- (c = i.values[l]),
- V(c) && (o || t === 0 || Kt(t) === Kt(c)) && (t += c);
- }
- return t;
- }
-}
-function Ta(i) {
- const t = Object.keys(i),
- e = new Array(t.length);
- let s, n, o;
- for (s = 0, n = t.length; s < n; ++s)
- (o = t[s]), (e[s] = { x: o, y: i[o] });
- return e;
-}
-function Ss(i, t) {
- const e = i && i.options.stacked;
- return e || (e === void 0 && t.stack !== void 0);
-}
-function La(i, t, e) {
- return `${i.id}.${t.id}.${e.stack || e.type}`;
-}
-function Ra(i) {
- const { min: t, max: e, minDefined: s, maxDefined: n } = i.getUserBounds();
- return {
- min: s ? t : Number.NEGATIVE_INFINITY,
- max: n ? e : Number.POSITIVE_INFINITY,
- };
-}
-function Fa(i, t, e) {
- const s = i[t] || (i[t] = {});
- return s[e] || (s[e] = {});
-}
-function Cs(i, t, e, s) {
- for (const n of t.getMatchingVisibleMetas(s).reverse()) {
- const o = i[n.index];
- if ((e && o > 0) || (!e && o < 0)) return n.index;
- }
- return null;
-}
-function Ps(i, t) {
- const { chart: e, _cachedMeta: s } = i,
- n = e._stacks || (e._stacks = {}),
- { iScale: o, vScale: r, index: a } = s,
- l = o.axis,
- c = r.axis,
- h = La(o, r, s),
- d = t.length;
- let f;
- for (let u = 0; u < d; ++u) {
- const p = t[u],
- { [l]: g, [c]: m } = p,
- b = p._stacks || (p._stacks = {});
- (f = b[c] = Fa(n, h, g)),
- (f[a] = m),
- (f._top = Cs(f, r, !0, s.type)),
- (f._bottom = Cs(f, r, !1, s.type));
- const _ = f._visualValues || (f._visualValues = {});
- _[a] = m;
- }
-}
-function ui(i, t) {
- const e = i.scales;
- return Object.keys(e)
- .filter((s) => e[s].axis === t)
- .shift();
-}
-function Ia(i, t) {
- return kt(i, {
- active: !1,
- dataset: void 0,
- datasetIndex: t,
- index: t,
- mode: "default",
- type: "dataset",
- });
-}
-function Ea(i, t, e) {
- return kt(i, {
- active: !1,
- dataIndex: t,
- parsed: void 0,
- raw: void 0,
- element: e,
- index: t,
- mode: "default",
- type: "data",
- });
-}
-function ee(i, t) {
- const e = i.controller.index,
- s = i.vScale && i.vScale.axis;
- if (s) {
- t = t || i._parsed;
- for (const n of t) {
- const o = n._stacks;
- if (!o || o[s] === void 0 || o[s][e] === void 0) return;
- delete o[s][e],
- o[s]._visualValues !== void 0 &&
- o[s]._visualValues[e] !== void 0 &&
- delete o[s]._visualValues[e];
- }
- }
-}
-const gi = (i) => i === "reset" || i === "none",
- Ds = (i, t) => (t ? i : Object.assign({}, i)),
- za = (i, t, e) =>
- i && !t.hidden && t._stacked && { keys: Xn(e, !0), values: null };
-class Xt {
- constructor(t, e) {
- (this.chart = t),
- (this._ctx = t.ctx),
- (this.index = e),
- (this._cachedDataOpts = {}),
- (this._cachedMeta = this.getMeta()),
- (this._type = this._cachedMeta.type),
- (this.options = void 0),
- (this._parsing = !1),
- (this._data = void 0),
- (this._objectData = void 0),
- (this._sharedOptions = void 0),
- (this._drawStart = void 0),
- (this._drawCount = void 0),
- (this.enableOptionSharing = !1),
- (this.supportsDecimation = !1),
- (this.$context = void 0),
- (this._syncList = []),
- (this.datasetElementType = new.target.datasetElementType),
- (this.dataElementType = new.target.dataElementType),
- this.initialize();
- }
- initialize() {
- const t = this._cachedMeta;
- this.configure(),
- this.linkScales(),
- (t._stacked = Ss(t.vScale, t)),
- this.addElements(),
- this.options.fill &&
- !this.chart.isPluginEnabled("filler") &&
- console.warn(
- "Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options"
- );
- }
- updateIndex(t) {
- this.index !== t && ee(this._cachedMeta), (this.index = t);
- }
- linkScales() {
- const t = this.chart,
- e = this._cachedMeta,
- s = this.getDataset(),
- n = (d, f, u, p) => (d === "x" ? f : d === "r" ? p : u),
- o = (e.xAxisID = D(s.xAxisID, ui(t, "x"))),
- r = (e.yAxisID = D(s.yAxisID, ui(t, "y"))),
- a = (e.rAxisID = D(s.rAxisID, ui(t, "r"))),
- l = e.indexAxis,
- c = (e.iAxisID = n(l, o, r, a)),
- h = (e.vAxisID = n(l, r, o, a));
- (e.xScale = this.getScaleForId(o)),
- (e.yScale = this.getScaleForId(r)),
- (e.rScale = this.getScaleForId(a)),
- (e.iScale = this.getScaleForId(c)),
- (e.vScale = this.getScaleForId(h));
- }
- getDataset() {
- return this.chart.data.datasets[this.index];
- }
- getMeta() {
- return this.chart.getDatasetMeta(this.index);
- }
- getScaleForId(t) {
- return this.chart.scales[t];
- }
- _getOtherScale(t) {
- const e = this._cachedMeta;
- return t === e.iScale ? e.vScale : e.iScale;
- }
- reset() {
- this._update("reset");
- }
- _destroy() {
- const t = this._cachedMeta;
- this._data && cs(this._data, this), t._stacked && ee(t);
- }
- _dataCheck() {
- const t = this.getDataset(),
- e = t.data || (t.data = []),
- s = this._data;
- if (A(e)) this._data = Ta(e);
- else if (s !== e) {
- if (s) {
- cs(s, this);
- const n = this._cachedMeta;
- ee(n), (n._parsed = []);
- }
- e && Object.isExtensible(e) && _r(e, this),
- (this._syncList = []),
- (this._data = e);
- }
- }
- addElements() {
- const t = this._cachedMeta;
- this._dataCheck(),
- this.datasetElementType &&
- (t.dataset = new this.datasetElementType());
- }
- buildOrUpdateElements(t) {
- const e = this._cachedMeta,
- s = this.getDataset();
- let n = !1;
- this._dataCheck();
- const o = e._stacked;
- (e._stacked = Ss(e.vScale, e)),
- e.stack !== s.stack && ((n = !0), ee(e), (e.stack = s.stack)),
- this._resyncElements(t),
- (n || o !== e._stacked) && Ps(this, e._parsed);
- }
- configure() {
- const t = this.chart.config,
- e = t.datasetScopeKeys(this._type),
- s = t.getOptionScopes(this.getDataset(), e, !0);
- (this.options = t.createResolver(s, this.getContext())),
- (this._parsing = this.options.parsing),
- (this._cachedDataOpts = {});
- }
- parse(t, e) {
- const { _cachedMeta: s, _data: n } = this,
- { iScale: o, _stacked: r } = s,
- a = o.axis;
- let l = t === 0 && e === n.length ? !0 : s._sorted,
- c = t > 0 && s._parsed[t - 1],
- h,
- d,
- f;
- if (this._parsing === !1) (s._parsed = n), (s._sorted = !0), (f = n);
- else {
- H(n[t])
- ? (f = this.parseArrayData(s, n, t, e))
- : A(n[t])
- ? (f = this.parseObjectData(s, n, t, e))
- : (f = this.parsePrimitiveData(s, n, t, e));
- const u = () => d[a] === null || (c && d[a] < c[a]);
- for (h = 0; h < e; ++h)
- (s._parsed[h + t] = d = f[h]), l && (u() && (l = !1), (c = d));
- s._sorted = l;
- }
- r && Ps(this, f);
- }
- parsePrimitiveData(t, e, s, n) {
- const { iScale: o, vScale: r } = t,
- a = o.axis,
- l = r.axis,
- c = o.getLabels(),
- h = o === r,
- d = new Array(n);
- let f, u, p;
- for (f = 0, u = n; f < u; ++f)
- (p = f + s),
- (d[f] = { [a]: h || o.parse(c[p], p), [l]: r.parse(e[p], p) });
- return d;
- }
- parseArrayData(t, e, s, n) {
- const { xScale: o, yScale: r } = t,
- a = new Array(n);
- let l, c, h, d;
- for (l = 0, c = n; l < c; ++l)
- (h = l + s),
- (d = e[h]),
- (a[l] = { x: o.parse(d[0], h), y: r.parse(d[1], h) });
- return a;
- }
- parseObjectData(t, e, s, n) {
- const { xScale: o, yScale: r } = t,
- { xAxisKey: a = "x", yAxisKey: l = "y" } = this._parsing,
- c = new Array(n);
- let h, d, f, u;
- for (h = 0, d = n; h < d; ++h)
- (f = h + s),
- (u = e[f]),
- (c[h] = { x: o.parse(be(u, a), f), y: r.parse(be(u, l), f) });
- return c;
- }
- getParsed(t) {
- return this._cachedMeta._parsed[t];
- }
- getDataElement(t) {
- return this._cachedMeta.data[t];
- }
- applyStack(t, e, s) {
- const n = this.chart,
- o = this._cachedMeta,
- r = e[t.axis],
- a = { keys: Xn(n, !0), values: e._stacks[t.axis]._visualValues };
- return Ms(a, r, o.index, { mode: s });
- }
- updateRangeFromParsed(t, e, s, n) {
- const o = s[e.axis];
- let r = o === null ? NaN : o;
- const a = n && s._stacks[e.axis];
- n && a && ((n.values = a), (r = Ms(n, o, this._cachedMeta.index))),
- (t.min = Math.min(t.min, r)),
- (t.max = Math.max(t.max, r));
- }
- getMinMax(t, e) {
- const s = this._cachedMeta,
- n = s._parsed,
- o = s._sorted && t === s.iScale,
- r = n.length,
- a = this._getOtherScale(t),
- l = za(e, s, this.chart),
- c = {
- min: Number.POSITIVE_INFINITY,
- max: Number.NEGATIVE_INFINITY,
- },
- { min: h, max: d } = Ra(a);
- let f, u;
- function p() {
- u = n[f];
- const g = u[a.axis];
- return !V(u[t.axis]) || h > g || d < g;
- }
- for (
- f = 0;
- f < r && !(!p() && (this.updateRangeFromParsed(c, t, u, l), o));
- ++f
- );
- if (o) {
- for (f = r - 1; f >= 0; --f)
- if (!p()) {
- this.updateRangeFromParsed(c, t, u, l);
- break;
- }
- }
- return c;
- }
- getAllParsedValues(t) {
- const e = this._cachedMeta._parsed,
- s = [];
- let n, o, r;
- for (n = 0, o = e.length; n < o; ++n)
- (r = e[n][t.axis]), V(r) && s.push(r);
- return s;
- }
- getMaxOverflow() {
- return !1;
- }
- getLabelAndValue(t) {
- const e = this._cachedMeta,
- s = e.iScale,
- n = e.vScale,
- o = this.getParsed(t);
- return {
- label: s ? "" + s.getLabelForValue(o[s.axis]) : "",
- value: n ? "" + n.getLabelForValue(o[n.axis]) : "",
- };
- }
- _update(t) {
- const e = this._cachedMeta;
- this.update(t || "default"),
- (e._clip = Aa(
- D(
- this.options.clip,
- Oa(e.xScale, e.yScale, this.getMaxOverflow())
- )
- ));
- }
- update(t) {}
- draw() {
- const t = this._ctx,
- e = this.chart,
- s = this._cachedMeta,
- n = s.data || [],
- o = e.chartArea,
- r = [],
- a = this._drawStart || 0,
- l = this._drawCount || n.length - a,
- c = this.options.drawActiveElementsOnTop;
- let h;
- for (s.dataset && s.dataset.draw(t, o, a, l), h = a; h < a + l; ++h) {
- const d = n[h];
- d.hidden || (d.active && c ? r.push(d) : d.draw(t, o));
- }
- for (h = 0; h < r.length; ++h) r[h].draw(t, o);
- }
- getStyle(t, e) {
- const s = e ? "active" : "default";
- return t === void 0 && this._cachedMeta.dataset
- ? this.resolveDatasetElementOptions(s)
- : this.resolveDataElementOptions(t || 0, s);
- }
- getContext(t, e, s) {
- const n = this.getDataset();
- let o;
- if (t >= 0 && t < this._cachedMeta.data.length) {
- const r = this._cachedMeta.data[t];
- (o = r.$context || (r.$context = Ea(this.getContext(), t, r))),
- (o.parsed = this.getParsed(t)),
- (o.raw = n.data[t]),
- (o.index = o.dataIndex = t);
- } else
- (o =
- this.$context ||
- (this.$context = Ia(this.chart.getContext(), this.index))),
- (o.dataset = n),
- (o.index = o.datasetIndex = this.index);
- return (o.active = !!e), (o.mode = s), o;
- }
- resolveDatasetElementOptions(t) {
- return this._resolveElementOptions(this.datasetElementType.id, t);
- }
- resolveDataElementOptions(t, e) {
- return this._resolveElementOptions(this.dataElementType.id, e, t);
- }
- _resolveElementOptions(t, e = "default", s) {
- const n = e === "active",
- o = this._cachedDataOpts,
- r = t + "-" + e,
- a = o[r],
- l = this.enableOptionSharing && Xe(s);
- if (a) return Ds(a, l);
- const c = this.chart.config,
- h = c.datasetElementScopeKeys(this._type, t),
- d = n ? [`${t}Hover`, "hover", t, ""] : [t, ""],
- f = c.getOptionScopes(this.getDataset(), h),
- u = Object.keys(j.elements[t]),
- p = () => this.getContext(s, n, e),
- g = c.resolveNamedOptions(f, u, p, d);
- return (
- g.$shared && ((g.$shared = l), (o[r] = Object.freeze(Ds(g, l)))), g
- );
- }
- _resolveAnimations(t, e, s) {
- const n = this.chart,
- o = this._cachedDataOpts,
- r = `animation-${e}`,
- a = o[r];
- if (a) return a;
- let l;
- if (n.options.animation !== !1) {
- const h = this.chart.config,
- d = h.datasetAnimationScopeKeys(this._type, e),
- f = h.getOptionScopes(this.getDataset(), d);
- l = h.createResolver(f, this.getContext(t, s, e));
- }
- const c = new Un(n, l && l.animations);
- return l && l._cacheable && (o[r] = Object.freeze(c)), c;
- }
- getSharedOptions(t) {
- if (t.$shared)
- return (
- this._sharedOptions ||
- (this._sharedOptions = Object.assign({}, t))
- );
- }
- includeOptions(t, e) {
- return !e || gi(t) || this.chart._animationsDisabled;
- }
- _getSharedOptions(t, e) {
- const s = this.resolveDataElementOptions(t, e),
- n = this._sharedOptions,
- o = this.getSharedOptions(s),
- r = this.includeOptions(e, o) || o !== n;
- return (
- this.updateSharedOptions(o, e, s),
- { sharedOptions: o, includeOptions: r }
- );
- }
- updateElement(t, e, s, n) {
- gi(n)
- ? Object.assign(t, s)
- : this._resolveAnimations(e, n).update(t, s);
- }
- updateSharedOptions(t, e, s) {
- t && !gi(e) && this._resolveAnimations(void 0, e).update(t, s);
- }
- _setStyle(t, e, s, n) {
- t.active = n;
- const o = this.getStyle(e, n);
- this._resolveAnimations(e, s, n).update(t, {
- options: (!n && this.getSharedOptions(o)) || o,
- });
- }
- removeHoverStyle(t, e, s) {
- this._setStyle(t, s, "active", !1);
- }
- setHoverStyle(t, e, s) {
- this._setStyle(t, s, "active", !0);
- }
- _removeDatasetHoverStyle() {
- const t = this._cachedMeta.dataset;
- t && this._setStyle(t, void 0, "active", !1);
- }
- _setDatasetHoverStyle() {
- const t = this._cachedMeta.dataset;
- t && this._setStyle(t, void 0, "active", !0);
- }
- _resyncElements(t) {
- const e = this._data,
- s = this._cachedMeta.data;
- for (const [a, l, c] of this._syncList) this[a](l, c);
- this._syncList = [];
- const n = s.length,
- o = e.length,
- r = Math.min(o, n);
- r && this.parse(0, r),
- o > n
- ? this._insertElements(n, o - n, t)
- : o < n && this._removeElements(o, n - o);
- }
- _insertElements(t, e, s = !0) {
- const n = this._cachedMeta,
- o = n.data,
- r = t + e;
- let a;
- const l = (c) => {
- for (c.length += e, a = c.length - 1; a >= r; a--) c[a] = c[a - e];
- };
- for (l(o), a = t; a < r; ++a) o[a] = new this.dataElementType();
- this._parsing && l(n._parsed),
- this.parse(t, e),
- s && this.updateElements(o, t, e, "reset");
- }
- updateElements(t, e, s, n) {}
- _removeElements(t, e) {
- const s = this._cachedMeta;
- if (this._parsing) {
- const n = s._parsed.splice(t, e);
- s._stacked && ee(s, n);
- }
- s.data.splice(t, e);
- }
- _sync(t) {
- if (this._parsing) this._syncList.push(t);
- else {
- const [e, s, n] = t;
- this[e](s, n);
- }
- this.chart._dataChanges.push([this.index, ...t]);
- }
- _onDataPush() {
- const t = arguments.length;
- this._sync(["_insertElements", this.getDataset().data.length - t, t]);
- }
- _onDataPop() {
- this._sync(["_removeElements", this._cachedMeta.data.length - 1, 1]);
- }
- _onDataShift() {
- this._sync(["_removeElements", 0, 1]);
- }
- _onDataSplice(t, e) {
- e && this._sync(["_removeElements", t, e]);
- const s = arguments.length - 2;
- s && this._sync(["_insertElements", t, s]);
- }
- _onDataUnshift() {
- this._sync(["_insertElements", 0, arguments.length]);
- }
-}
-w(Xt, "defaults", {}),
- w(Xt, "datasetElementType", null),
- w(Xt, "dataElementType", null);
-function Ba(i, t, e) {
- let s = 1,
- n = 1,
- o = 0,
- r = 0;
- if (t < z) {
- const a = i,
- l = a + t,
- c = Math.cos(a),
- h = Math.sin(a),
- d = Math.cos(l),
- f = Math.sin(l),
- u = (y, v, x) =>
- xe(y, a, l, !0) ? 1 : Math.max(v, v * e, x, x * e),
- p = (y, v, x) =>
- xe(y, a, l, !0) ? -1 : Math.min(v, v * e, x, x * e),
- g = u(0, c, d),
- m = u(Y, h, f),
- b = p(N, c, d),
- _ = p(N + Y, h, f);
- (s = (g - b) / 2),
- (n = (m - _) / 2),
- (o = -(g + b) / 2),
- (r = -(m + _) / 2);
- }
- return { ratioX: s, ratioY: n, offsetX: o, offsetY: r };
-}
-class ae extends Xt {
- constructor(t, e) {
- super(t, e),
- (this.enableOptionSharing = !0),
- (this.innerRadius = void 0),
- (this.outerRadius = void 0),
- (this.offsetX = void 0),
- (this.offsetY = void 0);
- }
- linkScales() {}
- parse(t, e) {
- const s = this.getDataset().data,
- n = this._cachedMeta;
- if (this._parsing === !1) n._parsed = s;
- else {
- let o = (l) => +s[l];
- if (A(s[t])) {
- const { key: l = "value" } = this._parsing;
- o = (c) => +be(s[c], l);
- }
- let r, a;
- for (r = t, a = t + e; r < a; ++r) n._parsed[r] = o(r);
- }
- }
- _getRotation() {
- return ct(this.options.rotation - 90);
- }
- _getCircumference() {
- return ct(this.options.circumference);
- }
- _getRotationExtents() {
- let t = z,
- e = -z;
- for (let s = 0; s < this.chart.data.datasets.length; ++s)
- if (
- this.chart.isDatasetVisible(s) &&
- this.chart.getDatasetMeta(s).type === this._type
- ) {
- const n = this.chart.getDatasetMeta(s).controller,
- o = n._getRotation(),
- r = n._getCircumference();
- (t = Math.min(t, o)), (e = Math.max(e, o + r));
- }
- return { rotation: t, circumference: e - t };
- }
- update(t) {
- const e = this.chart,
- { chartArea: s } = e,
- n = this._cachedMeta,
- o = n.data,
- r =
- this.getMaxBorderWidth() +
- this.getMaxOffset(o) +
- this.options.spacing,
- a = Math.max((Math.min(s.width, s.height) - r) / 2, 0),
- l = Math.min(nr(this.options.cutout, a), 1),
- c = this._getRingWeight(this.index),
- { circumference: h, rotation: d } = this._getRotationExtents(),
- { ratioX: f, ratioY: u, offsetX: p, offsetY: g } = Ba(d, h, l),
- m = (s.width - r) / f,
- b = (s.height - r) / u,
- _ = Math.max(Math.min(m, b) / 2, 0),
- y = Pn(this.options.radius, _),
- v = Math.max(y * l, 0),
- x = (y - v) / this._getVisibleDatasetWeightTotal();
- (this.offsetX = p * y),
- (this.offsetY = g * y),
- (n.total = this.calculateTotal()),
- (this.outerRadius = y - x * this._getRingWeightOffset(this.index)),
- (this.innerRadius = Math.max(this.outerRadius - x * c, 0)),
- this.updateElements(o, 0, o.length, t);
- }
- _circumference(t, e) {
- const s = this.options,
- n = this._cachedMeta,
- o = this._getCircumference();
- return (e && s.animation.animateRotate) ||
- !this.chart.getDataVisibility(t) ||
- n._parsed[t] === null ||
- n.data[t].hidden
- ? 0
- : this.calculateCircumference((n._parsed[t] * o) / z);
- }
- updateElements(t, e, s, n) {
- const o = n === "reset",
- r = this.chart,
- a = r.chartArea,
- c = r.options.animation,
- h = (a.left + a.right) / 2,
- d = (a.top + a.bottom) / 2,
- f = o && c.animateScale,
- u = f ? 0 : this.innerRadius,
- p = f ? 0 : this.outerRadius,
- { sharedOptions: g, includeOptions: m } = this._getSharedOptions(
- e,
- n
- );
- let b = this._getRotation(),
- _;
- for (_ = 0; _ < e; ++_) b += this._circumference(_, o);
- for (_ = e; _ < e + s; ++_) {
- const y = this._circumference(_, o),
- v = t[_],
- x = {
- x: h + this.offsetX,
- y: d + this.offsetY,
- startAngle: b,
- endAngle: b + y,
- circumference: y,
- outerRadius: p,
- innerRadius: u,
- };
- m &&
- (x.options =
- g ||
- this.resolveDataElementOptions(_, v.active ? "active" : n)),
- (b += y),
- this.updateElement(v, _, x, n);
- }
- }
- calculateTotal() {
- const t = this._cachedMeta,
- e = t.data;
- let s = 0,
- n;
- for (n = 0; n < e.length; n++) {
- const o = t._parsed[n];
- o !== null &&
- !isNaN(o) &&
- this.chart.getDataVisibility(n) &&
- !e[n].hidden &&
- (s += Math.abs(o));
- }
- return s;
- }
- calculateCircumference(t) {
- const e = this._cachedMeta.total;
- return e > 0 && !isNaN(t) ? z * (Math.abs(t) / e) : 0;
- }
- getLabelAndValue(t) {
- const e = this._cachedMeta,
- s = this.chart,
- n = s.data.labels || [],
- o = ii(e._parsed[t], s.options.locale);
- return { label: n[t] || "", value: o };
- }
- getMaxBorderWidth(t) {
- let e = 0;
- const s = this.chart;
- let n, o, r, a, l;
- if (!t) {
- for (n = 0, o = s.data.datasets.length; n < o; ++n)
- if (s.isDatasetVisible(n)) {
- (r = s.getDatasetMeta(n)), (t = r.data), (a = r.controller);
- break;
- }
- }
- if (!t) return 0;
- for (n = 0, o = t.length; n < o; ++n)
- (l = a.resolveDataElementOptions(n)),
- l.borderAlign !== "inner" &&
- (e = Math.max(
- e,
- l.borderWidth || 0,
- l.hoverBorderWidth || 0
- ));
- return e;
- }
- getMaxOffset(t) {
- let e = 0;
- for (let s = 0, n = t.length; s < n; ++s) {
- const o = this.resolveDataElementOptions(s);
- e = Math.max(e, o.offset || 0, o.hoverOffset || 0);
- }
- return e;
- }
- _getRingWeightOffset(t) {
- let e = 0;
- for (let s = 0; s < t; ++s)
- this.chart.isDatasetVisible(s) && (e += this._getRingWeight(s));
- return e;
- }
- _getRingWeight(t) {
- return Math.max(D(this.chart.data.datasets[t].weight, 1), 0);
- }
- _getVisibleDatasetWeightTotal() {
- return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;
- }
-}
-w(ae, "id", "doughnut"),
- w(ae, "defaults", {
- datasetElementType: !1,
- dataElementType: "arc",
- animation: { animateRotate: !0, animateScale: !1 },
- animations: {
- numbers: {
- type: "number",
- properties: [
- "circumference",
- "endAngle",
- "innerRadius",
- "outerRadius",
- "startAngle",
- "x",
- "y",
- "offset",
- "borderWidth",
- "spacing",
- ],
- },
- },
- cutout: "50%",
- rotation: 0,
- circumference: 360,
- radius: "100%",
- spacing: 0,
- indexAxis: "r",
- }),
- w(ae, "descriptors", {
- _scriptable: (t) => t !== "spacing",
- _indexable: (t) =>
- t !== "spacing" &&
- !t.startsWith("borderDash") &&
- !t.startsWith("hoverBorderDash"),
- }),
- w(ae, "overrides", {
- aspectRatio: 1,
- plugins: {
- legend: {
- labels: {
- generateLabels(t) {
- const e = t.data;
- if (e.labels.length && e.datasets.length) {
- const {
- labels: { pointStyle: s, color: n },
- } = t.legend.options;
- return e.labels.map((o, r) => {
- const l = t
- .getDatasetMeta(0)
- .controller.getStyle(r);
- return {
- text: o,
- fillStyle: l.backgroundColor,
- strokeStyle: l.borderColor,
- fontColor: n,
- lineWidth: l.borderWidth,
- pointStyle: s,
- hidden: !t.getDataVisibility(r),
- index: r,
- };
- });
- }
- return [];
- },
- },
- onClick(t, e, s) {
- s.chart.toggleDataVisibility(e.index), s.chart.update();
- },
- },
- },
- });
-class Ne extends Xt {
- initialize() {
- (this.enableOptionSharing = !0),
- (this.supportsDecimation = !0),
- super.initialize();
- }
- update(t) {
- const e = this._cachedMeta,
- { dataset: s, data: n = [], _dataset: o } = e,
- r = this.chart._animationsDisabled;
- let { start: a, count: l } = kr(e, n, r);
- (this._drawStart = a),
- (this._drawCount = l),
- wr(e) && ((a = 0), (l = n.length)),
- (s._chart = this.chart),
- (s._datasetIndex = this.index),
- (s._decimated = !!o._decimated),
- (s.points = n);
- const c = this.resolveDatasetElementOptions(t);
- this.options.showLine || (c.borderWidth = 0),
- (c.segment = this.options.segment),
- this.updateElement(s, void 0, { animated: !r, options: c }, t),
- this.updateElements(n, a, l, t);
- }
- updateElements(t, e, s, n) {
- const o = n === "reset",
- {
- iScale: r,
- vScale: a,
- _stacked: l,
- _dataset: c,
- } = this._cachedMeta,
- { sharedOptions: h, includeOptions: d } = this._getSharedOptions(
- e,
- n
- ),
- f = r.axis,
- u = a.axis,
- { spanGaps: p, segment: g } = this.options,
- m = _e(p) ? p : Number.POSITIVE_INFINITY,
- b = this.chart._animationsDisabled || o || n === "none",
- _ = e + s,
- y = t.length;
- let v = e > 0 && this.getParsed(e - 1);
- for (let x = 0; x < y; ++x) {
- const M = t[x],
- S = b ? M : {};
- if (x < e || x >= _) {
- S.skip = !0;
- continue;
- }
- const k = this.getParsed(x),
- C = E(k[u]),
- O = (S[f] = r.getPixelForValue(k[f], x)),
- P = (S[u] =
- o || C
- ? a.getBasePixel()
- : a.getPixelForValue(
- l ? this.applyStack(a, k, l) : k[u],
- x
- ));
- (S.skip = isNaN(O) || isNaN(P) || C),
- (S.stop = x > 0 && Math.abs(k[f] - v[f]) > m),
- g && ((S.parsed = k), (S.raw = c.data[x])),
- d &&
- (S.options =
- h ||
- this.resolveDataElementOptions(
- x,
- M.active ? "active" : n
- )),
- b || this.updateElement(M, x, S, n),
- (v = k);
- }
- }
- getMaxOverflow() {
- const t = this._cachedMeta,
- e = t.dataset,
- s = (e.options && e.options.borderWidth) || 0,
- n = t.data || [];
- if (!n.length) return s;
- const o = n[0].size(this.resolveDataElementOptions(0)),
- r = n[n.length - 1].size(
- this.resolveDataElementOptions(n.length - 1)
- );
- return Math.max(s, o, r) / 2;
- }
- draw() {
- const t = this._cachedMeta;
- t.dataset.updateControlPoints(this.chart.chartArea, t.iScale.axis),
- super.draw();
- }
-}
-w(Ne, "id", "line"),
- w(Ne, "defaults", {
- datasetElementType: "line",
- dataElementType: "point",
- showLine: !0,
- spanGaps: !1,
- }),
- w(Ne, "overrides", {
- scales: { _index_: { type: "category" }, _value_: { type: "linear" } },
- });
-class Ci extends ae {}
-w(Ci, "id", "pie"),
- w(Ci, "defaults", {
- cutout: 0,
- rotation: 0,
- circumference: 360,
- radius: "100%",
- });
-function Dt() {
- throw new Error(
- "This method is not implemented: Check that a complete date adapter is provided."
- );
-}
-class qi {
- constructor(t) {
- w(this, "options");
- this.options = t || {};
- }
- static override(t) {
- Object.assign(qi.prototype, t);
- }
- init() {}
- formats() {
- return Dt();
- }
- parse() {
- return Dt();
- }
- format() {
- return Dt();
- }
- add() {
- return Dt();
- }
- diff() {
- return Dt();
- }
- startOf() {
- return Dt();
- }
- endOf() {
- return Dt();
- }
-}
-var Wa = { _date: qi };
-function Ha(i, t, e, s) {
- const { controller: n, data: o, _sorted: r } = i,
- a = n._cachedMeta.iScale;
- if (a && t === a.axis && t !== "r" && r && o.length) {
- const l = a._reversePixels ? mr : Rt;
- if (s) {
- if (n._sharedOptions) {
- const c = o[0],
- h = typeof c.getRange == "function" && c.getRange(t);
- if (h) {
- const d = l(o, t, e - h),
- f = l(o, t, e + h);
- return { lo: d.lo, hi: f.hi };
- }
- }
- } else return l(o, t, e);
- }
- return { lo: 0, hi: o.length - 1 };
-}
-function we(i, t, e, s, n) {
- const o = i.getSortedVisibleDatasetMetas(),
- r = e[t];
- for (let a = 0, l = o.length; a < l; ++a) {
- const { index: c, data: h } = o[a],
- { lo: d, hi: f } = Ha(o[a], t, r, n);
- for (let u = d; u <= f; ++u) {
- const p = h[u];
- p.skip || s(p, c, u);
- }
- }
-}
-function Na(i) {
- const t = i.indexOf("x") !== -1,
- e = i.indexOf("y") !== -1;
- return function (s, n) {
- const o = t ? Math.abs(s.x - n.x) : 0,
- r = e ? Math.abs(s.y - n.y) : 0;
- return Math.sqrt(Math.pow(o, 2) + Math.pow(r, 2));
- };
-}
-function pi(i, t, e, s, n) {
- const o = [];
- return (
- (!n && !i.isPointInArea(t)) ||
- we(
- i,
- e,
- t,
- function (a, l, c) {
- (!n && !pt(a, i.chartArea, 0)) ||
- (a.inRange(t.x, t.y, s) &&
- o.push({ element: a, datasetIndex: l, index: c }));
- },
- !0
- ),
- o
- );
-}
-function Va(i, t, e, s) {
- let n = [];
- function o(r, a, l) {
- const { startAngle: c, endAngle: h } = r.getProps(
- ["startAngle", "endAngle"],
- s
- ),
- { angle: d } = An(r, { x: t.x, y: t.y });
- xe(d, c, h) && n.push({ element: r, datasetIndex: a, index: l });
- }
- return we(i, e, t, o), n;
-}
-function ja(i, t, e, s, n, o) {
- let r = [];
- const a = Na(e);
- let l = Number.POSITIVE_INFINITY;
- function c(h, d, f) {
- const u = h.inRange(t.x, t.y, n);
- if (s && !u) return;
- const p = h.getCenterPoint(n);
- if (!(!!o || i.isPointInArea(p)) && !u) return;
- const m = a(t, p);
- m < l
- ? ((r = [{ element: h, datasetIndex: d, index: f }]), (l = m))
- : m === l && r.push({ element: h, datasetIndex: d, index: f });
- }
- return we(i, e, t, c), r;
-}
-function mi(i, t, e, s, n, o) {
- return !o && !i.isPointInArea(t)
- ? []
- : e === "r" && !s
- ? Va(i, t, e, n)
- : ja(i, t, e, s, n, o);
-}
-function Os(i, t, e, s, n) {
- const o = [],
- r = e === "x" ? "inXRange" : "inYRange";
- let a = !1;
- return (
- we(i, e, t, (l, c, h) => {
- l[r](t[e], n) &&
- (o.push({ element: l, datasetIndex: c, index: h }),
- (a = a || l.inRange(t.x, t.y, n)));
- }),
- s && !a ? [] : o
- );
-}
-var $a = {
- evaluateInteractionItems: we,
- modes: {
- index(i, t, e, s) {
- const n = At(t, i),
- o = e.axis || "x",
- r = e.includeInvisible || !1,
- a = e.intersect ? pi(i, n, o, s, r) : mi(i, n, o, !1, s, r),
- l = [];
- return a.length
- ? (i.getSortedVisibleDatasetMetas().forEach((c) => {
- const h = a[0].index,
- d = c.data[h];
- d &&
- !d.skip &&
- l.push({
- element: d,
- datasetIndex: c.index,
- index: h,
- });
- }),
- l)
- : [];
- },
- dataset(i, t, e, s) {
- const n = At(t, i),
- o = e.axis || "xy",
- r = e.includeInvisible || !1;
- let a = e.intersect ? pi(i, n, o, s, r) : mi(i, n, o, !1, s, r);
- if (a.length > 0) {
- const l = a[0].datasetIndex,
- c = i.getDatasetMeta(l).data;
- a = [];
- for (let h = 0; h < c.length; ++h)
- a.push({ element: c[h], datasetIndex: l, index: h });
- }
- return a;
- },
- point(i, t, e, s) {
- const n = At(t, i),
- o = e.axis || "xy",
- r = e.includeInvisible || !1;
- return pi(i, n, o, s, r);
- },
- nearest(i, t, e, s) {
- const n = At(t, i),
- o = e.axis || "xy",
- r = e.includeInvisible || !1;
- return mi(i, n, o, e.intersect, s, r);
- },
- x(i, t, e, s) {
- const n = At(t, i);
- return Os(i, n, "x", e.intersect, s);
- },
- y(i, t, e, s) {
- const n = At(t, i);
- return Os(i, n, "y", e.intersect, s);
- },
- },
-};
-const Kn = ["left", "top", "right", "bottom"];
-function ie(i, t) {
- return i.filter((e) => e.pos === t);
-}
-function As(i, t) {
- return i.filter((e) => Kn.indexOf(e.pos) === -1 && e.box.axis === t);
-}
-function se(i, t) {
- return i.sort((e, s) => {
- const n = t ? s : e,
- o = t ? e : s;
- return n.weight === o.weight ? n.index - o.index : n.weight - o.weight;
- });
-}
-function Ya(i) {
- const t = [];
- let e, s, n, o, r, a;
- for (e = 0, s = (i || []).length; e < s; ++e)
- (n = i[e]),
- ({
- position: o,
- options: { stack: r, stackWeight: a = 1 },
- } = n),
- t.push({
- index: e,
- box: n,
- pos: o,
- horizontal: n.isHorizontal(),
- weight: n.weight,
- stack: r && o + r,
- stackWeight: a,
- });
- return t;
-}
-function Ua(i) {
- const t = {};
- for (const e of i) {
- const { stack: s, pos: n, stackWeight: o } = e;
- if (!s || !Kn.includes(n)) continue;
- const r = t[s] || (t[s] = { count: 0, placed: 0, weight: 0, size: 0 });
- r.count++, (r.weight += o);
- }
- return t;
-}
-function Xa(i, t) {
- const e = Ua(i),
- { vBoxMaxWidth: s, hBoxMaxHeight: n } = t;
- let o, r, a;
- for (o = 0, r = i.length; o < r; ++o) {
- a = i[o];
- const { fullSize: l } = a.box,
- c = e[a.stack],
- h = c && a.stackWeight / c.weight;
- a.horizontal
- ? ((a.width = h ? h * s : l && t.availableWidth), (a.height = n))
- : ((a.width = s), (a.height = h ? h * n : l && t.availableHeight));
- }
- return e;
-}
-function Ka(i) {
- const t = Ya(i),
- e = se(
- t.filter((c) => c.box.fullSize),
- !0
- ),
- s = se(ie(t, "left"), !0),
- n = se(ie(t, "right")),
- o = se(ie(t, "top"), !0),
- r = se(ie(t, "bottom")),
- a = As(t, "x"),
- l = As(t, "y");
- return {
- fullSize: e,
- leftAndTop: s.concat(o),
- rightAndBottom: n.concat(l).concat(r).concat(a),
- chartArea: ie(t, "chartArea"),
- vertical: s.concat(n).concat(l),
- horizontal: o.concat(r).concat(a),
- };
-}
-function Ts(i, t, e, s) {
- return Math.max(i[e], t[e]) + Math.max(i[s], t[s]);
-}
-function qn(i, t) {
- (i.top = Math.max(i.top, t.top)),
- (i.left = Math.max(i.left, t.left)),
- (i.bottom = Math.max(i.bottom, t.bottom)),
- (i.right = Math.max(i.right, t.right));
-}
-function qa(i, t, e, s) {
- const { pos: n, box: o } = e,
- r = i.maxPadding;
- if (!A(n)) {
- e.size && (i[n] -= e.size);
- const d = s[e.stack] || { size: 0, count: 1 };
- (d.size = Math.max(d.size, e.horizontal ? o.height : o.width)),
- (e.size = d.size / d.count),
- (i[n] += e.size);
- }
- o.getPadding && qn(r, o.getPadding());
- const a = Math.max(0, t.outerWidth - Ts(r, i, "left", "right")),
- l = Math.max(0, t.outerHeight - Ts(r, i, "top", "bottom")),
- c = a !== i.w,
- h = l !== i.h;
- return (
- (i.w = a),
- (i.h = l),
- e.horizontal ? { same: c, other: h } : { same: h, other: c }
- );
-}
-function Ga(i) {
- const t = i.maxPadding;
- function e(s) {
- const n = Math.max(t[s] - i[s], 0);
- return (i[s] += n), n;
- }
- (i.y += e("top")), (i.x += e("left")), e("right"), e("bottom");
-}
-function Za(i, t) {
- const e = t.maxPadding;
- function s(n) {
- const o = { left: 0, top: 0, right: 0, bottom: 0 };
- return (
- n.forEach((r) => {
- o[r] = Math.max(t[r], e[r]);
- }),
- o
- );
- }
- return s(i ? ["left", "right"] : ["top", "bottom"]);
-}
-function le(i, t, e, s) {
- const n = [];
- let o, r, a, l, c, h;
- for (o = 0, r = i.length, c = 0; o < r; ++o) {
- (a = i[o]),
- (l = a.box),
- l.update(a.width || t.w, a.height || t.h, Za(a.horizontal, t));
- const { same: d, other: f } = qa(t, e, a, s);
- (c |= d && n.length), (h = h || f), l.fullSize || n.push(a);
- }
- return (c && le(n, t, e, s)) || h;
-}
-function Re(i, t, e, s, n) {
- (i.top = e),
- (i.left = t),
- (i.right = t + s),
- (i.bottom = e + n),
- (i.width = s),
- (i.height = n);
-}
-function Ls(i, t, e, s) {
- const n = e.padding;
- let { x: o, y: r } = t;
- for (const a of i) {
- const l = a.box,
- c = s[a.stack] || { count: 1, placed: 0, weight: 1 },
- h = a.stackWeight / c.weight || 1;
- if (a.horizontal) {
- const d = t.w * h,
- f = c.size || l.height;
- Xe(c.start) && (r = c.start),
- l.fullSize
- ? Re(l, n.left, r, e.outerWidth - n.right - n.left, f)
- : Re(l, t.left + c.placed, r, d, f),
- (c.start = r),
- (c.placed += d),
- (r = l.bottom);
- } else {
- const d = t.h * h,
- f = c.size || l.width;
- Xe(c.start) && (o = c.start),
- l.fullSize
- ? Re(l, o, n.top, f, e.outerHeight - n.bottom - n.top)
- : Re(l, o, t.top + c.placed, f, d),
- (c.start = o),
- (c.placed += d),
- (o = l.right);
- }
- }
- (t.x = o), (t.y = r);
-}
-var nt = {
- addBox(i, t) {
- i.boxes || (i.boxes = []),
- (t.fullSize = t.fullSize || !1),
- (t.position = t.position || "top"),
- (t.weight = t.weight || 0),
- (t._layers =
- t._layers ||
- function () {
- return [
- {
- z: 0,
- draw(e) {
- t.draw(e);
- },
- },
- ];
- }),
- i.boxes.push(t);
- },
- removeBox(i, t) {
- const e = i.boxes ? i.boxes.indexOf(t) : -1;
- e !== -1 && i.boxes.splice(e, 1);
- },
- configure(i, t, e) {
- (t.fullSize = e.fullSize),
- (t.position = e.position),
- (t.weight = e.weight);
- },
- update(i, t, e, s) {
- if (!i) return;
- const n = G(i.options.layout.padding),
- o = Math.max(t - n.width, 0),
- r = Math.max(e - n.height, 0),
- a = Ka(i.boxes),
- l = a.vertical,
- c = a.horizontal;
- R(i.boxes, (g) => {
- typeof g.beforeLayout == "function" && g.beforeLayout();
- });
- const h =
- l.reduce(
- (g, m) =>
- m.box.options && m.box.options.display === !1
- ? g
- : g + 1,
- 0
- ) || 1,
- d = Object.freeze({
- outerWidth: t,
- outerHeight: e,
- padding: n,
- availableWidth: o,
- availableHeight: r,
- vBoxMaxWidth: o / 2 / h,
- hBoxMaxHeight: r / 2,
- }),
- f = Object.assign({}, n);
- qn(f, G(s));
- const u = Object.assign(
- { maxPadding: f, w: o, h: r, x: n.left, y: n.top },
- n
- ),
- p = Xa(l.concat(c), d);
- le(a.fullSize, u, d, p),
- le(l, u, d, p),
- le(c, u, d, p) && le(l, u, d, p),
- Ga(u),
- Ls(a.leftAndTop, u, d, p),
- (u.x += u.w),
- (u.y += u.h),
- Ls(a.rightAndBottom, u, d, p),
- (i.chartArea = {
- left: u.left,
- top: u.top,
- right: u.left + u.w,
- bottom: u.top + u.h,
- height: u.h,
- width: u.w,
- }),
- R(a.chartArea, (g) => {
- const m = g.box;
- Object.assign(m, i.chartArea),
- m.update(u.w, u.h, {
- left: 0,
- top: 0,
- right: 0,
- bottom: 0,
- });
- });
- },
-};
-class Gn {
- acquireContext(t, e) {}
- releaseContext(t) {
- return !1;
- }
- addEventListener(t, e, s) {}
- removeEventListener(t, e, s) {}
- getDevicePixelRatio() {
- return 1;
- }
- getMaximumSize(t, e, s, n) {
- return (
- (e = Math.max(0, e || t.width)),
- (s = s || t.height),
- { width: e, height: Math.max(0, n ? Math.floor(e / n) : s) }
- );
- }
- isAttached(t) {
- return !0;
- }
- updateConfig(t) {}
-}
-class Ja extends Gn {
- acquireContext(t) {
- return (t && t.getContext && t.getContext("2d")) || null;
- }
- updateConfig(t) {
- t.options.animation = !1;
- }
-}
-const Ve = "$chartjs",
- Qa = {
- touchstart: "mousedown",
- touchmove: "mousemove",
- touchend: "mouseup",
- pointerenter: "mouseenter",
- pointerdown: "mousedown",
- pointermove: "mousemove",
- pointerup: "mouseup",
- pointerleave: "mouseout",
- pointerout: "mouseout",
- },
- Rs = (i) => i === null || i === "";
-function tl(i, t) {
- const e = i.style,
- s = i.getAttribute("height"),
- n = i.getAttribute("width");
- if (
- ((i[Ve] = {
- initial: {
- height: s,
- width: n,
- style: { display: e.display, height: e.height, width: e.width },
- },
- }),
- (e.display = e.display || "block"),
- (e.boxSizing = e.boxSizing || "border-box"),
- Rs(n))
- ) {
- const o = _s(i, "width");
- o !== void 0 && (i.width = o);
- }
- if (Rs(s))
- if (i.style.height === "") i.height = i.width / (t || 2);
- else {
- const o = _s(i, "height");
- o !== void 0 && (i.height = o);
- }
- return i;
-}
-const Zn = ua ? { passive: !0 } : !1;
-function el(i, t, e) {
- i.addEventListener(t, e, Zn);
-}
-function il(i, t, e) {
- i.canvas.removeEventListener(t, e, Zn);
-}
-function sl(i, t) {
- const e = Qa[i.type] || i.type,
- { x: s, y: n } = At(i, t);
- return {
- type: e,
- chart: t,
- native: i,
- x: s !== void 0 ? s : null,
- y: n !== void 0 ? n : null,
- };
-}
-function Je(i, t) {
- for (const e of i) if (e === t || e.contains(t)) return !0;
-}
-function nl(i, t, e) {
- const s = i.canvas,
- n = new MutationObserver((o) => {
- let r = !1;
- for (const a of o)
- (r = r || Je(a.addedNodes, s)),
- (r = r && !Je(a.removedNodes, s));
- r && e();
- });
- return n.observe(document, { childList: !0, subtree: !0 }), n;
-}
-function ol(i, t, e) {
- const s = i.canvas,
- n = new MutationObserver((o) => {
- let r = !1;
- for (const a of o)
- (r = r || Je(a.removedNodes, s)),
- (r = r && !Je(a.addedNodes, s));
- r && e();
- });
- return n.observe(document, { childList: !0, subtree: !0 }), n;
-}
-const ye = new Map();
-let Fs = 0;
-function Jn() {
- const i = window.devicePixelRatio;
- i !== Fs &&
- ((Fs = i),
- ye.forEach((t, e) => {
- e.currentDevicePixelRatio !== i && t();
- }));
-}
-function rl(i, t) {
- ye.size || window.addEventListener("resize", Jn), ye.set(i, t);
-}
-function al(i) {
- ye.delete(i), ye.size || window.removeEventListener("resize", Jn);
-}
-function ll(i, t, e) {
- const s = i.canvas,
- n = s && Ki(s);
- if (!n) return;
- const o = Rn((a, l) => {
- const c = n.clientWidth;
- e(a, l), c < n.clientWidth && e();
- }, window),
- r = new ResizeObserver((a) => {
- const l = a[0],
- c = l.contentRect.width,
- h = l.contentRect.height;
- (c === 0 && h === 0) || o(c, h);
- });
- return r.observe(n), rl(i, o), r;
-}
-function bi(i, t, e) {
- e && e.disconnect(), t === "resize" && al(i);
-}
-function cl(i, t, e) {
- const s = i.canvas,
- n = Rn((o) => {
- i.ctx !== null && e(sl(o, i));
- }, i);
- return el(s, t, n), n;
-}
-class hl extends Gn {
- acquireContext(t, e) {
- const s = t && t.getContext && t.getContext("2d");
- return s && s.canvas === t ? (tl(t, e), s) : null;
- }
- releaseContext(t) {
- const e = t.canvas;
- if (!e[Ve]) return !1;
- const s = e[Ve].initial;
- ["height", "width"].forEach((o) => {
- const r = s[o];
- E(r) ? e.removeAttribute(o) : e.setAttribute(o, r);
- });
- const n = s.style || {};
- return (
- Object.keys(n).forEach((o) => {
- e.style[o] = n[o];
- }),
- (e.width = e.width),
- delete e[Ve],
- !0
- );
- }
- addEventListener(t, e, s) {
- this.removeEventListener(t, e);
- const n = t.$proxies || (t.$proxies = {}),
- r = { attach: nl, detach: ol, resize: ll }[e] || cl;
- n[e] = r(t, e, s);
- }
- removeEventListener(t, e) {
- const s = t.$proxies || (t.$proxies = {}),
- n = s[e];
- if (!n) return;
- (({ attach: bi, detach: bi, resize: bi }[e] || il)(t, e, n),
- (s[e] = void 0));
- }
- getDevicePixelRatio() {
- return window.devicePixelRatio;
- }
- getMaximumSize(t, e, s, n) {
- return fa(t, e, s, n);
- }
- isAttached(t) {
- const e = Ki(t);
- return !!(e && e.isConnected);
- }
-}
-function dl(i) {
- return !Xi() ||
- (typeof OffscreenCanvas != "undefined" && i instanceof OffscreenCanvas)
- ? Ja
- : hl;
-}
-class ht {
- constructor() {
- w(this, "x");
- w(this, "y");
- w(this, "active", !1);
- w(this, "options");
- w(this, "$animations");
- }
- tooltipPosition(t) {
- const { x: e, y: s } = this.getProps(["x", "y"], t);
- return { x: e, y: s };
- }
- hasValue() {
- return _e(this.x) && _e(this.y);
- }
- getProps(t, e) {
- const s = this.$animations;
- if (!e || !s) return this;
- const n = {};
- return (
- t.forEach((o) => {
- n[o] = s[o] && s[o].active() ? s[o]._to : this[o];
- }),
- n
- );
- }
-}
-w(ht, "defaults", {}), w(ht, "defaultRoutes");
-function fl(i, t) {
- const e = i.options.ticks,
- s = ul(i),
- n = Math.min(e.maxTicksLimit || s, s),
- o = e.major.enabled ? pl(t) : [],
- r = o.length,
- a = o[0],
- l = o[r - 1],
- c = [];
- if (r > n) return ml(t, c, o, r / n), c;
- const h = gl(o, t, n);
- if (r > 0) {
- let d, f;
- const u = r > 1 ? Math.round((l - a) / (r - 1)) : null;
- for (Fe(t, c, h, E(u) ? 0 : a - u, a), d = 0, f = r - 1; d < f; d++)
- Fe(t, c, h, o[d], o[d + 1]);
- return Fe(t, c, h, l, E(u) ? t.length : l + u), c;
- }
- return Fe(t, c, h), c;
-}
-function ul(i) {
- const t = i.options.offset,
- e = i._tickSize(),
- s = i._length / e + (t ? 0 : 1),
- n = i._maxLength / e;
- return Math.floor(Math.min(s, n));
-}
-function gl(i, t, e) {
- const s = bl(i),
- n = t.length / e;
- if (!s) return Math.max(n, 1);
- const o = fr(s);
- for (let r = 0, a = o.length - 1; r < a; r++) {
- const l = o[r];
- if (l > n) return l;
- }
- return Math.max(n, 1);
-}
-function pl(i) {
- const t = [];
- let e, s;
- for (e = 0, s = i.length; e < s; e++) i[e].major && t.push(e);
- return t;
-}
-function ml(i, t, e, s) {
- let n = 0,
- o = e[0],
- r;
- for (s = Math.ceil(s), r = 0; r < i.length; r++)
- r === o && (t.push(i[r]), n++, (o = e[n * s]));
-}
-function Fe(i, t, e, s, n) {
- const o = D(s, 0),
- r = Math.min(D(n, i.length), i.length);
- let a = 0,
- l,
- c,
- h;
- for (
- e = Math.ceil(e),
- n && ((l = n - s), (e = l / Math.floor(l / e))),
- h = o;
- h < 0;
-
- )
- a++, (h = Math.round(o + a * e));
- for (c = Math.max(o, 0); c < r; c++)
- c === h && (t.push(i[c]), a++, (h = Math.round(o + a * e)));
-}
-function bl(i) {
- const t = i.length;
- let e, s;
- if (t < 2) return !1;
- for (s = i[0], e = 1; e < t; ++e) if (i[e] - i[e - 1] !== s) return !1;
- return s;
-}
-const _l = (i) => (i === "left" ? "right" : i === "right" ? "left" : i),
- Is = (i, t, e) => (t === "top" || t === "left" ? i[t] + e : i[t] - e),
- Es = (i, t) => Math.min(t || i, i);
-function zs(i, t) {
- const e = [],
- s = i.length / t,
- n = i.length;
- let o = 0;
- for (; o < n; o += s) e.push(i[Math.floor(o)]);
- return e;
-}
-function xl(i, t, e) {
- const s = i.ticks.length,
- n = Math.min(t, s - 1),
- o = i._startPixel,
- r = i._endPixel,
- a = 1e-6;
- let l = i.getPixelForTick(n),
- c;
- if (
- !(
- e &&
- (s === 1
- ? (c = Math.max(l - o, r - l))
- : t === 0
- ? (c = (i.getPixelForTick(1) - l) / 2)
- : (c = (l - i.getPixelForTick(n - 1)) / 2),
- (l += n < t ? c : -c),
- l < o - a || l > r + a)
- )
- )
- return l;
-}
-function yl(i, t) {
- R(i, (e) => {
- const s = e.gc,
- n = s.length / 2;
- let o;
- if (n > t) {
- for (o = 0; o < n; ++o) delete e.data[s[o]];
- s.splice(0, n);
- }
- });
-}
-function ne(i) {
- return i.drawTicks ? i.tickLength : 0;
-}
-function Bs(i, t) {
- if (!i.display) return 0;
- const e = U(i.font, t),
- s = G(i.padding);
- return (H(i.text) ? i.text.length : 1) * e.lineHeight + s.height;
-}
-function vl(i, t) {
- return kt(i, { scale: t, type: "scale" });
-}
-function kl(i, t, e) {
- return kt(i, { tick: e, index: t, type: "tick" });
-}
-function wl(i, t, e) {
- let s = Ni(i);
- return ((e && t !== "right") || (!e && t === "right")) && (s = _l(s)), s;
-}
-function Ml(i, t, e, s) {
- const { top: n, left: o, bottom: r, right: a, chart: l } = i,
- { chartArea: c, scales: h } = l;
- let d = 0,
- f,
- u,
- p;
- const g = r - n,
- m = a - o;
- if (i.isHorizontal()) {
- if (((u = q(s, o, a)), A(e))) {
- const b = Object.keys(e)[0],
- _ = e[b];
- p = h[b].getPixelForValue(_) + g - t;
- } else
- e === "center"
- ? (p = (c.bottom + c.top) / 2 + g - t)
- : (p = Is(i, e, t));
- f = a - o;
- } else {
- if (A(e)) {
- const b = Object.keys(e)[0],
- _ = e[b];
- u = h[b].getPixelForValue(_) - m + t;
- } else
- e === "center"
- ? (u = (c.left + c.right) / 2 - m + t)
- : (u = Is(i, e, t));
- (p = q(s, r, n)), (d = e === "left" ? -Y : Y);
- }
- return { titleX: u, titleY: p, maxWidth: f, rotation: d };
-}
-class zt extends ht {
- constructor(t) {
- super(),
- (this.id = t.id),
- (this.type = t.type),
- (this.options = void 0),
- (this.ctx = t.ctx),
- (this.chart = t.chart),
- (this.top = void 0),
- (this.bottom = void 0),
- (this.left = void 0),
- (this.right = void 0),
- (this.width = void 0),
- (this.height = void 0),
- (this._margins = { left: 0, right: 0, top: 0, bottom: 0 }),
- (this.maxWidth = void 0),
- (this.maxHeight = void 0),
- (this.paddingTop = void 0),
- (this.paddingBottom = void 0),
- (this.paddingLeft = void 0),
- (this.paddingRight = void 0),
- (this.axis = void 0),
- (this.labelRotation = void 0),
- (this.min = void 0),
- (this.max = void 0),
- (this._range = void 0),
- (this.ticks = []),
- (this._gridLineItems = null),
- (this._labelItems = null),
- (this._labelSizes = null),
- (this._length = 0),
- (this._maxLength = 0),
- (this._longestTextCache = {}),
- (this._startPixel = void 0),
- (this._endPixel = void 0),
- (this._reversePixels = !1),
- (this._userMax = void 0),
- (this._userMin = void 0),
- (this._suggestedMax = void 0),
- (this._suggestedMin = void 0),
- (this._ticksLength = 0),
- (this._borderValue = 0),
- (this._cache = {}),
- (this._dataLimitsCached = !1),
- (this.$context = void 0);
- }
- init(t) {
- (this.options = t.setContext(this.getContext())),
- (this.axis = t.axis),
- (this._userMin = this.parse(t.min)),
- (this._userMax = this.parse(t.max)),
- (this._suggestedMin = this.parse(t.suggestedMin)),
- (this._suggestedMax = this.parse(t.suggestedMax));
- }
- parse(t, e) {
- return t;
- }
- getUserBounds() {
- let {
- _userMin: t,
- _userMax: e,
- _suggestedMin: s,
- _suggestedMax: n,
- } = this;
- return (
- (t = et(t, Number.POSITIVE_INFINITY)),
- (e = et(e, Number.NEGATIVE_INFINITY)),
- (s = et(s, Number.POSITIVE_INFINITY)),
- (n = et(n, Number.NEGATIVE_INFINITY)),
- { min: et(t, s), max: et(e, n), minDefined: V(t), maxDefined: V(e) }
- );
- }
- getMinMax(t) {
- let {
- min: e,
- max: s,
- minDefined: n,
- maxDefined: o,
- } = this.getUserBounds(),
- r;
- if (n && o) return { min: e, max: s };
- const a = this.getMatchingVisibleMetas();
- for (let l = 0, c = a.length; l < c; ++l)
- (r = a[l].controller.getMinMax(this, t)),
- n || (e = Math.min(e, r.min)),
- o || (s = Math.max(s, r.max));
- return (
- (e = o && e > s ? s : e),
- (s = n && e > s ? e : s),
- { min: et(e, et(s, e)), max: et(s, et(e, s)) }
- );
- }
- getPadding() {
- return {
- left: this.paddingLeft || 0,
- top: this.paddingTop || 0,
- right: this.paddingRight || 0,
- bottom: this.paddingBottom || 0,
- };
- }
- getTicks() {
- return this.ticks;
- }
- getLabels() {
- const t = this.chart.data;
- return (
- this.options.labels ||
- (this.isHorizontal() ? t.xLabels : t.yLabels) ||
- t.labels ||
- []
- );
- }
- getLabelItems(t = this.chart.chartArea) {
- return (
- this._labelItems || (this._labelItems = this._computeLabelItems(t))
- );
- }
- beforeLayout() {
- (this._cache = {}), (this._dataLimitsCached = !1);
- }
- beforeUpdate() {
- I(this.options.beforeUpdate, [this]);
- }
- update(t, e, s) {
- const { beginAtZero: n, grace: o, ticks: r } = this.options,
- a = r.sampleSize;
- this.beforeUpdate(),
- (this.maxWidth = t),
- (this.maxHeight = e),
- (this._margins = s =
- Object.assign({ left: 0, right: 0, top: 0, bottom: 0 }, s)),
- (this.ticks = null),
- (this._labelSizes = null),
- (this._gridLineItems = null),
- (this._labelItems = null),
- this.beforeSetDimensions(),
- this.setDimensions(),
- this.afterSetDimensions(),
- (this._maxLength = this.isHorizontal()
- ? this.width + s.left + s.right
- : this.height + s.top + s.bottom),
- this._dataLimitsCached ||
- (this.beforeDataLimits(),
- this.determineDataLimits(),
- this.afterDataLimits(),
- (this._range = $r(this, o, n)),
- (this._dataLimitsCached = !0)),
- this.beforeBuildTicks(),
- (this.ticks = this.buildTicks() || []),
- this.afterBuildTicks();
- const l = a < this.ticks.length;
- this._convertTicksToLabels(l ? zs(this.ticks, a) : this.ticks),
- this.configure(),
- this.beforeCalculateLabelRotation(),
- this.calculateLabelRotation(),
- this.afterCalculateLabelRotation(),
- r.display &&
- (r.autoSkip || r.source === "auto") &&
- ((this.ticks = fl(this, this.ticks)),
- (this._labelSizes = null),
- this.afterAutoSkip()),
- l && this._convertTicksToLabels(this.ticks),
- this.beforeFit(),
- this.fit(),
- this.afterFit(),
- this.afterUpdate();
- }
- configure() {
- let t = this.options.reverse,
- e,
- s;
- this.isHorizontal()
- ? ((e = this.left), (s = this.right))
- : ((e = this.top), (s = this.bottom), (t = !t)),
- (this._startPixel = e),
- (this._endPixel = s),
- (this._reversePixels = t),
- (this._length = s - e),
- (this._alignToPixels = this.options.alignToPixels);
- }
- afterUpdate() {
- I(this.options.afterUpdate, [this]);
- }
- beforeSetDimensions() {
- I(this.options.beforeSetDimensions, [this]);
- }
- setDimensions() {
- this.isHorizontal()
- ? ((this.width = this.maxWidth),
- (this.left = 0),
- (this.right = this.width))
- : ((this.height = this.maxHeight),
- (this.top = 0),
- (this.bottom = this.height)),
- (this.paddingLeft = 0),
- (this.paddingTop = 0),
- (this.paddingRight = 0),
- (this.paddingBottom = 0);
- }
- afterSetDimensions() {
- I(this.options.afterSetDimensions, [this]);
- }
- _callHooks(t) {
- this.chart.notifyPlugins(t, this.getContext()),
- I(this.options[t], [this]);
- }
- beforeDataLimits() {
- this._callHooks("beforeDataLimits");
- }
- determineDataLimits() {}
- afterDataLimits() {
- this._callHooks("afterDataLimits");
- }
- beforeBuildTicks() {
- this._callHooks("beforeBuildTicks");
- }
- buildTicks() {
- return [];
- }
- afterBuildTicks() {
- this._callHooks("afterBuildTicks");
- }
- beforeTickToLabelConversion() {
- I(this.options.beforeTickToLabelConversion, [this]);
- }
- generateTickLabels(t) {
- const e = this.options.ticks;
- let s, n, o;
- for (s = 0, n = t.length; s < n; s++)
- (o = t[s]), (o.label = I(e.callback, [o.value, s, t], this));
- }
- afterTickToLabelConversion() {
- I(this.options.afterTickToLabelConversion, [this]);
- }
- beforeCalculateLabelRotation() {
- I(this.options.beforeCalculateLabelRotation, [this]);
- }
- calculateLabelRotation() {
- const t = this.options,
- e = t.ticks,
- s = Es(this.ticks.length, t.ticks.maxTicksLimit),
- n = e.minRotation || 0,
- o = e.maxRotation;
- let r = n,
- a,
- l,
- c;
- if (
- !this._isVisible() ||
- !e.display ||
- n >= o ||
- s <= 1 ||
- !this.isHorizontal()
- ) {
- this.labelRotation = n;
- return;
- }
- const h = this._getLabelSizes(),
- d = h.widest.width,
- f = h.highest.height,
- u = Z(this.chart.width - d, 0, this.maxWidth);
- (a = t.offset ? this.maxWidth / s : u / (s - 1)),
- d + 6 > a &&
- ((a = u / (s - (t.offset ? 0.5 : 1))),
- (l =
- this.maxHeight -
- ne(t.grid) -
- e.padding -
- Bs(t.title, this.chart.options.font)),
- (c = Math.sqrt(d * d + f * f)),
- (r = Wi(
- Math.min(
- Math.asin(Z((h.highest.height + 6) / a, -1, 1)),
- Math.asin(Z(l / c, -1, 1)) - Math.asin(Z(f / c, -1, 1))
- )
- )),
- (r = Math.max(n, Math.min(o, r)))),
- (this.labelRotation = r);
- }
- afterCalculateLabelRotation() {
- I(this.options.afterCalculateLabelRotation, [this]);
- }
- afterAutoSkip() {}
- beforeFit() {
- I(this.options.beforeFit, [this]);
- }
- fit() {
- const t = { width: 0, height: 0 },
- {
- chart: e,
- options: { ticks: s, title: n, grid: o },
- } = this,
- r = this._isVisible(),
- a = this.isHorizontal();
- if (r) {
- const l = Bs(n, e.options.font);
- if (
- (a
- ? ((t.width = this.maxWidth), (t.height = ne(o) + l))
- : ((t.height = this.maxHeight), (t.width = ne(o) + l)),
- s.display && this.ticks.length)
- ) {
- const {
- first: c,
- last: h,
- widest: d,
- highest: f,
- } = this._getLabelSizes(),
- u = s.padding * 2,
- p = ct(this.labelRotation),
- g = Math.cos(p),
- m = Math.sin(p);
- if (a) {
- const b = s.mirror ? 0 : m * d.width + g * f.height;
- t.height = Math.min(this.maxHeight, t.height + b + u);
- } else {
- const b = s.mirror ? 0 : g * d.width + m * f.height;
- t.width = Math.min(this.maxWidth, t.width + b + u);
- }
- this._calculatePadding(c, h, m, g);
- }
- }
- this._handleMargins(),
- a
- ? ((this.width = this._length =
- e.width - this._margins.left - this._margins.right),
- (this.height = t.height))
- : ((this.width = t.width),
- (this.height = this._length =
- e.height - this._margins.top - this._margins.bottom));
- }
- _calculatePadding(t, e, s, n) {
- const {
- ticks: { align: o, padding: r },
- position: a,
- } = this.options,
- l = this.labelRotation !== 0,
- c = a !== "top" && this.axis === "x";
- if (this.isHorizontal()) {
- const h = this.getPixelForTick(0) - this.left,
- d = this.right - this.getPixelForTick(this.ticks.length - 1);
- let f = 0,
- u = 0;
- l
- ? c
- ? ((f = n * t.width), (u = s * e.height))
- : ((f = s * t.height), (u = n * e.width))
- : o === "start"
- ? (u = e.width)
- : o === "end"
- ? (f = t.width)
- : o !== "inner" && ((f = t.width / 2), (u = e.width / 2)),
- (this.paddingLeft = Math.max(
- ((f - h + r) * this.width) / (this.width - h),
- 0
- )),
- (this.paddingRight = Math.max(
- ((u - d + r) * this.width) / (this.width - d),
- 0
- ));
- } else {
- let h = e.height / 2,
- d = t.height / 2;
- o === "start"
- ? ((h = 0), (d = t.height))
- : o === "end" && ((h = e.height), (d = 0)),
- (this.paddingTop = h + r),
- (this.paddingBottom = d + r);
- }
- }
- _handleMargins() {
- this._margins &&
- ((this._margins.left = Math.max(
- this.paddingLeft,
- this._margins.left
- )),
- (this._margins.top = Math.max(this.paddingTop, this._margins.top)),
- (this._margins.right = Math.max(
- this.paddingRight,
- this._margins.right
- )),
- (this._margins.bottom = Math.max(
- this.paddingBottom,
- this._margins.bottom
- )));
- }
- afterFit() {
- I(this.options.afterFit, [this]);
- }
- isHorizontal() {
- const { axis: t, position: e } = this.options;
- return e === "top" || e === "bottom" || t === "x";
- }
- isFullSize() {
- return this.options.fullSize;
- }
- _convertTicksToLabels(t) {
- this.beforeTickToLabelConversion(), this.generateTickLabels(t);
- let e, s;
- for (e = 0, s = t.length; e < s; e++)
- E(t[e].label) && (t.splice(e, 1), s--, e--);
- this.afterTickToLabelConversion();
- }
- _getLabelSizes() {
- let t = this._labelSizes;
- if (!t) {
- const e = this.options.ticks.sampleSize;
- let s = this.ticks;
- e < s.length && (s = zs(s, e)),
- (this._labelSizes = t =
- this._computeLabelSizes(
- s,
- s.length,
- this.options.ticks.maxTicksLimit
- ));
- }
- return t;
- }
- _computeLabelSizes(t, e, s) {
- const { ctx: n, _longestTextCache: o } = this,
- r = [],
- a = [],
- l = Math.floor(e / Es(e, s));
- let c = 0,
- h = 0,
- d,
- f,
- u,
- p,
- g,
- m,
- b,
- _,
- y,
- v,
- x;
- for (d = 0; d < e; d += l) {
- if (
- ((p = t[d].label),
- (g = this._resolveTickFontOptions(d)),
- (n.font = m = g.string),
- (b = o[m] = o[m] || { data: {}, gc: [] }),
- (_ = g.lineHeight),
- (y = v = 0),
- !E(p) && !H(p))
- )
- (y = qe(n, b.data, b.gc, y, p)), (v = _);
- else if (H(p))
- for (f = 0, u = p.length; f < u; ++f)
- (x = p[f]),
- !E(x) &&
- !H(x) &&
- ((y = qe(n, b.data, b.gc, y, x)), (v += _));
- r.push(y), a.push(v), (c = Math.max(y, c)), (h = Math.max(v, h));
- }
- yl(o, e);
- const M = r.indexOf(c),
- S = a.indexOf(h),
- k = (C) => ({ width: r[C] || 0, height: a[C] || 0 });
- return {
- first: k(0),
- last: k(e - 1),
- widest: k(M),
- highest: k(S),
- widths: r,
- heights: a,
- };
- }
- getLabelForValue(t) {
- return t;
- }
- getPixelForValue(t, e) {
- return NaN;
- }
- getValueForPixel(t) {}
- getPixelForTick(t) {
- const e = this.ticks;
- return t < 0 || t > e.length - 1
- ? null
- : this.getPixelForValue(e[t].value);
- }
- getPixelForDecimal(t) {
- this._reversePixels && (t = 1 - t);
- const e = this._startPixel + t * this._length;
- return pr(this._alignToPixels ? Pt(this.chart, e, 0) : e);
- }
- getDecimalForPixel(t) {
- const e = (t - this._startPixel) / this._length;
- return this._reversePixels ? 1 - e : e;
- }
- getBasePixel() {
- return this.getPixelForValue(this.getBaseValue());
- }
- getBaseValue() {
- const { min: t, max: e } = this;
- return t < 0 && e < 0 ? e : t > 0 && e > 0 ? t : 0;
- }
- getContext(t) {
- const e = this.ticks || [];
- if (t >= 0 && t < e.length) {
- const s = e[t];
- return s.$context || (s.$context = kl(this.getContext(), t, s));
- }
- return (
- this.$context || (this.$context = vl(this.chart.getContext(), this))
- );
- }
- _tickSize() {
- const t = this.options.ticks,
- e = ct(this.labelRotation),
- s = Math.abs(Math.cos(e)),
- n = Math.abs(Math.sin(e)),
- o = this._getLabelSizes(),
- r = t.autoSkipPadding || 0,
- a = o ? o.widest.width + r : 0,
- l = o ? o.highest.height + r : 0;
- return this.isHorizontal()
- ? l * s > a * n
- ? a / s
- : l / n
- : l * n < a * s
- ? l / s
- : a / n;
- }
- _isVisible() {
- const t = this.options.display;
- return t !== "auto" ? !!t : this.getMatchingVisibleMetas().length > 0;
- }
- _computeGridLineItems(t) {
- const e = this.axis,
- s = this.chart,
- n = this.options,
- { grid: o, position: r, border: a } = n,
- l = o.offset,
- c = this.isHorizontal(),
- d = this.ticks.length + (l ? 1 : 0),
- f = ne(o),
- u = [],
- p = a.setContext(this.getContext()),
- g = p.display ? p.width : 0,
- m = g / 2,
- b = function (B) {
- return Pt(s, B, g);
- };
- let _, y, v, x, M, S, k, C, O, P, T, X;
- if (r === "top")
- (_ = b(this.bottom)),
- (S = this.bottom - f),
- (C = _ - m),
- (P = b(t.top) + m),
- (X = t.bottom);
- else if (r === "bottom")
- (_ = b(this.top)),
- (P = t.top),
- (X = b(t.bottom) - m),
- (S = _ + m),
- (C = this.top + f);
- else if (r === "left")
- (_ = b(this.right)),
- (M = this.right - f),
- (k = _ - m),
- (O = b(t.left) + m),
- (T = t.right);
- else if (r === "right")
- (_ = b(this.left)),
- (O = t.left),
- (T = b(t.right) - m),
- (M = _ + m),
- (k = this.left + f);
- else if (e === "x") {
- if (r === "center") _ = b((t.top + t.bottom) / 2 + 0.5);
- else if (A(r)) {
- const B = Object.keys(r)[0],
- $ = r[B];
- _ = b(this.chart.scales[B].getPixelForValue($));
- }
- (P = t.top), (X = t.bottom), (S = _ + m), (C = S + f);
- } else if (e === "y") {
- if (r === "center") _ = b((t.left + t.right) / 2);
- else if (A(r)) {
- const B = Object.keys(r)[0],
- $ = r[B];
- _ = b(this.chart.scales[B].getPixelForValue($));
- }
- (M = _ - m), (k = M - f), (O = t.left), (T = t.right);
- }
- const tt = D(n.ticks.maxTicksLimit, d),
- F = Math.max(1, Math.ceil(d / tt));
- for (y = 0; y < d; y += F) {
- const B = this.getContext(y),
- $ = o.setContext(B),
- ot = a.setContext(B),
- K = $.lineWidth,
- Bt = $.color,
- Me = ot.dash || [],
- Wt = ot.dashOffset,
- Zt = $.tickWidth,
- wt = $.tickColor,
- Jt = $.tickBorderDash || [],
- Mt = $.tickBorderDashOffset;
- (v = xl(this, y, l)),
- v !== void 0 &&
- ((x = Pt(s, v, K)),
- c ? (M = k = O = T = x) : (S = C = P = X = x),
- u.push({
- tx1: M,
- ty1: S,
- tx2: k,
- ty2: C,
- x1: O,
- y1: P,
- x2: T,
- y2: X,
- width: K,
- color: Bt,
- borderDash: Me,
- borderDashOffset: Wt,
- tickWidth: Zt,
- tickColor: wt,
- tickBorderDash: Jt,
- tickBorderDashOffset: Mt,
- }));
- }
- return (this._ticksLength = d), (this._borderValue = _), u;
- }
- _computeLabelItems(t) {
- const e = this.axis,
- s = this.options,
- { position: n, ticks: o } = s,
- r = this.isHorizontal(),
- a = this.ticks,
- { align: l, crossAlign: c, padding: h, mirror: d } = o,
- f = ne(s.grid),
- u = f + h,
- p = d ? -h : u,
- g = -ct(this.labelRotation),
- m = [];
- let b,
- _,
- y,
- v,
- x,
- M,
- S,
- k,
- C,
- O,
- P,
- T,
- X = "middle";
- if (n === "top")
- (M = this.bottom - p), (S = this._getXAxisLabelAlignment());
- else if (n === "bottom")
- (M = this.top + p), (S = this._getXAxisLabelAlignment());
- else if (n === "left") {
- const F = this._getYAxisLabelAlignment(f);
- (S = F.textAlign), (x = F.x);
- } else if (n === "right") {
- const F = this._getYAxisLabelAlignment(f);
- (S = F.textAlign), (x = F.x);
- } else if (e === "x") {
- if (n === "center") M = (t.top + t.bottom) / 2 + u;
- else if (A(n)) {
- const F = Object.keys(n)[0],
- B = n[F];
- M = this.chart.scales[F].getPixelForValue(B) + u;
- }
- S = this._getXAxisLabelAlignment();
- } else if (e === "y") {
- if (n === "center") x = (t.left + t.right) / 2 - u;
- else if (A(n)) {
- const F = Object.keys(n)[0],
- B = n[F];
- x = this.chart.scales[F].getPixelForValue(B);
- }
- S = this._getYAxisLabelAlignment(f).textAlign;
- }
- e === "y" &&
- (l === "start" ? (X = "top") : l === "end" && (X = "bottom"));
- const tt = this._getLabelSizes();
- for (b = 0, _ = a.length; b < _; ++b) {
- (y = a[b]), (v = y.label);
- const F = o.setContext(this.getContext(b));
- (k = this.getPixelForTick(b) + o.labelOffset),
- (C = this._resolveTickFontOptions(b)),
- (O = C.lineHeight),
- (P = H(v) ? v.length : 1);
- const B = P / 2,
- $ = F.color,
- ot = F.textStrokeColor,
- K = F.textStrokeWidth;
- let Bt = S;
- r
- ? ((x = k),
- S === "inner" &&
- (b === _ - 1
- ? (Bt = this.options.reverse ? "left" : "right")
- : b === 0
- ? (Bt = this.options.reverse ? "right" : "left")
- : (Bt = "center")),
- n === "top"
- ? c === "near" || g !== 0
- ? (T = -P * O + O / 2)
- : c === "center"
- ? (T = -tt.highest.height / 2 - B * O + O)
- : (T = -tt.highest.height + O / 2)
- : c === "near" || g !== 0
- ? (T = O / 2)
- : c === "center"
- ? (T = tt.highest.height / 2 - B * O)
- : (T = tt.highest.height - P * O),
- d && (T *= -1),
- g !== 0 &&
- !F.showLabelBackdrop &&
- (x += (O / 2) * Math.sin(g)))
- : ((M = k), (T = ((1 - P) * O) / 2));
- let Me;
- if (F.showLabelBackdrop) {
- const Wt = G(F.backdropPadding),
- Zt = tt.heights[b],
- wt = tt.widths[b];
- let Jt = T - Wt.top,
- Mt = 0 - Wt.left;
- switch (X) {
- case "middle":
- Jt -= Zt / 2;
- break;
- case "bottom":
- Jt -= Zt;
- break;
- }
- switch (S) {
- case "center":
- Mt -= wt / 2;
- break;
- case "right":
- Mt -= wt;
- break;
- case "inner":
- b === _ - 1 ? (Mt -= wt) : b > 0 && (Mt -= wt / 2);
- break;
- }
- Me = {
- left: Mt,
- top: Jt,
- width: wt + Wt.width,
- height: Zt + Wt.height,
- color: F.backdropColor,
- };
- }
- m.push({
- label: v,
- font: C,
- textOffset: T,
- options: {
- rotation: g,
- color: $,
- strokeColor: ot,
- strokeWidth: K,
- textAlign: Bt,
- textBaseline: X,
- translation: [x, M],
- backdrop: Me,
- },
- });
- }
- return m;
- }
- _getXAxisLabelAlignment() {
- const { position: t, ticks: e } = this.options;
- if (-ct(this.labelRotation)) return t === "top" ? "left" : "right";
- let n = "center";
- return (
- e.align === "start"
- ? (n = "left")
- : e.align === "end"
- ? (n = "right")
- : e.align === "inner" && (n = "inner"),
- n
- );
- }
- _getYAxisLabelAlignment(t) {
- const {
- position: e,
- ticks: { crossAlign: s, mirror: n, padding: o },
- } = this.options,
- r = this._getLabelSizes(),
- a = t + o,
- l = r.widest.width;
- let c, h;
- return (
- e === "left"
- ? n
- ? ((h = this.right + o),
- s === "near"
- ? (c = "left")
- : s === "center"
- ? ((c = "center"), (h += l / 2))
- : ((c = "right"), (h += l)))
- : ((h = this.right - a),
- s === "near"
- ? (c = "right")
- : s === "center"
- ? ((c = "center"), (h -= l / 2))
- : ((c = "left"), (h = this.left)))
- : e === "right"
- ? n
- ? ((h = this.left + o),
- s === "near"
- ? (c = "right")
- : s === "center"
- ? ((c = "center"), (h -= l / 2))
- : ((c = "left"), (h -= l)))
- : ((h = this.left + a),
- s === "near"
- ? (c = "left")
- : s === "center"
- ? ((c = "center"), (h += l / 2))
- : ((c = "right"), (h = this.right)))
- : (c = "right"),
- { textAlign: c, x: h }
- );
- }
- _computeLabelArea() {
- if (this.options.ticks.mirror) return;
- const t = this.chart,
- e = this.options.position;
- if (e === "left" || e === "right")
- return {
- top: 0,
- left: this.left,
- bottom: t.height,
- right: this.right,
- };
- if (e === "top" || e === "bottom")
- return {
- top: this.top,
- left: 0,
- bottom: this.bottom,
- right: t.width,
- };
- }
- drawBackground() {
- const {
- ctx: t,
- options: { backgroundColor: e },
- left: s,
- top: n,
- width: o,
- height: r,
- } = this;
- e && (t.save(), (t.fillStyle = e), t.fillRect(s, n, o, r), t.restore());
- }
- getLineWidthForValue(t) {
- const e = this.options.grid;
- if (!this._isVisible() || !e.display) return 0;
- const n = this.ticks.findIndex((o) => o.value === t);
- return n >= 0 ? e.setContext(this.getContext(n)).lineWidth : 0;
- }
- drawGrid(t) {
- const e = this.options.grid,
- s = this.ctx,
- n =
- this._gridLineItems ||
- (this._gridLineItems = this._computeGridLineItems(t));
- let o, r;
- const a = (l, c, h) => {
- !h.width ||
- !h.color ||
- (s.save(),
- (s.lineWidth = h.width),
- (s.strokeStyle = h.color),
- s.setLineDash(h.borderDash || []),
- (s.lineDashOffset = h.borderDashOffset),
- s.beginPath(),
- s.moveTo(l.x, l.y),
- s.lineTo(c.x, c.y),
- s.stroke(),
- s.restore());
- };
- if (e.display)
- for (o = 0, r = n.length; o < r; ++o) {
- const l = n[o];
- e.drawOnChartArea &&
- a({ x: l.x1, y: l.y1 }, { x: l.x2, y: l.y2 }, l),
- e.drawTicks &&
- a(
- { x: l.tx1, y: l.ty1 },
- { x: l.tx2, y: l.ty2 },
- {
- color: l.tickColor,
- width: l.tickWidth,
- borderDash: l.tickBorderDash,
- borderDashOffset: l.tickBorderDashOffset,
- }
- );
- }
- }
- drawBorder() {
- const {
- chart: t,
- ctx: e,
- options: { border: s, grid: n },
- } = this,
- o = s.setContext(this.getContext()),
- r = s.display ? o.width : 0;
- if (!r) return;
- const a = n.setContext(this.getContext(0)).lineWidth,
- l = this._borderValue;
- let c, h, d, f;
- this.isHorizontal()
- ? ((c = Pt(t, this.left, r) - r / 2),
- (h = Pt(t, this.right, a) + a / 2),
- (d = f = l))
- : ((d = Pt(t, this.top, r) - r / 2),
- (f = Pt(t, this.bottom, a) + a / 2),
- (c = h = l)),
- e.save(),
- (e.lineWidth = o.width),
- (e.strokeStyle = o.color),
- e.beginPath(),
- e.moveTo(c, d),
- e.lineTo(h, f),
- e.stroke(),
- e.restore();
- }
- drawLabels(t) {
- if (!this.options.ticks.display) return;
- const s = this.ctx,
- n = this._computeLabelArea();
- n && ni(s, n);
- const o = this.getLabelItems(t);
- for (const r of o) {
- const a = r.options,
- l = r.font,
- c = r.label,
- h = r.textOffset;
- Et(s, c, 0, h, l, a);
- }
- n && oi(s);
- }
- drawTitle() {
- const {
- ctx: t,
- options: { position: e, title: s, reverse: n },
- } = this;
- if (!s.display) return;
- const o = U(s.font),
- r = G(s.padding),
- a = s.align;
- let l = o.lineHeight / 2;
- e === "bottom" || e === "center" || A(e)
- ? ((l += r.bottom),
- H(s.text) && (l += o.lineHeight * (s.text.length - 1)))
- : (l += r.top);
- const {
- titleX: c,
- titleY: h,
- maxWidth: d,
- rotation: f,
- } = Ml(this, l, e, a);
- Et(t, s.text, 0, 0, o, {
- color: s.color,
- maxWidth: d,
- rotation: f,
- textAlign: wl(a, e, n),
- textBaseline: "middle",
- translation: [c, h],
- });
- }
- draw(t) {
- this._isVisible() &&
- (this.drawBackground(),
- this.drawGrid(t),
- this.drawBorder(),
- this.drawTitle(),
- this.drawLabels(t));
- }
- _layers() {
- const t = this.options,
- e = (t.ticks && t.ticks.z) || 0,
- s = D(t.grid && t.grid.z, -1),
- n = D(t.border && t.border.z, 0);
- return !this._isVisible() || this.draw !== zt.prototype.draw
- ? [
- {
- z: e,
- draw: (o) => {
- this.draw(o);
- },
- },
- ]
- : [
- {
- z: s,
- draw: (o) => {
- this.drawBackground(),
- this.drawGrid(o),
- this.drawTitle();
- },
- },
- {
- z: n,
- draw: () => {
- this.drawBorder();
- },
- },
- {
- z: e,
- draw: (o) => {
- this.drawLabels(o);
- },
- },
- ];
- }
- getMatchingVisibleMetas(t) {
- const e = this.chart.getSortedVisibleDatasetMetas(),
- s = this.axis + "AxisID",
- n = [];
- let o, r;
- for (o = 0, r = e.length; o < r; ++o) {
- const a = e[o];
- a[s] === this.id && (!t || a.type === t) && n.push(a);
- }
- return n;
- }
- _resolveTickFontOptions(t) {
- const e = this.options.ticks.setContext(this.getContext(t));
- return U(e.font);
- }
- _maxDigits() {
- const t = this._resolveTickFontOptions(0).lineHeight;
- return (this.isHorizontal() ? this.width : this.height) / t;
- }
-}
-class Ie {
- constructor(t, e, s) {
- (this.type = t),
- (this.scope = e),
- (this.override = s),
- (this.items = Object.create(null));
- }
- isForType(t) {
- return Object.prototype.isPrototypeOf.call(
- this.type.prototype,
- t.prototype
- );
- }
- register(t) {
- const e = Object.getPrototypeOf(t);
- let s;
- Pl(e) && (s = this.register(e));
- const n = this.items,
- o = t.id,
- r = this.scope + "." + o;
- if (!o) throw new Error("class does not have id: " + t);
- return (
- o in n ||
- ((n[o] = t),
- Sl(t, r, s),
- this.override && j.override(t.id, t.overrides)),
- r
- );
- }
- get(t) {
- return this.items[t];
- }
- unregister(t) {
- const e = this.items,
- s = t.id,
- n = this.scope;
- s in e && delete e[s],
- n && s in j[n] && (delete j[n][s], this.override && delete It[s]);
- }
-}
-function Sl(i, t, e) {
- const s = me(Object.create(null), [
- e ? j.get(e) : {},
- j.get(t),
- i.defaults,
- ]);
- j.set(t, s),
- i.defaultRoutes && Cl(t, i.defaultRoutes),
- i.descriptors && j.describe(t, i.descriptors);
-}
-function Cl(i, t) {
- Object.keys(t).forEach((e) => {
- const s = e.split("."),
- n = s.pop(),
- o = [i].concat(s).join("."),
- r = t[e].split("."),
- a = r.pop(),
- l = r.join(".");
- j.route(o, n, l, a);
- });
-}
-function Pl(i) {
- return "id" in i && "defaults" in i;
-}
-class Dl {
- constructor() {
- (this.controllers = new Ie(Xt, "datasets", !0)),
- (this.elements = new Ie(ht, "elements")),
- (this.plugins = new Ie(Object, "plugins")),
- (this.scales = new Ie(zt, "scales")),
- (this._typedRegistries = [
- this.controllers,
- this.scales,
- this.elements,
- ]);
- }
- add(...t) {
- this._each("register", t);
- }
- remove(...t) {
- this._each("unregister", t);
- }
- addControllers(...t) {
- this._each("register", t, this.controllers);
- }
- addElements(...t) {
- this._each("register", t, this.elements);
- }
- addPlugins(...t) {
- this._each("register", t, this.plugins);
- }
- addScales(...t) {
- this._each("register", t, this.scales);
- }
- getController(t) {
- return this._get(t, this.controllers, "controller");
- }
- getElement(t) {
- return this._get(t, this.elements, "element");
- }
- getPlugin(t) {
- return this._get(t, this.plugins, "plugin");
- }
- getScale(t) {
- return this._get(t, this.scales, "scale");
- }
- removeControllers(...t) {
- this._each("unregister", t, this.controllers);
- }
- removeElements(...t) {
- this._each("unregister", t, this.elements);
- }
- removePlugins(...t) {
- this._each("unregister", t, this.plugins);
- }
- removeScales(...t) {
- this._each("unregister", t, this.scales);
- }
- _each(t, e, s) {
- [...e].forEach((n) => {
- const o = s || this._getRegistryForType(n);
- s || o.isForType(n) || (o === this.plugins && n.id)
- ? this._exec(t, o, n)
- : R(n, (r) => {
- const a = s || this._getRegistryForType(r);
- this._exec(t, a, r);
- });
- });
- }
- _exec(t, e, s) {
- const n = Bi(t);
- I(s["before" + n], [], s), e[t](s), I(s["after" + n], [], s);
- }
- _getRegistryForType(t) {
- for (let e = 0; e < this._typedRegistries.length; e++) {
- const s = this._typedRegistries[e];
- if (s.isForType(t)) return s;
- }
- return this.plugins;
- }
- _get(t, e, s) {
- const n = e.get(t);
- if (n === void 0)
- throw new Error('"' + t + '" is not a registered ' + s + ".");
- return n;
- }
-}
-var lt = new Dl();
-class Ol {
- constructor() {
- this._init = [];
- }
- notify(t, e, s, n) {
- e === "beforeInit" &&
- ((this._init = this._createDescriptors(t, !0)),
- this._notify(this._init, t, "install"));
- const o = n ? this._descriptors(t).filter(n) : this._descriptors(t),
- r = this._notify(o, t, e, s);
- return (
- e === "afterDestroy" &&
- (this._notify(o, t, "stop"),
- this._notify(this._init, t, "uninstall")),
- r
- );
- }
- _notify(t, e, s, n) {
- n = n || {};
- for (const o of t) {
- const r = o.plugin,
- a = r[s],
- l = [e, n, o.options];
- if (I(a, l, r) === !1 && n.cancelable) return !1;
- }
- return !0;
- }
- invalidate() {
- E(this._cache) ||
- ((this._oldCache = this._cache), (this._cache = void 0));
- }
- _descriptors(t) {
- if (this._cache) return this._cache;
- const e = (this._cache = this._createDescriptors(t));
- return this._notifyStateChanges(t), e;
- }
- _createDescriptors(t, e) {
- const s = t && t.config,
- n = D(s.options && s.options.plugins, {}),
- o = Al(s);
- return n === !1 && !e ? [] : Ll(t, o, n, e);
- }
- _notifyStateChanges(t) {
- const e = this._oldCache || [],
- s = this._cache,
- n = (o, r) =>
- o.filter((a) => !r.some((l) => a.plugin.id === l.plugin.id));
- this._notify(n(e, s), t, "stop"), this._notify(n(s, e), t, "start");
- }
-}
-function Al(i) {
- const t = {},
- e = [],
- s = Object.keys(lt.plugins.items);
- for (let o = 0; o < s.length; o++) e.push(lt.getPlugin(s[o]));
- const n = i.plugins || [];
- for (let o = 0; o < n.length; o++) {
- const r = n[o];
- e.indexOf(r) === -1 && (e.push(r), (t[r.id] = !0));
- }
- return { plugins: e, localIds: t };
-}
-function Tl(i, t) {
- return !t && i === !1 ? null : i === !0 ? {} : i;
-}
-function Ll(i, { plugins: t, localIds: e }, s, n) {
- const o = [],
- r = i.getContext();
- for (const a of t) {
- const l = a.id,
- c = Tl(s[l], n);
- c !== null &&
- o.push({
- plugin: a,
- options: Rl(i.config, { plugin: a, local: e[l] }, c, r),
- });
- }
- return o;
-}
-function Rl(i, { plugin: t, local: e }, s, n) {
- const o = i.pluginScopeKeys(t),
- r = i.getOptionScopes(s, o);
- return (
- e && t.defaults && r.push(t.defaults),
- i.createResolver(r, n, [""], {
- scriptable: !1,
- indexable: !1,
- allKeys: !0,
- })
- );
-}
-function Pi(i, t) {
- const e = j.datasets[i] || {};
- return (
- ((t.datasets || {})[i] || {}).indexAxis ||
- t.indexAxis ||
- e.indexAxis ||
- "x"
- );
-}
-function Fl(i, t) {
- let e = i;
- return (
- i === "_index_"
- ? (e = t)
- : i === "_value_" && (e = t === "x" ? "y" : "x"),
- e
- );
-}
-function Il(i, t) {
- return i === t ? "_index_" : "_value_";
-}
-function Ws(i) {
- if (i === "x" || i === "y" || i === "r") return i;
-}
-function El(i) {
- if (i === "top" || i === "bottom") return "x";
- if (i === "left" || i === "right") return "y";
-}
-function Di(i, ...t) {
- if (Ws(i)) return i;
- for (const e of t) {
- const s =
- e.axis ||
- El(e.position) ||
- (i.length > 1 && Ws(i[0].toLowerCase()));
- if (s) return s;
- }
- throw new Error(
- `Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`
- );
-}
-function Hs(i, t, e) {
- if (e[t + "AxisID"] === i) return { axis: t };
-}
-function zl(i, t) {
- if (t.data && t.data.datasets) {
- const e = t.data.datasets.filter(
- (s) => s.xAxisID === i || s.yAxisID === i
- );
- if (e.length) return Hs(i, "x", e[0]) || Hs(i, "y", e[0]);
- }
- return {};
-}
-function Bl(i, t) {
- const e = It[i.type] || { scales: {} },
- s = t.scales || {},
- n = Pi(i.type, t),
- o = Object.create(null);
- return (
- Object.keys(s).forEach((r) => {
- const a = s[r];
- if (!A(a))
- return console.error(
- `Invalid scale configuration for scale: ${r}`
- );
- if (a._proxy)
- return console.warn(
- `Ignoring resolver passed as options for scale: ${r}`
- );
- const l = Di(r, a, zl(r, i), j.scales[a.type]),
- c = Il(l, n),
- h = e.scales || {};
- o[r] = de(Object.create(null), [{ axis: l }, a, h[l], h[c]]);
- }),
- i.data.datasets.forEach((r) => {
- const a = r.type || i.type,
- l = r.indexAxis || Pi(a, t),
- h = (It[a] || {}).scales || {};
- Object.keys(h).forEach((d) => {
- const f = Fl(d, l),
- u = r[f + "AxisID"] || f;
- (o[u] = o[u] || Object.create(null)),
- de(o[u], [{ axis: f }, s[u], h[d]]);
- });
- }),
- Object.keys(o).forEach((r) => {
- const a = o[r];
- de(a, [j.scales[a.type], j.scale]);
- }),
- o
- );
-}
-function Qn(i) {
- const t = i.options || (i.options = {});
- (t.plugins = D(t.plugins, {})), (t.scales = Bl(i, t));
-}
-function to(i) {
- return (
- (i = i || {}),
- (i.datasets = i.datasets || []),
- (i.labels = i.labels || []),
- i
- );
-}
-function Wl(i) {
- return (i = i || {}), (i.data = to(i.data)), Qn(i), i;
-}
-const Ns = new Map(),
- eo = new Set();
-function Ee(i, t) {
- let e = Ns.get(i);
- return e || ((e = t()), Ns.set(i, e), eo.add(e)), e;
-}
-const oe = (i, t, e) => {
- const s = be(t, e);
- s !== void 0 && i.add(s);
-};
-class Hl {
- constructor(t) {
- (this._config = Wl(t)),
- (this._scopeCache = new Map()),
- (this._resolverCache = new Map());
- }
- get platform() {
- return this._config.platform;
- }
- get type() {
- return this._config.type;
- }
- set type(t) {
- this._config.type = t;
- }
- get data() {
- return this._config.data;
- }
- set data(t) {
- this._config.data = to(t);
- }
- get options() {
- return this._config.options;
- }
- set options(t) {
- this._config.options = t;
- }
- get plugins() {
- return this._config.plugins;
- }
- update() {
- const t = this._config;
- this.clearCache(), Qn(t);
- }
- clearCache() {
- this._scopeCache.clear(), this._resolverCache.clear();
- }
- datasetScopeKeys(t) {
- return Ee(t, () => [[`datasets.${t}`, ""]]);
- }
- datasetAnimationScopeKeys(t, e) {
- return Ee(`${t}.transition.${e}`, () => [
- [`datasets.${t}.transitions.${e}`, `transitions.${e}`],
- [`datasets.${t}`, ""],
- ]);
- }
- datasetElementScopeKeys(t, e) {
- return Ee(`${t}-${e}`, () => [
- [
- `datasets.${t}.elements.${e}`,
- `datasets.${t}`,
- `elements.${e}`,
- "",
- ],
- ]);
- }
- pluginScopeKeys(t) {
- const e = t.id,
- s = this.type;
- return Ee(`${s}-plugin-${e}`, () => [
- [`plugins.${e}`, ...(t.additionalOptionScopes || [])],
- ]);
- }
- _cachedScopes(t, e) {
- const s = this._scopeCache;
- let n = s.get(t);
- return (!n || e) && ((n = new Map()), s.set(t, n)), n;
- }
- getOptionScopes(t, e, s) {
- const { options: n, type: o } = this,
- r = this._cachedScopes(t, s),
- a = r.get(e);
- if (a) return a;
- const l = new Set();
- e.forEach((h) => {
- t && (l.add(t), h.forEach((d) => oe(l, t, d))),
- h.forEach((d) => oe(l, n, d)),
- h.forEach((d) => oe(l, It[o] || {}, d)),
- h.forEach((d) => oe(l, j, d)),
- h.forEach((d) => oe(l, Mi, d));
- });
- const c = Array.from(l);
- return (
- c.length === 0 && c.push(Object.create(null)),
- eo.has(e) && r.set(e, c),
- c
- );
- }
- chartOptionScopes() {
- const { options: t, type: e } = this;
- return [t, It[e] || {}, j.datasets[e] || {}, { type: e }, j, Mi];
- }
- resolveNamedOptions(t, e, s, n = [""]) {
- const o = { $shared: !0 },
- { resolver: r, subPrefixes: a } = Vs(this._resolverCache, t, n);
- let l = r;
- if (Vl(r, e)) {
- (o.$shared = !1), (s = vt(s) ? s() : s);
- const c = this.createResolver(t, s, a);
- l = qt(r, s, c);
- }
- for (const c of e) o[c] = l[c];
- return o;
- }
- createResolver(t, e, s = [""], n) {
- const { resolver: o } = Vs(this._resolverCache, t, s);
- return A(e) ? qt(o, e, void 0, n) : o;
- }
-}
-function Vs(i, t, e) {
- let s = i.get(t);
- s || ((s = new Map()), i.set(t, s));
- const n = e.join();
- let o = s.get(n);
- return (
- o ||
- ((o = {
- resolver: $i(t, e),
- subPrefixes: e.filter(
- (a) => !a.toLowerCase().includes("hover")
- ),
- }),
- s.set(n, o)),
- o
- );
-}
-const Nl = (i) => A(i) && Object.getOwnPropertyNames(i).some((t) => vt(i[t]));
-function Vl(i, t) {
- const { isScriptable: e, isIndexable: s } = En(i);
- for (const n of t) {
- const o = e(n),
- r = s(n),
- a = (r || o) && i[n];
- if ((o && (vt(a) || Nl(a))) || (r && H(a))) return !0;
- }
- return !1;
-}
-var jl = "4.4.1";
-const $l = ["top", "bottom", "left", "right", "chartArea"];
-function js(i, t) {
- return i === "top" || i === "bottom" || ($l.indexOf(i) === -1 && t === "x");
-}
-function $s(i, t) {
- return function (e, s) {
- return e[i] === s[i] ? e[t] - s[t] : e[i] - s[i];
- };
-}
-function Ys(i) {
- const t = i.chart,
- e = t.options.animation;
- t.notifyPlugins("afterRender"), I(e && e.onComplete, [i], t);
-}
-function Yl(i) {
- const t = i.chart,
- e = t.options.animation;
- I(e && e.onProgress, [i], t);
-}
-function io(i) {
- return (
- Xi() && typeof i == "string"
- ? (i = document.getElementById(i))
- : i && i.length && (i = i[0]),
- i && i.canvas && (i = i.canvas),
- i
- );
-}
-const je = {},
- Us = (i) => {
- const t = io(i);
- return Object.values(je)
- .filter((e) => e.canvas === t)
- .pop();
- };
-function Ul(i, t, e) {
- const s = Object.keys(i);
- for (const n of s) {
- const o = +n;
- if (o >= t) {
- const r = i[n];
- delete i[n], (e > 0 || o > t) && (i[o + e] = r);
- }
- }
-}
-function Xl(i, t, e, s) {
- return !e || i.type === "mouseout" ? null : s ? t : i;
-}
-function ze(i, t, e) {
- return i.options.clip ? i[e] : t[e];
-}
-function Kl(i, t) {
- const { xScale: e, yScale: s } = i;
- return e && s
- ? {
- left: ze(e, t, "left"),
- right: ze(e, t, "right"),
- top: ze(s, t, "top"),
- bottom: ze(s, t, "bottom"),
- }
- : t;
-}
-var mt;
-let ai =
- ((mt = class {
- static register(...t) {
- lt.add(...t), Xs();
- }
- static unregister(...t) {
- lt.remove(...t), Xs();
- }
- constructor(t, e) {
- const s = (this.config = new Hl(e)),
- n = io(t),
- o = Us(n);
- if (o)
- throw new Error(
- "Canvas is already in use. Chart with ID '" +
- o.id +
- "' must be destroyed before the canvas with ID '" +
- o.canvas.id +
- "' can be reused."
- );
- const r = s.createResolver(
- s.chartOptionScopes(),
- this.getContext()
- );
- (this.platform = new (s.platform || dl(n))()),
- this.platform.updateConfig(s);
- const a = this.platform.acquireContext(n, r.aspectRatio),
- l = a && a.canvas,
- c = l && l.height,
- h = l && l.width;
- if (
- ((this.id = sr()),
- (this.ctx = a),
- (this.canvas = l),
- (this.width = h),
- (this.height = c),
- (this._options = r),
- (this._aspectRatio = this.aspectRatio),
- (this._layers = []),
- (this._metasets = []),
- (this._stacks = void 0),
- (this.boxes = []),
- (this.currentDevicePixelRatio = void 0),
- (this.chartArea = void 0),
- (this._active = []),
- (this._lastEvent = void 0),
- (this._listeners = {}),
- (this._responsiveListeners = void 0),
- (this._sortedMetasets = []),
- (this.scales = {}),
- (this._plugins = new Ol()),
- (this.$proxies = {}),
- (this._hiddenIndices = {}),
- (this.attached = !1),
- (this._animationsDisabled = void 0),
- (this.$context = void 0),
- (this._doResize = yr(
- (d) => this.update(d),
- r.resizeDelay || 0
- )),
- (this._dataChanges = []),
- (je[this.id] = this),
- !a || !l)
- ) {
- console.error(
- "Failed to create chart: can't acquire context from the given item"
- );
- return;
- }
- ft.listen(this, "complete", Ys),
- ft.listen(this, "progress", Yl),
- this._initialize(),
- this.attached && this.update();
- }
- get aspectRatio() {
- const {
- options: { aspectRatio: t, maintainAspectRatio: e },
- width: s,
- height: n,
- _aspectRatio: o,
- } = this;
- return E(t) ? (e && o ? o : n ? s / n : null) : t;
- }
- get data() {
- return this.config.data;
- }
- set data(t) {
- this.config.data = t;
- }
- get options() {
- return this._options;
- }
- set options(t) {
- this.config.options = t;
- }
- get registry() {
- return lt;
- }
- _initialize() {
- return (
- this.notifyPlugins("beforeInit"),
- this.options.responsive
- ? this.resize()
- : bs(this, this.options.devicePixelRatio),
- this.bindEvents(),
- this.notifyPlugins("afterInit"),
- this
- );
- }
- clear() {
- return gs(this.canvas, this.ctx), this;
- }
- stop() {
- return ft.stop(this), this;
- }
- resize(t, e) {
- ft.running(this)
- ? (this._resizeBeforeDraw = { width: t, height: e })
- : this._resize(t, e);
- }
- _resize(t, e) {
- const s = this.options,
- n = this.canvas,
- o = s.maintainAspectRatio && this.aspectRatio,
- r = this.platform.getMaximumSize(n, t, e, o),
- a = s.devicePixelRatio || this.platform.getDevicePixelRatio(),
- l = this.width ? "resize" : "attach";
- (this.width = r.width),
- (this.height = r.height),
- (this._aspectRatio = this.aspectRatio),
- bs(this, a, !0) &&
- (this.notifyPlugins("resize", { size: r }),
- I(s.onResize, [this, r], this),
- this.attached && this._doResize(l) && this.render());
- }
- ensureScalesHaveIDs() {
- const e = this.options.scales || {};
- R(e, (s, n) => {
- s.id = n;
- });
- }
- buildOrUpdateScales() {
- const t = this.options,
- e = t.scales,
- s = this.scales,
- n = Object.keys(s).reduce((r, a) => ((r[a] = !1), r), {});
- let o = [];
- e &&
- (o = o.concat(
- Object.keys(e).map((r) => {
- const a = e[r],
- l = Di(r, a),
- c = l === "r",
- h = l === "x";
- return {
- options: a,
- dposition: c ? "chartArea" : h ? "bottom" : "left",
- dtype: c
- ? "radialLinear"
- : h
- ? "category"
- : "linear",
- };
- })
- )),
- R(o, (r) => {
- const a = r.options,
- l = a.id,
- c = Di(l, a),
- h = D(a.type, r.dtype);
- (a.position === void 0 ||
- js(a.position, c) !== js(r.dposition)) &&
- (a.position = r.dposition),
- (n[l] = !0);
- let d = null;
- if (l in s && s[l].type === h) d = s[l];
- else {
- const f = lt.getScale(h);
- (d = new f({
- id: l,
- type: h,
- ctx: this.ctx,
- chart: this,
- })),
- (s[d.id] = d);
- }
- d.init(a, t);
- }),
- R(n, (r, a) => {
- r || delete s[a];
- }),
- R(s, (r) => {
- nt.configure(this, r, r.options), nt.addBox(this, r);
- });
- }
- _updateMetasets() {
- const t = this._metasets,
- e = this.data.datasets.length,
- s = t.length;
- if ((t.sort((n, o) => n.index - o.index), s > e)) {
- for (let n = e; n < s; ++n) this._destroyDatasetMeta(n);
- t.splice(e, s - e);
- }
- this._sortedMetasets = t.slice(0).sort($s("order", "index"));
- }
- _removeUnreferencedMetasets() {
- const {
- _metasets: t,
- data: { datasets: e },
- } = this;
- t.length > e.length && delete this._stacks,
- t.forEach((s, n) => {
- e.filter((o) => o === s._dataset).length === 0 &&
- this._destroyDatasetMeta(n);
- });
- }
- buildOrUpdateControllers() {
- const t = [],
- e = this.data.datasets;
- let s, n;
- for (
- this._removeUnreferencedMetasets(), s = 0, n = e.length;
- s < n;
- s++
- ) {
- const o = e[s];
- let r = this.getDatasetMeta(s);
- const a = o.type || this.config.type;
- if (
- (r.type &&
- r.type !== a &&
- (this._destroyDatasetMeta(s),
- (r = this.getDatasetMeta(s))),
- (r.type = a),
- (r.indexAxis = o.indexAxis || Pi(a, this.options)),
- (r.order = o.order || 0),
- (r.index = s),
- (r.label = "" + o.label),
- (r.visible = this.isDatasetVisible(s)),
- r.controller)
- )
- r.controller.updateIndex(s), r.controller.linkScales();
- else {
- const l = lt.getController(a),
- { datasetElementType: c, dataElementType: h } =
- j.datasets[a];
- Object.assign(l, {
- dataElementType: lt.getElement(h),
- datasetElementType: c && lt.getElement(c),
- }),
- (r.controller = new l(this, s)),
- t.push(r.controller);
- }
- }
- return this._updateMetasets(), t;
- }
- _resetElements() {
- R(
- this.data.datasets,
- (t, e) => {
- this.getDatasetMeta(e).controller.reset();
- },
- this
- );
- }
- reset() {
- this._resetElements(), this.notifyPlugins("reset");
- }
- update(t) {
- const e = this.config;
- e.update();
- const s = (this._options = e.createResolver(
- e.chartOptionScopes(),
- this.getContext()
- )),
- n = (this._animationsDisabled = !s.animation);
- if (
- (this._updateScales(),
- this._checkEventBindings(),
- this._updateHiddenIndices(),
- this._plugins.invalidate(),
- this.notifyPlugins("beforeUpdate", {
- mode: t,
- cancelable: !0,
- }) === !1)
- )
- return;
- const o = this.buildOrUpdateControllers();
- this.notifyPlugins("beforeElementsUpdate");
- let r = 0;
- for (let c = 0, h = this.data.datasets.length; c < h; c++) {
- const { controller: d } = this.getDatasetMeta(c),
- f = !n && o.indexOf(d) === -1;
- d.buildOrUpdateElements(f),
- (r = Math.max(+d.getMaxOverflow(), r));
- }
- (r = this._minPadding = s.layout.autoPadding ? r : 0),
- this._updateLayout(r),
- n ||
- R(o, (c) => {
- c.reset();
- }),
- this._updateDatasets(t),
- this.notifyPlugins("afterUpdate", { mode: t }),
- this._layers.sort($s("z", "_idx"));
- const { _active: a, _lastEvent: l } = this;
- l
- ? this._eventHandler(l, !0)
- : a.length && this._updateHoverStyles(a, a, !0),
- this.render();
- }
- _updateScales() {
- R(this.scales, (t) => {
- nt.removeBox(this, t);
- }),
- this.ensureScalesHaveIDs(),
- this.buildOrUpdateScales();
- }
- _checkEventBindings() {
- const t = this.options,
- e = new Set(Object.keys(this._listeners)),
- s = new Set(t.events);
- (!os(e, s) || !!this._responsiveListeners !== t.responsive) &&
- (this.unbindEvents(), this.bindEvents());
- }
- _updateHiddenIndices() {
- const { _hiddenIndices: t } = this,
- e = this._getUniformDataChanges() || [];
- for (const { method: s, start: n, count: o } of e) {
- const r = s === "_removeElements" ? -o : o;
- Ul(t, n, r);
- }
- }
- _getUniformDataChanges() {
- const t = this._dataChanges;
- if (!t || !t.length) return;
- this._dataChanges = [];
- const e = this.data.datasets.length,
- s = (o) =>
- new Set(
- t
- .filter((r) => r[0] === o)
- .map((r, a) => a + "," + r.splice(1).join(","))
- ),
- n = s(0);
- for (let o = 1; o < e; o++) if (!os(n, s(o))) return;
- return Array.from(n)
- .map((o) => o.split(","))
- .map((o) => ({ method: o[1], start: +o[2], count: +o[3] }));
- }
- _updateLayout(t) {
- if (this.notifyPlugins("beforeLayout", { cancelable: !0 }) === !1)
- return;
- nt.update(this, this.width, this.height, t);
- const e = this.chartArea,
- s = e.width <= 0 || e.height <= 0;
- (this._layers = []),
- R(
- this.boxes,
- (n) => {
- (s && n.position === "chartArea") ||
- (n.configure && n.configure(),
- this._layers.push(...n._layers()));
- },
- this
- ),
- this._layers.forEach((n, o) => {
- n._idx = o;
- }),
- this.notifyPlugins("afterLayout");
- }
- _updateDatasets(t) {
- if (
- this.notifyPlugins("beforeDatasetsUpdate", {
- mode: t,
- cancelable: !0,
- }) !== !1
- ) {
- for (let e = 0, s = this.data.datasets.length; e < s; ++e)
- this.getDatasetMeta(e).controller.configure();
- for (let e = 0, s = this.data.datasets.length; e < s; ++e)
- this._updateDataset(e, vt(t) ? t({ datasetIndex: e }) : t);
- this.notifyPlugins("afterDatasetsUpdate", { mode: t });
- }
- }
- _updateDataset(t, e) {
- const s = this.getDatasetMeta(t),
- n = { meta: s, index: t, mode: e, cancelable: !0 };
- this.notifyPlugins("beforeDatasetUpdate", n) !== !1 &&
- (s.controller._update(e),
- (n.cancelable = !1),
- this.notifyPlugins("afterDatasetUpdate", n));
- }
- render() {
- this.notifyPlugins("beforeRender", { cancelable: !0 }) !== !1 &&
- (ft.has(this)
- ? this.attached && !ft.running(this) && ft.start(this)
- : (this.draw(), Ys({ chart: this })));
- }
- draw() {
- let t;
- if (this._resizeBeforeDraw) {
- const { width: s, height: n } = this._resizeBeforeDraw;
- this._resize(s, n), (this._resizeBeforeDraw = null);
- }
- if (
- (this.clear(),
- this.width <= 0 ||
- this.height <= 0 ||
- this.notifyPlugins("beforeDraw", { cancelable: !0 }) === !1)
- )
- return;
- const e = this._layers;
- for (t = 0; t < e.length && e[t].z <= 0; ++t)
- e[t].draw(this.chartArea);
- for (this._drawDatasets(); t < e.length; ++t)
- e[t].draw(this.chartArea);
- this.notifyPlugins("afterDraw");
- }
- _getSortedDatasetMetas(t) {
- const e = this._sortedMetasets,
- s = [];
- let n, o;
- for (n = 0, o = e.length; n < o; ++n) {
- const r = e[n];
- (!t || r.visible) && s.push(r);
- }
- return s;
- }
- getSortedVisibleDatasetMetas() {
- return this._getSortedDatasetMetas(!0);
- }
- _drawDatasets() {
- if (
- this.notifyPlugins("beforeDatasetsDraw", { cancelable: !0 }) ===
- !1
- )
- return;
- const t = this.getSortedVisibleDatasetMetas();
- for (let e = t.length - 1; e >= 0; --e) this._drawDataset(t[e]);
- this.notifyPlugins("afterDatasetsDraw");
- }
- _drawDataset(t) {
- const e = this.ctx,
- s = t._clip,
- n = !s.disabled,
- o = Kl(t, this.chartArea),
- r = { meta: t, index: t.index, cancelable: !0 };
- this.notifyPlugins("beforeDatasetDraw", r) !== !1 &&
- (n &&
- ni(e, {
- left: s.left === !1 ? 0 : o.left - s.left,
- right: s.right === !1 ? this.width : o.right + s.right,
- top: s.top === !1 ? 0 : o.top - s.top,
- bottom:
- s.bottom === !1 ? this.height : o.bottom + s.bottom,
- }),
- t.controller.draw(),
- n && oi(e),
- (r.cancelable = !1),
- this.notifyPlugins("afterDatasetDraw", r));
- }
- isPointInArea(t) {
- return pt(t, this.chartArea, this._minPadding);
- }
- getElementsAtEventForMode(t, e, s, n) {
- const o = $a.modes[e];
- return typeof o == "function" ? o(this, t, s, n) : [];
- }
- getDatasetMeta(t) {
- const e = this.data.datasets[t],
- s = this._metasets;
- let n = s.filter((o) => o && o._dataset === e).pop();
- return (
- n ||
- ((n = {
- type: null,
- data: [],
- dataset: null,
- controller: null,
- hidden: null,
- xAxisID: null,
- yAxisID: null,
- order: (e && e.order) || 0,
- index: t,
- _dataset: e,
- _parsed: [],
- _sorted: !1,
- }),
- s.push(n)),
- n
- );
- }
- getContext() {
- return (
- this.$context ||
- (this.$context = kt(null, { chart: this, type: "chart" }))
- );
- }
- getVisibleDatasetCount() {
- return this.getSortedVisibleDatasetMetas().length;
- }
- isDatasetVisible(t) {
- const e = this.data.datasets[t];
- if (!e) return !1;
- const s = this.getDatasetMeta(t);
- return typeof s.hidden == "boolean" ? !s.hidden : !e.hidden;
- }
- setDatasetVisibility(t, e) {
- const s = this.getDatasetMeta(t);
- s.hidden = !e;
- }
- toggleDataVisibility(t) {
- this._hiddenIndices[t] = !this._hiddenIndices[t];
- }
- getDataVisibility(t) {
- return !this._hiddenIndices[t];
- }
- _updateVisibility(t, e, s) {
- const n = s ? "show" : "hide",
- o = this.getDatasetMeta(t),
- r = o.controller._resolveAnimations(void 0, n);
- Xe(e)
- ? ((o.data[e].hidden = !s), this.update())
- : (this.setDatasetVisibility(t, s),
- r.update(o, { visible: s }),
- this.update((a) => (a.datasetIndex === t ? n : void 0)));
- }
- hide(t, e) {
- this._updateVisibility(t, e, !1);
- }
- show(t, e) {
- this._updateVisibility(t, e, !0);
- }
- _destroyDatasetMeta(t) {
- const e = this._metasets[t];
- e && e.controller && e.controller._destroy(),
- delete this._metasets[t];
- }
- _stop() {
- let t, e;
- for (
- this.stop(),
- ft.remove(this),
- t = 0,
- e = this.data.datasets.length;
- t < e;
- ++t
- )
- this._destroyDatasetMeta(t);
- }
- destroy() {
- this.notifyPlugins("beforeDestroy");
- const { canvas: t, ctx: e } = this;
- this._stop(),
- this.config.clearCache(),
- t &&
- (this.unbindEvents(),
- gs(t, e),
- this.platform.releaseContext(e),
- (this.canvas = null),
- (this.ctx = null)),
- delete je[this.id],
- this.notifyPlugins("afterDestroy");
- }
- toBase64Image(...t) {
- return this.canvas.toDataURL(...t);
- }
- bindEvents() {
- this.bindUserEvents(),
- this.options.responsive
- ? this.bindResponsiveEvents()
- : (this.attached = !0);
- }
- bindUserEvents() {
- const t = this._listeners,
- e = this.platform,
- s = (o, r) => {
- e.addEventListener(this, o, r), (t[o] = r);
- },
- n = (o, r, a) => {
- (o.offsetX = r), (o.offsetY = a), this._eventHandler(o);
- };
- R(this.options.events, (o) => s(o, n));
- }
- bindResponsiveEvents() {
- this._responsiveListeners || (this._responsiveListeners = {});
- const t = this._responsiveListeners,
- e = this.platform,
- s = (l, c) => {
- e.addEventListener(this, l, c), (t[l] = c);
- },
- n = (l, c) => {
- t[l] && (e.removeEventListener(this, l, c), delete t[l]);
- },
- o = (l, c) => {
- this.canvas && this.resize(l, c);
- };
- let r;
- const a = () => {
- n("attach", a),
- (this.attached = !0),
- this.resize(),
- s("resize", o),
- s("detach", r);
- };
- (r = () => {
- (this.attached = !1),
- n("resize", o),
- this._stop(),
- this._resize(0, 0),
- s("attach", a);
- }),
- e.isAttached(this.canvas) ? a() : r();
- }
- unbindEvents() {
- R(this._listeners, (t, e) => {
- this.platform.removeEventListener(this, e, t);
- }),
- (this._listeners = {}),
- R(this._responsiveListeners, (t, e) => {
- this.platform.removeEventListener(this, e, t);
- }),
- (this._responsiveListeners = void 0);
- }
- updateHoverStyle(t, e, s) {
- const n = s ? "set" : "remove";
- let o, r, a, l;
- for (
- e === "dataset" &&
- ((o = this.getDatasetMeta(t[0].datasetIndex)),
- o.controller["_" + n + "DatasetHoverStyle"]()),
- a = 0,
- l = t.length;
- a < l;
- ++a
- ) {
- r = t[a];
- const c = r && this.getDatasetMeta(r.datasetIndex).controller;
- c && c[n + "HoverStyle"](r.element, r.datasetIndex, r.index);
- }
- }
- getActiveElements() {
- return this._active || [];
- }
- setActiveElements(t) {
- const e = this._active || [],
- s = t.map(({ datasetIndex: o, index: r }) => {
- const a = this.getDatasetMeta(o);
- if (!a) throw new Error("No dataset found at index " + o);
- return { datasetIndex: o, element: a.data[r], index: r };
- });
- !Ye(s, e) &&
- ((this._active = s),
- (this._lastEvent = null),
- this._updateHoverStyles(s, e));
- }
- notifyPlugins(t, e, s) {
- return this._plugins.notify(this, t, e, s);
- }
- isPluginEnabled(t) {
- return (
- this._plugins._cache.filter((e) => e.plugin.id === t).length ===
- 1
- );
- }
- _updateHoverStyles(t, e, s) {
- const n = this.options.hover,
- o = (l, c) =>
- l.filter(
- (h) =>
- !c.some(
- (d) =>
- h.datasetIndex === d.datasetIndex &&
- h.index === d.index
- )
- ),
- r = o(e, t),
- a = s ? t : o(t, e);
- r.length && this.updateHoverStyle(r, n.mode, !1),
- a.length && n.mode && this.updateHoverStyle(a, n.mode, !0);
- }
- _eventHandler(t, e) {
- const s = {
- event: t,
- replay: e,
- cancelable: !0,
- inChartArea: this.isPointInArea(t),
- },
- n = (r) =>
- (r.options.events || this.options.events).includes(
- t.native.type
- );
- if (this.notifyPlugins("beforeEvent", s, n) === !1) return;
- const o = this._handleEvent(t, e, s.inChartArea);
- return (
- (s.cancelable = !1),
- this.notifyPlugins("afterEvent", s, n),
- (o || s.changed) && this.render(),
- this
- );
- }
- _handleEvent(t, e, s) {
- const { _active: n = [], options: o } = this,
- r = e,
- a = this._getActiveElements(t, n, s, r),
- l = cr(t),
- c = Xl(t, this._lastEvent, s, l);
- s &&
- ((this._lastEvent = null),
- I(o.onHover, [t, a, this], this),
- l && I(o.onClick, [t, a, this], this));
- const h = !Ye(a, n);
- return (
- (h || e) &&
- ((this._active = a), this._updateHoverStyles(a, n, e)),
- (this._lastEvent = c),
- h
- );
- }
- _getActiveElements(t, e, s, n) {
- if (t.type === "mouseout") return [];
- if (!s) return e;
- const o = this.options.hover;
- return this.getElementsAtEventForMode(t, o.mode, o, n);
- }
- }),
- w(mt, "defaults", j),
- w(mt, "instances", je),
- w(mt, "overrides", It),
- w(mt, "registry", lt),
- w(mt, "version", jl),
- w(mt, "getChart", Us),
- mt);
-function Xs() {
- return R(ai.instances, (i) => i._plugins.invalidate());
-}
-function ql(i, t, e) {
- const {
- startAngle: s,
- pixelMargin: n,
- x: o,
- y: r,
- outerRadius: a,
- innerRadius: l,
- } = t;
- let c = n / a;
- i.beginPath(),
- i.arc(o, r, a, s - c, e + c),
- l > n
- ? ((c = n / l), i.arc(o, r, l, e + c, s - c, !0))
- : i.arc(o, r, n, e + Y, s - Y),
- i.closePath(),
- i.clip();
-}
-function Gl(i) {
- return ji(i, ["outerStart", "outerEnd", "innerStart", "innerEnd"]);
-}
-function Zl(i, t, e, s) {
- const n = Gl(i.options.borderRadius),
- o = (e - t) / 2,
- r = Math.min(o, (s * t) / 2),
- a = (l) => {
- const c = ((e - Math.min(o, l)) * s) / 2;
- return Z(l, 0, Math.min(o, c));
- };
- return {
- outerStart: a(n.outerStart),
- outerEnd: a(n.outerEnd),
- innerStart: Z(n.innerStart, 0, r),
- innerEnd: Z(n.innerEnd, 0, r),
- };
-}
-function jt(i, t, e, s) {
- return { x: e + i * Math.cos(t), y: s + i * Math.sin(t) };
-}
-function Qe(i, t, e, s, n, o) {
- const { x: r, y: a, startAngle: l, pixelMargin: c, innerRadius: h } = t,
- d = Math.max(t.outerRadius + s + e - c, 0),
- f = h > 0 ? h + s + e + c : 0;
- let u = 0;
- const p = n - l;
- if (s) {
- const F = h > 0 ? h - s : 0,
- B = d > 0 ? d - s : 0,
- $ = (F + B) / 2,
- ot = $ !== 0 ? (p * $) / ($ + s) : p;
- u = (p - ot) / 2;
- }
- const g = Math.max(0.001, p * d - e / N) / d,
- m = (p - g) / 2,
- b = l + m + u,
- _ = n - m - u,
- {
- outerStart: y,
- outerEnd: v,
- innerStart: x,
- innerEnd: M,
- } = Zl(t, f, d, _ - b),
- S = d - y,
- k = d - v,
- C = b + y / S,
- O = _ - v / k,
- P = f + x,
- T = f + M,
- X = b + x / P,
- tt = _ - M / T;
- if ((i.beginPath(), o)) {
- const F = (C + O) / 2;
- if ((i.arc(r, a, d, C, F), i.arc(r, a, d, F, O), v > 0)) {
- const K = jt(k, O, r, a);
- i.arc(K.x, K.y, v, O, _ + Y);
- }
- const B = jt(T, _, r, a);
- if ((i.lineTo(B.x, B.y), M > 0)) {
- const K = jt(T, tt, r, a);
- i.arc(K.x, K.y, M, _ + Y, tt + Math.PI);
- }
- const $ = (_ - M / f + (b + x / f)) / 2;
- if (
- (i.arc(r, a, f, _ - M / f, $, !0),
- i.arc(r, a, f, $, b + x / f, !0),
- x > 0)
- ) {
- const K = jt(P, X, r, a);
- i.arc(K.x, K.y, x, X + Math.PI, b - Y);
- }
- const ot = jt(S, b, r, a);
- if ((i.lineTo(ot.x, ot.y), y > 0)) {
- const K = jt(S, C, r, a);
- i.arc(K.x, K.y, y, b - Y, C);
- }
- } else {
- i.moveTo(r, a);
- const F = Math.cos(C) * d + r,
- B = Math.sin(C) * d + a;
- i.lineTo(F, B);
- const $ = Math.cos(O) * d + r,
- ot = Math.sin(O) * d + a;
- i.lineTo($, ot);
- }
- i.closePath();
-}
-function Jl(i, t, e, s, n) {
- const { fullCircles: o, startAngle: r, circumference: a } = t;
- let l = t.endAngle;
- if (o) {
- Qe(i, t, e, s, l, n);
- for (let c = 0; c < o; ++c) i.fill();
- isNaN(a) || (l = r + (a % z || z));
- }
- return Qe(i, t, e, s, l, n), i.fill(), l;
-}
-function Ql(i, t, e, s, n) {
- const { fullCircles: o, startAngle: r, circumference: a, options: l } = t,
- {
- borderWidth: c,
- borderJoinStyle: h,
- borderDash: d,
- borderDashOffset: f,
- } = l,
- u = l.borderAlign === "inner";
- if (!c) return;
- i.setLineDash(d || []),
- (i.lineDashOffset = f),
- u
- ? ((i.lineWidth = c * 2), (i.lineJoin = h || "round"))
- : ((i.lineWidth = c), (i.lineJoin = h || "bevel"));
- let p = t.endAngle;
- if (o) {
- Qe(i, t, e, s, p, n);
- for (let g = 0; g < o; ++g) i.stroke();
- isNaN(a) || (p = r + (a % z || z));
- }
- u && ql(i, t, p), o || (Qe(i, t, e, s, p, n), i.stroke());
-}
-class ce extends ht {
- constructor(e) {
- super();
- w(this, "circumference");
- w(this, "endAngle");
- w(this, "fullCircles");
- w(this, "innerRadius");
- w(this, "outerRadius");
- w(this, "pixelMargin");
- w(this, "startAngle");
- (this.options = void 0),
- (this.circumference = void 0),
- (this.startAngle = void 0),
- (this.endAngle = void 0),
- (this.innerRadius = void 0),
- (this.outerRadius = void 0),
- (this.pixelMargin = 0),
- (this.fullCircles = 0),
- e && Object.assign(this, e);
- }
- inRange(e, s, n) {
- const o = this.getProps(["x", "y"], n),
- { angle: r, distance: a } = An(o, { x: e, y: s }),
- {
- startAngle: l,
- endAngle: c,
- innerRadius: h,
- outerRadius: d,
- circumference: f,
- } = this.getProps(
- [
- "startAngle",
- "endAngle",
- "innerRadius",
- "outerRadius",
- "circumference",
- ],
- n
- ),
- u = (this.options.spacing + this.options.borderWidth) / 2,
- g = D(f, c - l) >= z || xe(r, l, c),
- m = Lt(a, h + u, d + u);
- return g && m;
- }
- getCenterPoint(e) {
- const {
- x: s,
- y: n,
- startAngle: o,
- endAngle: r,
- innerRadius: a,
- outerRadius: l,
- } = this.getProps(
- [
- "x",
- "y",
- "startAngle",
- "endAngle",
- "innerRadius",
- "outerRadius",
- ],
- e
- ),
- { offset: c, spacing: h } = this.options,
- d = (o + r) / 2,
- f = (a + l + h + c) / 2;
- return { x: s + Math.cos(d) * f, y: n + Math.sin(d) * f };
- }
- tooltipPosition(e) {
- return this.getCenterPoint(e);
- }
- draw(e) {
- const { options: s, circumference: n } = this,
- o = (s.offset || 0) / 4,
- r = (s.spacing || 0) / 2,
- a = s.circular;
- if (
- ((this.pixelMargin = s.borderAlign === "inner" ? 0.33 : 0),
- (this.fullCircles = n > z ? Math.floor(n / z) : 0),
- n === 0 || this.innerRadius < 0 || this.outerRadius < 0)
- )
- return;
- e.save();
- const l = (this.startAngle + this.endAngle) / 2;
- e.translate(Math.cos(l) * o, Math.sin(l) * o);
- const c = 1 - Math.sin(Math.min(N, n || 0)),
- h = o * c;
- (e.fillStyle = s.backgroundColor),
- (e.strokeStyle = s.borderColor),
- Jl(e, this, h, r, a),
- Ql(e, this, h, r, a),
- e.restore();
- }
-}
-w(ce, "id", "arc"),
- w(ce, "defaults", {
- borderAlign: "center",
- borderColor: "#fff",
- borderDash: [],
- borderDashOffset: 0,
- borderJoinStyle: void 0,
- borderRadius: 0,
- borderWidth: 2,
- offset: 0,
- spacing: 0,
- angle: void 0,
- circular: !0,
- }),
- w(ce, "defaultRoutes", { backgroundColor: "backgroundColor" }),
- w(ce, "descriptors", {
- _scriptable: !0,
- _indexable: (e) => e !== "borderDash",
- });
-function so(i, t, e = t) {
- (i.lineCap = D(e.borderCapStyle, t.borderCapStyle)),
- i.setLineDash(D(e.borderDash, t.borderDash)),
- (i.lineDashOffset = D(e.borderDashOffset, t.borderDashOffset)),
- (i.lineJoin = D(e.borderJoinStyle, t.borderJoinStyle)),
- (i.lineWidth = D(e.borderWidth, t.borderWidth)),
- (i.strokeStyle = D(e.borderColor, t.borderColor));
-}
-function tc(i, t, e) {
- i.lineTo(e.x, e.y);
-}
-function ec(i) {
- return i.stepped
- ? Fr
- : i.tension || i.cubicInterpolationMode === "monotone"
- ? Ir
- : tc;
-}
-function no(i, t, e = {}) {
- const s = i.length,
- { start: n = 0, end: o = s - 1 } = e,
- { start: r, end: a } = t,
- l = Math.max(n, r),
- c = Math.min(o, a),
- h = (n < r && o < r) || (n > a && o > a);
- return {
- count: s,
- start: l,
- loop: t.loop,
- ilen: c < l && !h ? s + c - l : c - l,
- };
-}
-function ic(i, t, e, s) {
- const { points: n, options: o } = t,
- { count: r, start: a, loop: l, ilen: c } = no(n, e, s),
- h = ec(o);
- let { move: d = !0, reverse: f } = s || {},
- u,
- p,
- g;
- for (u = 0; u <= c; ++u)
- (p = n[(a + (f ? c - u : u)) % r]),
- !p.skip &&
- (d ? (i.moveTo(p.x, p.y), (d = !1)) : h(i, g, p, f, o.stepped),
- (g = p));
- return l && ((p = n[(a + (f ? c : 0)) % r]), h(i, g, p, f, o.stepped)), !!l;
-}
-function sc(i, t, e, s) {
- const n = t.points,
- { count: o, start: r, ilen: a } = no(n, e, s),
- { move: l = !0, reverse: c } = s || {};
- let h = 0,
- d = 0,
- f,
- u,
- p,
- g,
- m,
- b;
- const _ = (v) => (r + (c ? a - v : v)) % o,
- y = () => {
- g !== m && (i.lineTo(h, m), i.lineTo(h, g), i.lineTo(h, b));
- };
- for (l && ((u = n[_(0)]), i.moveTo(u.x, u.y)), f = 0; f <= a; ++f) {
- if (((u = n[_(f)]), u.skip)) continue;
- const v = u.x,
- x = u.y,
- M = v | 0;
- M === p
- ? (x < g ? (g = x) : x > m && (m = x), (h = (d * h + v) / ++d))
- : (y(), i.lineTo(v, x), (p = M), (d = 0), (g = m = x)),
- (b = x);
- }
- y();
-}
-function Oi(i) {
- const t = i.options,
- e = t.borderDash && t.borderDash.length;
- return !i._decimated &&
- !i._loop &&
- !t.tension &&
- t.cubicInterpolationMode !== "monotone" &&
- !t.stepped &&
- !e
- ? sc
- : ic;
-}
-function nc(i) {
- return i.stepped
- ? ga
- : i.tension || i.cubicInterpolationMode === "monotone"
- ? pa
- : Tt;
-}
-function oc(i, t, e, s) {
- let n = t._path;
- n || ((n = t._path = new Path2D()), t.path(n, e, s) && n.closePath()),
- so(i, t.options),
- i.stroke(n);
-}
-function rc(i, t, e, s) {
- const { segments: n, options: o } = t,
- r = Oi(t);
- for (const a of n)
- so(i, o, a.style),
- i.beginPath(),
- r(i, t, a, { start: e, end: e + s - 1 }) && i.closePath(),
- i.stroke();
-}
-const ac = typeof Path2D == "function";
-function lc(i, t, e, s) {
- ac && !t.options.segment ? oc(i, t, e, s) : rc(i, t, e, s);
-}
-class xt extends ht {
- constructor(t) {
- super(),
- (this.animated = !0),
- (this.options = void 0),
- (this._chart = void 0),
- (this._loop = void 0),
- (this._fullLoop = void 0),
- (this._path = void 0),
- (this._points = void 0),
- (this._segments = void 0),
- (this._decimated = !1),
- (this._pointsUpdated = !1),
- (this._datasetIndex = void 0),
- t && Object.assign(this, t);
- }
- updateControlPoints(t, e) {
- const s = this.options;
- if (
- (s.tension || s.cubicInterpolationMode === "monotone") &&
- !s.stepped &&
- !this._pointsUpdated
- ) {
- const n = s.spanGaps ? this._loop : this._fullLoop;
- ra(this._points, s, t, n, e), (this._pointsUpdated = !0);
- }
- }
- set points(t) {
- (this._points = t),
- delete this._segments,
- delete this._path,
- (this._pointsUpdated = !1);
- }
- get points() {
- return this._points;
- }
- get segments() {
- return (
- this._segments || (this._segments = va(this, this.options.segment))
- );
- }
- first() {
- const t = this.segments,
- e = this.points;
- return t.length && e[t[0].start];
- }
- last() {
- const t = this.segments,
- e = this.points,
- s = t.length;
- return s && e[t[s - 1].end];
- }
- interpolate(t, e) {
- const s = this.options,
- n = t[e],
- o = this.points,
- r = Yn(this, { property: e, start: n, end: n });
- if (!r.length) return;
- const a = [],
- l = nc(s);
- let c, h;
- for (c = 0, h = r.length; c < h; ++c) {
- const { start: d, end: f } = r[c],
- u = o[d],
- p = o[f];
- if (u === p) {
- a.push(u);
- continue;
- }
- const g = Math.abs((n - u[e]) / (p[e] - u[e])),
- m = l(u, p, g, s.stepped);
- (m[e] = t[e]), a.push(m);
- }
- return a.length === 1 ? a[0] : a;
- }
- pathSegment(t, e, s) {
- return Oi(this)(t, this, e, s);
- }
- path(t, e, s) {
- const n = this.segments,
- o = Oi(this);
- let r = this._loop;
- (e = e || 0), (s = s || this.points.length - e);
- for (const a of n) r &= o(t, this, a, { start: e, end: e + s - 1 });
- return !!r;
- }
- draw(t, e, s, n) {
- const o = this.options || {};
- (this.points || []).length &&
- o.borderWidth &&
- (t.save(), lc(t, this, s, n), t.restore()),
- this.animated &&
- ((this._pointsUpdated = !1), (this._path = void 0));
- }
-}
-w(xt, "id", "line"),
- w(xt, "defaults", {
- borderCapStyle: "butt",
- borderDash: [],
- borderDashOffset: 0,
- borderJoinStyle: "miter",
- borderWidth: 3,
- capBezierPoints: !0,
- cubicInterpolationMode: "default",
- fill: !1,
- spanGaps: !1,
- stepped: !1,
- tension: 0,
- }),
- w(xt, "defaultRoutes", {
- backgroundColor: "backgroundColor",
- borderColor: "borderColor",
- }),
- w(xt, "descriptors", {
- _scriptable: !0,
- _indexable: (t) => t !== "borderDash" && t !== "fill",
- });
-function Ks(i, t, e, s) {
- const n = i.options,
- { [e]: o } = i.getProps([e], s);
- return Math.abs(t - o) < n.radius + n.hitRadius;
-}
-class $e extends ht {
- constructor(e) {
- super();
- w(this, "parsed");
- w(this, "skip");
- w(this, "stop");
- (this.options = void 0),
- (this.parsed = void 0),
- (this.skip = void 0),
- (this.stop = void 0),
- e && Object.assign(this, e);
- }
- inRange(e, s, n) {
- const o = this.options,
- { x: r, y: a } = this.getProps(["x", "y"], n);
- return (
- Math.pow(e - r, 2) + Math.pow(s - a, 2) <
- Math.pow(o.hitRadius + o.radius, 2)
- );
- }
- inXRange(e, s) {
- return Ks(this, e, "x", s);
- }
- inYRange(e, s) {
- return Ks(this, e, "y", s);
- }
- getCenterPoint(e) {
- const { x: s, y: n } = this.getProps(["x", "y"], e);
- return { x: s, y: n };
- }
- size(e) {
- e = e || this.options || {};
- let s = e.radius || 0;
- s = Math.max(s, (s && e.hoverRadius) || 0);
- const n = (s && e.borderWidth) || 0;
- return (s + n) * 2;
- }
- draw(e, s) {
- const n = this.options;
- this.skip ||
- n.radius < 0.1 ||
- !pt(this, s, this.size(n) / 2) ||
- ((e.strokeStyle = n.borderColor),
- (e.lineWidth = n.borderWidth),
- (e.fillStyle = n.backgroundColor),
- Si(e, n, this.x, this.y));
- }
- getRange() {
- const e = this.options || {};
- return e.radius + e.hitRadius;
- }
-}
-w($e, "id", "point"),
- w($e, "defaults", {
- borderWidth: 1,
- hitRadius: 1,
- hoverBorderWidth: 1,
- hoverRadius: 4,
- pointStyle: "circle",
- radius: 3,
- rotation: 0,
- }),
- w($e, "defaultRoutes", {
- backgroundColor: "backgroundColor",
- borderColor: "borderColor",
- });
-function cc(i, t, e) {
- const s = i.segments,
- n = i.points,
- o = t.points,
- r = [];
- for (const a of s) {
- let { start: l, end: c } = a;
- c = Gi(l, c, n);
- const h = Ai(e, n[l], n[c], a.loop);
- if (!t.segments) {
- r.push({ source: a, target: h, start: n[l], end: n[c] });
- continue;
- }
- const d = Yn(t, h);
- for (const f of d) {
- const u = Ai(e, o[f.start], o[f.end], f.loop),
- p = $n(a, n, u);
- for (const g of p)
- r.push({
- source: g,
- target: f,
- start: { [e]: qs(h, u, "start", Math.max) },
- end: { [e]: qs(h, u, "end", Math.min) },
- });
- }
- }
- return r;
-}
-function Ai(i, t, e, s) {
- if (s) return;
- let n = t[i],
- o = e[i];
- return (
- i === "angle" && ((n = it(n)), (o = it(o))),
- { property: i, start: n, end: o }
- );
-}
-function hc(i, t) {
- const { x: e = null, y: s = null } = i || {},
- n = t.points,
- o = [];
- return (
- t.segments.forEach(({ start: r, end: a }) => {
- a = Gi(r, a, n);
- const l = n[r],
- c = n[a];
- s !== null
- ? (o.push({ x: l.x, y: s }), o.push({ x: c.x, y: s }))
- : e !== null &&
- (o.push({ x: e, y: l.y }), o.push({ x: e, y: c.y }));
- }),
- o
- );
-}
-function Gi(i, t, e) {
- for (; t > i; t--) {
- const s = e[t];
- if (!isNaN(s.x) && !isNaN(s.y)) break;
- }
- return t;
-}
-function qs(i, t, e, s) {
- return i && t ? s(i[e], t[e]) : i ? i[e] : t ? t[e] : 0;
-}
-function oo(i, t) {
- let e = [],
- s = !1;
- return (
- H(i) ? ((s = !0), (e = i)) : (e = hc(i, t)),
- e.length
- ? new xt({
- points: e,
- options: { tension: 0 },
- _loop: s,
- _fullLoop: s,
- })
- : null
- );
-}
-function Gs(i) {
- return i && i.fill !== !1;
-}
-function dc(i, t, e) {
- let n = i[t].fill;
- const o = [t];
- let r;
- if (!e) return n;
- for (; n !== !1 && o.indexOf(n) === -1; ) {
- if (!V(n)) return n;
- if (((r = i[n]), !r)) return !1;
- if (r.visible) return n;
- o.push(n), (n = r.fill);
- }
- return !1;
-}
-function fc(i, t, e) {
- const s = mc(i);
- if (A(s)) return isNaN(s.value) ? !1 : s;
- let n = parseFloat(s);
- return V(n) && Math.floor(n) === n
- ? uc(s[0], t, n, e)
- : ["origin", "start", "end", "stack", "shape"].indexOf(s) >= 0 && s;
-}
-function uc(i, t, e, s) {
- return (
- (i === "-" || i === "+") && (e = t + e),
- e === t || e < 0 || e >= s ? !1 : e
- );
-}
-function gc(i, t) {
- let e = null;
- return (
- i === "start"
- ? (e = t.bottom)
- : i === "end"
- ? (e = t.top)
- : A(i)
- ? (e = t.getPixelForValue(i.value))
- : t.getBasePixel && (e = t.getBasePixel()),
- e
- );
-}
-function pc(i, t, e) {
- let s;
- return (
- i === "start"
- ? (s = e)
- : i === "end"
- ? (s = t.options.reverse ? t.min : t.max)
- : A(i)
- ? (s = i.value)
- : (s = t.getBaseValue()),
- s
- );
-}
-function mc(i) {
- const t = i.options,
- e = t.fill;
- let s = D(e && e.target, e);
- return (
- s === void 0 && (s = !!t.backgroundColor),
- s === !1 || s === null ? !1 : s === !0 ? "origin" : s
- );
-}
-function bc(i) {
- const { scale: t, index: e, line: s } = i,
- n = [],
- o = s.segments,
- r = s.points,
- a = _c(t, e);
- a.push(oo({ x: null, y: t.bottom }, s));
- for (let l = 0; l < o.length; l++) {
- const c = o[l];
- for (let h = c.start; h <= c.end; h++) xc(n, r[h], a);
- }
- return new xt({ points: n, options: {} });
-}
-function _c(i, t) {
- const e = [],
- s = i.getMatchingVisibleMetas("line");
- for (let n = 0; n < s.length; n++) {
- const o = s[n];
- if (o.index === t) break;
- o.hidden || e.unshift(o.dataset);
- }
- return e;
-}
-function xc(i, t, e) {
- const s = [];
- for (let n = 0; n < e.length; n++) {
- const o = e[n],
- { first: r, last: a, point: l } = yc(o, t, "x");
- if (!(!l || (r && a))) {
- if (r) s.unshift(l);
- else if ((i.push(l), !a)) break;
- }
- }
- i.push(...s);
-}
-function yc(i, t, e) {
- const s = i.interpolate(t, e);
- if (!s) return {};
- const n = s[e],
- o = i.segments,
- r = i.points;
- let a = !1,
- l = !1;
- for (let c = 0; c < o.length; c++) {
- const h = o[c],
- d = r[h.start][e],
- f = r[h.end][e];
- if (Lt(n, d, f)) {
- (a = n === d), (l = n === f);
- break;
- }
- }
- return { first: a, last: l, point: s };
-}
-class ro {
- constructor(t) {
- (this.x = t.x), (this.y = t.y), (this.radius = t.radius);
- }
- pathSegment(t, e, s) {
- const { x: n, y: o, radius: r } = this;
- return (
- (e = e || { start: 0, end: z }),
- t.arc(n, o, r, e.end, e.start, !0),
- !s.bounds
- );
- }
- interpolate(t) {
- const { x: e, y: s, radius: n } = this,
- o = t.angle;
- return { x: e + Math.cos(o) * n, y: s + Math.sin(o) * n, angle: o };
- }
-}
-function vc(i) {
- const { chart: t, fill: e, line: s } = i;
- if (V(e)) return kc(t, e);
- if (e === "stack") return bc(i);
- if (e === "shape") return !0;
- const n = wc(i);
- return n instanceof ro ? n : oo(n, s);
-}
-function kc(i, t) {
- const e = i.getDatasetMeta(t);
- return e && i.isDatasetVisible(t) ? e.dataset : null;
-}
-function wc(i) {
- return (i.scale || {}).getPointPositionForValue ? Sc(i) : Mc(i);
-}
-function Mc(i) {
- const { scale: t = {}, fill: e } = i,
- s = gc(e, t);
- if (V(s)) {
- const n = t.isHorizontal();
- return { x: n ? s : null, y: n ? null : s };
- }
- return null;
-}
-function Sc(i) {
- const { scale: t, fill: e } = i,
- s = t.options,
- n = t.getLabels().length,
- o = s.reverse ? t.max : t.min,
- r = pc(e, t, o),
- a = [];
- if (s.grid.circular) {
- const l = t.getPointPositionForValue(0, o);
- return new ro({
- x: l.x,
- y: l.y,
- radius: t.getDistanceFromCenterForValue(r),
- });
- }
- for (let l = 0; l < n; ++l) a.push(t.getPointPositionForValue(l, r));
- return a;
-}
-function _i(i, t, e) {
- const s = vc(t),
- { line: n, scale: o, axis: r } = t,
- a = n.options,
- l = a.fill,
- c = a.backgroundColor,
- { above: h = c, below: d = c } = l || {};
- s &&
- n.points.length &&
- (ni(i, e),
- Cc(i, {
- line: n,
- target: s,
- above: h,
- below: d,
- area: e,
- scale: o,
- axis: r,
- }),
- oi(i));
-}
-function Cc(i, t) {
- const { line: e, target: s, above: n, below: o, area: r, scale: a } = t,
- l = e._loop ? "angle" : t.axis;
- i.save(),
- l === "x" &&
- o !== n &&
- (Zs(i, s, r.top),
- Js(i, { line: e, target: s, color: n, scale: a, property: l }),
- i.restore(),
- i.save(),
- Zs(i, s, r.bottom)),
- Js(i, { line: e, target: s, color: o, scale: a, property: l }),
- i.restore();
-}
-function Zs(i, t, e) {
- const { segments: s, points: n } = t;
- let o = !0,
- r = !1;
- i.beginPath();
- for (const a of s) {
- const { start: l, end: c } = a,
- h = n[l],
- d = n[Gi(l, c, n)];
- o
- ? (i.moveTo(h.x, h.y), (o = !1))
- : (i.lineTo(h.x, e), i.lineTo(h.x, h.y)),
- (r = !!t.pathSegment(i, a, { move: r })),
- r ? i.closePath() : i.lineTo(d.x, e);
- }
- i.lineTo(t.first().x, e), i.closePath(), i.clip();
-}
-function Js(i, t) {
- const { line: e, target: s, property: n, color: o, scale: r } = t,
- a = cc(e, s, n);
- for (const { source: l, target: c, start: h, end: d } of a) {
- const { style: { backgroundColor: f = o } = {} } = l,
- u = s !== !0;
- i.save(), (i.fillStyle = f), Pc(i, r, u && Ai(n, h, d)), i.beginPath();
- const p = !!e.pathSegment(i, l);
- let g;
- if (u) {
- p ? i.closePath() : Qs(i, s, d, n);
- const m = !!s.pathSegment(i, c, { move: p, reverse: !0 });
- (g = p && m), g || Qs(i, s, h, n);
- }
- i.closePath(), i.fill(g ? "evenodd" : "nonzero"), i.restore();
- }
-}
-function Pc(i, t, e) {
- const { top: s, bottom: n } = t.chart.chartArea,
- { property: o, start: r, end: a } = e || {};
- o === "x" && (i.beginPath(), i.rect(r, s, a - r, n - s), i.clip());
-}
-function Qs(i, t, e, s) {
- const n = t.interpolate(e, s);
- n && i.lineTo(n.x, n.y);
-}
-var Dc = {
- id: "filler",
- afterDatasetsUpdate(i, t, e) {
- const s = (i.data.datasets || []).length,
- n = [];
- let o, r, a, l;
- for (r = 0; r < s; ++r)
- (o = i.getDatasetMeta(r)),
- (a = o.dataset),
- (l = null),
- a &&
- a.options &&
- a instanceof xt &&
- (l = {
- visible: i.isDatasetVisible(r),
- index: r,
- fill: fc(a, r, s),
- chart: i,
- axis: o.controller.options.indexAxis,
- scale: o.vScale,
- line: a,
- }),
- (o.$filler = l),
- n.push(l);
- for (r = 0; r < s; ++r)
- (l = n[r]),
- !(!l || l.fill === !1) && (l.fill = dc(n, r, e.propagate));
- },
- beforeDraw(i, t, e) {
- const s = e.drawTime === "beforeDraw",
- n = i.getSortedVisibleDatasetMetas(),
- o = i.chartArea;
- for (let r = n.length - 1; r >= 0; --r) {
- const a = n[r].$filler;
- a &&
- (a.line.updateControlPoints(o, a.axis),
- s && a.fill && _i(i.ctx, a, o));
- }
- },
- beforeDatasetsDraw(i, t, e) {
- if (e.drawTime !== "beforeDatasetsDraw") return;
- const s = i.getSortedVisibleDatasetMetas();
- for (let n = s.length - 1; n >= 0; --n) {
- const o = s[n].$filler;
- Gs(o) && _i(i.ctx, o, i.chartArea);
- }
- },
- beforeDatasetDraw(i, t, e) {
- const s = t.meta.$filler;
- !Gs(s) ||
- e.drawTime !== "beforeDatasetDraw" ||
- _i(i.ctx, s, i.chartArea);
- },
- defaults: { propagate: !0, drawTime: "beforeDatasetDraw" },
-};
-const tn = (i, t) => {
- let { boxHeight: e = t, boxWidth: s = t } = i;
- return (
- i.usePointStyle &&
- ((e = Math.min(e, t)),
- (s = i.pointStyleWidth || Math.min(s, t))),
- { boxWidth: s, boxHeight: e, itemHeight: Math.max(t, e) }
- );
- },
- Oc = (i, t) =>
- i !== null &&
- t !== null &&
- i.datasetIndex === t.datasetIndex &&
- i.index === t.index;
-class en extends ht {
- constructor(t) {
- super(),
- (this._added = !1),
- (this.legendHitBoxes = []),
- (this._hoveredItem = null),
- (this.doughnutMode = !1),
- (this.chart = t.chart),
- (this.options = t.options),
- (this.ctx = t.ctx),
- (this.legendItems = void 0),
- (this.columnSizes = void 0),
- (this.lineWidths = void 0),
- (this.maxHeight = void 0),
- (this.maxWidth = void 0),
- (this.top = void 0),
- (this.bottom = void 0),
- (this.left = void 0),
- (this.right = void 0),
- (this.height = void 0),
- (this.width = void 0),
- (this._margins = void 0),
- (this.position = void 0),
- (this.weight = void 0),
- (this.fullSize = void 0);
- }
- update(t, e, s) {
- (this.maxWidth = t),
- (this.maxHeight = e),
- (this._margins = s),
- this.setDimensions(),
- this.buildLabels(),
- this.fit();
- }
- setDimensions() {
- this.isHorizontal()
- ? ((this.width = this.maxWidth),
- (this.left = this._margins.left),
- (this.right = this.width))
- : ((this.height = this.maxHeight),
- (this.top = this._margins.top),
- (this.bottom = this.height));
- }
- buildLabels() {
- const t = this.options.labels || {};
- let e = I(t.generateLabels, [this.chart], this) || [];
- t.filter && (e = e.filter((s) => t.filter(s, this.chart.data))),
- t.sort && (e = e.sort((s, n) => t.sort(s, n, this.chart.data))),
- this.options.reverse && e.reverse(),
- (this.legendItems = e);
- }
- fit() {
- const { options: t, ctx: e } = this;
- if (!t.display) {
- this.width = this.height = 0;
- return;
- }
- const s = t.labels,
- n = U(s.font),
- o = n.size,
- r = this._computeTitleHeight(),
- { boxWidth: a, itemHeight: l } = tn(s, o);
- let c, h;
- (e.font = n.string),
- this.isHorizontal()
- ? ((c = this.maxWidth), (h = this._fitRows(r, o, a, l) + 10))
- : ((h = this.maxHeight), (c = this._fitCols(r, n, a, l) + 10)),
- (this.width = Math.min(c, t.maxWidth || this.maxWidth)),
- (this.height = Math.min(h, t.maxHeight || this.maxHeight));
- }
- _fitRows(t, e, s, n) {
- const {
- ctx: o,
- maxWidth: r,
- options: {
- labels: { padding: a },
- },
- } = this,
- l = (this.legendHitBoxes = []),
- c = (this.lineWidths = [0]),
- h = n + a;
- let d = t;
- (o.textAlign = "left"), (o.textBaseline = "middle");
- let f = -1,
- u = -h;
- return (
- this.legendItems.forEach((p, g) => {
- const m = s + e / 2 + o.measureText(p.text).width;
- (g === 0 || c[c.length - 1] + m + 2 * a > r) &&
- ((d += h),
- (c[c.length - (g > 0 ? 0 : 1)] = 0),
- (u += h),
- f++),
- (l[g] = { left: 0, top: u, row: f, width: m, height: n }),
- (c[c.length - 1] += m + a);
- }),
- d
- );
- }
- _fitCols(t, e, s, n) {
- const {
- ctx: o,
- maxHeight: r,
- options: {
- labels: { padding: a },
- },
- } = this,
- l = (this.legendHitBoxes = []),
- c = (this.columnSizes = []),
- h = r - t;
- let d = a,
- f = 0,
- u = 0,
- p = 0,
- g = 0;
- return (
- this.legendItems.forEach((m, b) => {
- const { itemWidth: _, itemHeight: y } = Ac(s, e, o, m, n);
- b > 0 &&
- u + y + 2 * a > h &&
- ((d += f + a),
- c.push({ width: f, height: u }),
- (p += f + a),
- g++,
- (f = u = 0)),
- (l[b] = { left: p, top: u, col: g, width: _, height: y }),
- (f = Math.max(f, _)),
- (u += y + a);
- }),
- (d += f),
- c.push({ width: f, height: u }),
- d
- );
- }
- adjustHitBoxes() {
- if (!this.options.display) return;
- const t = this._computeTitleHeight(),
- {
- legendHitBoxes: e,
- options: {
- align: s,
- labels: { padding: n },
- rtl: o,
- },
- } = this,
- r = Ut(o, this.left, this.width);
- if (this.isHorizontal()) {
- let a = 0,
- l = q(s, this.left + n, this.right - this.lineWidths[a]);
- for (const c of e)
- a !== c.row &&
- ((a = c.row),
- (l = q(s, this.left + n, this.right - this.lineWidths[a]))),
- (c.top += this.top + t + n),
- (c.left = r.leftForLtr(r.x(l), c.width)),
- (l += c.width + n);
- } else {
- let a = 0,
- l = q(
- s,
- this.top + t + n,
- this.bottom - this.columnSizes[a].height
- );
- for (const c of e)
- c.col !== a &&
- ((a = c.col),
- (l = q(
- s,
- this.top + t + n,
- this.bottom - this.columnSizes[a].height
- ))),
- (c.top = l),
- (c.left += this.left + n),
- (c.left = r.leftForLtr(r.x(c.left), c.width)),
- (l += c.height + n);
- }
- }
- isHorizontal() {
- return (
- this.options.position === "top" ||
- this.options.position === "bottom"
- );
- }
- draw() {
- if (this.options.display) {
- const t = this.ctx;
- ni(t, this), this._draw(), oi(t);
- }
- }
- _draw() {
- const { options: t, columnSizes: e, lineWidths: s, ctx: n } = this,
- { align: o, labels: r } = t,
- a = j.color,
- l = Ut(t.rtl, this.left, this.width),
- c = U(r.font),
- { padding: h } = r,
- d = c.size,
- f = d / 2;
- let u;
- this.drawTitle(),
- (n.textAlign = l.textAlign("left")),
- (n.textBaseline = "middle"),
- (n.lineWidth = 0.5),
- (n.font = c.string);
- const { boxWidth: p, boxHeight: g, itemHeight: m } = tn(r, d),
- b = function (M, S, k) {
- if (isNaN(p) || p <= 0 || isNaN(g) || g < 0) return;
- n.save();
- const C = D(k.lineWidth, 1);
- if (
- ((n.fillStyle = D(k.fillStyle, a)),
- (n.lineCap = D(k.lineCap, "butt")),
- (n.lineDashOffset = D(k.lineDashOffset, 0)),
- (n.lineJoin = D(k.lineJoin, "miter")),
- (n.lineWidth = C),
- (n.strokeStyle = D(k.strokeStyle, a)),
- n.setLineDash(D(k.lineDash, [])),
- r.usePointStyle)
- ) {
- const O = {
- radius: (g * Math.SQRT2) / 2,
- pointStyle: k.pointStyle,
- rotation: k.rotation,
- borderWidth: C,
- },
- P = l.xPlus(M, p / 2),
- T = S + f;
- In(n, O, P, T, r.pointStyleWidth && p);
- } else {
- const O = S + Math.max((d - g) / 2, 0),
- P = l.leftForLtr(M, p),
- T = Yt(k.borderRadius);
- n.beginPath(),
- Object.values(T).some((X) => X !== 0)
- ? Ge(n, { x: P, y: O, w: p, h: g, radius: T })
- : n.rect(P, O, p, g),
- n.fill(),
- C !== 0 && n.stroke();
- }
- n.restore();
- },
- _ = function (M, S, k) {
- Et(n, k.text, M, S + m / 2, c, {
- strikethrough: k.hidden,
- textAlign: l.textAlign(k.textAlign),
- });
- },
- y = this.isHorizontal(),
- v = this._computeTitleHeight();
- y
- ? (u = {
- x: q(o, this.left + h, this.right - s[0]),
- y: this.top + h + v,
- line: 0,
- })
- : (u = {
- x: this.left + h,
- y: q(o, this.top + v + h, this.bottom - e[0].height),
- line: 0,
- }),
- Nn(this.ctx, t.textDirection);
- const x = m + h;
- this.legendItems.forEach((M, S) => {
- (n.strokeStyle = M.fontColor), (n.fillStyle = M.fontColor);
- const k = n.measureText(M.text).width,
- C = l.textAlign(M.textAlign || (M.textAlign = r.textAlign)),
- O = p + f + k;
- let P = u.x,
- T = u.y;
- l.setWidth(this.width),
- y
- ? S > 0 &&
- P + O + h > this.right &&
- ((T = u.y += x),
- u.line++,
- (P = u.x = q(o, this.left + h, this.right - s[u.line])))
- : S > 0 &&
- T + x > this.bottom &&
- ((P = u.x = P + e[u.line].width + h),
- u.line++,
- (T = u.y =
- q(
- o,
- this.top + v + h,
- this.bottom - e[u.line].height
- )));
- const X = l.x(P);
- if (
- (b(X, T, M),
- (P = vr(C, P + p + f, y ? P + O : this.right, t.rtl)),
- _(l.x(P), T, M),
- y)
- )
- u.x += O + h;
- else if (typeof M.text != "string") {
- const tt = c.lineHeight;
- u.y += ao(M, tt) + h;
- } else u.y += x;
- }),
- Vn(this.ctx, t.textDirection);
- }
- drawTitle() {
- const t = this.options,
- e = t.title,
- s = U(e.font),
- n = G(e.padding);
- if (!e.display) return;
- const o = Ut(t.rtl, this.left, this.width),
- r = this.ctx,
- a = e.position,
- l = s.size / 2,
- c = n.top + l;
- let h,
- d = this.left,
- f = this.width;
- if (this.isHorizontal())
- (f = Math.max(...this.lineWidths)),
- (h = this.top + c),
- (d = q(t.align, d, this.right - f));
- else {
- const p = this.columnSizes.reduce(
- (g, m) => Math.max(g, m.height),
- 0
- );
- h =
- c +
- q(
- t.align,
- this.top,
- this.bottom -
- p -
- t.labels.padding -
- this._computeTitleHeight()
- );
- }
- const u = q(a, d, d + f);
- (r.textAlign = o.textAlign(Ni(a))),
- (r.textBaseline = "middle"),
- (r.strokeStyle = e.color),
- (r.fillStyle = e.color),
- (r.font = s.string),
- Et(r, e.text, u, h, s);
- }
- _computeTitleHeight() {
- const t = this.options.title,
- e = U(t.font),
- s = G(t.padding);
- return t.display ? e.lineHeight + s.height : 0;
- }
- _getLegendItemAt(t, e) {
- let s, n, o;
- if (Lt(t, this.left, this.right) && Lt(e, this.top, this.bottom)) {
- for (o = this.legendHitBoxes, s = 0; s < o.length; ++s)
- if (
- ((n = o[s]),
- Lt(t, n.left, n.left + n.width) &&
- Lt(e, n.top, n.top + n.height))
- )
- return this.legendItems[s];
- }
- return null;
- }
- handleEvent(t) {
- const e = this.options;
- if (!Rc(t.type, e)) return;
- const s = this._getLegendItemAt(t.x, t.y);
- if (t.type === "mousemove" || t.type === "mouseout") {
- const n = this._hoveredItem,
- o = Oc(n, s);
- n && !o && I(e.onLeave, [t, n, this], this),
- (this._hoveredItem = s),
- s && !o && I(e.onHover, [t, s, this], this);
- } else s && I(e.onClick, [t, s, this], this);
- }
-}
-function Ac(i, t, e, s, n) {
- const o = Tc(s, i, t, e),
- r = Lc(n, s, t.lineHeight);
- return { itemWidth: o, itemHeight: r };
-}
-function Tc(i, t, e, s) {
- let n = i.text;
- return (
- n &&
- typeof n != "string" &&
- (n = n.reduce((o, r) => (o.length > r.length ? o : r))),
- t + e.size / 2 + s.measureText(n).width
- );
-}
-function Lc(i, t, e) {
- let s = i;
- return typeof t.text != "string" && (s = ao(t, e)), s;
-}
-function ao(i, t) {
- const e = i.text ? i.text.length : 0;
- return t * e;
-}
-function Rc(i, t) {
- return !!(
- ((i === "mousemove" || i === "mouseout") && (t.onHover || t.onLeave)) ||
- (t.onClick && (i === "click" || i === "mouseup"))
- );
-}
-var Fc = {
- id: "legend",
- _element: en,
- start(i, t, e) {
- const s = (i.legend = new en({ ctx: i.ctx, options: e, chart: i }));
- nt.configure(i, s, e), nt.addBox(i, s);
- },
- stop(i) {
- nt.removeBox(i, i.legend), delete i.legend;
- },
- beforeUpdate(i, t, e) {
- const s = i.legend;
- nt.configure(i, s, e), (s.options = e);
- },
- afterUpdate(i) {
- const t = i.legend;
- t.buildLabels(), t.adjustHitBoxes();
- },
- afterEvent(i, t) {
- t.replay || i.legend.handleEvent(t.event);
- },
- defaults: {
- display: !0,
- position: "top",
- align: "center",
- fullSize: !0,
- reverse: !1,
- weight: 1e3,
- onClick(i, t, e) {
- const s = t.datasetIndex,
- n = e.chart;
- n.isDatasetVisible(s)
- ? (n.hide(s), (t.hidden = !0))
- : (n.show(s), (t.hidden = !1));
- },
- onHover: null,
- onLeave: null,
- labels: {
- color: (i) => i.chart.options.color,
- boxWidth: 40,
- padding: 10,
- generateLabels(i) {
- const t = i.data.datasets,
- {
- labels: {
- usePointStyle: e,
- pointStyle: s,
- textAlign: n,
- color: o,
- useBorderRadius: r,
- borderRadius: a,
- },
- } = i.legend.options;
- return i._getSortedDatasetMetas().map((l) => {
- const c = l.controller.getStyle(e ? 0 : void 0),
- h = G(c.borderWidth);
- return {
- text: t[l.index].label,
- fillStyle: c.backgroundColor,
- fontColor: o,
- hidden: !l.visible,
- lineCap: c.borderCapStyle,
- lineDash: c.borderDash,
- lineDashOffset: c.borderDashOffset,
- lineJoin: c.borderJoinStyle,
- lineWidth: (h.width + h.height) / 4,
- strokeStyle: c.borderColor,
- pointStyle: s || c.pointStyle,
- rotation: c.rotation,
- textAlign: n || c.textAlign,
- borderRadius: r && (a || c.borderRadius),
- datasetIndex: l.index,
- };
- }, this);
- },
- },
- title: {
- color: (i) => i.chart.options.color,
- display: !1,
- position: "center",
- text: "",
- },
- },
- descriptors: {
- _scriptable: (i) => !i.startsWith("on"),
- labels: {
- _scriptable: (i) =>
- !["generateLabels", "filter", "sort"].includes(i),
- },
- },
-};
-class lo extends ht {
- constructor(t) {
- super(),
- (this.chart = t.chart),
- (this.options = t.options),
- (this.ctx = t.ctx),
- (this._padding = void 0),
- (this.top = void 0),
- (this.bottom = void 0),
- (this.left = void 0),
- (this.right = void 0),
- (this.width = void 0),
- (this.height = void 0),
- (this.position = void 0),
- (this.weight = void 0),
- (this.fullSize = void 0);
- }
- update(t, e) {
- const s = this.options;
- if (((this.left = 0), (this.top = 0), !s.display)) {
- this.width = this.height = this.right = this.bottom = 0;
- return;
- }
- (this.width = this.right = t), (this.height = this.bottom = e);
- const n = H(s.text) ? s.text.length : 1;
- this._padding = G(s.padding);
- const o = n * U(s.font).lineHeight + this._padding.height;
- this.isHorizontal() ? (this.height = o) : (this.width = o);
- }
- isHorizontal() {
- const t = this.options.position;
- return t === "top" || t === "bottom";
- }
- _drawArgs(t) {
- const { top: e, left: s, bottom: n, right: o, options: r } = this,
- a = r.align;
- let l = 0,
- c,
- h,
- d;
- return (
- this.isHorizontal()
- ? ((h = q(a, s, o)), (d = e + t), (c = o - s))
- : (r.position === "left"
- ? ((h = s + t), (d = q(a, n, e)), (l = N * -0.5))
- : ((h = o - t), (d = q(a, e, n)), (l = N * 0.5)),
- (c = n - e)),
- { titleX: h, titleY: d, maxWidth: c, rotation: l }
- );
- }
- draw() {
- const t = this.ctx,
- e = this.options;
- if (!e.display) return;
- const s = U(e.font),
- o = s.lineHeight / 2 + this._padding.top,
- {
- titleX: r,
- titleY: a,
- maxWidth: l,
- rotation: c,
- } = this._drawArgs(o);
- Et(t, e.text, 0, 0, s, {
- color: e.color,
- maxWidth: l,
- rotation: c,
- textAlign: Ni(e.align),
- textBaseline: "middle",
- translation: [r, a],
- });
- }
-}
-function Ic(i, t) {
- const e = new lo({ ctx: i.ctx, options: t, chart: i });
- nt.configure(i, e, t), nt.addBox(i, e), (i.titleBlock = e);
-}
-var Ec = {
- id: "title",
- _element: lo,
- start(i, t, e) {
- Ic(i, e);
- },
- stop(i) {
- const t = i.titleBlock;
- nt.removeBox(i, t), delete i.titleBlock;
- },
- beforeUpdate(i, t, e) {
- const s = i.titleBlock;
- nt.configure(i, s, e), (s.options = e);
- },
- defaults: {
- align: "center",
- display: !1,
- font: { weight: "bold" },
- fullSize: !0,
- padding: 10,
- position: "top",
- text: "",
- weight: 2e3,
- },
- defaultRoutes: { color: "color" },
- descriptors: { _scriptable: !0, _indexable: !1 },
-};
-const he = {
- average(i) {
- if (!i.length) return !1;
- let t,
- e,
- s = 0,
- n = 0,
- o = 0;
- for (t = 0, e = i.length; t < e; ++t) {
- const r = i[t].element;
- if (r && r.hasValue()) {
- const a = r.tooltipPosition();
- (s += a.x), (n += a.y), ++o;
- }
- }
- return { x: s / o, y: n / o };
- },
- nearest(i, t) {
- if (!i.length) return !1;
- let e = t.x,
- s = t.y,
- n = Number.POSITIVE_INFINITY,
- o,
- r,
- a;
- for (o = 0, r = i.length; o < r; ++o) {
- const l = i[o].element;
- if (l && l.hasValue()) {
- const c = l.getCenterPoint(),
- h = wi(t, c);
- h < n && ((n = h), (a = l));
- }
- }
- if (a) {
- const l = a.tooltipPosition();
- (e = l.x), (s = l.y);
- }
- return { x: e, y: s };
- },
-};
-function at(i, t) {
- return t && (H(t) ? Array.prototype.push.apply(i, t) : i.push(t)), i;
-}
-function ut(i) {
- return (typeof i == "string" || i instanceof String) &&
- i.indexOf(`
-`) > -1
- ? i.split(`
-`)
- : i;
-}
-function zc(i, t) {
- const { element: e, datasetIndex: s, index: n } = t,
- o = i.getDatasetMeta(s).controller,
- { label: r, value: a } = o.getLabelAndValue(n);
- return {
- chart: i,
- label: r,
- parsed: o.getParsed(n),
- raw: i.data.datasets[s].data[n],
- formattedValue: a,
- dataset: o.getDataset(),
- dataIndex: n,
- datasetIndex: s,
- element: e,
- };
-}
-function sn(i, t) {
- const e = i.chart.ctx,
- { body: s, footer: n, title: o } = i,
- { boxWidth: r, boxHeight: a } = t,
- l = U(t.bodyFont),
- c = U(t.titleFont),
- h = U(t.footerFont),
- d = o.length,
- f = n.length,
- u = s.length,
- p = G(t.padding);
- let g = p.height,
- m = 0,
- b = s.reduce(
- (v, x) => v + x.before.length + x.lines.length + x.after.length,
- 0
- );
- if (
- ((b += i.beforeBody.length + i.afterBody.length),
- d &&
- (g +=
- d * c.lineHeight +
- (d - 1) * t.titleSpacing +
- t.titleMarginBottom),
- b)
- ) {
- const v = t.displayColors ? Math.max(a, l.lineHeight) : l.lineHeight;
- g += u * v + (b - u) * l.lineHeight + (b - 1) * t.bodySpacing;
- }
- f &&
- (g += t.footerMarginTop + f * h.lineHeight + (f - 1) * t.footerSpacing);
- let _ = 0;
- const y = function (v) {
- m = Math.max(m, e.measureText(v).width + _);
- };
- return (
- e.save(),
- (e.font = c.string),
- R(i.title, y),
- (e.font = l.string),
- R(i.beforeBody.concat(i.afterBody), y),
- (_ = t.displayColors ? r + 2 + t.boxPadding : 0),
- R(s, (v) => {
- R(v.before, y), R(v.lines, y), R(v.after, y);
- }),
- (_ = 0),
- (e.font = h.string),
- R(i.footer, y),
- e.restore(),
- (m += p.width),
- { width: m, height: g }
- );
-}
-function Bc(i, t) {
- const { y: e, height: s } = t;
- return e < s / 2 ? "top" : e > i.height - s / 2 ? "bottom" : "center";
-}
-function Wc(i, t, e, s) {
- const { x: n, width: o } = s,
- r = e.caretSize + e.caretPadding;
- if (
- (i === "left" && n + o + r > t.width) ||
- (i === "right" && n - o - r < 0)
- )
- return !0;
-}
-function Hc(i, t, e, s) {
- const { x: n, width: o } = e,
- {
- width: r,
- chartArea: { left: a, right: l },
- } = i;
- let c = "center";
- return (
- s === "center"
- ? (c = n <= (a + l) / 2 ? "left" : "right")
- : n <= o / 2
- ? (c = "left")
- : n >= r - o / 2 && (c = "right"),
- Wc(c, i, t, e) && (c = "center"),
- c
- );
-}
-function nn(i, t, e) {
- const s = e.yAlign || t.yAlign || Bc(i, e);
- return { xAlign: e.xAlign || t.xAlign || Hc(i, t, e, s), yAlign: s };
-}
-function Nc(i, t) {
- let { x: e, width: s } = i;
- return t === "right" ? (e -= s) : t === "center" && (e -= s / 2), e;
-}
-function Vc(i, t, e) {
- let { y: s, height: n } = i;
- return (
- t === "top" ? (s += e) : t === "bottom" ? (s -= n + e) : (s -= n / 2), s
- );
-}
-function on(i, t, e, s) {
- const { caretSize: n, caretPadding: o, cornerRadius: r } = i,
- { xAlign: a, yAlign: l } = e,
- c = n + o,
- { topLeft: h, topRight: d, bottomLeft: f, bottomRight: u } = Yt(r);
- let p = Nc(t, a);
- const g = Vc(t, l, c);
- return (
- l === "center"
- ? a === "left"
- ? (p += c)
- : a === "right" && (p -= c)
- : a === "left"
- ? (p -= Math.max(h, f) + n)
- : a === "right" && (p += Math.max(d, u) + n),
- { x: Z(p, 0, s.width - t.width), y: Z(g, 0, s.height - t.height) }
- );
-}
-function Be(i, t, e) {
- const s = G(e.padding);
- return t === "center"
- ? i.x + i.width / 2
- : t === "right"
- ? i.x + i.width - s.right
- : i.x + s.left;
-}
-function rn(i) {
- return at([], ut(i));
-}
-function jc(i, t, e) {
- return kt(i, { tooltip: t, tooltipItems: e, type: "tooltip" });
-}
-function an(i, t) {
- const e =
- t && t.dataset && t.dataset.tooltip && t.dataset.tooltip.callbacks;
- return e ? i.override(e) : i;
-}
-const co = {
- beforeTitle: dt,
- title(i) {
- if (i.length > 0) {
- const t = i[0],
- e = t.chart.data.labels,
- s = e ? e.length : 0;
- if (this && this.options && this.options.mode === "dataset")
- return t.dataset.label || "";
- if (t.label) return t.label;
- if (s > 0 && t.dataIndex < s) return e[t.dataIndex];
- }
- return "";
- },
- afterTitle: dt,
- beforeBody: dt,
- beforeLabel: dt,
- label(i) {
- if (this && this.options && this.options.mode === "dataset")
- return i.label + ": " + i.formattedValue || i.formattedValue;
- let t = i.dataset.label || "";
- t && (t += ": ");
- const e = i.formattedValue;
- return E(e) || (t += e), t;
- },
- labelColor(i) {
- const e = i.chart
- .getDatasetMeta(i.datasetIndex)
- .controller.getStyle(i.dataIndex);
- return {
- borderColor: e.borderColor,
- backgroundColor: e.backgroundColor,
- borderWidth: e.borderWidth,
- borderDash: e.borderDash,
- borderDashOffset: e.borderDashOffset,
- borderRadius: 0,
- };
- },
- labelTextColor() {
- return this.options.bodyColor;
- },
- labelPointStyle(i) {
- const e = i.chart
- .getDatasetMeta(i.datasetIndex)
- .controller.getStyle(i.dataIndex);
- return { pointStyle: e.pointStyle, rotation: e.rotation };
- },
- afterLabel: dt,
- afterBody: dt,
- beforeFooter: dt,
- footer: dt,
- afterFooter: dt,
-};
-function J(i, t, e, s) {
- const n = i[t].call(e, s);
- return typeof n == "undefined" ? co[t].call(e, s) : n;
-}
-class Ti extends ht {
- constructor(t) {
- super(),
- (this.opacity = 0),
- (this._active = []),
- (this._eventPosition = void 0),
- (this._size = void 0),
- (this._cachedAnimations = void 0),
- (this._tooltipItems = []),
- (this.$animations = void 0),
- (this.$context = void 0),
- (this.chart = t.chart),
- (this.options = t.options),
- (this.dataPoints = void 0),
- (this.title = void 0),
- (this.beforeBody = void 0),
- (this.body = void 0),
- (this.afterBody = void 0),
- (this.footer = void 0),
- (this.xAlign = void 0),
- (this.yAlign = void 0),
- (this.x = void 0),
- (this.y = void 0),
- (this.height = void 0),
- (this.width = void 0),
- (this.caretX = void 0),
- (this.caretY = void 0),
- (this.labelColors = void 0),
- (this.labelPointStyles = void 0),
- (this.labelTextColors = void 0);
- }
- initialize(t) {
- (this.options = t),
- (this._cachedAnimations = void 0),
- (this.$context = void 0);
- }
- _resolveAnimations() {
- const t = this._cachedAnimations;
- if (t) return t;
- const e = this.chart,
- s = this.options.setContext(this.getContext()),
- n = s.enabled && e.options.animation && s.animations,
- o = new Un(this.chart, n);
- return n._cacheable && (this._cachedAnimations = Object.freeze(o)), o;
- }
- getContext() {
- return (
- this.$context ||
- (this.$context = jc(
- this.chart.getContext(),
- this,
- this._tooltipItems
- ))
- );
- }
- getTitle(t, e) {
- const { callbacks: s } = e,
- n = J(s, "beforeTitle", this, t),
- o = J(s, "title", this, t),
- r = J(s, "afterTitle", this, t);
- let a = [];
- return (a = at(a, ut(n))), (a = at(a, ut(o))), (a = at(a, ut(r))), a;
- }
- getBeforeBody(t, e) {
- return rn(J(e.callbacks, "beforeBody", this, t));
- }
- getBody(t, e) {
- const { callbacks: s } = e,
- n = [];
- return (
- R(t, (o) => {
- const r = { before: [], lines: [], after: [] },
- a = an(s, o);
- at(r.before, ut(J(a, "beforeLabel", this, o))),
- at(r.lines, J(a, "label", this, o)),
- at(r.after, ut(J(a, "afterLabel", this, o))),
- n.push(r);
- }),
- n
- );
- }
- getAfterBody(t, e) {
- return rn(J(e.callbacks, "afterBody", this, t));
- }
- getFooter(t, e) {
- const { callbacks: s } = e,
- n = J(s, "beforeFooter", this, t),
- o = J(s, "footer", this, t),
- r = J(s, "afterFooter", this, t);
- let a = [];
- return (a = at(a, ut(n))), (a = at(a, ut(o))), (a = at(a, ut(r))), a;
- }
- _createItems(t) {
- const e = this._active,
- s = this.chart.data,
- n = [],
- o = [],
- r = [];
- let a = [],
- l,
- c;
- for (l = 0, c = e.length; l < c; ++l) a.push(zc(this.chart, e[l]));
- return (
- t.filter && (a = a.filter((h, d, f) => t.filter(h, d, f, s))),
- t.itemSort && (a = a.sort((h, d) => t.itemSort(h, d, s))),
- R(a, (h) => {
- const d = an(t.callbacks, h);
- n.push(J(d, "labelColor", this, h)),
- o.push(J(d, "labelPointStyle", this, h)),
- r.push(J(d, "labelTextColor", this, h));
- }),
- (this.labelColors = n),
- (this.labelPointStyles = o),
- (this.labelTextColors = r),
- (this.dataPoints = a),
- a
- );
- }
- update(t, e) {
- const s = this.options.setContext(this.getContext()),
- n = this._active;
- let o,
- r = [];
- if (!n.length) this.opacity !== 0 && (o = { opacity: 0 });
- else {
- const a = he[s.position].call(this, n, this._eventPosition);
- (r = this._createItems(s)),
- (this.title = this.getTitle(r, s)),
- (this.beforeBody = this.getBeforeBody(r, s)),
- (this.body = this.getBody(r, s)),
- (this.afterBody = this.getAfterBody(r, s)),
- (this.footer = this.getFooter(r, s));
- const l = (this._size = sn(this, s)),
- c = Object.assign({}, a, l),
- h = nn(this.chart, s, c),
- d = on(s, c, h, this.chart);
- (this.xAlign = h.xAlign),
- (this.yAlign = h.yAlign),
- (o = {
- opacity: 1,
- x: d.x,
- y: d.y,
- width: l.width,
- height: l.height,
- caretX: a.x,
- caretY: a.y,
- });
- }
- (this._tooltipItems = r),
- (this.$context = void 0),
- o && this._resolveAnimations().update(this, o),
- t &&
- s.external &&
- s.external.call(this, {
- chart: this.chart,
- tooltip: this,
- replay: e,
- });
- }
- drawCaret(t, e, s, n) {
- const o = this.getCaretPosition(t, s, n);
- e.lineTo(o.x1, o.y1), e.lineTo(o.x2, o.y2), e.lineTo(o.x3, o.y3);
- }
- getCaretPosition(t, e, s) {
- const { xAlign: n, yAlign: o } = this,
- { caretSize: r, cornerRadius: a } = s,
- { topLeft: l, topRight: c, bottomLeft: h, bottomRight: d } = Yt(a),
- { x: f, y: u } = t,
- { width: p, height: g } = e;
- let m, b, _, y, v, x;
- return (
- o === "center"
- ? ((v = u + g / 2),
- n === "left"
- ? ((m = f), (b = m - r), (y = v + r), (x = v - r))
- : ((m = f + p), (b = m + r), (y = v - r), (x = v + r)),
- (_ = m))
- : (n === "left"
- ? (b = f + Math.max(l, h) + r)
- : n === "right"
- ? (b = f + p - Math.max(c, d) - r)
- : (b = this.caretX),
- o === "top"
- ? ((y = u), (v = y - r), (m = b - r), (_ = b + r))
- : ((y = u + g), (v = y + r), (m = b + r), (_ = b - r)),
- (x = y)),
- { x1: m, x2: b, x3: _, y1: y, y2: v, y3: x }
- );
- }
- drawTitle(t, e, s) {
- const n = this.title,
- o = n.length;
- let r, a, l;
- if (o) {
- const c = Ut(s.rtl, this.x, this.width);
- for (
- t.x = Be(this, s.titleAlign, s),
- e.textAlign = c.textAlign(s.titleAlign),
- e.textBaseline = "middle",
- r = U(s.titleFont),
- a = s.titleSpacing,
- e.fillStyle = s.titleColor,
- e.font = r.string,
- l = 0;
- l < o;
- ++l
- )
- e.fillText(n[l], c.x(t.x), t.y + r.lineHeight / 2),
- (t.y += r.lineHeight + a),
- l + 1 === o && (t.y += s.titleMarginBottom - a);
- }
- }
- _drawColorBox(t, e, s, n, o) {
- const r = this.labelColors[s],
- a = this.labelPointStyles[s],
- { boxHeight: l, boxWidth: c } = o,
- h = U(o.bodyFont),
- d = Be(this, "left", o),
- f = n.x(d),
- u = l < h.lineHeight ? (h.lineHeight - l) / 2 : 0,
- p = e.y + u;
- if (o.usePointStyle) {
- const g = {
- radius: Math.min(c, l) / 2,
- pointStyle: a.pointStyle,
- rotation: a.rotation,
- borderWidth: 1,
- },
- m = n.leftForLtr(f, c) + c / 2,
- b = p + l / 2;
- (t.strokeStyle = o.multiKeyBackground),
- (t.fillStyle = o.multiKeyBackground),
- Si(t, g, m, b),
- (t.strokeStyle = r.borderColor),
- (t.fillStyle = r.backgroundColor),
- Si(t, g, m, b);
- } else {
- (t.lineWidth = A(r.borderWidth)
- ? Math.max(...Object.values(r.borderWidth))
- : r.borderWidth || 1),
- (t.strokeStyle = r.borderColor),
- t.setLineDash(r.borderDash || []),
- (t.lineDashOffset = r.borderDashOffset || 0);
- const g = n.leftForLtr(f, c),
- m = n.leftForLtr(n.xPlus(f, 1), c - 2),
- b = Yt(r.borderRadius);
- Object.values(b).some((_) => _ !== 0)
- ? (t.beginPath(),
- (t.fillStyle = o.multiKeyBackground),
- Ge(t, { x: g, y: p, w: c, h: l, radius: b }),
- t.fill(),
- t.stroke(),
- (t.fillStyle = r.backgroundColor),
- t.beginPath(),
- Ge(t, { x: m, y: p + 1, w: c - 2, h: l - 2, radius: b }),
- t.fill())
- : ((t.fillStyle = o.multiKeyBackground),
- t.fillRect(g, p, c, l),
- t.strokeRect(g, p, c, l),
- (t.fillStyle = r.backgroundColor),
- t.fillRect(m, p + 1, c - 2, l - 2));
- }
- t.fillStyle = this.labelTextColors[s];
- }
- drawBody(t, e, s) {
- const { body: n } = this,
- {
- bodySpacing: o,
- bodyAlign: r,
- displayColors: a,
- boxHeight: l,
- boxWidth: c,
- boxPadding: h,
- } = s,
- d = U(s.bodyFont);
- let f = d.lineHeight,
- u = 0;
- const p = Ut(s.rtl, this.x, this.width),
- g = function (k) {
- e.fillText(k, p.x(t.x + u), t.y + f / 2), (t.y += f + o);
- },
- m = p.textAlign(r);
- let b, _, y, v, x, M, S;
- for (
- e.textAlign = r,
- e.textBaseline = "middle",
- e.font = d.string,
- t.x = Be(this, m, s),
- e.fillStyle = s.bodyColor,
- R(this.beforeBody, g),
- u =
- a && m !== "right"
- ? r === "center"
- ? c / 2 + h
- : c + 2 + h
- : 0,
- v = 0,
- M = n.length;
- v < M;
- ++v
- ) {
- for (
- b = n[v],
- _ = this.labelTextColors[v],
- e.fillStyle = _,
- R(b.before, g),
- y = b.lines,
- a &&
- y.length &&
- (this._drawColorBox(e, t, v, p, s),
- (f = Math.max(d.lineHeight, l))),
- x = 0,
- S = y.length;
- x < S;
- ++x
- )
- g(y[x]), (f = d.lineHeight);
- R(b.after, g);
- }
- (u = 0), (f = d.lineHeight), R(this.afterBody, g), (t.y -= o);
- }
- drawFooter(t, e, s) {
- const n = this.footer,
- o = n.length;
- let r, a;
- if (o) {
- const l = Ut(s.rtl, this.x, this.width);
- for (
- t.x = Be(this, s.footerAlign, s),
- t.y += s.footerMarginTop,
- e.textAlign = l.textAlign(s.footerAlign),
- e.textBaseline = "middle",
- r = U(s.footerFont),
- e.fillStyle = s.footerColor,
- e.font = r.string,
- a = 0;
- a < o;
- ++a
- )
- e.fillText(n[a], l.x(t.x), t.y + r.lineHeight / 2),
- (t.y += r.lineHeight + s.footerSpacing);
- }
- }
- drawBackground(t, e, s, n) {
- const { xAlign: o, yAlign: r } = this,
- { x: a, y: l } = t,
- { width: c, height: h } = s,
- {
- topLeft: d,
- topRight: f,
- bottomLeft: u,
- bottomRight: p,
- } = Yt(n.cornerRadius);
- (e.fillStyle = n.backgroundColor),
- (e.strokeStyle = n.borderColor),
- (e.lineWidth = n.borderWidth),
- e.beginPath(),
- e.moveTo(a + d, l),
- r === "top" && this.drawCaret(t, e, s, n),
- e.lineTo(a + c - f, l),
- e.quadraticCurveTo(a + c, l, a + c, l + f),
- r === "center" && o === "right" && this.drawCaret(t, e, s, n),
- e.lineTo(a + c, l + h - p),
- e.quadraticCurveTo(a + c, l + h, a + c - p, l + h),
- r === "bottom" && this.drawCaret(t, e, s, n),
- e.lineTo(a + u, l + h),
- e.quadraticCurveTo(a, l + h, a, l + h - u),
- r === "center" && o === "left" && this.drawCaret(t, e, s, n),
- e.lineTo(a, l + d),
- e.quadraticCurveTo(a, l, a + d, l),
- e.closePath(),
- e.fill(),
- n.borderWidth > 0 && e.stroke();
- }
- _updateAnimationTarget(t) {
- const e = this.chart,
- s = this.$animations,
- n = s && s.x,
- o = s && s.y;
- if (n || o) {
- const r = he[t.position].call(
- this,
- this._active,
- this._eventPosition
- );
- if (!r) return;
- const a = (this._size = sn(this, t)),
- l = Object.assign({}, r, this._size),
- c = nn(e, t, l),
- h = on(t, l, c, e);
- (n._to !== h.x || o._to !== h.y) &&
- ((this.xAlign = c.xAlign),
- (this.yAlign = c.yAlign),
- (this.width = a.width),
- (this.height = a.height),
- (this.caretX = r.x),
- (this.caretY = r.y),
- this._resolveAnimations().update(this, h));
- }
- }
- _willRender() {
- return !!this.opacity;
- }
- draw(t) {
- const e = this.options.setContext(this.getContext());
- let s = this.opacity;
- if (!s) return;
- this._updateAnimationTarget(e);
- const n = { width: this.width, height: this.height },
- o = { x: this.x, y: this.y };
- s = Math.abs(s) < 0.001 ? 0 : s;
- const r = G(e.padding),
- a =
- this.title.length ||
- this.beforeBody.length ||
- this.body.length ||
- this.afterBody.length ||
- this.footer.length;
- e.enabled &&
- a &&
- (t.save(),
- (t.globalAlpha = s),
- this.drawBackground(o, t, n, e),
- Nn(t, e.textDirection),
- (o.y += r.top),
- this.drawTitle(o, t, e),
- this.drawBody(o, t, e),
- this.drawFooter(o, t, e),
- Vn(t, e.textDirection),
- t.restore());
- }
- getActiveElements() {
- return this._active || [];
- }
- setActiveElements(t, e) {
- const s = this._active,
- n = t.map(({ datasetIndex: a, index: l }) => {
- const c = this.chart.getDatasetMeta(a);
- if (!c) throw new Error("Cannot find a dataset at index " + a);
- return { datasetIndex: a, element: c.data[l], index: l };
- }),
- o = !Ye(s, n),
- r = this._positionChanged(n, e);
- (o || r) &&
- ((this._active = n),
- (this._eventPosition = e),
- (this._ignoreReplayEvents = !0),
- this.update(!0));
- }
- handleEvent(t, e, s = !0) {
- if (e && this._ignoreReplayEvents) return !1;
- this._ignoreReplayEvents = !1;
- const n = this.options,
- o = this._active || [],
- r = this._getActiveElements(t, o, e, s),
- a = this._positionChanged(r, t),
- l = e || !Ye(r, o) || a;
- return (
- l &&
- ((this._active = r),
- (n.enabled || n.external) &&
- ((this._eventPosition = { x: t.x, y: t.y }),
- this.update(!0, e))),
- l
- );
- }
- _getActiveElements(t, e, s, n) {
- const o = this.options;
- if (t.type === "mouseout") return [];
- if (!n)
- return e.filter(
- (a) =>
- this.chart.data.datasets[a.datasetIndex] &&
- this.chart
- .getDatasetMeta(a.datasetIndex)
- .controller.getParsed(a.index) !== void 0
- );
- const r = this.chart.getElementsAtEventForMode(t, o.mode, o, s);
- return o.reverse && r.reverse(), r;
- }
- _positionChanged(t, e) {
- const { caretX: s, caretY: n, options: o } = this,
- r = he[o.position].call(this, t, e);
- return r !== !1 && (s !== r.x || n !== r.y);
- }
-}
-w(Ti, "positioners", he);
-var $c = {
- id: "tooltip",
- _element: Ti,
- positioners: he,
- afterInit(i, t, e) {
- e && (i.tooltip = new Ti({ chart: i, options: e }));
- },
- beforeUpdate(i, t, e) {
- i.tooltip && i.tooltip.initialize(e);
- },
- reset(i, t, e) {
- i.tooltip && i.tooltip.initialize(e);
- },
- afterDraw(i) {
- const t = i.tooltip;
- if (t && t._willRender()) {
- const e = { tooltip: t };
- if (
- i.notifyPlugins(
- "beforeTooltipDraw",
- Ji(St({}, e), { cancelable: !0 })
- ) === !1
- )
- return;
- t.draw(i.ctx), i.notifyPlugins("afterTooltipDraw", e);
- }
- },
- afterEvent(i, t) {
- if (i.tooltip) {
- const e = t.replay;
- i.tooltip.handleEvent(t.event, e, t.inChartArea) &&
- (t.changed = !0);
- }
- },
- defaults: {
- enabled: !0,
- external: null,
- position: "average",
- backgroundColor: "rgba(0,0,0,0.8)",
- titleColor: "#fff",
- titleFont: { weight: "bold" },
- titleSpacing: 2,
- titleMarginBottom: 6,
- titleAlign: "left",
- bodyColor: "#fff",
- bodySpacing: 2,
- bodyFont: {},
- bodyAlign: "left",
- footerColor: "#fff",
- footerSpacing: 2,
- footerMarginTop: 6,
- footerFont: { weight: "bold" },
- footerAlign: "left",
- padding: 6,
- caretPadding: 2,
- caretSize: 5,
- cornerRadius: 6,
- boxHeight: (i, t) => t.bodyFont.size,
- boxWidth: (i, t) => t.bodyFont.size,
- multiKeyBackground: "#fff",
- displayColors: !0,
- boxPadding: 0,
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 0,
- animation: { duration: 400, easing: "easeOutQuart" },
- animations: {
- numbers: {
- type: "number",
- properties: ["x", "y", "width", "height", "caretX", "caretY"],
- },
- opacity: { easing: "linear", duration: 200 },
- },
- callbacks: co,
- },
- defaultRoutes: { bodyFont: "font", footerFont: "font", titleFont: "font" },
- descriptors: {
- _scriptable: (i) =>
- i !== "filter" && i !== "itemSort" && i !== "external",
- _indexable: !1,
- callbacks: { _scriptable: !1, _indexable: !1 },
- animation: { _fallback: !1 },
- animations: { _fallback: "animation" },
- },
- additionalOptionScopes: ["interaction"],
-};
-const Yc = (i, t, e, s) => (
- typeof t == "string"
- ? ((e = i.push(t) - 1), s.unshift({ index: e, label: t }))
- : isNaN(t) && (e = null),
- e
-);
-function Uc(i, t, e, s) {
- const n = i.indexOf(t);
- if (n === -1) return Yc(i, t, e, s);
- const o = i.lastIndexOf(t);
- return n !== o ? e : n;
-}
-const Xc = (i, t) => (i === null ? null : Z(Math.round(i), 0, t));
-function ln(i) {
- const t = this.getLabels();
- return i >= 0 && i < t.length ? t[i] : i;
-}
-class Li extends zt {
- constructor(t) {
- super(t),
- (this._startValue = void 0),
- (this._valueRange = 0),
- (this._addedLabels = []);
- }
- init(t) {
- const e = this._addedLabels;
- if (e.length) {
- const s = this.getLabels();
- for (const { index: n, label: o } of e)
- s[n] === o && s.splice(n, 1);
- this._addedLabels = [];
- }
- super.init(t);
- }
- parse(t, e) {
- if (E(t)) return null;
- const s = this.getLabels();
- return (
- (e =
- isFinite(e) && s[e] === t
- ? e
- : Uc(s, t, D(e, t), this._addedLabels)),
- Xc(e, s.length - 1)
- );
- }
- determineDataLimits() {
- const { minDefined: t, maxDefined: e } = this.getUserBounds();
- let { min: s, max: n } = this.getMinMax(!0);
- this.options.bounds === "ticks" &&
- (t || (s = 0), e || (n = this.getLabels().length - 1)),
- (this.min = s),
- (this.max = n);
- }
- buildTicks() {
- const t = this.min,
- e = this.max,
- s = this.options.offset,
- n = [];
- let o = this.getLabels();
- (o = t === 0 && e === o.length - 1 ? o : o.slice(t, e + 1)),
- (this._valueRange = Math.max(o.length - (s ? 0 : 1), 1)),
- (this._startValue = this.min - (s ? 0.5 : 0));
- for (let r = t; r <= e; r++) n.push({ value: r });
- return n;
- }
- getLabelForValue(t) {
- return ln.call(this, t);
- }
- configure() {
- super.configure(),
- this.isHorizontal() || (this._reversePixels = !this._reversePixels);
- }
- getPixelForValue(t) {
- return (
- typeof t != "number" && (t = this.parse(t)),
- t === null
- ? NaN
- : this.getPixelForDecimal(
- (t - this._startValue) / this._valueRange
- )
- );
- }
- getPixelForTick(t) {
- const e = this.ticks;
- return t < 0 || t > e.length - 1
- ? null
- : this.getPixelForValue(e[t].value);
- }
- getValueForPixel(t) {
- return Math.round(
- this._startValue + this.getDecimalForPixel(t) * this._valueRange
- );
- }
- getBasePixel() {
- return this.bottom;
- }
-}
-w(Li, "id", "category"), w(Li, "defaults", { ticks: { callback: ln } });
-function Kc(i, t) {
- const e = [],
- {
- bounds: n,
- step: o,
- min: r,
- max: a,
- precision: l,
- count: c,
- maxTicks: h,
- maxDigits: d,
- includeBounds: f,
- } = i,
- u = o || 1,
- p = h - 1,
- { min: g, max: m } = t,
- b = !E(r),
- _ = !E(a),
- y = !E(c),
- v = (m - g) / (d + 1);
- let x = as((m - g) / p / u) * u,
- M,
- S,
- k,
- C;
- if (x < 1e-14 && !b && !_) return [{ value: g }, { value: m }];
- (C = Math.ceil(m / x) - Math.floor(g / x)),
- C > p && (x = as((C * x) / p / u) * u),
- E(l) || ((M = Math.pow(10, l)), (x = Math.ceil(x * M) / M)),
- n === "ticks"
- ? ((S = Math.floor(g / x) * x), (k = Math.ceil(m / x) * x))
- : ((S = g), (k = m)),
- b && _ && o && ur((a - r) / o, x / 1e3)
- ? ((C = Math.round(Math.min((a - r) / x, h))),
- (x = (a - r) / C),
- (S = r),
- (k = a))
- : y
- ? ((S = b ? r : S), (k = _ ? a : k), (C = c - 1), (x = (k - S) / C))
- : ((C = (k - S) / x),
- fe(C, Math.round(C), x / 1e3)
- ? (C = Math.round(C))
- : (C = Math.ceil(C)));
- const O = Math.max(ls(x), ls(S));
- (M = Math.pow(10, E(l) ? O : l)),
- (S = Math.round(S * M) / M),
- (k = Math.round(k * M) / M);
- let P = 0;
- for (
- b &&
- (f && S !== r
- ? (e.push({ value: r }),
- S < r && P++,
- fe(Math.round((S + P * x) * M) / M, r, cn(r, v, i)) && P++)
- : S < r && P++);
- P < C;
- ++P
- ) {
- const T = Math.round((S + P * x) * M) / M;
- if (_ && T > a) break;
- e.push({ value: T });
- }
- return (
- _ && f && k !== a
- ? e.length && fe(e[e.length - 1].value, a, cn(a, v, i))
- ? (e[e.length - 1].value = a)
- : e.push({ value: a })
- : (!_ || k === a) && e.push({ value: k }),
- e
- );
-}
-function cn(i, t, { horizontal: e, minRotation: s }) {
- const n = ct(s),
- o = (e ? Math.sin(n) : Math.cos(n)) || 0.001,
- r = 0.75 * t * ("" + i).length;
- return Math.min(t / o, r);
-}
-class ti extends zt {
- constructor(t) {
- super(t),
- (this.start = void 0),
- (this.end = void 0),
- (this._startValue = void 0),
- (this._endValue = void 0),
- (this._valueRange = 0);
- }
- parse(t, e) {
- return E(t) ||
- ((typeof t == "number" || t instanceof Number) && !isFinite(+t))
- ? null
- : +t;
- }
- handleTickRangeOptions() {
- const { beginAtZero: t } = this.options,
- { minDefined: e, maxDefined: s } = this.getUserBounds();
- let { min: n, max: o } = this;
- const r = (l) => (n = e ? n : l),
- a = (l) => (o = s ? o : l);
- if (t) {
- const l = Kt(n),
- c = Kt(o);
- l < 0 && c < 0 ? a(0) : l > 0 && c > 0 && r(0);
- }
- if (n === o) {
- let l = o === 0 ? 1 : Math.abs(o * 0.05);
- a(o + l), t || r(n - l);
- }
- (this.min = n), (this.max = o);
- }
- getTickLimit() {
- const t = this.options.ticks;
- let { maxTicksLimit: e, stepSize: s } = t,
- n;
- return (
- s
- ? ((n = Math.ceil(this.max / s) - Math.floor(this.min / s) + 1),
- n > 1e3 &&
- (console.warn(
- `scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`
- ),
- (n = 1e3)))
- : ((n = this.computeTickLimit()), (e = e || 11)),
- e && (n = Math.min(e, n)),
- n
- );
- }
- computeTickLimit() {
- return Number.POSITIVE_INFINITY;
- }
- buildTicks() {
- const t = this.options,
- e = t.ticks;
- let s = this.getTickLimit();
- s = Math.max(2, s);
- const n = {
- maxTicks: s,
- bounds: t.bounds,
- min: t.min,
- max: t.max,
- precision: e.precision,
- step: e.stepSize,
- count: e.count,
- maxDigits: this._maxDigits(),
- horizontal: this.isHorizontal(),
- minRotation: e.minRotation || 0,
- includeBounds: e.includeBounds !== !1,
- },
- o = this._range || this,
- r = Kc(n, o);
- return (
- t.bounds === "ticks" && On(r, this, "value"),
- t.reverse
- ? (r.reverse(), (this.start = this.max), (this.end = this.min))
- : ((this.start = this.min), (this.end = this.max)),
- r
- );
- }
- configure() {
- const t = this.ticks;
- let e = this.min,
- s = this.max;
- if ((super.configure(), this.options.offset && t.length)) {
- const n = (s - e) / Math.max(t.length - 1, 1) / 2;
- (e -= n), (s += n);
- }
- (this._startValue = e),
- (this._endValue = s),
- (this._valueRange = s - e);
- }
- getLabelForValue(t) {
- return ii(t, this.chart.options.locale, this.options.ticks.format);
- }
-}
-class Ri extends ti {
- determineDataLimits() {
- const { min: t, max: e } = this.getMinMax(!0);
- (this.min = V(t) ? t : 0),
- (this.max = V(e) ? e : 1),
- this.handleTickRangeOptions();
- }
- computeTickLimit() {
- const t = this.isHorizontal(),
- e = t ? this.width : this.height,
- s = ct(this.options.ticks.minRotation),
- n = (t ? Math.sin(s) : Math.cos(s)) || 0.001,
- o = this._resolveTickFontOptions(0);
- return Math.ceil(e / Math.min(40, o.lineHeight / n));
- }
- getPixelForValue(t) {
- return t === null
- ? NaN
- : this.getPixelForDecimal(
- (t - this._startValue) / this._valueRange
- );
- }
- getValueForPixel(t) {
- return this._startValue + this.getDecimalForPixel(t) * this._valueRange;
- }
-}
-w(Ri, "id", "linear"),
- w(Ri, "defaults", { ticks: { callback: si.formatters.numeric } });
-const ve = (i) => Math.floor(_t(i)),
- Ot = (i, t) => Math.pow(10, ve(i) + t);
-function hn(i) {
- return i / Math.pow(10, ve(i)) === 1;
-}
-function dn(i, t, e) {
- const s = Math.pow(10, e),
- n = Math.floor(i / s);
- return Math.ceil(t / s) - n;
-}
-function qc(i, t) {
- const e = t - i;
- let s = ve(e);
- for (; dn(i, t, s) > 10; ) s++;
- for (; dn(i, t, s) < 10; ) s--;
- return Math.min(s, ve(i));
-}
-function Gc(i, { min: t, max: e }) {
- t = et(i.min, t);
- const s = [],
- n = ve(t);
- let o = qc(t, e),
- r = o < 0 ? Math.pow(10, Math.abs(o)) : 1;
- const a = Math.pow(10, o),
- l = n > o ? Math.pow(10, n) : 0,
- c = Math.round((t - l) * r) / r,
- h = Math.floor((t - l) / a / 10) * a * 10;
- let d = Math.floor((c - h) / Math.pow(10, o)),
- f = et(i.min, Math.round((l + h + d * Math.pow(10, o)) * r) / r);
- for (; f < e; )
- s.push({ value: f, major: hn(f), significand: d }),
- d >= 10 ? (d = d < 15 ? 15 : 20) : d++,
- d >= 20 && (o++, (d = 2), (r = o >= 0 ? 1 : r)),
- (f = Math.round((l + h + d * Math.pow(10, o)) * r) / r);
- const u = et(i.max, f);
- return s.push({ value: u, major: hn(u), significand: d }), s;
-}
-class fn extends zt {
- constructor(t) {
- super(t),
- (this.start = void 0),
- (this.end = void 0),
- (this._startValue = void 0),
- (this._valueRange = 0);
- }
- parse(t, e) {
- const s = ti.prototype.parse.apply(this, [t, e]);
- if (s === 0) {
- this._zero = !0;
- return;
- }
- return V(s) && s > 0 ? s : null;
- }
- determineDataLimits() {
- const { min: t, max: e } = this.getMinMax(!0);
- (this.min = V(t) ? Math.max(0, t) : null),
- (this.max = V(e) ? Math.max(0, e) : null),
- this.options.beginAtZero && (this._zero = !0),
- this._zero &&
- this.min !== this._suggestedMin &&
- !V(this._userMin) &&
- (this.min =
- t === Ot(this.min, 0) ? Ot(this.min, -1) : Ot(this.min, 0)),
- this.handleTickRangeOptions();
- }
- handleTickRangeOptions() {
- const { minDefined: t, maxDefined: e } = this.getUserBounds();
- let s = this.min,
- n = this.max;
- const o = (a) => (s = t ? s : a),
- r = (a) => (n = e ? n : a);
- s === n && (s <= 0 ? (o(1), r(10)) : (o(Ot(s, -1)), r(Ot(n, 1)))),
- s <= 0 && o(Ot(n, -1)),
- n <= 0 && r(Ot(s, 1)),
- (this.min = s),
- (this.max = n);
- }
- buildTicks() {
- const t = this.options,
- e = { min: this._userMin, max: this._userMax },
- s = Gc(e, this);
- return (
- t.bounds === "ticks" && On(s, this, "value"),
- t.reverse
- ? (s.reverse(), (this.start = this.max), (this.end = this.min))
- : ((this.start = this.min), (this.end = this.max)),
- s
- );
- }
- getLabelForValue(t) {
- return t === void 0
- ? "0"
- : ii(t, this.chart.options.locale, this.options.ticks.format);
- }
- configure() {
- const t = this.min;
- super.configure(),
- (this._startValue = _t(t)),
- (this._valueRange = _t(this.max) - _t(t));
- }
- getPixelForValue(t) {
- return (
- (t === void 0 || t === 0) && (t = this.min),
- t === null || isNaN(t)
- ? NaN
- : this.getPixelForDecimal(
- t === this.min
- ? 0
- : (_t(t) - this._startValue) / this._valueRange
- )
- );
- }
- getValueForPixel(t) {
- const e = this.getDecimalForPixel(t);
- return Math.pow(10, this._startValue + e * this._valueRange);
- }
-}
-w(fn, "id", "logarithmic"),
- w(fn, "defaults", {
- ticks: { callback: si.formatters.logarithmic, major: { enabled: !0 } },
- });
-function Fi(i) {
- const t = i.ticks;
- if (t.display && i.display) {
- const e = G(t.backdropPadding);
- return D(t.font && t.font.size, j.font.size) + e.height;
- }
- return 0;
-}
-function Zc(i, t, e) {
- return (
- (e = H(e) ? e : [e]),
- { w: Rr(i, t.string, e), h: e.length * t.lineHeight }
- );
-}
-function un(i, t, e, s, n) {
- return i === s || i === n
- ? { start: t - e / 2, end: t + e / 2 }
- : i < s || i > n
- ? { start: t - e, end: t }
- : { start: t, end: t + e };
-}
-function Jc(i) {
- const t = {
- l: i.left + i._padding.left,
- r: i.right - i._padding.right,
- t: i.top + i._padding.top,
- b: i.bottom - i._padding.bottom,
- },
- e = Object.assign({}, t),
- s = [],
- n = [],
- o = i._pointLabels.length,
- r = i.options.pointLabels,
- a = r.centerPointLabels ? N / o : 0;
- for (let l = 0; l < o; l++) {
- const c = r.setContext(i.getPointLabelContext(l));
- n[l] = c.padding;
- const h = i.getPointPosition(l, i.drawingArea + n[l], a),
- d = U(c.font),
- f = Zc(i.ctx, d, i._pointLabels[l]);
- s[l] = f;
- const u = it(i.getIndexAngle(l) + a),
- p = Math.round(Wi(u)),
- g = un(p, h.x, f.w, 0, 180),
- m = un(p, h.y, f.h, 90, 270);
- Qc(e, t, u, g, m);
- }
- i.setCenterPoint(t.l - e.l, e.r - t.r, t.t - e.t, e.b - t.b),
- (i._pointLabelItems = ih(i, s, n));
-}
-function Qc(i, t, e, s, n) {
- const o = Math.abs(Math.sin(e)),
- r = Math.abs(Math.cos(e));
- let a = 0,
- l = 0;
- s.start < t.l
- ? ((a = (t.l - s.start) / o), (i.l = Math.min(i.l, t.l - a)))
- : s.end > t.r &&
- ((a = (s.end - t.r) / o), (i.r = Math.max(i.r, t.r + a))),
- n.start < t.t
- ? ((l = (t.t - n.start) / r), (i.t = Math.min(i.t, t.t - l)))
- : n.end > t.b &&
- ((l = (n.end - t.b) / r), (i.b = Math.max(i.b, t.b + l)));
-}
-function th(i, t, e) {
- const s = i.drawingArea,
- { extra: n, additionalAngle: o, padding: r, size: a } = e,
- l = i.getPointPosition(t, s + n + r, o),
- c = Math.round(Wi(it(l.angle + Y))),
- h = oh(l.y, a.h, c),
- d = sh(c),
- f = nh(l.x, a.w, d);
- return {
- visible: !0,
- x: l.x,
- y: h,
- textAlign: d,
- left: f,
- top: h,
- right: f + a.w,
- bottom: h + a.h,
- };
-}
-function eh(i, t) {
- if (!t) return !0;
- const { left: e, top: s, right: n, bottom: o } = i;
- return !(
- pt({ x: e, y: s }, t) ||
- pt({ x: e, y: o }, t) ||
- pt({ x: n, y: s }, t) ||
- pt({ x: n, y: o }, t)
- );
-}
-function ih(i, t, e) {
- const s = [],
- n = i._pointLabels.length,
- o = i.options,
- { centerPointLabels: r, display: a } = o.pointLabels,
- l = { extra: Fi(o) / 2, additionalAngle: r ? N / n : 0 };
- let c;
- for (let h = 0; h < n; h++) {
- (l.padding = e[h]), (l.size = t[h]);
- const d = th(i, h, l);
- s.push(d),
- a === "auto" && ((d.visible = eh(d, c)), d.visible && (c = d));
- }
- return s;
-}
-function sh(i) {
- return i === 0 || i === 180 ? "center" : i < 180 ? "left" : "right";
-}
-function nh(i, t, e) {
- return e === "right" ? (i -= t) : e === "center" && (i -= t / 2), i;
-}
-function oh(i, t, e) {
- return (
- e === 90 || e === 270 ? (i -= t / 2) : (e > 270 || e < 90) && (i -= t),
- i
- );
-}
-function rh(i, t, e) {
- const { left: s, top: n, right: o, bottom: r } = e,
- { backdropColor: a } = t;
- if (!E(a)) {
- const l = Yt(t.borderRadius),
- c = G(t.backdropPadding);
- i.fillStyle = a;
- const h = s - c.left,
- d = n - c.top,
- f = o - s + c.width,
- u = r - n + c.height;
- Object.values(l).some((p) => p !== 0)
- ? (i.beginPath(),
- Ge(i, { x: h, y: d, w: f, h: u, radius: l }),
- i.fill())
- : i.fillRect(h, d, f, u);
- }
-}
-function ah(i, t) {
- const {
- ctx: e,
- options: { pointLabels: s },
- } = i;
- for (let n = t - 1; n >= 0; n--) {
- const o = i._pointLabelItems[n];
- if (!o.visible) continue;
- const r = s.setContext(i.getPointLabelContext(n));
- rh(e, r, o);
- const a = U(r.font),
- { x: l, y: c, textAlign: h } = o;
- Et(e, i._pointLabels[n], l, c + a.lineHeight / 2, a, {
- color: r.color,
- textAlign: h,
- textBaseline: "middle",
- });
- }
-}
-function ho(i, t, e, s) {
- const { ctx: n } = i;
- if (e) n.arc(i.xCenter, i.yCenter, t, 0, z);
- else {
- let o = i.getPointPosition(0, t);
- n.moveTo(o.x, o.y);
- for (let r = 1; r < s; r++)
- (o = i.getPointPosition(r, t)), n.lineTo(o.x, o.y);
- }
-}
-function lh(i, t, e, s, n) {
- const o = i.ctx,
- r = t.circular,
- { color: a, lineWidth: l } = t;
- (!r && !s) ||
- !a ||
- !l ||
- e < 0 ||
- (o.save(),
- (o.strokeStyle = a),
- (o.lineWidth = l),
- o.setLineDash(n.dash),
- (o.lineDashOffset = n.dashOffset),
- o.beginPath(),
- ho(i, e, r, s),
- o.closePath(),
- o.stroke(),
- o.restore());
-}
-function ch(i, t, e) {
- return kt(i, { label: e, index: t, type: "pointLabel" });
-}
-class We extends ti {
- constructor(t) {
- super(t),
- (this.xCenter = void 0),
- (this.yCenter = void 0),
- (this.drawingArea = void 0),
- (this._pointLabels = []),
- (this._pointLabelItems = []);
- }
- setDimensions() {
- const t = (this._padding = G(Fi(this.options) / 2)),
- e = (this.width = this.maxWidth - t.width),
- s = (this.height = this.maxHeight - t.height);
- (this.xCenter = Math.floor(this.left + e / 2 + t.left)),
- (this.yCenter = Math.floor(this.top + s / 2 + t.top)),
- (this.drawingArea = Math.floor(Math.min(e, s) / 2));
- }
- determineDataLimits() {
- const { min: t, max: e } = this.getMinMax(!1);
- (this.min = V(t) && !isNaN(t) ? t : 0),
- (this.max = V(e) && !isNaN(e) ? e : 0),
- this.handleTickRangeOptions();
- }
- computeTickLimit() {
- return Math.ceil(this.drawingArea / Fi(this.options));
- }
- generateTickLabels(t) {
- ti.prototype.generateTickLabels.call(this, t),
- (this._pointLabels = this.getLabels()
- .map((e, s) => {
- const n = I(
- this.options.pointLabels.callback,
- [e, s],
- this
- );
- return n || n === 0 ? n : "";
- })
- .filter((e, s) => this.chart.getDataVisibility(s)));
- }
- fit() {
- const t = this.options;
- t.display && t.pointLabels.display
- ? Jc(this)
- : this.setCenterPoint(0, 0, 0, 0);
- }
- setCenterPoint(t, e, s, n) {
- (this.xCenter += Math.floor((t - e) / 2)),
- (this.yCenter += Math.floor((s - n) / 2)),
- (this.drawingArea -= Math.min(
- this.drawingArea / 2,
- Math.max(t, e, s, n)
- ));
- }
- getIndexAngle(t) {
- const e = z / (this._pointLabels.length || 1),
- s = this.options.startAngle || 0;
- return it(t * e + ct(s));
- }
- getDistanceFromCenterForValue(t) {
- if (E(t)) return NaN;
- const e = this.drawingArea / (this.max - this.min);
- return this.options.reverse ? (this.max - t) * e : (t - this.min) * e;
- }
- getValueForDistanceFromCenter(t) {
- if (E(t)) return NaN;
- const e = t / (this.drawingArea / (this.max - this.min));
- return this.options.reverse ? this.max - e : this.min + e;
- }
- getPointLabelContext(t) {
- const e = this._pointLabels || [];
- if (t >= 0 && t < e.length) {
- const s = e[t];
- return ch(this.getContext(), t, s);
- }
- }
- getPointPosition(t, e, s = 0) {
- const n = this.getIndexAngle(t) - Y + s;
- return {
- x: Math.cos(n) * e + this.xCenter,
- y: Math.sin(n) * e + this.yCenter,
- angle: n,
- };
- }
- getPointPositionForValue(t, e) {
- return this.getPointPosition(t, this.getDistanceFromCenterForValue(e));
- }
- getBasePosition(t) {
- return this.getPointPositionForValue(t || 0, this.getBaseValue());
- }
- getPointLabelPosition(t) {
- const {
- left: e,
- top: s,
- right: n,
- bottom: o,
- } = this._pointLabelItems[t];
- return { left: e, top: s, right: n, bottom: o };
- }
- drawBackground() {
- const {
- backgroundColor: t,
- grid: { circular: e },
- } = this.options;
- if (t) {
- const s = this.ctx;
- s.save(),
- s.beginPath(),
- ho(
- this,
- this.getDistanceFromCenterForValue(this._endValue),
- e,
- this._pointLabels.length
- ),
- s.closePath(),
- (s.fillStyle = t),
- s.fill(),
- s.restore();
- }
- }
- drawGrid() {
- const t = this.ctx,
- e = this.options,
- { angleLines: s, grid: n, border: o } = e,
- r = this._pointLabels.length;
- let a, l, c;
- if (
- (e.pointLabels.display && ah(this, r),
- n.display &&
- this.ticks.forEach((h, d) => {
- if (d !== 0) {
- l = this.getDistanceFromCenterForValue(h.value);
- const f = this.getContext(d),
- u = n.setContext(f),
- p = o.setContext(f);
- lh(this, u, l, r, p);
- }
- }),
- s.display)
- ) {
- for (t.save(), a = r - 1; a >= 0; a--) {
- const h = s.setContext(this.getPointLabelContext(a)),
- { color: d, lineWidth: f } = h;
- !f ||
- !d ||
- ((t.lineWidth = f),
- (t.strokeStyle = d),
- t.setLineDash(h.borderDash),
- (t.lineDashOffset = h.borderDashOffset),
- (l = this.getDistanceFromCenterForValue(
- e.ticks.reverse ? this.min : this.max
- )),
- (c = this.getPointPosition(a, l)),
- t.beginPath(),
- t.moveTo(this.xCenter, this.yCenter),
- t.lineTo(c.x, c.y),
- t.stroke());
- }
- t.restore();
- }
- }
- drawBorder() {}
- drawLabels() {
- const t = this.ctx,
- e = this.options,
- s = e.ticks;
- if (!s.display) return;
- const n = this.getIndexAngle(0);
- let o, r;
- t.save(),
- t.translate(this.xCenter, this.yCenter),
- t.rotate(n),
- (t.textAlign = "center"),
- (t.textBaseline = "middle"),
- this.ticks.forEach((a, l) => {
- if (l === 0 && !e.reverse) return;
- const c = s.setContext(this.getContext(l)),
- h = U(c.font);
- if (
- ((o = this.getDistanceFromCenterForValue(
- this.ticks[l].value
- )),
- c.showLabelBackdrop)
- ) {
- (t.font = h.string),
- (r = t.measureText(a.label).width),
- (t.fillStyle = c.backdropColor);
- const d = G(c.backdropPadding);
- t.fillRect(
- -r / 2 - d.left,
- -o - h.size / 2 - d.top,
- r + d.width,
- h.size + d.height
- );
- }
- Et(t, a.label, 0, -o, h, {
- color: c.color,
- strokeColor: c.textStrokeColor,
- strokeWidth: c.textStrokeWidth,
- });
- }),
- t.restore();
- }
- drawTitle() {}
-}
-w(We, "id", "radialLinear"),
- w(We, "defaults", {
- display: !0,
- animate: !0,
- position: "chartArea",
- angleLines: {
- display: !0,
- lineWidth: 1,
- borderDash: [],
- borderDashOffset: 0,
- },
- grid: { circular: !1 },
- startAngle: 0,
- ticks: { showLabelBackdrop: !0, callback: si.formatters.numeric },
- pointLabels: {
- backdropColor: void 0,
- backdropPadding: 2,
- display: !0,
- font: { size: 10 },
- callback(t) {
- return t;
- },
- padding: 5,
- centerPointLabels: !1,
- },
- }),
- w(We, "defaultRoutes", {
- "angleLines.color": "borderColor",
- "pointLabels.color": "color",
- "ticks.color": "color",
- }),
- w(We, "descriptors", { angleLines: { _fallback: "grid" } });
-const li = {
- millisecond: { common: !0, size: 1, steps: 1e3 },
- second: { common: !0, size: 1e3, steps: 60 },
- minute: { common: !0, size: 6e4, steps: 60 },
- hour: { common: !0, size: 36e5, steps: 24 },
- day: { common: !0, size: 864e5, steps: 30 },
- week: { common: !1, size: 6048e5, steps: 4 },
- month: { common: !0, size: 2628e6, steps: 12 },
- quarter: { common: !1, size: 7884e6, steps: 4 },
- year: { common: !0, size: 3154e7 },
- },
- Q = Object.keys(li);
-function gn(i, t) {
- return i - t;
-}
-function pn(i, t) {
- if (E(t)) return null;
- const e = i._adapter,
- { parser: s, round: n, isoWeekday: o } = i._parseOpts;
- let r = t;
- return (
- typeof s == "function" && (r = s(r)),
- V(r) || (r = typeof s == "string" ? e.parse(r, s) : e.parse(r)),
- r === null
- ? null
- : (n &&
- (r =
- n === "week" && (_e(o) || o === !0)
- ? e.startOf(r, "isoWeek", o)
- : e.startOf(r, n)),
- +r)
- );
-}
-function mn(i, t, e, s) {
- const n = Q.length;
- for (let o = Q.indexOf(i); o < n - 1; ++o) {
- const r = li[Q[o]],
- a = r.steps ? r.steps : Number.MAX_SAFE_INTEGER;
- if (r.common && Math.ceil((e - t) / (a * r.size)) <= s) return Q[o];
- }
- return Q[n - 1];
-}
-function hh(i, t, e, s, n) {
- for (let o = Q.length - 1; o >= Q.indexOf(e); o--) {
- const r = Q[o];
- if (li[r].common && i._adapter.diff(n, s, r) >= t - 1) return r;
- }
- return Q[e ? Q.indexOf(e) : 0];
-}
-function dh(i) {
- for (let t = Q.indexOf(i) + 1, e = Q.length; t < e; ++t)
- if (li[Q[t]].common) return Q[t];
-}
-function bn(i, t, e) {
- if (!e) i[t] = !0;
- else if (e.length) {
- const { lo: s, hi: n } = Hi(e, t),
- o = e[s] >= t ? e[s] : e[n];
- i[o] = !0;
- }
-}
-function fh(i, t, e, s) {
- const n = i._adapter,
- o = +n.startOf(t[0].value, s),
- r = t[t.length - 1].value;
- let a, l;
- for (a = o; a <= r; a = +n.add(a, 1, s))
- (l = e[a]), l >= 0 && (t[l].major = !0);
- return t;
-}
-function _n(i, t, e) {
- const s = [],
- n = {},
- o = t.length;
- let r, a;
- for (r = 0; r < o; ++r)
- (a = t[r]), (n[a] = r), s.push({ value: a, major: !1 });
- return o === 0 || !e ? s : fh(i, s, n, e);
-}
-class ei extends zt {
- constructor(t) {
- super(t),
- (this._cache = { data: [], labels: [], all: [] }),
- (this._unit = "day"),
- (this._majorUnit = void 0),
- (this._offsets = {}),
- (this._normalized = !1),
- (this._parseOpts = void 0);
- }
- init(t, e = {}) {
- const s = t.time || (t.time = {}),
- n = (this._adapter = new Wa._date(t.adapters.date));
- n.init(e),
- de(s.displayFormats, n.formats()),
- (this._parseOpts = {
- parser: s.parser,
- round: s.round,
- isoWeekday: s.isoWeekday,
- }),
- super.init(t),
- (this._normalized = e.normalized);
- }
- parse(t, e) {
- return t === void 0 ? null : pn(this, t);
- }
- beforeLayout() {
- super.beforeLayout(), (this._cache = { data: [], labels: [], all: [] });
- }
- determineDataLimits() {
- const t = this.options,
- e = this._adapter,
- s = t.time.unit || "day";
- let {
- min: n,
- max: o,
- minDefined: r,
- maxDefined: a,
- } = this.getUserBounds();
- function l(c) {
- !r && !isNaN(c.min) && (n = Math.min(n, c.min)),
- !a && !isNaN(c.max) && (o = Math.max(o, c.max));
- }
- (!r || !a) &&
- (l(this._getLabelBounds()),
- (t.bounds !== "ticks" || t.ticks.source !== "labels") &&
- l(this.getMinMax(!1))),
- (n = V(n) && !isNaN(n) ? n : +e.startOf(Date.now(), s)),
- (o = V(o) && !isNaN(o) ? o : +e.endOf(Date.now(), s) + 1),
- (this.min = Math.min(n, o - 1)),
- (this.max = Math.max(n + 1, o));
- }
- _getLabelBounds() {
- const t = this.getLabelTimestamps();
- let e = Number.POSITIVE_INFINITY,
- s = Number.NEGATIVE_INFINITY;
- return (
- t.length && ((e = t[0]), (s = t[t.length - 1])), { min: e, max: s }
- );
- }
- buildTicks() {
- const t = this.options,
- e = t.time,
- s = t.ticks,
- n =
- s.source === "labels"
- ? this.getLabelTimestamps()
- : this._generate();
- t.bounds === "ticks" &&
- n.length &&
- ((this.min = this._userMin || n[0]),
- (this.max = this._userMax || n[n.length - 1]));
- const o = this.min,
- r = this.max,
- a = br(n, o, r);
- return (
- (this._unit =
- e.unit ||
- (s.autoSkip
- ? mn(
- e.minUnit,
- this.min,
- this.max,
- this._getLabelCapacity(o)
- )
- : hh(this, a.length, e.minUnit, this.min, this.max))),
- (this._majorUnit =
- !s.major.enabled || this._unit === "year"
- ? void 0
- : dh(this._unit)),
- this.initOffsets(n),
- t.reverse && a.reverse(),
- _n(this, a, this._majorUnit)
- );
- }
- afterAutoSkip() {
- this.options.offsetAfterAutoskip &&
- this.initOffsets(this.ticks.map((t) => +t.value));
- }
- initOffsets(t = []) {
- let e = 0,
- s = 0,
- n,
- o;
- this.options.offset &&
- t.length &&
- ((n = this.getDecimalForValue(t[0])),
- t.length === 1
- ? (e = 1 - n)
- : (e = (this.getDecimalForValue(t[1]) - n) / 2),
- (o = this.getDecimalForValue(t[t.length - 1])),
- t.length === 1
- ? (s = o)
- : (s = (o - this.getDecimalForValue(t[t.length - 2])) / 2));
- const r = t.length < 3 ? 0.5 : 0.25;
- (e = Z(e, 0, r)),
- (s = Z(s, 0, r)),
- (this._offsets = { start: e, end: s, factor: 1 / (e + 1 + s) });
- }
- _generate() {
- const t = this._adapter,
- e = this.min,
- s = this.max,
- n = this.options,
- o = n.time,
- r = o.unit || mn(o.minUnit, e, s, this._getLabelCapacity(e)),
- a = D(n.ticks.stepSize, 1),
- l = r === "week" ? o.isoWeekday : !1,
- c = _e(l) || l === !0,
- h = {};
- let d = e,
- f,
- u;
- if (
- (c && (d = +t.startOf(d, "isoWeek", l)),
- (d = +t.startOf(d, c ? "day" : r)),
- t.diff(s, e, r) > 1e5 * a)
- )
- throw new Error(
- e +
- " and " +
- s +
- " are too far apart with stepSize of " +
- a +
- " " +
- r
- );
- const p = n.ticks.source === "data" && this.getDataTimestamps();
- for (f = d, u = 0; f < s; f = +t.add(f, a, r), u++) bn(h, f, p);
- return (
- (f === s || n.bounds === "ticks" || u === 1) && bn(h, f, p),
- Object.keys(h)
- .sort(gn)
- .map((g) => +g)
- );
- }
- getLabelForValue(t) {
- const e = this._adapter,
- s = this.options.time;
- return s.tooltipFormat
- ? e.format(t, s.tooltipFormat)
- : e.format(t, s.displayFormats.datetime);
- }
- format(t, e) {
- const n = this.options.time.displayFormats,
- o = this._unit,
- r = e || n[o];
- return this._adapter.format(t, r);
- }
- _tickFormatFunction(t, e, s, n) {
- const o = this.options,
- r = o.ticks.callback;
- if (r) return I(r, [t, e, s], this);
- const a = o.time.displayFormats,
- l = this._unit,
- c = this._majorUnit,
- h = l && a[l],
- d = c && a[c],
- f = s[e],
- u = c && d && f && f.major;
- return this._adapter.format(t, n || (u ? d : h));
- }
- generateTickLabels(t) {
- let e, s, n;
- for (e = 0, s = t.length; e < s; ++e)
- (n = t[e]), (n.label = this._tickFormatFunction(n.value, e, t));
- }
- getDecimalForValue(t) {
- return t === null ? NaN : (t - this.min) / (this.max - this.min);
- }
- getPixelForValue(t) {
- const e = this._offsets,
- s = this.getDecimalForValue(t);
- return this.getPixelForDecimal((e.start + s) * e.factor);
- }
- getValueForPixel(t) {
- const e = this._offsets,
- s = this.getDecimalForPixel(t) / e.factor - e.end;
- return this.min + s * (this.max - this.min);
- }
- _getLabelSize(t) {
- const e = this.options.ticks,
- s = this.ctx.measureText(t).width,
- n = ct(this.isHorizontal() ? e.maxRotation : e.minRotation),
- o = Math.cos(n),
- r = Math.sin(n),
- a = this._resolveTickFontOptions(0).size;
- return { w: s * o + a * r, h: s * r + a * o };
- }
- _getLabelCapacity(t) {
- const e = this.options.time,
- s = e.displayFormats,
- n = s[e.unit] || s.millisecond,
- o = this._tickFormatFunction(
- t,
- 0,
- _n(this, [t], this._majorUnit),
- n
- ),
- r = this._getLabelSize(o),
- a =
- Math.floor(
- this.isHorizontal() ? this.width / r.w : this.height / r.h
- ) - 1;
- return a > 0 ? a : 1;
- }
- getDataTimestamps() {
- let t = this._cache.data || [],
- e,
- s;
- if (t.length) return t;
- const n = this.getMatchingVisibleMetas();
- if (this._normalized && n.length)
- return (this._cache.data =
- n[0].controller.getAllParsedValues(this));
- for (e = 0, s = n.length; e < s; ++e)
- t = t.concat(n[e].controller.getAllParsedValues(this));
- return (this._cache.data = this.normalize(t));
- }
- getLabelTimestamps() {
- const t = this._cache.labels || [];
- let e, s;
- if (t.length) return t;
- const n = this.getLabels();
- for (e = 0, s = n.length; e < s; ++e) t.push(pn(this, n[e]));
- return (this._cache.labels = this._normalized ? t : this.normalize(t));
- }
- normalize(t) {
- return xr(t.sort(gn));
- }
-}
-w(ei, "id", "time"),
- w(ei, "defaults", {
- bounds: "data",
- adapters: {},
- time: {
- parser: !1,
- unit: !1,
- round: !1,
- isoWeekday: !1,
- minUnit: "millisecond",
- displayFormats: {},
- },
- ticks: { source: "auto", callback: !1, major: { enabled: !1 } },
- });
-function He(i, t, e) {
- let s = 0,
- n = i.length - 1,
- o,
- r,
- a,
- l;
- e
- ? (t >= i[s].pos &&
- t <= i[n].pos &&
- ({ lo: s, hi: n } = Rt(i, "pos", t)),
- ({ pos: o, time: a } = i[s]),
- ({ pos: r, time: l } = i[n]))
- : (t >= i[s].time &&
- t <= i[n].time &&
- ({ lo: s, hi: n } = Rt(i, "time", t)),
- ({ time: o, pos: a } = i[s]),
- ({ time: r, pos: l } = i[n]));
- const c = r - o;
- return c ? a + ((l - a) * (t - o)) / c : a;
-}
-class xn extends ei {
- constructor(t) {
- super(t),
- (this._table = []),
- (this._minPos = void 0),
- (this._tableRange = void 0);
- }
- initOffsets() {
- const t = this._getTimestampsForTable(),
- e = (this._table = this.buildLookupTable(t));
- (this._minPos = He(e, this.min)),
- (this._tableRange = He(e, this.max) - this._minPos),
- super.initOffsets(t);
- }
- buildLookupTable(t) {
- const { min: e, max: s } = this,
- n = [],
- o = [];
- let r, a, l, c, h;
- for (r = 0, a = t.length; r < a; ++r)
- (c = t[r]), c >= e && c <= s && n.push(c);
- if (n.length < 2)
- return [
- { time: e, pos: 0 },
- { time: s, pos: 1 },
- ];
- for (r = 0, a = n.length; r < a; ++r)
- (h = n[r + 1]),
- (l = n[r - 1]),
- (c = n[r]),
- Math.round((h + l) / 2) !== c &&
- o.push({ time: c, pos: r / (a - 1) });
- return o;
- }
- _generate() {
- const t = this.min,
- e = this.max;
- let s = super.getDataTimestamps();
- return (
- (!s.includes(t) || !s.length) && s.splice(0, 0, t),
- (!s.includes(e) || s.length === 1) && s.push(e),
- s.sort((n, o) => n - o)
- );
- }
- _getTimestampsForTable() {
- let t = this._cache.all || [];
- if (t.length) return t;
- const e = this.getDataTimestamps(),
- s = this.getLabelTimestamps();
- return (
- e.length && s.length
- ? (t = this.normalize(e.concat(s)))
- : (t = e.length ? e : s),
- (t = this._cache.all = t),
- t
- );
- }
- getDecimalForValue(t) {
- return (He(this._table, t) - this._minPos) / this._tableRange;
- }
- getValueForPixel(t) {
- const e = this._offsets,
- s = this.getDecimalForPixel(t) / e.factor - e.end;
- return He(this._table, s * this._tableRange + this._minPos, !0);
- }
-}
-w(xn, "id", "timeseries"), w(xn, "defaults", ei.defaults);
-const fo = {
- data: { type: Object, required: !0 },
- options: { type: Object, default: () => ({}) },
- plugins: { type: Array, default: () => [] },
- datasetIdKey: { type: String, default: "label" },
- updateMode: { type: String, default: void 0 },
- },
- uh = { ariaLabel: { type: String }, ariaDescribedby: { type: String } },
- gh = St(St({ type: { type: String, required: !0 } }, fo), uh),
- ph =
- vo[0] === "2"
- ? (i, t) => Object.assign(i, { attrs: t })
- : (i, t) => Object.assign(i, t);
-function $t(i) {
- return kn(i) ? vi(i) : i;
-}
-function mh(i) {
- let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : i;
- return kn(t) ? new Proxy(i, {}) : i;
-}
-function bh(i, t) {
- const e = i.options;
- e && t && Object.assign(e, t);
-}
-function uo(i, t) {
- i.labels = t;
-}
-function go(i, t, e) {
- const s = [];
- i.datasets = t.map((n) => {
- const o = i.datasets.find((r) => r[e] === n[e]);
- return !o || !n.data || s.includes(o)
- ? St({}, n)
- : (s.push(o), Object.assign(o, n), o);
- });
-}
-function _h(i, t) {
- const e = { labels: [], datasets: [] };
- return uo(e, i.labels), go(e, i.datasets, t), e;
-}
-const xh = yn({
- props: gh,
- setup(i, t) {
- let { expose: e, slots: s } = t;
- const n = ko(null),
- o = vn(null);
- e({ chart: o });
- const r = () => {
- if (!n.value) return;
- const {
- type: c,
- data: h,
- options: d,
- plugins: f,
- datasetIdKey: u,
- } = i,
- p = _h(h, u),
- g = mh(p, h);
- o.value = new ai(n.value, {
- type: c,
- data: g,
- options: St({}, d),
- plugins: f,
- });
- },
- a = () => {
- const c = vi(o.value);
- c && (c.destroy(), (o.value = null));
- },
- l = (c) => {
- c.update(i.updateMode);
- };
- return (
- wo(r),
- Mo(a),
- So(
- [() => i.options, () => i.data],
- (c, h) => {
- let [d, f] = c,
- [u, p] = h;
- const g = vi(o.value);
- if (!g) return;
- let m = !1;
- if (d) {
- const b = $t(d),
- _ = $t(u);
- b && b !== _ && (bh(g, b), (m = !0));
- }
- if (f) {
- const b = $t(f.labels),
- _ = $t(p.labels),
- y = $t(f.datasets),
- v = $t(p.datasets);
- b !== _ && (uo(g.config.data, b), (m = !0)),
- y &&
- y !== v &&
- (go(g.config.data, y, i.datasetIdKey),
- (m = !0));
- }
- m &&
- Co(() => {
- l(g);
- });
- },
- { deep: !0 }
- ),
- () =>
- yi(
- "canvas",
- {
- role: "img",
- ariaLabel: i.ariaLabel,
- ariaDescribedby: i.ariaDescribedby,
- ref: n,
- },
- [yi("p", {}, [s.default ? s.default() : ""])]
- )
- );
- },
-});
-function po(i, t) {
- return (
- ai.register(t),
- yn({
- props: fo,
- setup(e, s) {
- let { expose: n } = s;
- const o = vn(null),
- r = (a) => {
- o.value = a == null ? void 0 : a.chart;
- };
- return (
- n({ chart: o }),
- () => yi(xh, ph({ ref: r }, St({ type: i }, e)))
- );
- },
- })
- );
-}
-const xi = po("line", Ne),
- yh = po("pie", Ci),
- vh = { class: "h-screen text-base" },
- kh = {
- class: "sticky top-0 z-10 flex items-center justify-between border-b bg-white px-3 py-2.5 sm:px-5",
- },
- wh = { key: 0, class: "p-5" },
- Mh = { class: "grid grid-cols-5 gap-4" },
- Sh = { class: "flex items-center shadow py-2 px-3 rounded-md" },
- Ch = { class: "p-2 rounded-md bg-gray-100 mr-3" },
- Ph = { class: "text-xl font-semibold mb-1" },
- Dh = { class: "text-gray-700" },
- Oh = { class: "flex items-center shadow py-2 px-3 rounded-md" },
- Ah = { class: "p-2 rounded-md bg-gray-100 mr-3" },
- Th = { class: "text-xl font-semibold mb-1" },
- Lh = { class: "text-gray-700" },
- Rh = { class: "flex items-center shadow py-2 px-3 rounded-md" },
- Fh = { class: "p-2 rounded-md bg-gray-100 mr-3" },
- Ih = { class: "text-xl font-semibold mb-1" },
- Eh = { class: "text-gray-700" },
- zh = { class: "flex items-center shadow py-2 px-3 rounded-md" },
- Bh = { class: "p-2 rounded-md bg-gray-100 mr-3" },
- Wh = { class: "text-xl font-semibold mb-1" },
- Hh = { class: "text-gray-700" },
- Nh = { class: "flex items-center shadow py-2 px-3 rounded-md" },
- Vh = { class: "p-2 rounded-md bg-gray-100 mr-3" },
- jh = { class: "text-xl font-semibold mb-1" },
- $h = { class: "text-gray-700" },
- Yh = { class: "grid grid-cols-2 gap-4 mt-4" },
- Uh = { class: "shadow rounded-md p-5 min-h-72" },
- Xh = { class: "shadow rounded-md p-5 min-h-72" },
- Kh = { class: "shadow rounded-md p-5" },
- qh = { class: "shadow rounded-md p-5" },
- ed = {
- __name: "Statistics",
- setup(i) {
- ai.register(Ec, $c, Fc, xt, Li, Ri, $e, ce, Dc), Po("$dayjs");
- const t = Do(() => [
- { label: "Statistics", route: { name: "Statistics" } },
- ]),
- e = Qt({
- url: "lms.lms.api.get_chart_details",
- cache: ["statistics"],
- auto: !0,
- }),
- s = Qt({
- url: "lms.lms.utils.get_chart_data",
- cache: ["signups"],
- params: { chart_name: "New Signups" },
- auto: !0,
- }),
- n = Qt({
- url: "lms.lms.utils.get_chart_data",
- cache: ["enrollments"],
- params: { chart_name: "Course Enrollments" },
- auto: !0,
- }),
- o = Qt({
- url: "lms.lms.utils.get_chart_data",
- cache: ["lessonCompletion"],
- params: { chart_name: "Lesson Completion" },
- auto: !0,
- }),
- r = Qt({
- url: "lms.lms.utils.get_course_completion_data",
- auto: !0,
- cache: ["courseCompletion"],
- }),
- a = () => {
- let f = d(!1);
- return (
- (f.plugins.title.text = "New Signups"),
- (f.borderColor = "#278F5E"),
- (f.backgroundColor = (u) => {
- const g = u.chart.ctx.createLinearGradient(
- 0,
- 0,
- 0,
- 160
- );
- return (
- g.addColorStop(0, "#B6DEC5"),
- g.addColorStop(0.5, "#E4F5E9"),
- g.addColorStop(1, "#F3FCF5"),
- g
- );
- }),
- f
- );
- },
- l = () => {
- let f = d(!1);
- return (
- (f.plugins.title.text = "Course Enrollments"),
- (f.borderColor = "#B52A2A"),
- (f.backgroundColor = (u) => {
- const g = u.chart.ctx.createLinearGradient(
- 0,
- 0,
- 0,
- 160
- );
- return (
- g.addColorStop(0, "#FFC6A5"),
- g.addColorStop(0.5, "#FFD8C5"),
- g.addColorStop(1, "#FFE9E5"),
- g
- );
- }),
- f
- );
- },
- c = () => {
- let f = d(!1);
- return (
- (f.plugins.title.text = "Lesson Completion"),
- (f.borderColor = "#0070CC"),
- (f.backgroundColor = (u) => {
- const g = u.chart.ctx.createLinearGradient(
- 0,
- 0,
- 0,
- 160
- );
- return (
- g.addColorStop(0, "#B6DEC5"),
- g.addColorStop(0.5, "#E4F5E9"),
- g.addColorStop(1, "#F3FCF5"),
- g
- );
- }),
- f
- );
- },
- h = () => {
- let f = d(!0);
- return (
- (f.plugins.title.text = "Course Completion"),
- (f.backgroundColor = ["#E4521B", "#FEEB65"]),
- f
- );
- },
- d = (f) => ({
- responsive: !0,
- maintainAspectRatio: !1,
- fill: !0,
- borderWidth: 2,
- pointRadius: 2,
- pointStyle: "cross",
- ticks: { autoSkip: !0, maxTicksLimit: 5 },
- plugins: {
- legend: { display: !!f },
- title: {
- display: !0,
- align: "start",
- font: { size: 14, weight: "500" },
- color: "#171717",
- padding: { bottom: 20 },
- },
- tooltip: { backgroundColor: "#000" },
- },
- scales: {
- x: {
- display: !f,
- grid: { display: !1 },
- border: { display: !f },
- },
- y: {
- beginAtZero: !0,
- display: !f,
- grid: { display: !1 },
- border: { display: !f },
- },
- },
- });
- return (f, u) => (
- Nt(),
- Qi("div", vh, [
- L("header", kh, [
- Ht(W(Oo), { class: "h-7", items: t.value }, null, 8, [
- "items",
- ]),
- ]),
- W(e).data
- ? (Nt(),
- Qi("div", wh, [
- L("div", Mh, [
- L("div", Sh, [
- L("div", Ch, [
- Ht(W(Ao), {
- class: "w-18 h-18 stroke-1.5 text-gray-700",
- }),
- ]),
- L("div", null, [
- L(
- "div",
- Ph,
- rt(W(e).data.courses),
- 1
- ),
- L(
- "div",
- Dh,
- rt(f.__("Published Courses")),
- 1
- ),
- ]),
- ]),
- L("div", Oh, [
- L("div", Ah, [
- Ht(W(To), {
- class: "w-18 h-18 stroke-1.5 text-gray-700",
- }),
- ]),
- L("div", null, [
- L(
- "div",
- Th,
- rt(W(e).data.users),
- 1
- ),
- L(
- "div",
- Lh,
- rt(f.__("Total Signups")),
- 1
- ),
- ]),
- ]),
- L("div", Rh, [
- L("div", Fh, [
- Ht(W(Lo), {
- class: "w-18 h-18 stroke-1.5 text-gray-700",
- }),
- ]),
- L("div", null, [
- L(
- "div",
- Ih,
- rt(W(e).data.enrollments),
- 1
- ),
- L(
- "div",
- Eh,
- rt(f.__("Enrolled Users")),
- 1
- ),
- ]),
- ]),
- L("div", zh, [
- L("div", Bh, [
- Ht(W(Fo), {
- class: "w-18 h-18 stroke-1.5 text-gray-700",
- }),
- ]),
- L("div", null, [
- L(
- "div",
- Wh,
- rt(W(e).data.completions),
- 1
- ),
- L(
- "div",
- Hh,
- rt(f.__("Courses Completed")),
- 1
- ),
- ]),
- ]),
- L("div", Nh, [
- L("div", Vh, [
- Ht(W(Ro), {
- class: "w-18 h-18 stroke-1.5 text-gray-700",
- }),
- ]),
- L("div", null, [
- L(
- "div",
- jh,
- rt(
- W(e).data.lesson_completions
- ),
- 1
- ),
- L(
- "div",
- $h,
- rt(f.__("Lessons Completed")),
- 1
- ),
- ]),
- ]),
- ]),
- L("div", Yh, [
- L("div", Uh, [
- W(s).data
- ? (Nt(),
- Se(
- W(xi),
- {
- key: 0,
- data: W(s).data,
- options: a(),
- },
- null,
- 8,
- ["data", "options"]
- ))
- : te("", !0),
- ]),
- L("div", Xh, [
- W(n).data
- ? (Nt(),
- Se(
- W(xi),
- {
- key: 0,
- data: W(n).data,
- options: l(),
- },
- null,
- 8,
- ["data", "options"]
- ))
- : te("", !0),
- ]),
- L("div", Kh, [
- W(o).data
- ? (Nt(),
- Se(
- W(xi),
- {
- key: 0,
- data: W(o).data,
- options: c(),
- },
- null,
- 8,
- ["data", "options"]
- ))
- : te("", !0),
- ]),
- L("div", qh, [
- W(r).data
- ? (Nt(),
- Se(
- W(yh),
- {
- key: 0,
- data: W(r).data,
- options: h(),
- },
- null,
- 8,
- ["data", "options"]
- ))
- : te("", !0),
- ]),
- ]),
- ]))
- : te("", !0),
- ])
- );
- },
- };
-export { ed as default };
-//# sourceMappingURL=Statistics-HRvuiWCP.js.map
diff --git a/lms/public/frontend/assets/Statistics-HRvuiWCP.js.map b/lms/public/frontend/assets/Statistics-HRvuiWCP.js.map
deleted file mode 100644
index 4424ff07..00000000
--- a/lms/public/frontend/assets/Statistics-HRvuiWCP.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Statistics-HRvuiWCP.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/file-check-2.js","../../../../node_modules/lucide-vue-next/dist/esm/icons/file-check.js","../../../../node_modules/@kurkle/color/dist/color.esm.js","../../../../node_modules/chart.js/dist/chunks/helpers.segment.js","../../../../node_modules/chart.js/dist/chart.js","../../../../node_modules/vue-chartjs/dist/index.js","../../../../frontend/src/pages/Statistics.vue"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileCheck2 = createLucideIcon(\"FileCheck2Icon\", [\n [\"path\", { d: \"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4\", key: \"702lig\" }],\n [\"polyline\", { points: \"14 2 14 8 20 8\", key: \"1ew0cm\" }],\n [\"path\", { d: \"m3 15 2 2 4-4\", key: \"1lhrkk\" }]\n]);\n\nexport { FileCheck2 as default };\n//# sourceMappingURL=file-check-2.js.map\n","/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileCheck = createLucideIcon(\"FileCheckIcon\", [\n [\n \"path\",\n { d: \"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\", key: \"1nnpy2\" }\n ],\n [\"polyline\", { points: \"14 2 14 8 20 8\", key: \"1ew0cm\" }],\n [\"path\", { d: \"m9 15 2 2 4-4\", key: \"1grp1n\" }]\n]);\n\nexport { FileCheck as default };\n//# sourceMappingURL=file-check.js.map\n","/*!\n * @kurkle/color v0.3.2\n * https://github.com/kurkle/color#readme\n * (c) 2023 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/*!\n * Chart.js v4.4.1\n * https://www.chartjs.org\n * (c) 2023 Chart.js Contributors\n * Released under the MIT License\n */\nimport { Color } from '@kurkle/color';\n\n/**\n * @namespace Chart.helpers\n */ /**\n * An empty function that can be used, for example, for optional callback.\n */ function noop() {\n/* noop */ }\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */ const uid = (()=>{\n let id = 0;\n return ()=>id++;\n})();\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */ function isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value - The value to test.\n */ function isNumberFinite(value) {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */ function finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */ function valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension;\nconst toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value;\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */ function callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for(i = len - 1; i >= 0; i--){\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */ function _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for(i = 0, ilen = a0.length; i < ilen; ++i){\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */ function clone(source) {\n if (isArray(source)) {\n return source.map(clone);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for(; k < klen; ++k){\n target[keys[k]] = clone(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return [\n '__proto__',\n 'prototype',\n 'constructor'\n ].indexOf(key) === -1;\n}\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */ function _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n merge(tval, sval, options);\n } else {\n target[key] = clone(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [\n source\n ];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n let current;\n for(let i = 0; i < ilen; ++i){\n current = sources[i];\n if (!isObject(current)) {\n continue;\n }\n const keys = Object.keys(current);\n for(let k = 0, klen = keys.length; k < klen; ++k){\n merger(keys[k], target, current, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return merge(target, source, {\n merger: _mergerIf\n });\n}\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */ function _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone(sval);\n }\n}\n/**\n * @private\n */ function _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n '': (v)=>v,\n // default resolvers\n x: (o)=>o.x,\n y: (o)=>o.y\n};\n/**\n * @private\n */ function _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts){\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return (obj)=>{\n for (const k of keys){\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\n/**\n * @private\n */ function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value)=>typeof value !== 'undefined';\nconst isFunction = (value)=>typeof value === 'function';\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nconst setsEqual = (a, b)=>{\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a){\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\n/**\n * @param e - The event\n * @private\n */ function _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */ const PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */ function niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */ function _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for(i = 1; i < sqrt; i++){\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b)=>a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return rounded - epsilon <= x && rounded + epsilon >= x;\n}\n/**\n * @private\n */ function _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for(i = 0, ilen = array.length; i < ilen; i++){\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */ function _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while(Math.round(x * e) / e !== x){\n e *= 10;\n p++;\n }\n return p;\n}\n// Gets the angle from vertical upright to the point about a centre.\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < -0.5 * PI) {\n angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */ function _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */ function _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\n/**\n * @private\n */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle;\n}\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */ function _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/**\n * @param {number} value\n * @private\n */ function _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */ function _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index)=>table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while(hi - lo > 1){\n mid = lo + hi >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {\n lo,\n hi\n };\n}\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{\n const ti = table[index][key];\n return ti < value || ti === value && table[index + 1][key] === value;\n } : (index)=>table[index][key] < value);\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value);\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */ function _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while(start < end && values[start] < min){\n start++;\n }\n while(end > start && values[end - 1] > max){\n end--;\n }\n return start > 0 || end < values.length ? values.slice(start, end) : values;\n}\nconst arrayEvents = [\n 'push',\n 'pop',\n 'shift',\n 'splice',\n 'unshift'\n];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [\n listener\n ]\n }\n });\n arrayEvents.forEach((key)=>{\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value (...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object)=>{\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key)=>{\n delete array[key];\n });\n delete array._chartjs;\n}\n/**\n * @param items\n */ function _arrayUnique(items) {\n const set = new Set(items);\n if (set.size === items.length) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n/**\n* Request animation polyfill\n*/ const requestAnimFrame = function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}();\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */ function throttled(fn, thisArg) {\n let argsToUse = [];\n let ticking = false;\n return function(...args) {\n // Save the args for use later\n argsToUse = args;\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, ()=>{\n ticking = false;\n fn.apply(thisArg, argsToUse);\n });\n }\n };\n}\n/**\n * Debounces calling `fn` for `delay` ms\n */ function debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */ const _textX = (align, left, right, rtl)=>{\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n/**\n * Return start and count of visible points.\n * @private\n */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const { iScale , _parsed } = meta;\n const axis = iScale.axis;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {\n start,\n count\n };\n}\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */ function _scaleRangesChanged(meta) {\n const { xScale , yScale , _scaleRanges } = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t)=>t === 0 || t === 1;\nconst elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */ const effects = {\n linear: (t)=>t,\n easeInQuad: (t)=>t * t,\n easeOutQuad: (t)=>-t * (t - 2),\n easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1),\n easeInCubic: (t)=>t * t * t,\n easeOutCubic: (t)=>(t -= 1) * t * t + 1,\n easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: (t)=>t * t * t * t,\n easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1),\n easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: (t)=>t * t * t * t * t,\n easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1,\n easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1,\n easeOutSine: (t)=>Math.sin(t * HALF_PI),\n easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic (t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack (t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack (t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack (t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n },\n easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t),\n easeOutBounce (t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < 1 / d) {\n return m * t * t;\n }\n if (t < 2 / d) {\n return m * (t -= 1.5 / d) * t + 0.75;\n }\n if (t < 2.5 / d) {\n return m * (t -= 2.25 / d) * t + 0.9375;\n }\n return m * (t -= 2.625 / d) * t + 0.984375;\n },\n easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5\n};\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : new Color(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value) ? value : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst numbers = [\n 'x',\n 'y',\n 'borderWidth',\n 'radius',\n 'tension'\n];\nconst colors = [\n 'color',\n 'borderColor',\n 'backgroundColor'\n];\nfunction applyAnimationsDefaults(defaults) {\n defaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined\n });\n defaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn'\n });\n defaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n }\n });\n defaults.describe('animations', {\n _fallback: 'animation'\n });\n defaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n }\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: (v)=>v | 0\n }\n }\n }\n });\n}\n\nfunction applyLayoutsDefaults(defaults) {\n defaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst formatters = {\n values (value) {\n return isArray(value) ? value : '' + value;\n },\n numeric (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {\n notation,\n minimumFractionDigits: numDecimal,\n maximumFractionDigits: numDecimal\n };\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue)));\n if ([\n 1,\n 2,\n 3,\n 5,\n 10,\n 15\n ].includes(remain) || index > 0.8 * ticks.length) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\n var Ticks = {\n formatters\n};\n\nfunction applyScaleDefaults(defaults) {\n defaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n clip: true,\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options)=>options.lineWidth,\n tickColor: (_ctx, options)=>options.color,\n offset: false\n },\n border: {\n display: true,\n dash: [],\n dashOffset: 0.0,\n width: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2\n }\n });\n defaults.route('scale.ticks', 'color', '', 'color');\n defaults.route('scale.grid', 'color', '', 'borderColor');\n defaults.route('scale.border', 'color', '', 'borderColor');\n defaults.route('scale.title', 'color', '', 'color');\n defaults.describe('scale', {\n _fallback: false,\n _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash'\n });\n defaults.describe('scales', {\n _fallback: 'scale'\n });\n defaults.describe('scale.ticks', {\n _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name)=>name !== 'backdropPadding'\n });\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\n function getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for(let i = 0, n = keys.length; i < n; ++i){\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\n class Defaults {\n constructor(_descriptors, _appliers){\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options)=>getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n this.apply(_appliers);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get () {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set (value) {\n this[privateName] = value;\n }\n }\n });\n }\n apply(appliers) {\n appliers.forEach((apply)=>apply(this));\n }\n}\nvar defaults = /* #__PURE__ */ new Defaults({\n _scriptable: (name)=>!name.startsWith('on'),\n _indexable: (name)=>name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false\n }\n}, [\n applyAnimationsDefaults,\n applyLayoutsDefaults,\n applyScaleDefaults\n]);\n\n/**\n * Converts the given font object into a CSS font string.\n * @param font - A font object.\n * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */ function toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n}\n/**\n * @private\n */ function _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\n/**\n * @private\n */ // eslint-disable-next-line complexity\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for(i = 0; i < ilen; i++){\n thing = arrayOfThings[i];\n // Undefined strings and arrays should not be measured\n if (thing !== undefined && thing !== null && !isArray(thing)) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n // if it is an array lets measure each element\n // to do maybe simplify this function a bit so we can do this more recursively?\n for(j = 0, jlen = thing.length; j < jlen; j++){\n nestedThing = thing[j];\n // Undefined strings and arrays should not be measured\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for(i = 0; i < gcLen; i++){\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param chart - The chart instance.\n * @param pixel - A pixel value.\n * @param width - The width of the element.\n * @returns The aligned pixel value.\n * @private\n */ function _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n/**\n * Clears the entire canvas.\n */ function clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n // canvas.width and canvas.height do not consider the canvas transform,\n // while clearRect does\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n drawPointLegend(ctx, options, x, y, null);\n}\n// eslint-disable-next-line complexity\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch(style){\n // Default includes circle\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n width = w ? w / 2 : radius;\n ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */ case 'rectRot':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */ case 'cross':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'star':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n rad += QUARTER_PI;\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n break;\n case false:\n ctx.closePath();\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n/**\n * Returns true if the point is inside the rectangle\n * @param point - The point to test\n * @param area - The rectangle\n * @param margin - allowed margin\n * @private\n */ function _isPointInArea(point, area, margin) {\n margin = margin || 0.5; // margin - default is to match rounded decimals\n return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\n/**\n * @private\n */ function _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\n/**\n * @private\n */ function _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y);\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n /**\n * Now that IE11 support has been dropped, we can use more\n * of the TextMetrics object. The actual bounding boxes\n * are unflagged in Chrome, Firefox, Edge, and Safari so they\n * can be safely used.\n * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n */ const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction drawBackdrop(ctx, opts) {\n const oldColor = ctx.fillStyle;\n ctx.fillStyle = opts.color;\n ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n ctx.fillStyle = oldColor;\n}\n/**\n * Render text onto the canvas\n */ function renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [\n text\n ];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for(i = 0; i < lines.length; ++i){\n line = lines[i];\n if (opts.backdrop) {\n drawBackdrop(ctx, opts.backdrop);\n }\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += Number(font.lineHeight);\n }\n ctx.restore();\n}\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param ctx - Context\n * @param rect - Bounding rect\n */ function addRoundedRectPath(ctx, rect) {\n const { x , y , w , h , radius } = rect;\n // top left arc\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true);\n // line from top left to bottom left\n ctx.lineTo(x, y + h - radius.bottomLeft);\n // bottom left arc\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n // line from bottom left to bottom right\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n // bottom right arc\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n // line from bottom right to top right\n ctx.lineTo(x + w, y + radius.topRight);\n // top right arc\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n // line from top right to top left\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n/**\n * @alias Chart.helpers.options\n * @namespace\n */ /**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */ function toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch(matches[3]){\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = (v)=>+v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value;\n for (const prop of keys){\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */ function toTRBL(value) {\n return _readValueToProps(value, {\n top: 'y',\n right: 'x',\n bottom: 'y',\n left: 'x'\n });\n}\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */ function toTRBLCorners(value) {\n return _readValueToProps(value, [\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight'\n ]);\n}\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */ function toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */ function toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = undefined;\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */ function resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for(i = 0, ilen = inputs.length; i < ilen; ++i){\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */ function _addGrace(minmax, grace, beginAtZero) {\n const { min , max } = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param scopes - The option scopes to look for values, in resolution order\n * @param prefixes - The prefixes for values, in resolution order.\n * @param rootScopes - The root option scopes\n * @param fallback - Parent scopes fallback\n * @param getTarget - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */ function _createResolver(scopes, prefixes = [\n ''\n], rootScopes, fallback, getTarget = ()=>scopes[0]) {\n const finalRootScopes = rootScopes || scopes;\n if (typeof fallback === 'undefined') {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: finalRootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope)=>_createResolver([\n scope,\n ...scopes\n ], prefixes, finalRootScopes, fallback)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete target._keys; // remove cached keys\n delete scopes[0][prop]; // remove from top level scope\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop) {\n return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys (target) {\n return getKeysFromAllScopes(target);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value; // set to top level scope + cache\n delete target._keys; // remove cached keys\n return true;\n }\n });\n}\n/**\n * Returns an Proxy for resolving option values with context.\n * @param proxy - The Proxy returned by `_createResolver`\n * @param context - Context object for scriptable/indexable options\n * @param subProxy - The proxy provided for scriptable options\n * @param descriptorDefaults - Defaults for descriptors\n * @private\n */ function _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete proxy[prop]; // remove from proxy\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop, receiver) {\n return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? {\n enumerable: true,\n configurable: true\n } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(proxy);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return Reflect.has(proxy, prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys () {\n return Reflect.ownKeys(proxy);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n proxy[prop] = value; // set to proxy\n delete target[prop]; // remove from cache\n return true;\n }\n });\n}\n/**\n * @private\n */ function _descriptors(proxy, defaults = {\n scriptable: true,\n indexable: true\n}) {\n const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys } = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable\n };\n}\nconst readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n // cache the resolved value\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n let value = _proxy[prop]; // resolve from proxy\n // resolve with context\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n // if the resolved value is an object, create a sub resolver for it\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, getValue, target, receiver) {\n const { _proxy , _context , _subProxy , _stack } = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n let value = getValue(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n // When scriptable option returns an object, create a resolver on that.\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n if (typeof _context.index !== 'undefined' && isIndexable(prop)) {\n return value[_context.index % value.length];\n } else if (isObject(value[0])) {\n // Array of objects, return array or resolvers\n const arr = value;\n const scopes = _proxy._scopes.filter((s)=>s !== arr);\n value = [];\n for (const item of arr){\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes){\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) {\n // When we reach the descriptor that defines a new _fallback, return that.\n // The fallback will resume to that new scope.\n return fallback;\n }\n } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) {\n // Fallback to `false` results to `false`, when falling back to different key.\n // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [\n ...parentScopes,\n ...rootScopes\n ];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (typeof fallback !== 'undefined' && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [\n ''\n ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while(key){\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n // For array of objects, the object is used to store updated values\n return value;\n }\n return target || {};\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes){\n value = _resolve(readKey(prefix, prop), scopes);\n if (typeof value !== 'undefined') {\n return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes){\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (typeof value !== 'undefined') {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes){\n for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const { iScale } = meta;\n const { key ='r' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i)=>i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n // Props to Rob Spencer at scaled innovation for his post on splining between points\n // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n // This function must also respect \"skipped\" points\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n // If all points are the same, s01 & s02 will be inf\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01; // scaling factor for triangle Ta\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n/**\n * Adjust tangents to ensure monotonic properties\n */ function monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen - 1; ++i){\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */ function splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n // Calculate slopes (deltaK) and initialize tangents (mK)\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for(i = 0, ilen = points.length; i < ilen; ++i){\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n/**\n * @private\n */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n // Only consider points that are drawn in case the spanGaps option is used\n if (options.spanGaps) {\n points = points.filter((pt)=>!pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for(i = 0, ilen = points.length; i < ilen; ++i){\n point = points[i];\n controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\n/**\n * Note: typedefs are auto-exported, so use a made-up `dom` namespace where\n * necessary to avoid duplicates with `export * from './helpers`; see\n * https://github.com/microsoft/TypeScript/issues/46011\n * @typedef { import('../core/core.controller.js').default } dom.Chart\n * @typedef { import('../../types').ChartEvent } ChartEvent\n */ /**\n * @private\n */ function _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * @private\n */ function _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */ function parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n // percentage * size in dimension\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = [\n 'top',\n 'right',\n 'bottom',\n 'left'\n];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for(let i = 0; i < 4; i++){\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot);\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */ function getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const { offsetX , offsetY } = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {\n x,\n y,\n box\n };\n}\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */ function getRelativePosition(event, chart) {\n if ('native' in event) {\n return event;\n }\n const { canvas , currentDevicePixelRatio } = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const { x , y , box } = getCanvasPosition(event, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let { width , height } = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect(); // this is the border box of the container\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = (v)=>Math.round(v * 10) / 10;\n// eslint-disable-next-line complexity\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let { width , height } = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n // https://github.com/chartjs/Chart.js/issues/4659\n // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n height = round1(width / 2);\n }\n const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n height = containerSize.height;\n width = round1(Math.floor(height * aspectRatio));\n }\n return {\n width,\n height\n };\n}\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */ function retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = Math.floor(chart.height);\n chart.width = Math.floor(chart.width);\n const canvas = chart.canvas;\n // If no style has been set on the canvas, the render size is used as display size,\n // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n // See https://github.com/chartjs/Chart.js/issues/3575\n if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */ const supportsEventListenerOptions = function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive () {\n passiveSupported = true;\n return false;\n }\n };\n if (_isDomSupported()) {\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n }\n } catch (e) {\n // continue regardless of error\n }\n return passiveSupported;\n}();\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */ function readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\n/**\n * @private\n */ function _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n/**\n * @private\n */ function _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y\n };\n}\n/**\n * @private\n */ function _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {\n x: p1.cp2x,\n y: p1.cp2y\n };\n const cp2 = {\n x: p2.cp1x,\n y: p2.cp1y\n };\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x (x) {\n return rectX + rectX + width - x;\n },\n setWidth (w) {\n width = w;\n },\n textAlign (align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus (x, value) {\n return x - value;\n },\n leftForLtr (x, itemWidth) {\n return x - itemWidth;\n }\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x (x) {\n return x;\n },\n setWidth (w) {},\n textAlign (align) {\n return align;\n },\n xPlus (x, value) {\n return x + value;\n },\n leftForLtr (x, _itemWidth) {\n return x;\n }\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction')\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle\n };\n }\n return {\n between: _isBetween,\n compare: (a, b)=>a - b,\n normalize: (x)=>x\n };\n}\nfunction normalizeSegment({ start , end , count , loop , style }) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const { property , start: startBound , end: endBound } = bounds;\n const { between , normalize } = propertyFn(property);\n const count = points.length;\n let { start , end , loop } = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for(i = 0, ilen = count; i < ilen; ++i){\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {\n start,\n end,\n loop,\n style: segment.style\n };\n}\n function _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [\n segment\n ];\n }\n const { property , start: startBound , end: endBound } = bounds;\n const count = points.length;\n const { compare , between , normalize } = propertyFn(property);\n const { start , end , loop , style } = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = ()=>inside || startIsBefore();\n const shouldStop = ()=>!inside || endIsBefore();\n for(let i = start, prev = start; i <= end; ++i){\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({\n start: subStart,\n end: i,\n loop,\n count,\n style\n }));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({\n start: subStart,\n end,\n loop,\n count,\n style\n }));\n }\n return result;\n}\n function _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for(let i = 0; i < segments.length; i++){\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\n function findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while(start < count && !points[start].skip){\n start++;\n }\n }\n while(start < count && points[start].skip){\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while(end > start && points[end % count].skip){\n end--;\n }\n end %= count;\n return {\n start,\n end\n };\n}\n function solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for(end = start + 1; end <= max; ++end){\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({\n start: start % count,\n end: (end - 1) % count,\n loop\n });\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({\n start: start % count,\n end: last % count,\n loop\n });\n }\n return result;\n}\n function _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const { start , end } = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [\n {\n start,\n end,\n loop\n }\n ], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n function splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n function doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const { _datasetIndex: datasetIndex , options: { spanGaps } } = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while(points[s % count].skip){\n s -= dir;\n }\n while(points[e % count].skip){\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({\n start: s % count,\n end: e % count,\n loop: l,\n style: st\n });\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments){\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for(i = start + 1; i <= segment.end; i++){\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n if (!prevStyle) {\n return false;\n }\n const cache = [];\n const replacer = function(key, value) {\n if (!isPatternOrGradient(value)) {\n return value;\n }\n if (!cache.includes(value)) {\n cache.push(value);\n }\n return cache.indexOf(value);\n };\n return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer);\n}\n\nexport { unclipArea as $, _rlookupByKey as A, _lookupByKey as B, _isPointInArea as C, getAngleFromPoint as D, toPadding as E, each as F, getMaximumSize as G, HALF_PI as H, _getParentNode as I, readUsedSize as J, supportsEventListenerOptions as K, throttled as L, _isDomSupported as M, _factorize as N, finiteOrDefault as O, PI as P, callback as Q, _addGrace as R, _limitValue as S, TAU as T, toDegrees as U, _measureText as V, _int16Range as W, _alignPixel as X, clipArea as Y, renderText as Z, _arrayUnique as _, resolve as a, fontString as a$, toFont as a0, _toLeftRightCenter as a1, _alignStartEnd as a2, overrides as a3, merge as a4, _capitalize as a5, descriptors as a6, isFunction as a7, _attachContext as a8, _createResolver as a9, overrideTextDirection as aA, _textX as aB, restoreTextDirection as aC, drawPointLegend as aD, distanceBetweenPoints as aE, noop as aF, _setMinAndMaxByKey as aG, niceNum as aH, almostWhole as aI, almostEquals as aJ, _decimalPlaces as aK, Ticks as aL, log10 as aM, _longestText as aN, _filterBetween as aO, _lookup as aP, isPatternOrGradient as aQ, getHoverColor as aR, clone as aS, _merger as aT, _mergerIf as aU, _deprecated as aV, _splitKey as aW, toFontString as aX, splineCurve as aY, splineCurveMonotone as aZ, getStyle as a_, _descriptors as aa, mergeIf as ab, uid as ac, debounce as ad, retinaScale as ae, clearCanvas as af, setsEqual as ag, _elementsEqual as ah, _isClickEvent as ai, _isBetween as aj, _readValueToProps as ak, _updateBezierControlPoints as al, _computeSegments as am, _boundSegments as an, _steppedInterpolation as ao, _bezierInterpolation as ap, _pointInLine as aq, _steppedLineTo as ar, _bezierCurveTo as as, drawPoint as at, addRoundedRectPath as au, toTRBL as av, toTRBLCorners as aw, _boundSegment as ax, _normalizeAngle as ay, getRtlAdapter as az, isArray as b, toLineHeight as b0, PITAU as b1, INFINITY as b2, RAD_PER_DEG as b3, QUARTER_PI as b4, TWO_THIRDS_PI as b5, _angleDiff as b6, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, defined as h, isObject as i, createContext as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, getRelativePosition as z };\n//# sourceMappingURL=helpers.segment.js.map\n","/*!\n * Chart.js v4.4.1\n * https://www.chartjs.org\n * (c) 2023 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, i as isObject, d as defaults, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as defined, s as sign, j as createContext, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as getRelativePosition, A as _rlookupByKey, B as _lookupByKey, C as _isPointInArea, D as getAngleFromPoint, E as toPadding, F as each, G as getMaximumSize, I as _getParentNode, J as readUsedSize, K as supportsEventListenerOptions, L as throttled, M as _isDomSupported, N as _factorize, O as finiteOrDefault, Q as callback, R as _addGrace, S as _limitValue, U as toDegrees, V as _measureText, W as _int16Range, X as _alignPixel, Y as clipArea, Z as renderText, $ as unclipArea, a0 as toFont, a1 as _toLeftRightCenter, a2 as _alignStartEnd, a3 as overrides, a4 as merge, a5 as _capitalize, a6 as descriptors, a7 as isFunction, a8 as _attachContext, a9 as _createResolver, aa as _descriptors, ab as mergeIf, ac as uid, ad as debounce, ae as retinaScale, af as clearCanvas, ag as setsEqual, ah as _elementsEqual, ai as _isClickEvent, aj as _isBetween, ak as _readValueToProps, al as _updateBezierControlPoints, am as _computeSegments, an as _boundSegments, ao as _steppedInterpolation, ap as _bezierInterpolation, aq as _pointInLine, ar as _steppedLineTo, as as _bezierCurveTo, at as drawPoint, au as addRoundedRectPath, av as toTRBL, aw as toTRBLCorners, ax as _boundSegment, ay as _normalizeAngle, az as getRtlAdapter, aA as overrideTextDirection, aB as _textX, aC as restoreTextDirection, aD as drawPointLegend, aE as distanceBetweenPoints, aF as noop, aG as _setMinAndMaxByKey, aH as niceNum, aI as almostWhole, aJ as almostEquals, aK as _decimalPlaces, aL as Ticks, aM as log10, aN as _longestText, aO as _filterBetween, aP as _lookup } from './chunks/helpers.segment.js';\nimport '@kurkle/color';\n\nclass Animator {\n constructor(){\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach((fn)=>fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, ()=>{\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart)=>{\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for(; i >= 0; --i){\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for(; i >= 0; --i){\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = /* #__PURE__ */ new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean (from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color (from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to;\n },\n number (from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to){\n const currentValue = target[prop];\n to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n const from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n this._from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || elapsed < duration);\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = elapsed / duration % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej)=>{\n promises.push({\n res,\n rej\n });\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for(let i = 0; i < promises.length; i++){\n promises[i][method]();\n }\n }\n}\n\nclass Animations {\n constructor(chart, config){\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animationOptions = Object.keys(defaults.animation);\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach((key)=>{\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions){\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [\n key\n ]).forEach((prop)=>{\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(()=>{\n target.options = newOptions;\n }, ()=>{\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for(i = props.length - 1; i >= 0; --i){\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for(let i = 0; i < keys.length; i++){\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {\n $shared: false,\n $animations: {}\n });\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || stacked === undefined && meta.stack !== undefined;\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const { min , max , minDefined , maxDefined } = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){\n const value = stack[meta.index];\n if (positive && value > 0 || !positive && value < 0) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const { chart , _cachedMeta: meta } = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const { iScale , vScale , index: datasetIndex } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for(let i = 0; i < ilen; ++i){\n const item = parsed[i];\n const { [iAxis]: index , [vAxis]: value } = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n const visualValues = stack._visualValues || (stack._visualValues = {});\n visualValues[datasetIndex] = value;\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent, {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n });\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items){\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n delete stacks[axis]._visualValues[datasetIndex];\n }\n }\n}\nconst isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && {\n keys: getSortedDatasetIndices(chart, true),\n values: null\n };\nclass DatasetController {\n static defaults = {};\n static datasetElementType = null;\n static dataElementType = null;\n constructor(chart, datasetIndex){\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.datasetElementType = new.target.datasetElementType;\n this.dataElementType = new.target.dataElementType;\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n }\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale ? meta.vScale : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const { _cachedMeta: meta , _data: data } = this;\n const { iScale , _stacked } = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis];\n for(i = 0; i < count; ++i){\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]._visualValues\n };\n return applyStack(stack, value, meta.index, {\n mode\n });\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n const { min: otherMin , max: otherMax } = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for(i = 0; i < ilen; ++i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for(i = ilen - 1; i >= 0; --i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for(i = 0, ilen = parsed.length; i < ilen; ++i){\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || elements.length - start;\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for(i = start; i < start + count; ++i){\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for(i = 0; i < active.length; ++i){\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context || (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [\n `${elementType}Hover`,\n 'hover',\n elementType,\n ''\n ] : [\n elementType,\n ''\n ];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = ()=>this.getContext(index, active, mode);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions;\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {\n sharedOptions,\n includeOptions\n };\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: !active && this.getSharedOptions(options) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList){\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr)=>{\n arr.length += count;\n for(i = arr.length - 1; i >= end; i--){\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for(i = start; i < end; ++i){\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([\n this.index,\n ...args\n ]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync([\n '_insertElements',\n this.getDataset().data.length - count,\n count\n ]);\n }\n _onDataPop() {\n this._sync([\n '_removeElements',\n this._cachedMeta.data.length - 1,\n 1\n ]);\n }\n _onDataShift() {\n this._sync([\n '_removeElements',\n 0,\n 1\n ]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync([\n '_removeElements',\n start,\n count\n ]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync([\n '_insertElements',\n start,\n newCount\n ]);\n }\n }\n _onDataUnshift() {\n this._sync([\n '_insertElements',\n 0,\n arguments.length\n ]);\n }\n}\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b));\n }\n return scale._cache.$bar;\n}\n function computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = ()=>{\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for(i = 0, ilen = values.length; i < ilen; ++i){\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\n function computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - size / 2\n };\n}\n function computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for(i = start, ilen = start + count; i < ilen; ++i){\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {\n start,\n end,\n reverse,\n top,\n bottom\n };\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {\n top: true,\n right: true,\n bottom: true,\n left: true\n };\n return;\n }\n const { start , end , reverse , top , bottom } = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, { inflateAmount }, ratio) {\n properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount;\n}\nclass BarController extends DatasetController {\n static id = 'bar';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true\n }\n }\n };\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for(i = start, ilen = start + count; i < ilen; ++i){\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const { iScale , vScale } = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const { index , _cachedMeta: { vScale } } = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n for(let i = start; i < start + count; i++){\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {\n base,\n head: base\n } : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom,\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const { iScale } = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta)=>{\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets){\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = name !== undefined ? stacks.indexOf(name) : -1;\n return index === -1 ? stacks.length - 1 : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for(i = 0, ilen = meta.data.length; i < ilen; ++i){\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const { _cachedMeta: { vScale , _stacked , index: datasetIndex } , options: { base: baseValue , minBarLength } } = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n if (_stacked && !floating) {\n parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n }\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount) : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + range.chunk * stackIndex + range.chunk / 2;\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for(; i < ilen; ++i){\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\n\nclass BubbleController extends DatasetController {\n static id = 'bubble';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'borderWidth',\n 'radius'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {\n $shared: false\n });\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {\n ratioX,\n ratioY,\n offsetX,\n offsetY\n };\n}\nclass DoughnutController extends DatasetController {\n static id = 'doughnut';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'circumference',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'startAngle',\n 'x',\n 'y',\n 'offset',\n 'borderWidth',\n 'spacing'\n ]\n }\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r'\n };\n static descriptors = {\n _scriptable: (name)=>name !== 'spacing',\n _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash')\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i)=>+data[i];\n if (isObject(data[start])) {\n const { key ='value' } = this._parsing;\n getter = (i)=>+resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for(i = start, ilen = start + count; i < ilen; ++i){\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for(let i = 0; i < this.chart.data.datasets.length; ++i){\n if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min\n };\n }\n update(mode) {\n const chart = this.chart;\n const { chartArea } = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const { circumference , rotation } = this._getRotationExtents();\n const { ratioX , ratioY , offsetX , offsetY } = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for(i = 0; i < start; ++i){\n startAngle += this._circumference(i, reset);\n }\n for(i = start; i < start + count; ++i){\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for(i = 0; i < metaData.length; i++){\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for(i = 0, ilen = arcs.length; i < ilen; ++i){\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for(let i = 0, ilen = arcs.length; i < ilen; ++i){\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for(let i = 0; i < datasetIndex; ++i){\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\n\nclass LineController extends DatasetController {\n static id = 'line';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category'\n },\n _value_: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { dataset: line , data: points = [] , _dataset } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n const end = start + count;\n const pointsCount = points.length;\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = 0; i < pointsCount; ++i){\n const point = points[i];\n const properties = directUpdate ? point : {};\n if (i < start || i >= end) {\n properties.skip = true;\n continue;\n }\n const parsed = this.getParsed(i);\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\n\nclass PolarAreaController extends DatasetController {\n static id = 'polarArea';\n static defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ]\n }\n },\n indexAxis: 'r',\n startAngle: 0\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n meta.data.forEach((element, index)=>{\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - radiusLength * this.index;\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for(i = 0; i < start; ++i){\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for(i = start; i < start + count; i++){\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index)=>{\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0;\n }\n}\n\nclass PieController extends DoughnutController {\n static id = 'pie';\n static defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n };\n}\n\nclass RadarController extends DatasetController {\n static id = 'radar';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n }\n };\n static overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear'\n }\n }\n };\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\n\nclass ScatterController extends DatasetController {\n static id = 'scatter';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n };\n static overrides = {\n interaction: {\n mode: 'point'\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + ')'\n };\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { data: points = [] } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n if (!this.datasetElementType) {\n this.addElements();\n }\n const { dataset: line , _dataset } = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n } else if (this.datasetElementType) {\n delete meta.dataset;\n this.datasetElementType = false;\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const { showLine } = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = this.chart.registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = start; i < start + count; ++i){\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPieController: PieController,\nPolarAreaController: PolarAreaController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\n/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */ function abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */ class DateAdapterBase {\n /**\n * Override default date adapter methods.\n * Accepts type parameter to define options type.\n * @example\n * Chart._adapters._date.override<{myAdapterOption: string}>({\n * init() {\n * console.log(this.options.myAdapterOption);\n * }\n * })\n */ static override(members) {\n Object.assign(DateAdapterBase.prototype, members);\n }\n options;\n constructor(options){\n this.options = options || {};\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init() {}\n formats() {\n return abstract();\n }\n parse() {\n return abstract();\n }\n format() {\n return abstract();\n }\n add() {\n return abstract();\n }\n diff() {\n return abstract();\n }\n startOf() {\n return abstract();\n }\n endOf() {\n return abstract();\n }\n}\nvar adapters = {\n _date: DateAdapterBase\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const { controller , data , _sorted } = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {\n lo: start.lo,\n hi: end.hi\n };\n }\n }\n }\n return {\n lo: 0,\n hi: data.length - 1\n };\n}\n function evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for(let i = 0, ilen = metasets.length; i < ilen; ++i){\n const { index , data } = metasets[i];\n const { lo , hi } = binarySearch(metasets[i], axis, value, intersect);\n for(let j = lo; j <= hi; ++j){\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\n function getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\n function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\n function getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const { startAngle , endAngle } = element.getProps([\n 'startAngle',\n 'endAngle'\n ], useFinalPosition);\n const { angle } = getAngleFromPoint(element, {\n x: position.x,\n y: position.y\n });\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [\n {\n element,\n datasetIndex,\n index\n }\n ];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n function getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\n var Interaction = {\n evaluateInteractionItems,\n modes: {\n index (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta)=>{\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({\n element,\n datasetIndex: meta.index,\n index\n });\n }\n });\n return elements;\n },\n dataset (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for(let i = 0; i < data.length; ++i){\n items.push({\n element: data[i],\n datasetIndex,\n index: i\n });\n }\n }\n return items;\n },\n point (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = [\n 'left',\n 'top',\n 'right',\n 'bottom'\n];\nfunction filterByPosition(array, position) {\n return array.filter((v)=>v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b)=>{\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){\n box = boxes[i];\n ({ position: pos , options: { stack , stackWeight =1 } } = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && pos + stack,\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts){\n const { stack , pos , stackWeight } = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {\n count: 0,\n placed: 0,\n weight: 0,\n size: 0\n });\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\n function setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const { vBoxMaxWidth , hBoxMaxHeight } = params;\n let i, ilen, layout;\n for(i = 0, ilen = layouts.length; i < ilen; ++i){\n layout = layouts[i];\n const { fullSize } = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const { pos , box } = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {\n size: 0,\n count: 1\n };\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal ? {\n same: widthChanged,\n other: heightChanged\n } : {\n same: heightChanged,\n other: widthChanged\n };\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n positions.forEach((pos)=>{\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal ? marginForPositions([\n 'left',\n 'right'\n ]) : marginForPositions([\n 'top',\n 'bottom'\n ]);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){\n layout = boxes[i];\n box = layout.box;\n box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea));\n const { same , other } = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let { x , y } = chartArea;\n for (const layout of boxes){\n const box = layout.box;\n const stack = stacks[layout.stack] || {\n count: 1,\n placed: 0,\n weight: 1\n };\n const weight = layout.stackWeight / stack.weight || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\nvar layouts = {\n addBox (chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [\n {\n z: 0,\n draw (chartArea) {\n item.draw(chartArea);\n }\n }\n ];\n };\n chart.boxes.push(item);\n },\n removeBox (chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure (chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update (chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, (box)=>{\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w\n };\n each(boxes.chartArea, (layout)=>{\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n });\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\n const EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = (value)=>value === null || value === '';\n function initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {\n passive: true\n} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const { x , y } = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList){\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart)=>{\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height)=>{\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver((entries)=>{\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event)=>{\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart);\n addListener(canvas, type, proxy);\n return proxy;\n}\n class DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n [\n 'height',\n 'width'\n ].forEach((prop)=>{\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key)=>{\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n static defaults = {};\n static defaultRoutes = undefined;\n x;\n y;\n active = false;\n options;\n $animations;\n tooltipPosition(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n // let's not create an object, if not needed\n return this;\n }\n const ret = {};\n props.forEach((prop)=>{\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const determinedMaxTicks = determineMaxTicks(scale);\n const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\n function calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for(let i = 0, ilen = factors.length - 1; i < ilen; i++){\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\n function getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\n function skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for(i = 0; i < ticks.length; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\n function skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while(next < 0){\n count++;\n next = Math.round(start + count * spacing);\n }\n for(i = Math.max(start, 0); i < end; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\n function getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for(diff = arr[0], i = 1; i < len; ++i){\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength);\n function sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for(; i < len; i += increment){\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\n function getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\n function garbageCollect(caches, length) {\n each(caches, (cache)=>{\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for(i = 0; i < gcLen; ++i){\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\n function getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\n function getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return lines * font.lineHeight + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if (reverse && position !== 'right' || !reverse && position === 'right') {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const { top , left , bottom , right , chart } = scale;\n const { chartArea , scales } = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n}\nclass Scale extends Element {\n constructor(cfg){\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let { _userMin , _userMax , _suggestedMin , _suggestedMax } = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {\n min,\n max\n };\n }\n const metas = this.getMatchingVisibleMetas();\n for(let i = 0, ilen = metas.length; i < ilen; ++i){\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n getLabelItems(chartArea = this.chart.chartArea) {\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n return items;\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [\n this\n ]);\n }\n update(maxWidth, maxHeight, margins) {\n const { beginAtZero , grace , ticks: tickOpts } = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [\n this\n ]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [\n this\n ]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [\n this\n ]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [\n this\n ]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [\n this\n ]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [\n tick.value,\n i,\n ticks\n ], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [\n this\n ]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [\n this\n ]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [\n this\n ]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [\n this\n ]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts } } = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const { first , last , widest , highest } = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const { ticks: { align , padding } , position } = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [\n this\n ]);\n }\n isHorizontal() {\n const { axis , position } = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n const { ctx , _longestTextCache: caches } = this;\n const widths = [];\n const heights = [];\n const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for(i = 0; i < length; i += increment){\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {\n data: {},\n gc: []\n };\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for(j = 0, jlen = label.length; j < jlen; ++j){\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx)=>({\n width: widths[idx] || 0,\n height: heights[idx] || 0\n });\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const { min , max } = this;\n return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const { grid , position , border } = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = borderOpts.display ? borderOpts.width : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for(i = 0; i < ticksLength; i += step){\n const context = this.getContext(i);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndexBorder.dash || [];\n const borderDashOffset = optsAtIndexBorder.dashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const { position , ticks: optionTicks } = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const { align , crossAlign , padding , mirror } = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = (chartArea.left + chartArea.right) / 2 - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n x += lineHeight / 2 * Math.sin(rotation);\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = textOffset - labelPadding.top;\n let left = 0 - labelPadding.left;\n switch(textBaseline){\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch(textAlign){\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n case 'inner':\n if (i === ilen - 1) {\n left -= width;\n } else if (i > 0) {\n left -= width / 2;\n }\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor\n };\n }\n items.push({\n label,\n font,\n textOffset,\n options: {\n rotation,\n color,\n strokeColor,\n strokeWidth,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [\n x,\n y\n ],\n backdrop\n }\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const { position , ticks } = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const { position , ticks: { crossAlign , mirror , padding } } = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {\n textAlign,\n x\n };\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {\n top: 0,\n left: this.left,\n bottom: chart.height,\n right: this.right\n };\n }\n if (position === 'top' || position === 'bottom') {\n return {\n top: this.top,\n left: 0,\n bottom: this.bottom,\n right: chart.width\n };\n }\n }\n drawBackground() {\n const { ctx , options: { backgroundColor } , left , top , width , height } = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex((t)=>t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style)=>{\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for(i = 0, ilen = items.length; i < ilen; ++i){\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine({\n x: item.x1,\n y: item.y1\n }, {\n x: item.x2,\n y: item.y2\n }, item);\n }\n if (grid.drawTicks) {\n drawLine({\n x: item.tx1,\n y: item.ty1\n }, {\n x: item.tx2,\n y: item.ty2\n }, {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n });\n }\n }\n }\n }\n drawBorder() {\n const { chart , ctx , options: { border , grid } } = this;\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = border.display ? borderOpts.width : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.width;\n ctx.strokeStyle = borderOpts.color;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this.getLabelItems(chartArea);\n for (const item of items){\n const renderTextOptions = item.options;\n const tickFont = item.font;\n const label = item.label;\n const y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const { ctx , options: { position , title , reverse } } = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const { titleX , titleY , maxWidth , rotation } = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n const bz = valueOrDefault(opts.border && opts.border.z, 0);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [\n {\n z: tz,\n draw: (chartArea)=>{\n this.draw(chartArea);\n }\n }\n ];\n }\n return [\n {\n z: gz,\n draw: (chartArea)=>{\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n },\n {\n z: bz,\n draw: ()=>{\n this.drawBorder();\n }\n },\n {\n z: tz,\n draw: (chartArea)=>{\n this.drawLabels(chartArea);\n }\n }\n ];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override){\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach((property)=>{\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [\n scope\n ].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor(){\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [\n this.controllers,\n this.scales,\n this.elements\n ];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [\n ...args\n ].forEach((arg)=>{\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) {\n this._exec(method, reg, arg);\n } else {\n each(arg, (item)=>{\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for(let i = 0; i < this._typedRegistries.length; i++){\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = /* #__PURE__ */ new Registry();\n\nclass PluginService {\n constructor(){\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors){\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [\n chart,\n args,\n descriptor.options\n ];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\n function allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for(let i = 0; i < keys.length; i++){\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for(let i = 0; i < local.length; i++){\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {\n plugins,\n localIds\n };\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, { plugins , localIds }, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins){\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {\n plugin,\n local: localIds[id]\n }, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, { plugin , local }, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [\n ''\n ], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction idMatchesAxis(id) {\n if (id === 'x' || id === 'y' || id === 'r') {\n return id;\n }\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, ...scaleOptions) {\n if (idMatchesAxis(id)) {\n return id;\n }\n for (const opts of scaleOptions){\n const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase());\n if (axis) {\n return axis;\n }\n }\n throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`);\n}\nfunction getAxisFromDataset(id, axis, dataset) {\n if (dataset[axis + 'AxisID'] === id) {\n return {\n axis\n };\n }\n}\nfunction retrieveAxisFromDatasets(id, config) {\n if (config.data && config.data.datasets) {\n const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id);\n if (boundDs.length) {\n return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]);\n }\n }\n return {};\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {\n scales: {}\n };\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const scales = Object.create(null);\n Object.keys(configScales).forEach((id)=>{\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n scales[id] = mergeIf(Object.create(null), [\n {\n axis\n },\n scaleConf,\n defaultScaleOptions[axis],\n defaultScaleOptions[defaultId]\n ]);\n });\n config.data.datasets.forEach((dataset)=>{\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach((defaultID)=>{\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [\n {\n axis\n },\n configScales[id],\n defaultScaleOptions[defaultID]\n ]);\n });\n });\n Object.keys(scales).forEach((key)=>{\n const scale = scales[key];\n mergeIf(scale, [\n defaults.scales[scale.type],\n defaults.scale\n ]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key)=>{\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config){\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType, ()=>[\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`, ()=>[\n [\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]\n ]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`, ()=>[\n [\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || []\n ]\n ]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const { options , type } = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach((keys)=>{\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach((key)=>addIfFound(scopes, mainScope, key));\n }\n keys.forEach((key)=>addIfFound(scopes, options, key));\n keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach((key)=>addIfFound(scopes, defaults, key));\n keys.forEach((key)=>addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const { options , type } = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {\n type\n },\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = [\n ''\n ]) {\n const result = {\n $shared: true\n };\n const { resolver , subPrefixes } = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names){\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [\n ''\n ], descriptorDefaults) {\n const { resolver } = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key]));\nfunction needContext(proxy, names) {\n const { isScriptable , isIndexable } = _descriptors(proxy);\n for (const prop of names){\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"4.4.1\";\n\nconst KNOWN_POSITIONS = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'chartArea'\n];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x';\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [\n context\n ], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [\n context\n ], chart);\n}\n function getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key)=>{\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c)=>c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys){\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\n function determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nfunction getSizeForArea(scale, chartArea, field) {\n return scale.options.clip ? scale[field] : chartArea[field];\n}\nfunction getDatasetArea(meta, chartArea) {\n const { xScale , yScale } = meta;\n if (xScale && yScale) {\n return {\n left: getSizeForArea(xScale, chartArea, 'left'),\n right: getSizeForArea(xScale, chartArea, 'right'),\n top: getSizeForArea(yScale, chartArea, 'top'),\n bottom: getSizeForArea(yScale, chartArea, 'bottom')\n };\n }\n return chartArea;\n}\nclass Chart {\n static defaults = defaults;\n static instances = instances;\n static overrides = overrides;\n static registry = registry;\n static version = version;\n static getChart = getChart;\n static register(...items) {\n registry.add(...items);\n invalidatePlugins();\n }\n static unregister(...items) {\n registry.remove(...items);\n invalidatePlugins();\n }\n constructor(item, userConfig){\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error('Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' + ' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.');\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const { options: { aspectRatio , maintainAspectRatio } , width , height , _aspectRatio } = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n get registry() {\n return registry;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {\n width,\n height\n };\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {\n size: newSize\n });\n callback(options.onResize, [\n this,\n newSize\n ], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID)=>{\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id)=>{\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(Object.keys(scaleOpts).map((id)=>{\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n }));\n }\n each(items, (item)=>{\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id)=>{\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale)=>{\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b)=>a.index - b.index);\n if (numMeta > numData) {\n for(let i = numData; i < numMeta; ++i){\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const { _metasets: metasets , data: { datasets } } = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index)=>{\n if (datasets.filter((x)=>x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for(i = 0, ilen = datasets.length; i < ilen; i++){\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const { datasetElementType , dataElementType } = defaults.datasets[type];\n Object.assign(ControllerClass, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex)=>{\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){\n const { controller } = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller)=>{\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {\n mode\n });\n this._layers.sort(compare2Level('z', '_idx'));\n const { _active , _lastEvent } = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale)=>{\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const { _hiddenIndices } = this;\n const changes = this._getUniformDataChanges() || [];\n for (const { method , start , count } of changes){\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(',')));\n const changeSet = makeSet(0);\n for(let i = 1; i < datasetCount; i++){\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({\n method: a[1],\n start: +a[2],\n count: +a[3]\n }));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {\n cancelable: true\n }) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box)=>{\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index)=>{\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this.getDatasetMeta(i).controller.configure();\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._updateDataset(i, isFunction(mode) ? mode({\n datasetIndex: i\n }) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {\n mode\n });\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {\n meta,\n index,\n mode,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {\n cancelable: true\n }) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({\n chart: this\n });\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const { width , height } = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const layers = this._layers;\n for(i = 0; i < layers.length && layers[i].z <= 0; ++i){\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for(; i < layers.length; ++i){\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = getDatasetArea(meta, this.chartArea);\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter((x)=>x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {\n chart: this,\n type: 'chart'\n }));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {\n visible\n });\n this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const { canvas , ctx } = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y)=>{\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type)=>_add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener)=>{\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height)=>{\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = ()=>{\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = ()=>{\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n isPluginEnabled(pluginId) {\n return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1;\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const { _active: lastActive = [] , options } = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [\n e,\n active,\n this\n ], this);\n if (isClick) {\n callback(options.onClick, [\n e,\n active,\n this\n ], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nfunction invalidatePlugins() {\n return each(Chart.instances, (chart)=>chart._plugins.invalidate());\n}\n\nfunction clipArc(ctx, element, endAngle) {\n const { startAngle , pixelMargin , x , y , outerRadius , innerRadius } = element;\n let angleMargin = pixelMargin / outerRadius;\n // Draw an inner border by clipping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, [\n 'outerStart',\n 'outerEnd',\n 'innerStart',\n 'innerEnd'\n ]);\n}\n/**\n * Parse border radius from the provided options\n */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n // Outer limits are complicated. We want to compute the available angular distance at\n // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n //\n // If the borderRadius is large, that value can become negative.\n // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n // we know that the thickness term will dominate and compute the limits at that point\n const computeOuterLimit = (val)=>{\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit)\n };\n}\n/**\n * Convert (r, 𝜃) to (x, y)\n */ function rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta)\n };\n}\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n * Start End\n *\n * 1--->a--->2 Outer\n * / \\\n * 8 3\n * | |\n * | |\n * 7 4\n * \\ /\n * 6<---b<---5 Inner\n */ function pathArc(ctx, element, offset, spacing, end, circular) {\n const { x , y , startAngle: start , pixelMargin , innerRadius: innerR } = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n // When spacing is present, it is the same for all items\n // So we adjust the start and end angle of the arc such that\n // the distance is the same as it would be without the spacing\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const { outerStart , outerEnd , innerStart , innerEnd } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n // The first arc segments from point 1 to point a to point 2\n const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n // The corner segment from point 2 to point 3\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n // The line from point 3 to point 4\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n // The corner segment from point 4 to point 5\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n // The inner arc from point 5 to point b to point 6\n const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2;\n ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true);\n ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true);\n // The corner segment from point 6 to point 7\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n // The line from point 7 to point 8\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n // The corner segment from point 8 to point 1\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference } = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawBorder(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference , options } = element;\n const { borderWidth , borderJoinStyle , borderDash , borderDashOffset } = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n ctx.setLineDash(borderDash || []);\n ctx.lineDashOffset = borderDashOffset;\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.stroke();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n if (!fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n }\n}\nclass ArcElement extends Element {\n static id = 'arc';\n static defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash'\n };\n circumference;\n endAngle;\n fullCircles;\n innerRadius;\n outerRadius;\n pixelMargin;\n startAngle;\n constructor(cfg){\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n const { angle , distance } = getAngleFromPoint(point, {\n x: chartX,\n y: chartY\n });\n const { startAngle , endAngle , innerRadius , outerRadius , circumference } = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return betweenAngles && withinRadius;\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , startAngle , endAngle , innerRadius , outerRadius } = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ], useFinalPosition);\n const { offset , spacing } = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const { options , circumference } = this;\n const offset = (options.offset || 0) / 4;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n const radiusOffset = offset * fix;\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, circular);\n ctx.restore();\n }\n}\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\n function getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const { start: paramsStart = 0 , end: paramsEnd = count - 1 } = params;\n const { start: segmentStart , end: segmentEnd } = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\n function pathSegment(ctx, line, segment, params) {\n const { points , options } = line;\n const { count , start , loop , ilen } = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let { move =true , reverse } = params || {};\n let i, point, prev;\n for(i = 0; i <= ilen; ++i){\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\n function fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const { count , start , ilen } = pathVars(points, segment, params);\n const { move =true , reverse } = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count;\n const drawX = ()=>{\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for(i = 0; i <= ilen; ++i){\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\n function _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\n function _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const { segments , options } = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments){\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {\n start,\n end: start + count - 1\n })) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n static id = 'line';\n static defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash' && name !== 'fill'\n };\n constructor(cfg){\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {\n property,\n start: value,\n end: value\n });\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for(i = 0, ilen = segments.length; i < ilen; ++i){\n const { start , end } = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || this.points.length - start;\n for (const segment of segments){\n loop &= segmentMethod(ctx, this, segment, {\n start,\n end: start + count - 1\n });\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const { [axis]: value } = el.getProps([\n axis\n ], useFinalPosition);\n return Math.abs(pos - value) < options.radius + options.hitRadius;\n}\nclass PointElement extends Element {\n static id = 'point';\n parsed;\n skip;\n stop;\n /**\n * @type {any}\n */ static defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n };\n /**\n * @type {any}\n */ static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n // @ts-expect-error Fallbacks should never be hit in practice\n return options.radius + options.hitRadius;\n }\n}\n\nfunction getBarBounds(bar, useFinalPosition) {\n const { x , y , base , width , height } = bar.getProps([\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {\n left,\n top,\n right,\n bottom\n };\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const { enableBorderRadius } = bar.getProps([\n 'enableBorderRadius'\n ]);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r))\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n function addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n static id = 'bar';\n static defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const { inflateAmount , options: { borderColor , backgroundColor } } = this;\n const { inner , outer } = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , base , horizontal } = this.getProps([\n 'x',\n 'y',\n 'base',\n 'horizontal'\n ], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nBarElement: BarElement,\nLineElement: LineElement,\nPointElement: PointElement\n});\n\nconst BORDER_COLORS = [\n 'rgb(54, 162, 235)',\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)' // grey\n];\n// Border colors with 50% transparency\nconst BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)'));\nfunction getBorderColor(i) {\n return BORDER_COLORS[i % BORDER_COLORS.length];\n}\nfunction getBackgroundColor(i) {\n return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length];\n}\nfunction colorizeDefaultDataset(dataset, i) {\n dataset.borderColor = getBorderColor(i);\n dataset.backgroundColor = getBackgroundColor(i);\n return ++i;\n}\nfunction colorizeDoughnutDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++));\n return i;\n}\nfunction colorizePolarAreaDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++));\n return i;\n}\nfunction getColorizer(chart) {\n let i = 0;\n return (dataset, datasetIndex)=>{\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n if (controller instanceof DoughnutController) {\n i = colorizeDoughnutDataset(dataset, i);\n } else if (controller instanceof PolarAreaController) {\n i = colorizePolarAreaDataset(dataset, i);\n } else if (controller) {\n i = colorizeDefaultDataset(dataset, i);\n }\n };\n}\nfunction containsColorsDefinitions(descriptors) {\n let k;\n for(k in descriptors){\n if (descriptors[k].borderColor || descriptors[k].backgroundColor) {\n return true;\n }\n }\n return false;\n}\nfunction containsColorsDefinition(descriptor) {\n return descriptor && (descriptor.borderColor || descriptor.backgroundColor);\n}\nvar plugin_colors = {\n id: 'colors',\n defaults: {\n enabled: true,\n forceOverride: false\n },\n beforeLayout (chart, _args, options) {\n if (!options.enabled) {\n return;\n }\n const { data: { datasets } , options: chartOptions } = chart.config;\n const { elements } = chartOptions;\n if (!options.forceOverride && (containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements))) {\n return;\n }\n const colorizer = getColorizer(chart);\n datasets.forEach(colorizer);\n }\n};\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for(i = 0; i < samples - 2; i++){\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for(j = avgRangeStart; j < avgRangeEnd; j++){\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const { x: pointAx , y: pointAy } = data[a];\n maxArea = area = -1;\n for(j = rangeOffs; j < rangeTo; j++){\n area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy));\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for(i = start; i < start + count; ++i){\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: data\n });\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset)=>{\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const { iScale } = meta;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {\n start,\n count\n };\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false\n },\n beforeElementsUpdate: (chart, args, options)=>{\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex)=>{\n const { _data , indexAxis } = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([\n indexAxis,\n chart.options.indexAxis\n ]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let { start , count } = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch(options.algorithm){\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy (chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments){\n let { start , end } = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments){\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources){\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {\n property,\n start,\n end\n };\n}\nfunction _pointsFromSegments(boundary, line) {\n const { x =null , y =null } = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({ start , end })=>{\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({\n x: first.x,\n y\n });\n points.push({\n x: last.x,\n y\n });\n } else if (x !== null) {\n points.push({\n x,\n y: first.y\n });\n points.push({\n x,\n y: last.y\n });\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for(; end > start; end--){\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {\n tension: 0\n },\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [\n index\n ];\n let target;\n if (!propagate) {\n return fill;\n }\n while(fill !== false && visited.indexOf(fill) === -1){\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\n function _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return [\n 'origin',\n 'start',\n 'end',\n 'stack',\n 'shape'\n ].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\n function _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\n function _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\n function parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const { scale , index , line } = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({\n x: null,\n y: scale.bottom\n }, line));\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n for(let j = segment.start; j <= segment.end; j++){\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({\n points,\n options: {}\n });\n}\n function getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for(let i = 0; i < metas.length; i++){\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\n function addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for(let j = 0; j < linesBelow.length; j++){\n const line = linesBelow[j];\n const { first , last , point } = findPoint(line, sourcePoint, 'x');\n if (!point || first && last) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\n function findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {\n first,\n last,\n point\n };\n}\n\nclass simpleArc {\n constructor(opts){\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const { x , y , radius } = this;\n bounds = bounds || {\n start: 0,\n end: TAU\n };\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const { x , y , radius } = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const { chart , fill , line } = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\n function getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const { scale ={} , fill } = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const { scale , fill } = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for(let i = 0; i < length; ++i){\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const { line , scale , axis } = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const { above =color , below =color } = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {\n line,\n target,\n above,\n below,\n area,\n scale,\n axis\n });\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const { line , target , above , below , area , scale } = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {\n line,\n target,\n color: above,\n scale,\n property\n });\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {\n line,\n target,\n color: below,\n scale,\n property\n });\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const { segments , points } = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments){\n const { start , end } = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {\n move: lineLoop\n });\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const { line , target , property , color , scale } = cfg;\n const segments = _segments(line, target, property);\n for (const { source: src , target: tgt , start , end } of segments){\n const { style: { backgroundColor =color } = {} } = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {\n move: lineLoop,\n reverse: true\n });\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const { top , bottom } = scale.chart.chartArea;\n const { property , start , end } = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate (chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for(i = 0; i < count; ++i){\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for(i = 0; i < count; ++i){\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw (chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw (chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw (chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize)=>{\n let { boxHeight =fontSize , boxWidth =fontSize } = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config){\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [\n this.chart\n ], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const { options , ctx } = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const { boxWidth , itemHeight } = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const { ctx , maxWidth , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [\n 0\n ];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i)=>{\n const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {\n left: 0,\n top,\n row,\n width: itemWidth,\n height: itemHeight\n };\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n const { ctx , maxHeight , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i)=>{\n const { itemWidth , itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {\n left,\n top: currentColHeight,\n col,\n width: itemWidth,\n height: itemHeight\n };\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const { legendHitBoxes: hitboxes , options: { align , labels: { padding } , rtl } } = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes){\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes){\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const { options: opts , columnSizes , lineWidths , ctx } = this;\n const { align , labels: labelOpts } = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const { padding } = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const { boxWidth , boxHeight , itemHeight } = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i)=>{\n ctx.strokeStyle = legendItem.fontColor;\n ctx.fillStyle = legendItem.fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else if (typeof legendItem.text !== 'string') {\n const fontLineHeight = labelFont.lineHeight;\n cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for(i = 0; i < lh.length; ++i){\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [\n e,\n previous,\n this\n ], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [\n e,\n hoveredItem,\n this\n ], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [\n e,\n hoveredItem,\n this\n ], this);\n }\n }\n}\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n return {\n itemWidth,\n itemHeight\n };\n}\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n let legendItemText = legendItem.text;\n if (legendItemText && typeof legendItemText !== 'string') {\n legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b);\n }\n return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width;\n}\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n let itemHeight = _itemHeight;\n if (typeof legendItem.text !== 'string') {\n itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n }\n return itemHeight;\n}\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n const labelHeight = legendItem.text ? legendItem.text.length : 0;\n return fontLineHeight * labelHeight;\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start (chart, _args, options) {\n const legend = chart.legend = new Legend({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop (chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate (chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate (chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent (chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick (e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx)=>ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels (chart) {\n const datasets = chart.data.datasets;\n const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta)=>{\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx)=>ctx.chart.options.color,\n display: false,\n position: 'center',\n text: ''\n }\n },\n descriptors: {\n _scriptable: (name)=>!name.startsWith('on'),\n labels: {\n _scriptable: (name)=>![\n 'generateLabels',\n 'filter',\n 'sort'\n ].includes(name)\n }\n }\n};\n\nclass Title extends Element {\n constructor(config){\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const { top , left , bottom , right , options } = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const { titleX , titleY , maxWidth , rotation } = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start (chart, _args, options) {\n createTitle(chart, options);\n },\n stop (chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate (chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold'\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start (chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop (chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate (chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal'\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst positioners = {\n average (items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest (items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\n function splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\n function createTooltipItem(chart, item) {\n const { element , datasetIndex , index } = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const { label , value } = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\n function getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const { body , footer , title } = tooltip;\n const { boxWidth , boxHeight } = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0;\n each(body, (bodyItem)=>{\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {\n width,\n height\n };\n}\nfunction determineYAlign(chart, size) {\n const { y , height } = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > chart.height - height / 2) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const { x , width } = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const { x , width } = size;\n const { width: chartWidth , chartArea: { left , right } } = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\n function determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let { x , width } = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= width / 2;\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let { y , height } = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= height / 2;\n }\n return y;\n}\n function getBackgroundPoint(options, size, alignment, chart) {\n const { caretSize , caretPadding , cornerRadius } = options;\n const { xAlign , yAlign } = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left;\n}\n function getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nconst defaultCallbacks = {\n beforeTitle: noop,\n title (tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label (tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0\n };\n },\n labelTextColor () {\n return this.options.bodyColor;\n },\n labelPointStyle (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n};\n function invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n const result = callbacks[name].call(ctx, arg);\n if (typeof result === 'undefined') {\n return defaultCallbacks[name].call(ctx, arg);\n }\n return result;\n}\nclass Tooltip extends Element {\n static positioners = positioners;\n constructor(config){\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const { callbacks } = options;\n const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems));\n }\n getBody(tooltipItems, options) {\n const { callbacks } = options;\n const bodyItems = [];\n each(tooltipItems, (context)=>{\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems));\n }\n getFooter(tooltipItems, options) {\n const { callbacks } = options;\n const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for(i = 0, len = active.length; i < len; ++i){\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data));\n }\n each(tooltipItems, (context)=>{\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {\n chart: this.chart,\n tooltip: this,\n replay\n });\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const { xAlign , yAlign } = this;\n const { caretSize , cornerRadius } = options;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n const { x: ptX , y: ptY } = tooltipPoint;\n const { width , height } = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + height / 2;\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {\n x1,\n x2,\n x3,\n y1,\n y2,\n y3\n };\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColor = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const { boxHeight , boxWidth } = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColor.borderColor;\n ctx.fillStyle = labelColor.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1;\n ctx.strokeStyle = labelColor.borderColor;\n ctx.setLineDash(labelColor.borderDash || []);\n ctx.lineDashOffset = labelColor.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = toTRBLCorners(labelColor.borderRadius);\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const { body } = this;\n const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding } = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0;\n for(i = 0, ilen = body.length; i < ilen; ++i){\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for(j = 0, jlen = lines.length; j < jlen; ++j){\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const { xAlign , yAlign } = this;\n const { x , y } = pt;\n const { width , height } = tooltipSize;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined);\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const { caretX , caretY , options } = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit (chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({\n chart,\n options\n });\n }\n },\n beforeUpdate (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw (chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', {\n ...args,\n cancelable: true\n }) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent (chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold'\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {},\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold'\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts)=>opts.bodyFont.size,\n boxWidth: (ctx, opts)=>opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart'\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'width',\n 'height',\n 'caretX',\n 'caretY'\n ]\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: defaultCallbacks\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: [\n 'interaction'\n ]\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nColors: plugin_colors,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels)=>{\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({\n index,\n label: raw\n });\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max);\nfunction _getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n}\nclass CategoryScale extends Scale {\n static id = 'category';\n static defaults = {\n ticks: {\n callback: _getLabelForValue\n }\n };\n constructor(cfg){\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const { index , label } of added){\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for(let value = min; value <= max; value++){\n ticks.push({\n value\n });\n }\n return ticks;\n }\n getLabelForValue(value) {\n return _getLabelForValue.call(this, value);\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds } = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const { min: rmin , max: rmax } = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [\n {\n value: rmin\n },\n {\n value: rmax\n }\n ];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin));\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({\n value: min\n });\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for(; j < numSpaces; ++j){\n const tickValue = Math.round((niceMin + j * spacing) * factor) / factor;\n if (maxDefined && tickValue > max) {\n break;\n }\n ticks.push({\n value: tickValue\n });\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({\n value: max\n });\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({\n value: niceMax\n });\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, { horizontal , minRotation }) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const { beginAtZero } = this.options;\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let { maxTicksLimit , stepSize } = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n static id = 'linear';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n };\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\n\nconst log10Floor = (v)=>Math.floor(log10(v));\nconst changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m);\nfunction isMajor(tickVal) {\n const remain = tickVal / Math.pow(10, log10Floor(tickVal));\n return remain === 1;\n}\nfunction steps(min, max, rangeExp) {\n const rangeStep = Math.pow(10, rangeExp);\n const start = Math.floor(min / rangeStep);\n const end = Math.ceil(max / rangeStep);\n return end - start;\n}\nfunction startExp(min, max) {\n const range = max - min;\n let rangeExp = log10Floor(range);\n while(steps(min, max, rangeExp) > 10){\n rangeExp++;\n }\n while(steps(min, max, rangeExp) < 10){\n rangeExp--;\n }\n return Math.min(rangeExp, log10Floor(min));\n}\n function generateTicks(generationOptions, { min , max }) {\n min = finiteOrDefault(generationOptions.min, min);\n const ticks = [];\n const minExp = log10Floor(min);\n let exp = startExp(min, max);\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n const stepSize = Math.pow(10, exp);\n const base = minExp > exp ? Math.pow(10, minExp) : 0;\n const start = Math.round((min - base) * precision) / precision;\n const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n let significand = Math.floor((start - offset) / Math.pow(10, exp));\n let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n while(value < max){\n ticks.push({\n value,\n major: isMajor(value),\n significand\n });\n if (significand >= 10) {\n significand = significand < 15 ? 15 : 20;\n } else {\n significand++;\n }\n if (significand >= 20) {\n exp++;\n significand = 2;\n precision = exp >= 0 ? 1 : precision;\n }\n value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n }\n const lastTick = finiteOrDefault(generationOptions.max, value);\n ticks.push({\n value: lastTick,\n major: isMajor(lastTick),\n significand\n });\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n static id = 'logarithmic';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n };\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [\n raw,\n index\n ]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) {\n this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(changeExponent(min, -1));\n setMax(changeExponent(max, +1));\n }\n }\n if (min <= 0) {\n setMin(changeExponent(max, -1));\n }\n if (max <= 0) {\n setMax(changeExponent(min, +1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [\n label\n ];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - size / 2,\n end: pos + size / 2\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\n function fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for(let i = 0; i < valueCount; i++){\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b);\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction createPointLabelItem(scale, index, itemOpts) {\n const outerDistance = scale.drawingArea;\n const { extra , additionalAngle , padding , size } = itemOpts;\n const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n return {\n visible: true,\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n };\n}\nfunction isNotOverlapped(item, area) {\n if (!area) {\n return true;\n }\n const { left , top , right , bottom } = item;\n const apexesInArea = _isPointInArea({\n x: left,\n y: top\n }, area) || _isPointInArea({\n x: left,\n y: bottom\n }, area) || _isPointInArea({\n x: right,\n y: top\n }, area) || _isPointInArea({\n x: right,\n y: bottom\n }, area);\n return !apexesInArea;\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const { centerPointLabels , display } = opts.pointLabels;\n const itemOpts = {\n extra: getTickBackdropHeight(opts) / 2,\n additionalAngle: centerPointLabels ? PI / valueCount : 0\n };\n let area;\n for(let i = 0; i < valueCount; i++){\n itemOpts.padding = padding[i];\n itemOpts.size = labelSizes[i];\n const item = createPointLabelItem(scale, i, itemOpts);\n items.push(item);\n if (display === 'auto') {\n item.visible = isNotOverlapped(item, area);\n if (item.visible) {\n area = item;\n }\n }\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= w / 2;\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= h / 2;\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabelBox(ctx, opts, item) {\n const { left , top , right , bottom } = item;\n const { backdropColor } = opts;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(opts.borderRadius);\n const padding = toPadding(opts.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n}\nfunction drawPointLabels(scale, labelCount) {\n const { ctx , options: { pointLabels } } = scale;\n for(let i = labelCount - 1; i >= 0; i--){\n const item = scale._pointLabelItems[i];\n if (!item.visible) {\n continue;\n }\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n drawPointLabelBox(ctx, optsAtIndex, item);\n const plFont = toFont(optsAtIndex.font);\n const { x , y , textAlign } = item;\n renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n });\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const { ctx } = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for(let i = 1; i < labelCount; i++){\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const { color , lineWidth } = gridLineOpts;\n if (!circular && !labelCount || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(borderOpts.dash);\n ctx.lineDashOffset = borderOpts.dashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n static id = 'radialLinear';\n static defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback (label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n };\n static defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n };\n static descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n };\n constructor(cfg){\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels().map((value, index)=>{\n const label = callback(this.options.pointLabels.callback, [\n value,\n index\n ], this);\n return label || label === 0 ? label : '';\n }).filter((v, i)=>this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const { left , top , right , bottom } = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom\n };\n }\n drawBackground() {\n const { backgroundColor , grid: { circular } } = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const { angleLines , grid , border } = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index)=>{\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const context = this.getContext(index);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for(i = labelCount - 1; i >= 0; i--){\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const { color , lineWidth } = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index)=>{\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height);\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n strokeColor: optsAtIndex.textStrokeColor,\n strokeWidth: optsAtIndex.textStrokeWidth\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\n\nconst INTERVALS = {\n millisecond: {\n common: true,\n size: 1,\n steps: 1000\n },\n second: {\n common: true,\n size: 1000,\n steps: 60\n },\n minute: {\n common: true,\n size: 60000,\n steps: 60\n },\n hour: {\n common: true,\n size: 3600000,\n steps: 24\n },\n day: {\n common: true,\n size: 86400000,\n steps: 30\n },\n week: {\n common: false,\n size: 604800000,\n steps: 4\n },\n month: {\n common: true,\n size: 2.628e9,\n steps: 12\n },\n quarter: {\n common: false,\n size: 7.884e9,\n steps: 4\n },\n year: {\n common: true,\n size: 3.154e10\n }\n};\n const UNITS = /* #__PURE__ */ Object.keys(INTERVALS);\n function sorter(a, b) {\n return a - b;\n}\n function parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const { parser , round , isoWeekday } = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round);\n }\n return +value;\n}\n function determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\n function determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n function determineMajorUnit(unit) {\n for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\n function addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const { lo , hi } = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\n function setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\n function ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for(i = 0; i < ilen; ++i){\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n static id = 'time';\n static defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n callback: false,\n major: {\n enabled: false\n }\n }\n };\n constructor(props){\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts = {}) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {\n min,\n max\n };\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map((tick)=>+tick.value));\n }\n }\n initOffsets(timestamps = []) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {\n start,\n end,\n factor: 1 / (start + 1 + end)\n };\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort(sorter).map((x)=>+x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n format(value, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const fmt = format || formats[unit];\n return this._adapter.format(value, fmt);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formatter = options.ticks.callback;\n if (formatter) {\n return callback(formatter, [\n time,\n index,\n ticks\n ], this);\n }\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: tickLabelWidth * cosRotation + tickFontSize * sinRotation,\n h: tickLabelWidth * sinRotation + tickFontSize * cosRotation\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [\n exampleTime\n ], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return this._cache.data = metas[0].controller.getAllParsedValues(this);\n }\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return this._cache.data = this.normalize(timestamps);\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for(i = 0, ilen = labels.length; i < ilen; ++i){\n timestamps.push(parse(this, labels[i]));\n }\n return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps);\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({ lo , hi } = _lookupByKey(table, 'pos', val));\n }\n ({ pos: prevSource , time: prevTarget } = table[lo]);\n ({ pos: nextSource , time: nextTarget } = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({ lo , hi } = _lookupByKey(table, 'time', val));\n }\n ({ time: prevSource , pos: prevTarget } = table[lo]);\n ({ time: nextSource , pos: nextTarget } = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n static id = 'timeseries';\n static defaults = TimeScale.defaults;\n constructor(props){\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const { min , max } = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for(i = 0, ilen = timestamps.length; i < ilen; ++i){\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {\n time: min,\n pos: 0\n },\n {\n time: max,\n pos: 1\n }\n ];\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({\n time: curr,\n pos: i / (ilen - 1)\n });\n }\n }\n return table;\n }\n _generate() {\n const min = this.min;\n const max = this.max;\n let timestamps = super.getDataTimestamps();\n if (!timestamps.includes(min) || !timestamps.length) {\n timestamps.splice(0, 0, min);\n }\n if (!timestamps.includes(max) || timestamps.length === 1) {\n timestamps.push(max);\n }\n return timestamps.sort((a, b)=>a - b);\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, plugin_colors as Colors, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, defaults, elements, layouts, plugins, registerables, registry, scales };\n//# sourceMappingURL=chart.js.map\n","import { Chart as Chart$1, BarController, DoughnutController, LineController, PieController, PolarAreaController, RadarController, BubbleController, ScatterController } from 'chart.js';\nimport { version, isProxy, toRaw, defineComponent, ref, shallowRef, onMounted, onBeforeUnmount, watch, nextTick, h } from 'vue';\n\nconst CommonProps = {\n data: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: ()=>({})\n },\n plugins: {\n type: Array,\n default: ()=>[]\n },\n datasetIdKey: {\n type: String,\n default: \"label\"\n },\n updateMode: {\n type: String,\n default: undefined\n }\n};\nconst A11yProps = {\n ariaLabel: {\n type: String\n },\n ariaDescribedby: {\n type: String\n }\n};\nconst Props = {\n type: {\n type: String,\n required: true\n },\n ...CommonProps,\n ...A11yProps\n};\n\nconst compatProps = version[0] === \"2\" ? (internals, props)=>Object.assign(internals, {\n attrs: props\n }) : (internals, props)=>Object.assign(internals, props);\nfunction toRawIfProxy(obj) {\n return isProxy(obj) ? toRaw(obj) : obj;\n}\nfunction cloneProxy(obj) {\n let src = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : obj;\n return isProxy(src) ? new Proxy(obj, {}) : obj;\n}\nfunction setOptions(chart, nextOptions) {\n const options = chart.options;\n if (options && nextOptions) {\n Object.assign(options, nextOptions);\n }\n}\nfunction setLabels(currentData, nextLabels) {\n currentData.labels = nextLabels;\n}\nfunction setDatasets(currentData, nextDatasets, datasetIdKey) {\n const addedDatasets = [];\n currentData.datasets = nextDatasets.map((nextDataset)=>{\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find((dataset)=>dataset[datasetIdKey] === nextDataset[datasetIdKey]);\n // There is no original to update, so simply add new one\n if (!currentDataset || !nextDataset.data || addedDatasets.includes(currentDataset)) {\n return {\n ...nextDataset\n };\n }\n addedDatasets.push(currentDataset);\n Object.assign(currentDataset, nextDataset);\n return currentDataset;\n });\n}\nfunction cloneData(data, datasetIdKey) {\n const nextData = {\n labels: [],\n datasets: []\n };\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n return nextData;\n}\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getDatasetAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"dataset\", {\n intersect: true\n }, false);\n}\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"nearest\", {\n intersect: true\n }, false);\n}\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementsAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"index\", {\n intersect: true\n }, false);\n}\n\nconst Chart = defineComponent({\n props: Props,\n setup (props, param) {\n let { expose , slots } = param;\n const canvasRef = ref(null);\n const chartRef = shallowRef(null);\n expose({\n chart: chartRef\n });\n const renderChart = ()=>{\n if (!canvasRef.value) return;\n const { type , data , options , plugins , datasetIdKey } = props;\n const clonedData = cloneData(data, datasetIdKey);\n const proxiedData = cloneProxy(clonedData, data);\n chartRef.value = new Chart$1(canvasRef.value, {\n type,\n data: proxiedData,\n options: {\n ...options\n },\n plugins\n });\n };\n const destroyChart = ()=>{\n const chart = toRaw(chartRef.value);\n if (chart) {\n chart.destroy();\n chartRef.value = null;\n }\n };\n const update = (chart)=>{\n chart.update(props.updateMode);\n };\n onMounted(renderChart);\n onBeforeUnmount(destroyChart);\n watch([\n ()=>props.options,\n ()=>props.data\n ], (param, param1)=>{\n let [nextOptionsProxy, nextDataProxy] = param, [prevOptionsProxy, prevDataProxy] = param1;\n const chart = toRaw(chartRef.value);\n if (!chart) {\n return;\n }\n let shouldUpdate = false;\n if (nextOptionsProxy) {\n const nextOptions = toRawIfProxy(nextOptionsProxy);\n const prevOptions = toRawIfProxy(prevOptionsProxy);\n if (nextOptions && nextOptions !== prevOptions) {\n setOptions(chart, nextOptions);\n shouldUpdate = true;\n }\n }\n if (nextDataProxy) {\n const nextLabels = toRawIfProxy(nextDataProxy.labels);\n const prevLabels = toRawIfProxy(prevDataProxy.labels);\n const nextDatasets = toRawIfProxy(nextDataProxy.datasets);\n const prevDatasets = toRawIfProxy(prevDataProxy.datasets);\n if (nextLabels !== prevLabels) {\n setLabels(chart.config.data, nextLabels);\n shouldUpdate = true;\n }\n if (nextDatasets && nextDatasets !== prevDatasets) {\n setDatasets(chart.config.data, nextDatasets, props.datasetIdKey);\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n nextTick(()=>{\n update(chart);\n });\n }\n }, {\n deep: true\n });\n return ()=>{\n return h(\"canvas\", {\n role: \"img\",\n ariaLabel: props.ariaLabel,\n ariaDescribedby: props.ariaDescribedby,\n ref: canvasRef\n }, [\n h(\"p\", {}, [\n slots.default ? slots.default() : \"\"\n ])\n ]);\n };\n }\n});\n\nfunction createTypedChart(type, registerables) {\n Chart$1.register(registerables);\n return defineComponent({\n props: CommonProps,\n setup (props, param) {\n let { expose } = param;\n const ref = shallowRef(null);\n const reforwardRef = (chartRef)=>{\n ref.value = chartRef?.chart;\n };\n expose({\n chart: ref\n });\n return ()=>{\n return h(Chart, compatProps({\n ref: reforwardRef\n }, {\n type,\n ...props\n }));\n };\n }\n });\n}\nconst Bar = /* #__PURE__ */ createTypedChart(\"bar\", BarController);\nconst Doughnut = /* #__PURE__ */ createTypedChart(\"doughnut\", DoughnutController);\nconst Line = /* #__PURE__ */ createTypedChart(\"line\", LineController);\nconst Pie = /* #__PURE__ */ createTypedChart(\"pie\", PieController);\nconst PolarArea = /* #__PURE__ */ createTypedChart(\"polarArea\", PolarAreaController);\nconst Radar = /* #__PURE__ */ createTypedChart(\"radar\", RadarController);\nconst Bubble = /* #__PURE__ */ createTypedChart(\"bubble\", BubbleController);\nconst Scatter = /* #__PURE__ */ createTypedChart(\"scatter\", ScatterController);\n\nexport { Bar, Bubble, Chart, Doughnut, Line, Pie, PolarArea, Radar, Scatter, createTypedChart, getDatasetAtEvent, getElementAtEvent, getElementsAtEvent };\n//# sourceMappingURL=index.js.map\n","\n\t\n\t\t\n\t\t\t \n\t\t \n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ chartDetails.data.courses }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ __('Published Courses') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ chartDetails.data.users }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ __('Total Signups') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ chartDetails.data.enrollments }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ __('Enrolled Users') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ chartDetails.data.completions }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ __('Courses Completed') }}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ chartDetails.data.lesson_completions }}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ __('Lessons Completed') }}\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\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\n\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\n"],"names":["FileCheck2","createLucideIcon","FileCheck","round","v","lim","l","h","p2b","n2b","b2n","n2p","map$1","hex","h1","b","h2","eq","isShort","hexParse","str","len","ret","alpha","a","f","hexString","HUE_RE","hsl2rgbn","s","n","k","hsv2rgbn","hwb2rgbn","w","rgb","i","hueValue","r","g","d","max","rgb2hsl","min","calln","c","hsl2rgb","hwb2rgb","hsv2rgb","hue","hueParse","m","p1","p2","rotate","deg","hslString","map","names$1","unpack","unpacked","keys","tkeys","j","ok","nk","names","nameParse","RGB_RE","rgbParse","rgbString","to","from","interpolate","rgb1","rgb2","t","modHSL","ratio","tmp","clone","proto","fromObject","input","functionParse","Color","type","obj","color","weight","c1","c2","w2","p","w1","val","noop","uid","id","isNullOrUndef","value","isArray","isObject","isNumberFinite","finiteOrDefault","defaultValue","valueOrDefault","toPercentage","dimension","toDimension","callback","fn","args","thisArg","each","loopable","reverse","_elementsEqual","a0","a1","ilen","v0","v1","source","target","klen","isValidKey","key","_merger","options","tval","sval","merge","sources","merger","current","mergeIf","_mergerIf","keyResolvers","o","_splitKey","parts","part","_getKeyResolver","resolveObjectKey","_capitalize","defined","isFunction","setsEqual","item","_isClickEvent","e","PI","TAU","PITAU","INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","almostEquals","x","y","epsilon","niceNum","range","roundedRange","niceRange","fraction","_factorize","result","sqrt","isNumber","almostWhole","rounded","_setMinAndMaxByKey","array","property","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","start","end","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","table","cmp","index","hi","lo","mid","_lookupByKey","last","ti","_rlookupByKey","_filterBetween","values","arrayEvents","listenArrayEvents","listener","method","base","res","object","unlistenArrayEvents","stub","listeners","_arrayUnique","items","set","requestAnimFrame","throttled","argsToUse","ticking","debounce","delay","timeout","_toLeftRightCenter","align","_alignStartEnd","_textX","left","right","rtl","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","iScale","_parsed","axis","minDefined","maxDefined","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","changed","atEdge","elasticIn","elasticOut","effects","isPatternOrGradient","getHoverColor","numbers","colors","applyAnimationsDefaults","defaults","name","applyLayoutsDefaults","intlCache","getNumberFormat","locale","cacheKey","formatter","formatNumber","num","formatters","tickValue","ticks","notation","delta","maxTick","calculateDelta","logDelta","numDecimal","remain","Ticks","applyScaleDefaults","_ctx","overrides","descriptors","getScope$1","node","root","scope","Defaults","_descriptors","_appliers","context","ctx","targetScope","targetName","scopeObject","targetScopeObject","privateName","local","appliers","apply","toFontString","font","_measureText","data","gc","longest","string","textWidth","_longestText","arrayOfThings","cache","jlen","thing","nestedThing","gcLen","_alignPixel","chart","pixel","width","devicePixelRatio","halfWidth","clearCanvas","canvas","drawPoint","drawPointLegend","xOffset","yOffset","size","cornerRadius","xOffsetW","yOffsetW","style","rotation","radius","rad","_isPointInArea","point","area","margin","clipArea","unclipArea","_steppedLineTo","previous","flip","mode","midpoint","_bezierCurveTo","setRenderOpts","opts","decorateText","line","metrics","top","bottom","yDecoration","drawBackdrop","oldColor","renderText","text","lines","stroke","addRoundedRectPath","rect","LINE_HEIGHT","FONT_STYLE","toLineHeight","matches","numberOrZero","_readValueToProps","props","objProps","read","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","resolve","inputs","info","cacheable","_addGrace","minmax","grace","beginAtZero","change","keepZero","add","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","finalRootScopes","_resolve","_cached","_resolveWithPrefixes","getKeysFromAllScopes","storage","_attachContext","proxy","subProxy","descriptorDefaults","receiver","_resolveWithContext","_scriptable","_indexable","_allKeys","readKey","prefix","needsSubResolver","_proxy","_context","_subProxy","_resolveScriptable","_resolveArray","getValue","_stack","createSubResolver","isIndexable","arr","resolver","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","EPSILON","getPoint","getValueAxis","indexAxis","splineCurve","firstPoint","middlePoint","afterPoint","next","d01","d12","s01","s12","fa","fb","monotoneAdjust","deltaK","mK","pointsLen","alphaK","betaK","tauK","squaredMagnitude","pointCurrent","pointAfter","monotoneCompute","valueAxis","pointBefore","iPixel","vPixel","splineCurveMonotone","slopeDelta","capControlPoint","pt","capBezierPoints","inArea","inAreaPrev","inAreaNext","_updateBezierControlPoints","loop","controlPoints","prev","_isDomSupported","_getParentNode","domNode","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","getStyle","el","positions","getPositionedStyle","styles","suffix","pos","useOffsetPos","getCanvasPosition","touches","offsetX","offsetY","box","getRelativePosition","event","currentDevicePixelRatio","borderBox","paddings","borders","height","getContainerSize","maxWidth","maxHeight","container","containerStyle","containerBorder","containerPadding","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","containerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","supportsEventListenerOptions","passiveSupported","readUsedSize","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","getRightToLeftAdapter","rectX","itemWidth","getLeftToRightAdapter","_itemWidth","getRtlAdapter","overrideTextDirection","direction","original","restoreTextDirection","propertyFn","normalizeSegment","getSegment","segment","bounds","startBound","endBound","between","normalize","_boundSegment","compare","inside","subStart","prevValue","startIsBefore","endIsBefore","shouldStart","shouldStop","_boundSegments","segments","sub","findStartAndEnd","spanGaps","solidSegments","cur","_computeSegments","segmentOptions","splitByStyles","completeLoop","doSplitByStyles","chartContext","baseStyle","readStyle","datasetIndex","prevStyle","addStyle","st","dir","styleChanged","replacer","Animator","anims","date","callbacks","numSteps","remaining","draw","charts","cb","acc","animator","transparent","interpolators","factor","c0","Animation","cfg","currentValue","elapsed","duration","promises","rej","resolved","Animations","config","animationOptions","animatedProps","option","newOptions","resolveTargetOptions","animations","awaitAll","running","animation","properties","anim","scaleClip","scale","allowedOverflow","defaultClip","toClip","getSortedDatasetIndices","filterVisible","metasets","applyStack","stack","dsIndex","singleMode","otherValue","convertObjectDataToArray","adata","isStacked","stacked","getStackKey","indexScale","valueScale","getUserBounds","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","updateStacks","controller","parsed","iAxis","vAxis","itemStacks","visualValues","getFirstScaleId","scales","createDatasetContext","createDataContext","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","createStack","canStack","DatasetController","dataset","chooseId","xid","yid","rid","iid","vid","scaleID","_data","resetNewElements","stackChanged","oldStacked","scopeKeys","_stacked","sorted","isNotInOrderComparedToPrev","labels","singleScale","xAxisKey","yAxisKey","parsedValue","otherScale","otherMin","otherMax","_skip","elements","active","drawActiveElementsOnTop","elementType","sharing","transition","sharedOptions","firstOpts","previouslySharedOptions","includeOptions","arg1","arg2","numMeta","numData","move","removed","newCount","__publicField","getRatioAndOffset","circumference","cutout","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","DoughnutController","getter","chartArea","arcs","spacing","maxSize","chartWeight","maxRadius","outerRadius","innerRadius","radiusLength","reset","animationOpts","centerX","centerY","animateScale","arc","metaData","total","ringWeightOffset","pointStyle","label","legendItem","legend","LineController","_dataset","maxGapLength","directUpdate","pointsCount","prevParsed","nullData","border","lastPoint","PieController","abstract","DateAdapterBase","members","adapters","binarySearch","metaset","intersect","_sorted","lookupMethod","evaluateInteractionItems","position","handler","getDistanceMetricForAxis","useX","useY","deltaX","deltaY","getIntersectItems","useFinalPosition","includeInvisible","getNearestRadialItems","evaluationFunc","getNearestCartesianItems","distanceMetric","minDistance","inRange","center","distance","getNearestItems","getAxisItems","rangeMethod","intersectsItem","Interaction","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","wrapBoxes","boxes","layoutBoxes","stackWeight","buildStacks","layouts","wrap","setLayoutDims","params","vBoxMaxWidth","hBoxMaxHeight","layout","fullSize","buildLayoutBoxes","centerHorizontal","centerVertical","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","newWidth","newHeight","widthChanged","heightChanged","handleMaxPadding","updatePos","getMargins","horizontal","marginForPositions","fitBoxes","refitBoxes","refit","same","other","setBoxDims","placeBoxes","userPadding","layoutItem","minPadding","padding","availableWidth","availableHeight","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","BasePlatform","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","isNullOrEmpty","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","eventListenerOptions","addListener","removeListener","fromNativeEvent","nodeListContains","nodeList","createAttachObserver","observer","entries","trigger","entry","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","resize","listenDevicePixelRatioChanges","unlistenDevicePixelRatioChanges","createResizeObserver","releaseObserver","createProxyAndListen","DomPlatform","initial","proxies","_detectPlatform","Element","final","autoSkip","tickOpts","determinedMaxTicks","determineMaxTicks","ticksLimit","majorIndices","getMajorIndices","numMajorIndices","first","newTicks","skipMajors","calculateSpacing","avgMajorSpacing","skip","offset","tickLength","maxScale","maxChart","evenMajorSpacing","getEvenSpacing","factors","majorStart","majorEnd","length","diff","reverseAlign","offsetFromEdge","edge","getTicksLimit","ticksLength","maxTicksLimit","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","garbageCollect","caches","getTickMarkLength","getTitleHeight","createScaleContext","createTickContext","tick","titleAlign","titleArgs","titleX","titleY","positionAxisID","Scale","raw","_userMin","_userMax","_suggestedMin","_suggestedMax","metas","sampleSize","samplingEnabled","reversePixels","startPixel","endPixel","numTicks","minRotation","maxRotation","labelRotation","tickWidth","maxLabelDiagonal","labelSizes","maxLabelWidth","maxLabelHeight","minSize","titleOpts","gridOpts","display","isHorizontal","titleHeight","widest","highest","tickPadding","angleRadians","cos","sin","labelHeight","labelWidth","isRotated","labelsBelowTicks","offsetLeft","offsetRight","paddingLeft","paddingRight","paddingTop","paddingBottom","widths","heights","widestLabelSize","highestLabelSize","tickFont","fontString","lineHeight","nestedLabel","valueAt","idx","decimal","optionTicks","rot","grid","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","limit","step","optsAtIndex","optsAtIndexBorder","lineWidth","lineColor","borderDash","borderDashOffset","tickColor","tickBorderDash","tickBorderDashOffset","crossAlign","mirror","tickAndPadding","hTickAndPadding","textAlign","lineCount","textOffset","textBaseline","halfCount","strokeColor","strokeWidth","tickTextAlign","backdrop","labelPadding","backgroundColor","drawLine","lastLineWidth","renderTextOptions","title","tz","gz","bz","axisID","fontSize","TypedRegistry","override","parentScope","isIChartComponent","registerDefaults","itemDefaults","routeDefaults","routes","propertyParts","sourceName","sourceScope","Registry","typedRegistry","arg","reg","itemReg","registry","component","camelMethod","PluginService","hook","filter","descriptor","plugin","all","plugins","allPlugins","createDescriptors","previousDescriptors","localIds","getOpts","pluginOpts","getIndexAxis","datasetDefaults","getAxisFromDefaultScaleID","getDefaultScaleIDFromAxis","idMatchesAxis","axisFromPosition","determineAxis","scaleOptions","getAxisFromDataset","retrieveAxisFromDatasets","boundDs","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","scaleConf","defaultId","defaultScaleOptions","defaultID","initOptions","initData","initConfig","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","datasetType","mainScope","resetCache","_scopeCache","keyLists","subPrefixes","getResolver","needContext","subResolver","resolverCache","hasFunction","isScriptable","scriptable","indexable","version","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onAnimationProgress","getCanvas","instances","getChart","moveNumericKeys","intKey","determineLastEvent","lastEvent","inChartArea","isClick","getSizeForArea","field","getDatasetArea","Chart$1","_a","invalidatePlugins","userConfig","initialCanvas","existingChart","maintainAspectRatio","_aspectRatio","newSize","newRatio","scalesOptions","axisOptions","scaleOpts","updated","isRadial","scaleType","scaleClass","hasUpdated","datasets","newControllers","ControllerClass","datasetElementType","dataElementType","animsDisabled","_active","_lastEvent","existingEvents","newEvents","_hiddenIndices","changes","_dataChanges","datasetCount","makeSet","changeSet","noArea","layers","clip","useClip","visible","dataIndex","platform","_add","_remove","detached","attached","enabled","activeElements","lastActive","pluginId","replay","hoverOptions","deactivated","activated","eventFilter","Chart","clipArc","pixelMargin","angleMargin","toRadiusCorners","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","rThetaToXY","theta","pathArc","circular","innerR","spacingOffset","noSpacingInnerRadius","noSpacingOuterRadius","avNogSpacingRadius","adjustedAngle","beta","angleOffset","outerStart","outerEnd","innerStart","innerEnd","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","outerMidAdjustedAngle","pCenter","p4","innerMidAdjustedAngle","p8","outerStartX","outerStartY","outerEndX","outerEndY","drawArc","fullCircles","drawBorder","borderWidth","borderJoinStyle","inner","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","fix","radiusOffset","setStyle","lineTo","getLineMethod","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","fastPathSegment","avgX","countX","prevX","lastY","pointIndex","drawX","truncX","_getSegmentMethod","_getInterpolationMethod","strokePathWithCache","path","strokePathDirect","segmentMethod","usePath2D","LineElement","_interpolate","interpolated","inRange$1","PointElement","mouseX","mouseY","_segments","tpoints","_findSegmentEnd","_getBounds","targetSegments","tgt","subBounds","fillSources","fillSource","_getEdge","_pointsFromSegments","boundary","linePoints","_createBoundaryLine","_loop","_shouldApplyFill","_resolveTarget","propagate","fill","visited","_decodeFill","parseFillOption","decodeTargetIndex","firstCh","_getTargetPixel","_getTargetValue","startValue","fillOption","_buildStackLine","sourcePoints","linesBelow","getLinesBelow","addPointsBelow","below","sourcePoint","postponed","findPoint","pointValue","firstValue","lastValue","simpleArc","_getTarget","getLineByIndex","computeBoundary","computeCircularBoundary","computeLinearBoundary","_drawfill","lineOpts","above","doFill","clipVertical","clipY","lineLoop","src","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","_args","getBoxSize","labelOpts","boxHeight","boxWidth","itemsEqual","Legend","legendItems","labelFont","itemHeight","hitboxes","lineWidths","totalHeight","row","_itemHeight","columnSizes","heightLimit","totalWidth","currentColWidth","currentColHeight","col","calculateItemSize","rtlHelper","hitbox","defaultColor","halfFontSize","cursor","drawLegendBox","drawOptions","yBoxTop","xBoxLeft","borderRadius","fillText","realX","fontLineHeight","calculateLegendItemHeight","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","lh","isListened","hoveredItem","sameItem","calculateItemWidth","calculateItemHeight","legendItemText","plugin_legend","ci","usePointStyle","useBorderRadius","Title","textSize","fontOpts","createTitle","plugin_title","titleBlock","positioners","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","getTooltipSize","tooltip","body","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","bodyLineHeight","widthPadding","maxLineWidth","determineYAlign","doesNotFitWithAlign","xAlign","caret","determineXAlign","yAlign","chartWidth","determineAlignment","alignX","alignY","paddingAndSize","getBackgroundPoint","alignment","caretSize","caretPadding","topLeft","topRight","bottomLeft","bottomRight","getAlignedX","getBeforeAfterBodyLines","createTooltipContext","tooltipItems","overrideCallbacks","defaultCallbacks","labelCount","tooltipItem","invokeCallbackWithFallback","Tooltip","beforeTitle","afterTitle","bodyItems","scoped","beforeFooter","afterFooter","labelColors","labelPointStyles","labelTextColors","positionAndSize","backgroundPoint","tooltipPoint","caretPosition","ptX","ptY","x3","y3","titleSpacing","labelColor","labelPointStyle","colorX","rtlColorX","yOffSet","colorY","outerX","innerX","bodySpacing","bodyAlign","displayColors","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","tooltipSize","animX","animY","opacity","hasTooltipContent","positionChanged","caretX","caretY","plugin_tooltip","__spreadProps","__spreadValues","addIfString","addedLabels","findOrAddLabel","_getLabelForValue","CategoryScale","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","unit","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","decimalPlaces","relativeLabelSize","LinearScaleBase","setMin","setMax","minSign","maxSign","stepSize","numericGeneratorOptions","LinearScale","log10Floor","changeExponent","isMajor","tickVal","steps","rangeExp","rangeStep","startExp","generateTicks","minExp","exp","significand","lastTick","LogarithmicScale","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","orig","limits","valueCount","pointLabelOpts","additionalAngle","pointPosition","plFont","hLimits","vLimits","updateLimits","buildPointLabelItems","createPointLabelItem","itemOpts","outerDistance","extra","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","isNotOverlapped","centerPointLabels","drawPointLabelBox","backdropColor","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","pointLabels","pathRadiusLine","drawRadiusLine","gridLineOpts","createPointLabelContext","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","angleMultiplier","scalingFactor","scaledDistance","pointLabel","distanceFromCenter","angleLines","INTERVALS","UNITS","sorter","parse","adapter","parser","isoWeekday","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","addTick","time","timestamps","timestamp","setMajorTicks","majorUnit","major","ticksFromTimestamps","TimeScale","_applyBounds","timeOpts","minor","weekday","hasWeekday","format","formats","fmt","minorFormat","majorFormat","offsets","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","displayFormats","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","TimeSeriesScale","curr","CommonProps","A11yProps","Props","compatProps","internals","toRawIfProxy","isProxy","toRaw","cloneProxy","setOptions","nextOptions","setLabels","currentData","nextLabels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","cloneData","nextData","defineComponent","param","expose","slots","canvasRef","ref","chartRef","shallowRef","renderChart","clonedData","proxiedData","destroyChart","update","onMounted","onBeforeUnmount","watch","param1","nextOptionsProxy","nextDataProxy","prevOptionsProxy","prevDataProxy","shouldUpdate","prevOptions","prevLabels","prevDatasets","nextTick","createTypedChart","registerables","reforwardRef","Line","Pie","ChartJS","Filler","inject","breadcrumbs","computed","chartDetails","createResource","signupsChart","enrollmentChart","lessonCompletion","courseCompletion","signupChartOptions","chartOptions","gradient","enrollmentChartOptions","lessonChartOptions","courseChartOptions","isPie"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/UserAvatar-3mSOKoKa.js b/lms/public/frontend/assets/UserAvatar-3mSOKoKa.js
deleted file mode 100644
index 3cbb3af2..00000000
--- a/lms/public/frontend/assets/UserAvatar-3mSOKoKa.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import {
- x as r,
- F as s,
- ar as t,
- K as l,
- ao as u,
- M as n,
-} from "./frappe-ui-n1bXVQkV.js";
-const i = {
- __name: "UserAvatar",
- props: { user: { type: Object, default: null }, size: { type: String } },
- setup(e) {
- return (a, m) =>
- e.user
- ? (r(),
- s(
- l(u),
- t(
- {
- key: 0,
- class: "avatar border border-gray-300",
- label: e.user.full_name,
- image: e.user.user_image,
- size: e.size,
- },
- a.$attrs
- ),
- null,
- 16,
- ["label", "image", "size"]
- ))
- : n("", !0);
- },
-};
-export { i as _ };
-//# sourceMappingURL=UserAvatar-3mSOKoKa.js.map
diff --git a/lms/public/frontend/assets/UserAvatar-3mSOKoKa.js.map b/lms/public/frontend/assets/UserAvatar-3mSOKoKa.js.map
deleted file mode 100644
index d2bd26fa..00000000
--- a/lms/public/frontend/assets/UserAvatar-3mSOKoKa.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"UserAvatar-3mSOKoKa.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/book-open-check-c5K78KcT.js b/lms/public/frontend/assets/book-open-check-c5K78KcT.js
deleted file mode 100644
index d4ade008..00000000
--- a/lms/public/frontend/assets/book-open-check-c5K78KcT.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { a as c } from "./index-xt-hKVBz.js";
-/**
- * @license lucide-vue-next v0.309.0 - ISC
- *
- * This source code is licensed under the ISC license.
- * See the LICENSE file in the root directory of this source tree.
- */ const o = c("BookOpenCheckIcon", [
- [
- "path",
- { d: "M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z", key: "1i8u0n" },
- ],
- ["path", { d: "m16 12 2 2 4-4", key: "mdajum" }],
- [
- "path",
- {
- d: "M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3",
- key: "jb5l51",
- },
- ],
-]);
-export { o as B };
-//# sourceMappingURL=book-open-check-c5K78KcT.js.map
diff --git a/lms/public/frontend/assets/book-open-check-c5K78KcT.js.map b/lms/public/frontend/assets/book-open-check-c5K78KcT.js.map
deleted file mode 100644
index c80bdfc5..00000000
--- a/lms/public/frontend/assets/book-open-check-c5K78KcT.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"book-open-check-c5K78KcT.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/book-open-check.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst BookOpenCheck = createLucideIcon(\"BookOpenCheckIcon\", [\n [\"path\", { d: \"M8 3H2v15h7c1.7 0 3 1.3 3 3V7c0-2.2-1.8-4-4-4Z\", key: \"1i8u0n\" }],\n [\"path\", { d: \"m16 12 2 2 4-4\", key: \"mdajum\" }],\n [\"path\", { d: \"M22 6V3h-6c-2.2 0-4 1.8-4 4v14c0-1.7 1.3-3 3-3h7v-2.3\", key: \"jb5l51\" }]\n]);\n\nexport { BookOpenCheck as default };\n//# sourceMappingURL=book-open-check.js.map\n"],"names":["BookOpenCheck","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAgBC,EAAiB,oBAAqB,CAC1D,CAAC,OAAQ,CAAE,EAAG,iDAAkD,IAAK,QAAQ,CAAE,EAC/E,CAAC,OAAQ,CAAE,EAAG,iBAAkB,IAAK,QAAQ,CAAE,EAC/C,CAAC,OAAQ,CAAE,EAAG,wDAAyD,IAAK,QAAQ,CAAE,CACxF,CAAC","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/clock-nM1CyeA6.js b/lms/public/frontend/assets/clock-nM1CyeA6.js
deleted file mode 100644
index 503e8cf5..00000000
--- a/lms/public/frontend/assets/clock-nM1CyeA6.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { a as e } from "./index-xt-hKVBz.js";
-/**
- * @license lucide-vue-next v0.309.0 - ISC
- *
- * This source code is licensed under the ISC license.
- * See the LICENSE file in the root directory of this source tree.
- */ const c = e("CalendarIcon", [
- [
- "rect",
- {
- width: "18",
- height: "18",
- x: "3",
- y: "4",
- rx: "2",
- ry: "2",
- key: "eu3xkr",
- },
- ],
- ["line", { x1: "16", x2: "16", y1: "2", y2: "6", key: "m3sa8f" }],
- ["line", { x1: "8", x2: "8", y1: "2", y2: "6", key: "18kwsl" }],
- ["line", { x1: "3", x2: "21", y1: "10", y2: "10", key: "xt86sb" }],
-]);
-/**
- * @license lucide-vue-next v0.309.0 - ISC
- *
- * This source code is licensed under the ISC license.
- * See the LICENSE file in the root directory of this source tree.
- */ const a = e("ClockIcon", [
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
- ["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }],
-]);
-export { c as C, a };
-//# sourceMappingURL=clock-nM1CyeA6.js.map
diff --git a/lms/public/frontend/assets/clock-nM1CyeA6.js.map b/lms/public/frontend/assets/clock-nM1CyeA6.js.map
deleted file mode 100644
index 7f58d6c2..00000000
--- a/lms/public/frontend/assets/clock-nM1CyeA6.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"clock-nM1CyeA6.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/calendar.js","../../../../node_modules/lucide-vue-next/dist/esm/icons/clock.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Calendar = createLucideIcon(\"CalendarIcon\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", ry: \"2\", key: \"eu3xkr\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"2\", y2: \"6\", key: \"m3sa8f\" }],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"6\", key: \"18kwsl\" }],\n [\"line\", { x1: \"3\", x2: \"21\", y1: \"10\", y2: \"10\", key: \"xt86sb\" }]\n]);\n\nexport { Calendar as default };\n//# sourceMappingURL=calendar.js.map\n","/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Clock = createLucideIcon(\"ClockIcon\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polyline\", { points: \"12 6 12 12 16 14\", key: \"68esgv\" }]\n]);\n\nexport { Clock as default };\n//# sourceMappingURL=clock.js.map\n"],"names":["Calendar","createLucideIcon","Clock"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,eAAgB,CAChD,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,SAAU,EACvF,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAChE,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9D,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,CACnE,CAAC,ECdD;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACC,EAAQD,EAAiB,YAAa,CAC1C,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,CAC5D,CAAC","x_google_ignoreList":[0,1]}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/file-text-dAqD9clk.js b/lms/public/frontend/assets/file-text-dAqD9clk.js
deleted file mode 100644
index 17ccf8d4..00000000
--- a/lms/public/frontend/assets/file-text-dAqD9clk.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { a as e } from "./index-xt-hKVBz.js";
-/**
- * @license lucide-vue-next v0.309.0 - ISC
- *
- * This source code is licensed under the ISC license.
- * See the LICENSE file in the root directory of this source tree.
- */ const n = e("FileTextIcon", [
- [
- "path",
- {
- d: "M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",
- key: "1nnpy2",
- },
- ],
- ["polyline", { points: "14 2 14 8 20 8", key: "1ew0cm" }],
- ["line", { x1: "16", x2: "8", y1: "13", y2: "13", key: "14keom" }],
- ["line", { x1: "16", x2: "8", y1: "17", y2: "17", key: "17nazh" }],
- ["line", { x1: "10", x2: "8", y1: "9", y2: "9", key: "1a5vjj" }],
-]);
-export { n as F };
-//# sourceMappingURL=file-text-dAqD9clk.js.map
diff --git a/lms/public/frontend/assets/file-text-dAqD9clk.js.map b/lms/public/frontend/assets/file-text-dAqD9clk.js.map
deleted file mode 100644
index 7f202e8c..00000000
--- a/lms/public/frontend/assets/file-text-dAqD9clk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"file-text-dAqD9clk.js","sources":["../../../../node_modules/lucide-vue-next/dist/esm/icons/file-text.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.309.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FileText = createLucideIcon(\"FileTextIcon\", [\n [\n \"path\",\n { d: \"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z\", key: \"1nnpy2\" }\n ],\n [\"polyline\", { points: \"14 2 14 8 20 8\", key: \"1ew0cm\" }],\n [\"line\", { x1: \"16\", x2: \"8\", y1: \"13\", y2: \"13\", key: \"14keom\" }],\n [\"line\", { x1: \"16\", x2: \"8\", y1: \"17\", y2: \"17\", key: \"17nazh\" }],\n [\"line\", { x1: \"10\", x2: \"8\", y1: \"9\", y2: \"9\", key: \"1a5vjj\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n"],"names":["FileText","createLucideIcon"],"mappings":"wCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,eAAgB,CAChD,CACE,OACA,CAAE,EAAG,wEAAyE,IAAK,QAAU,CAC9F,EACD,CAAC,WAAY,CAAE,OAAQ,iBAAkB,IAAK,QAAQ,CAAE,EACxD,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,CACjE,CAAC","x_google_ignoreList":[0]}
\ No newline at end of file
diff --git a/lms/public/frontend/assets/frappe-ui-dYBF8eAq.css b/lms/public/frontend/assets/frappe-ui-dYBF8eAq.css
deleted file mode 100644
index 98e4409b..00000000
--- a/lms/public/frontend/assets/frappe-ui-dYBF8eAq.css
+++ /dev/null
@@ -1 +0,0 @@
-.form-select{background-image:url("data:image/svg+xml;utf8,")}.spinner[data-v-a61a1368]{animation:rotate-a61a1368 2s linear infinite}.spinner-path[data-v-a61a1368]{stroke-linecap:round;animation:dash-a61a1368 1.5s ease-in-out infinite}@keyframes rotate-a61a1368{to{transform:rotate(360deg)}}@keyframes dash-a61a1368{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:120,150;stroke-dashoffset:-124}}.item{display:block;margin:0;width:100%;text-align:left;background:transparent;border-radius:.4rem;border:1px solid transparent;padding:.2rem .4rem}.item.is-selected{border-color:#000}.ProseMirror{outline:none;caret-color:#171717;word-break:break-word}.ProseMirror-focused:focus-visible{outline:none}.ProseMirror:not(.ProseMirror-focused) p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#999;pointer-events:none;height:0}.ProseMirror-selectednode video,img.ProseMirror-selectednode{outline:2px solid #E2E2E2}.mention{font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}.prose table p{margin:0}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;pointer-events:none;background:#e3f1fd;opacity:.3}.ProseMirror table .column-resize-handle{position:absolute;right:-1px;top:0;bottom:-2px;width:4px;background-color:#e3f1fd;pointer-events:none}.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror mark{border-radius:3px;padding:0 2px}
diff --git a/lms/public/frontend/assets/frappe-ui-n1bXVQkV.js b/lms/public/frontend/assets/frappe-ui-n1bXVQkV.js
deleted file mode 100644
index dac8ad85..00000000
--- a/lms/public/frontend/assets/frappe-ui-n1bXVQkV.js
+++ /dev/null
@@ -1,52639 +0,0 @@
-var mb = Object.defineProperty,
- gb = Object.defineProperties;
-var yb = Object.getOwnPropertyDescriptors;
-var ul = Object.getOwnPropertySymbols;
-var tp = Object.prototype.hasOwnProperty,
- np = Object.prototype.propertyIsEnumerable;
-var ic = (t, e, n) =>
- e in t
- ? mb(t, e, {
- enumerable: !0,
- configurable: !0,
- writable: !0,
- value: n,
- })
- : (t[e] = n),
- B = (t, e) => {
- for (var n in e || (e = {})) tp.call(e, n) && ic(t, n, e[n]);
- if (ul) for (var n of ul(e)) np.call(e, n) && ic(t, n, e[n]);
- return t;
- },
- ge = (t, e) => gb(t, yb(e));
-var tt = (t, e) => {
- var n = {};
- for (var r in t) tp.call(t, r) && e.indexOf(r) < 0 && (n[r] = t[r]);
- if (t != null && ul)
- for (var r of ul(t)) e.indexOf(r) < 0 && np.call(t, r) && (n[r] = t[r]);
- return n;
-};
-var sc = (t, e, n) => (ic(t, typeof e != "symbol" ? e + "" : e, n), n);
-var pr = (t, e, n) =>
- new Promise((r, o) => {
- var i = (a) => {
- try {
- l(n.next(a));
- } catch (u) {
- o(u);
- }
- },
- s = (a) => {
- try {
- l(n.throw(a));
- } catch (u) {
- o(u);
- }
- },
- l = (a) =>
- a.done ? r(a.value) : Promise.resolve(a.value).then(i, s);
- l((n = n.apply(t, e)).next());
- });
-/**
- * @vue/shared v3.4.15
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
- * @license MIT
- **/ function Cf(t, e) {
- const n = new Set(t.split(","));
- return e ? (r) => n.has(r.toLowerCase()) : (r) => n.has(r);
-}
-const lt = {},
- ci = [],
- Mn = () => {},
- vb = () => !1,
- fu = (t) =>
- t.charCodeAt(0) === 111 &&
- t.charCodeAt(1) === 110 &&
- (t.charCodeAt(2) > 122 || t.charCodeAt(2) < 97),
- Mf = (t) => t.startsWith("onUpdate:"),
- _t = Object.assign,
- Ef = (t, e) => {
- const n = t.indexOf(e);
- n > -1 && t.splice(n, 1);
- },
- bb = Object.prototype.hasOwnProperty,
- Xe = (t, e) => bb.call(t, e),
- ke = Array.isArray,
- di = (t) => hu(t) === "[object Map]",
- M1 = (t) => hu(t) === "[object Set]",
- Ie = (t) => typeof t == "function",
- gt = (t) => typeof t == "string",
- Li = (t) => typeof t == "symbol",
- dt = (t) => t !== null && typeof t == "object",
- E1 = (t) => (dt(t) || Ie(t)) && Ie(t.then) && Ie(t.catch),
- T1 = Object.prototype.toString,
- hu = (t) => T1.call(t),
- wb = (t) => hu(t).slice(8, -1),
- A1 = (t) => hu(t) === "[object Object]",
- Tf = (t) =>
- gt(t) && t !== "NaN" && t[0] !== "-" && "" + parseInt(t, 10) === t,
- Vl = Cf(
- ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
- ),
- pu = (t) => {
- const e = Object.create(null);
- return (n) => e[n] || (e[n] = t(n));
- },
- xb = /-(\w)/g,
- Hn = pu((t) => t.replace(xb, (e, n) => (n ? n.toUpperCase() : ""))),
- kb = /\B([A-Z])/g,
- lo = pu((t) => t.replace(kb, "-$1").toLowerCase()),
- mu = pu((t) => t.charAt(0).toUpperCase() + t.slice(1)),
- lc = pu((t) => (t ? `on${mu(t)}` : "")),
- ir = (t, e) => !Object.is(t, e),
- ac = (t, e) => {
- for (let n = 0; n < t.length; n++) t[n](e);
- },
- sa = (t, e, n) => {
- Object.defineProperty(t, e, {
- configurable: !0,
- enumerable: !1,
- value: n,
- });
- },
- Sb = (t) => {
- const e = parseFloat(t);
- return isNaN(e) ? t : e;
- },
- _b = (t) => {
- const e = gt(t) ? Number(t) : NaN;
- return isNaN(e) ? t : e;
- };
-let rp;
-const O1 = () =>
- rp ||
- (rp =
- typeof globalThis != "undefined"
- ? globalThis
- : typeof self != "undefined"
- ? self
- : typeof window != "undefined"
- ? window
- : typeof global != "undefined"
- ? global
- : {});
-function ao(t) {
- if (ke(t)) {
- const e = {};
- for (let n = 0; n < t.length; n++) {
- const r = t[n],
- o = gt(r) ? Tb(r) : ao(r);
- if (o) for (const i in o) e[i] = o[i];
- }
- return e;
- } else if (gt(t) || dt(t)) return t;
-}
-const Cb = /;(?![^(]*\))/g,
- Mb = /:([^]+)/,
- Eb = /\/\*[^]*?\*\//g;
-function Tb(t) {
- const e = {};
- return (
- t
- .replace(Eb, "")
- .split(Cb)
- .forEach((n) => {
- if (n) {
- const r = n.split(Mb);
- r.length > 1 && (e[r[0].trim()] = r[1].trim());
- }
- }),
- e
- );
-}
-function be(t) {
- let e = "";
- if (gt(t)) e = t;
- else if (ke(t))
- for (let n = 0; n < t.length; n++) {
- const r = be(t[n]);
- r && (e += r + " ");
- }
- else if (dt(t)) for (const n in t) t[n] && (e += n + " ");
- return e.trim();
-}
-function Et(t) {
- if (!t) return null;
- let { class: e, style: n } = t;
- return e && !gt(e) && (t.class = be(e)), n && (t.style = ao(n)), t;
-}
-const Ab =
- "itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",
- Ob = Cf(Ab);
-function R1(t) {
- return !!t || t === "";
-}
-const We = (t) =>
- gt(t)
- ? t
- : t == null
- ? ""
- : ke(t) || (dt(t) && (t.toString === T1 || !Ie(t.toString)))
- ? JSON.stringify(t, P1, 2)
- : String(t),
- P1 = (t, e) =>
- e && e.__v_isRef
- ? P1(t, e.value)
- : di(e)
- ? {
- [`Map(${e.size})`]: [...e.entries()].reduce(
- (n, [r, o], i) => ((n[uc(r, i) + " =>"] = o), n),
- {}
- ),
- }
- : M1(e)
- ? { [`Set(${e.size})`]: [...e.values()].map((n) => uc(n)) }
- : Li(e)
- ? uc(e)
- : dt(e) && !ke(e) && !A1(e)
- ? String(e)
- : e,
- uc = (t, e = "") => {
- var n;
- return Li(t) ? `Symbol(${(n = t.description) != null ? n : e})` : t;
- };
-/**
- * @vue/reactivity v3.4.15
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
- * @license MIT
- **/ let pn;
-class I1 {
- constructor(e = !1) {
- (this.detached = e),
- (this._active = !0),
- (this.effects = []),
- (this.cleanups = []),
- (this.parent = pn),
- !e &&
- pn &&
- (this.index = (pn.scopes || (pn.scopes = [])).push(this) - 1);
- }
- get active() {
- return this._active;
- }
- run(e) {
- if (this._active) {
- const n = pn;
- try {
- return (pn = this), e();
- } finally {
- pn = n;
- }
- }
- }
- on() {
- pn = this;
- }
- off() {
- pn = this.parent;
- }
- stop(e) {
- if (this._active) {
- let n, r;
- for (n = 0, r = this.effects.length; n < r; n++)
- this.effects[n].stop();
- for (n = 0, r = this.cleanups.length; n < r; n++)
- this.cleanups[n]();
- if (this.scopes)
- for (n = 0, r = this.scopes.length; n < r; n++)
- this.scopes[n].stop(!0);
- if (!this.detached && this.parent && !e) {
- const o = this.parent.scopes.pop();
- o &&
- o !== this &&
- ((this.parent.scopes[this.index] = o),
- (o.index = this.index));
- }
- (this.parent = void 0), (this._active = !1);
- }
- }
-}
-function fL(t) {
- return new I1(t);
-}
-function Rb(t, e = pn) {
- e && e.active && e.effects.push(t);
-}
-function N1() {
- return pn;
-}
-function D1(t) {
- pn && pn.cleanups.push(t);
-}
-let Oo;
-class Af {
- constructor(e, n, r, o) {
- (this.fn = e),
- (this.trigger = n),
- (this.scheduler = r),
- (this.active = !0),
- (this.deps = []),
- (this._dirtyLevel = 2),
- (this._trackId = 0),
- (this._runnings = 0),
- (this._shouldSchedule = !1),
- (this._depsLength = 0),
- Rb(this, o);
- }
- get dirty() {
- if (this._dirtyLevel === 1) {
- Uo();
- for (let e = 0; e < this._depsLength; e++) {
- const n = this.deps[e];
- if (n.computed && (Pb(n.computed), this._dirtyLevel >= 2))
- break;
- }
- this._dirtyLevel < 2 && (this._dirtyLevel = 0), Ko();
- }
- return this._dirtyLevel >= 2;
- }
- set dirty(e) {
- this._dirtyLevel = e ? 2 : 0;
- }
- run() {
- if (((this._dirtyLevel = 0), !this.active)) return this.fn();
- let e = Xr,
- n = Oo;
- try {
- return (
- (Xr = !0), (Oo = this), this._runnings++, op(this), this.fn()
- );
- } finally {
- ip(this), this._runnings--, (Oo = n), (Xr = e);
- }
- }
- stop() {
- var e;
- this.active &&
- (op(this),
- ip(this),
- (e = this.onStop) == null || e.call(this),
- (this.active = !1));
- }
-}
-function Pb(t) {
- return t.value;
-}
-function op(t) {
- t._trackId++, (t._depsLength = 0);
-}
-function ip(t) {
- if (t.deps && t.deps.length > t._depsLength) {
- for (let e = t._depsLength; e < t.deps.length; e++) j1(t.deps[e], t);
- t.deps.length = t._depsLength;
- }
-}
-function j1(t, e) {
- const n = t.get(e);
- n !== void 0 &&
- e._trackId !== n &&
- (t.delete(e), t.size === 0 && t.cleanup());
-}
-let Xr = !0,
- ld = 0;
-const L1 = [];
-function Uo() {
- L1.push(Xr), (Xr = !1);
-}
-function Ko() {
- const t = L1.pop();
- Xr = t === void 0 ? !0 : t;
-}
-function Of() {
- ld++;
-}
-function Rf() {
- for (ld--; !ld && ad.length; ) ad.shift()();
-}
-function $1(t, e, n) {
- if (e.get(t) !== t._trackId) {
- e.set(t, t._trackId);
- const r = t.deps[t._depsLength];
- r !== e
- ? (r && j1(r, t), (t.deps[t._depsLength++] = e))
- : t._depsLength++;
- }
-}
-const ad = [];
-function B1(t, e, n) {
- Of();
- for (const r of t.keys())
- if (r._dirtyLevel < e && t.get(r) === r._trackId) {
- const o = r._dirtyLevel;
- (r._dirtyLevel = e),
- o === 0 && ((r._shouldSchedule = !0), r.trigger());
- }
- z1(t), Rf();
-}
-function z1(t) {
- for (const e of t.keys())
- e.scheduler &&
- e._shouldSchedule &&
- (!e._runnings || e.allowRecurse) &&
- t.get(e) === e._trackId &&
- ((e._shouldSchedule = !1), ad.push(e.scheduler));
-}
-const H1 = (t, e) => {
- const n = new Map();
- return (n.cleanup = t), (n.computed = e), n;
- },
- la = new WeakMap(),
- Ro = Symbol(""),
- ud = Symbol("");
-function dn(t, e, n) {
- if (Xr && Oo) {
- let r = la.get(t);
- r || la.set(t, (r = new Map()));
- let o = r.get(n);
- o || r.set(n, (o = H1(() => r.delete(n)))), $1(Oo, o);
- }
-}
-function Sr(t, e, n, r, o, i) {
- const s = la.get(t);
- if (!s) return;
- let l = [];
- if (e === "clear") l = [...s.values()];
- else if (n === "length" && ke(t)) {
- const a = Number(r);
- s.forEach((u, c) => {
- (c === "length" || (!Li(c) && c >= a)) && l.push(u);
- });
- } else
- switch ((n !== void 0 && l.push(s.get(n)), e)) {
- case "add":
- ke(t)
- ? Tf(n) && l.push(s.get("length"))
- : (l.push(s.get(Ro)), di(t) && l.push(s.get(ud)));
- break;
- case "delete":
- ke(t) || (l.push(s.get(Ro)), di(t) && l.push(s.get(ud)));
- break;
- case "set":
- di(t) && l.push(s.get(Ro));
- break;
- }
- Of();
- for (const a of l) a && B1(a, 2);
- Rf();
-}
-function Ib(t, e) {
- var n;
- return (n = la.get(t)) == null ? void 0 : n.get(e);
-}
-const Nb = Cf("__proto__,__v_isRef,__isVue"),
- F1 = new Set(
- Object.getOwnPropertyNames(Symbol)
- .filter((t) => t !== "arguments" && t !== "caller")
- .map((t) => Symbol[t])
- .filter(Li)
- ),
- sp = Db();
-function Db() {
- const t = {};
- return (
- ["includes", "indexOf", "lastIndexOf"].forEach((e) => {
- t[e] = function (...n) {
- const r = je(this);
- for (let i = 0, s = this.length; i < s; i++)
- dn(r, "get", i + "");
- const o = r[e](...n);
- return o === -1 || o === !1 ? r[e](...n.map(je)) : o;
- };
- }),
- ["push", "pop", "shift", "unshift", "splice"].forEach((e) => {
- t[e] = function (...n) {
- Uo(), Of();
- const r = je(this)[e].apply(this, n);
- return Rf(), Ko(), r;
- };
- }),
- t
- );
-}
-function jb(t) {
- const e = je(this);
- return dn(e, "has", t), e.hasOwnProperty(t);
-}
-class V1 {
- constructor(e = !1, n = !1) {
- (this._isReadonly = e), (this._shallow = n);
- }
- get(e, n, r) {
- const o = this._isReadonly,
- i = this._shallow;
- if (n === "__v_isReactive") return !o;
- if (n === "__v_isReadonly") return o;
- if (n === "__v_isShallow") return i;
- if (n === "__v_raw")
- return r === (o ? (i ? Gb : q1) : i ? K1 : U1).get(e) ||
- Object.getPrototypeOf(e) === Object.getPrototypeOf(r)
- ? e
- : void 0;
- const s = ke(e);
- if (!o) {
- if (s && Xe(sp, n)) return Reflect.get(sp, n, r);
- if (n === "hasOwnProperty") return jb;
- }
- const l = Reflect.get(e, n, r);
- return (Li(n) ? F1.has(n) : Nb(n)) || (o || dn(e, "get", n), i)
- ? l
- : Jt(l)
- ? s && Tf(n)
- ? l
- : l.value
- : dt(l)
- ? o
- ? yu(l)
- : Yt(l)
- : l;
- }
-}
-class W1 extends V1 {
- constructor(e = !1) {
- super(!1, e);
- }
- set(e, n, r, o) {
- let i = e[n];
- if (!this._shallow) {
- const a = wi(i);
- if (
- (!aa(r) && !wi(r) && ((i = je(i)), (r = je(r))),
- !ke(e) && Jt(i) && !Jt(r))
- )
- return a ? !1 : ((i.value = r), !0);
- }
- const s = ke(e) && Tf(n) ? Number(n) < e.length : Xe(e, n),
- l = Reflect.set(e, n, r, o);
- return (
- e === je(o) &&
- (s ? ir(r, i) && Sr(e, "set", n, r) : Sr(e, "add", n, r)),
- l
- );
- }
- deleteProperty(e, n) {
- const r = Xe(e, n);
- e[n];
- const o = Reflect.deleteProperty(e, n);
- return o && r && Sr(e, "delete", n, void 0), o;
- }
- has(e, n) {
- const r = Reflect.has(e, n);
- return (!Li(n) || !F1.has(n)) && dn(e, "has", n), r;
- }
- ownKeys(e) {
- return dn(e, "iterate", ke(e) ? "length" : Ro), Reflect.ownKeys(e);
- }
-}
-class Lb extends V1 {
- constructor(e = !1) {
- super(!0, e);
- }
- set(e, n) {
- return !0;
- }
- deleteProperty(e, n) {
- return !0;
- }
-}
-const $b = new W1(),
- Bb = new Lb(),
- zb = new W1(!0),
- Pf = (t) => t,
- gu = (t) => Reflect.getPrototypeOf(t);
-function cl(t, e, n = !1, r = !1) {
- t = t.__v_raw;
- const o = je(t),
- i = je(e);
- n || (ir(e, i) && dn(o, "get", e), dn(o, "get", i));
- const { has: s } = gu(o),
- l = r ? Pf : n ? Df : Ss;
- if (s.call(o, e)) return l(t.get(e));
- if (s.call(o, i)) return l(t.get(i));
- t !== o && t.get(e);
-}
-function dl(t, e = !1) {
- const n = this.__v_raw,
- r = je(n),
- o = je(t);
- return (
- e || (ir(t, o) && dn(r, "has", t), dn(r, "has", o)),
- t === o ? n.has(t) : n.has(t) || n.has(o)
- );
-}
-function fl(t, e = !1) {
- return (
- (t = t.__v_raw),
- !e && dn(je(t), "iterate", Ro),
- Reflect.get(t, "size", t)
- );
-}
-function lp(t) {
- t = je(t);
- const e = je(this);
- return gu(e).has.call(e, t) || (e.add(t), Sr(e, "add", t, t)), this;
-}
-function ap(t, e) {
- e = je(e);
- const n = je(this),
- { has: r, get: o } = gu(n);
- let i = r.call(n, t);
- i || ((t = je(t)), (i = r.call(n, t)));
- const s = o.call(n, t);
- return (
- n.set(t, e),
- i ? ir(e, s) && Sr(n, "set", t, e) : Sr(n, "add", t, e),
- this
- );
-}
-function up(t) {
- const e = je(this),
- { has: n, get: r } = gu(e);
- let o = n.call(e, t);
- o || ((t = je(t)), (o = n.call(e, t))), r && r.call(e, t);
- const i = e.delete(t);
- return o && Sr(e, "delete", t, void 0), i;
-}
-function cp() {
- const t = je(this),
- e = t.size !== 0,
- n = t.clear();
- return e && Sr(t, "clear", void 0, void 0), n;
-}
-function hl(t, e) {
- return function (r, o) {
- const i = this,
- s = i.__v_raw,
- l = je(s),
- a = e ? Pf : t ? Df : Ss;
- return (
- !t && dn(l, "iterate", Ro),
- s.forEach((u, c) => r.call(o, a(u), a(c), i))
- );
- };
-}
-function pl(t, e, n) {
- return function (...r) {
- const o = this.__v_raw,
- i = je(o),
- s = di(i),
- l = t === "entries" || (t === Symbol.iterator && s),
- a = t === "keys" && s,
- u = o[t](...r),
- c = n ? Pf : e ? Df : Ss;
- return (
- !e && dn(i, "iterate", a ? ud : Ro),
- {
- next() {
- const { value: d, done: f } = u.next();
- return f
- ? { value: d, done: f }
- : { value: l ? [c(d[0]), c(d[1])] : c(d), done: f };
- },
- [Symbol.iterator]() {
- return this;
- },
- }
- );
- };
-}
-function Or(t) {
- return function (...e) {
- return t === "delete" ? !1 : t === "clear" ? void 0 : this;
- };
-}
-function Hb() {
- const t = {
- get(i) {
- return cl(this, i);
- },
- get size() {
- return fl(this);
- },
- has: dl,
- add: lp,
- set: ap,
- delete: up,
- clear: cp,
- forEach: hl(!1, !1),
- },
- e = {
- get(i) {
- return cl(this, i, !1, !0);
- },
- get size() {
- return fl(this);
- },
- has: dl,
- add: lp,
- set: ap,
- delete: up,
- clear: cp,
- forEach: hl(!1, !0),
- },
- n = {
- get(i) {
- return cl(this, i, !0);
- },
- get size() {
- return fl(this, !0);
- },
- has(i) {
- return dl.call(this, i, !0);
- },
- add: Or("add"),
- set: Or("set"),
- delete: Or("delete"),
- clear: Or("clear"),
- forEach: hl(!0, !1),
- },
- r = {
- get(i) {
- return cl(this, i, !0, !0);
- },
- get size() {
- return fl(this, !0);
- },
- has(i) {
- return dl.call(this, i, !0);
- },
- add: Or("add"),
- set: Or("set"),
- delete: Or("delete"),
- clear: Or("clear"),
- forEach: hl(!0, !0),
- };
- return (
- ["keys", "values", "entries", Symbol.iterator].forEach((i) => {
- (t[i] = pl(i, !1, !1)),
- (n[i] = pl(i, !0, !1)),
- (e[i] = pl(i, !1, !0)),
- (r[i] = pl(i, !0, !0));
- }),
- [t, n, e, r]
- );
-}
-const [Fb, Vb, Wb, Ub] = Hb();
-function If(t, e) {
- const n = e ? (t ? Ub : Wb) : t ? Vb : Fb;
- return (r, o, i) =>
- o === "__v_isReactive"
- ? !t
- : o === "__v_isReadonly"
- ? t
- : o === "__v_raw"
- ? r
- : Reflect.get(Xe(n, o) && o in r ? n : r, o, i);
-}
-const Kb = { get: If(!1, !1) },
- qb = { get: If(!1, !0) },
- Jb = { get: If(!0, !1) },
- U1 = new WeakMap(),
- K1 = new WeakMap(),
- q1 = new WeakMap(),
- Gb = new WeakMap();
-function Yb(t) {
- switch (t) {
- case "Object":
- case "Array":
- return 1;
- case "Map":
- case "Set":
- case "WeakMap":
- case "WeakSet":
- return 2;
- default:
- return 0;
- }
-}
-function Qb(t) {
- return t.__v_skip || !Object.isExtensible(t) ? 0 : Yb(wb(t));
-}
-function Yt(t) {
- return wi(t) ? t : Nf(t, !1, $b, Kb, U1);
-}
-function J1(t) {
- return Nf(t, !1, zb, qb, K1);
-}
-function yu(t) {
- return Nf(t, !0, Bb, Jb, q1);
-}
-function Nf(t, e, n, r, o) {
- if (!dt(t) || (t.__v_raw && !(e && t.__v_isReactive))) return t;
- const i = o.get(t);
- if (i) return i;
- const s = Qb(t);
- if (s === 0) return t;
- const l = new Proxy(t, s === 2 ? r : n);
- return o.set(t, l), l;
-}
-function fi(t) {
- return wi(t) ? fi(t.__v_raw) : !!(t && t.__v_isReactive);
-}
-function wi(t) {
- return !!(t && t.__v_isReadonly);
-}
-function aa(t) {
- return !!(t && t.__v_isShallow);
-}
-function G1(t) {
- return fi(t) || wi(t);
-}
-function je(t) {
- const e = t && t.__v_raw;
- return e ? je(e) : t;
-}
-function vu(t) {
- return sa(t, "__v_skip", !0), t;
-}
-const Ss = (t) => (dt(t) ? Yt(t) : t),
- Df = (t) => (dt(t) ? yu(t) : t);
-class Y1 {
- constructor(e, n, r, o) {
- (this._setter = n),
- (this.dep = void 0),
- (this.__v_isRef = !0),
- (this.__v_isReadonly = !1),
- (this.effect = new Af(
- () => e(this._value),
- () => hi(this, 1),
- () => this.dep && z1(this.dep)
- )),
- (this.effect.computed = this),
- (this.effect.active = this._cacheable = !o),
- (this.__v_isReadonly = r);
- }
- get value() {
- const e = je(this);
- return (
- (!e._cacheable || e.effect.dirty) &&
- ir(e._value, (e._value = e.effect.run())) &&
- hi(e, 2),
- jf(e),
- e.effect._dirtyLevel >= 1 && hi(e, 1),
- e._value
- );
- }
- set value(e) {
- this._setter(e);
- }
- get _dirty() {
- return this.effect.dirty;
- }
- set _dirty(e) {
- this.effect.dirty = e;
- }
-}
-function Q1(t, e, n = !1) {
- let r, o;
- const i = Ie(t);
- return (
- i ? ((r = t), (o = Mn)) : ((r = t.get), (o = t.set)),
- new Y1(r, o, i || !o, n)
- );
-}
-function jf(t) {
- Xr &&
- Oo &&
- ((t = je(t)),
- $1(
- Oo,
- t.dep ||
- (t.dep = H1(
- () => (t.dep = void 0),
- t instanceof Y1 ? t : void 0
- ))
- ));
-}
-function hi(t, e = 2, n) {
- t = je(t);
- const r = t.dep;
- r && B1(r, e);
-}
-function Jt(t) {
- return !!(t && t.__v_isRef === !0);
-}
-function Q(t) {
- return X1(t, !1);
-}
-function bu(t) {
- return X1(t, !0);
-}
-function X1(t, e) {
- return Jt(t) ? t : new Xb(t, e);
-}
-class Xb {
- constructor(e, n) {
- (this.__v_isShallow = n),
- (this.dep = void 0),
- (this.__v_isRef = !0),
- (this._rawValue = n ? e : je(e)),
- (this._value = n ? e : Ss(e));
- }
- get value() {
- return jf(this), this._value;
- }
- set value(e) {
- const n = this.__v_isShallow || aa(e) || wi(e);
- (e = n ? e : je(e)),
- ir(e, this._rawValue) &&
- ((this._rawValue = e),
- (this._value = n ? e : Ss(e)),
- hi(this, 2));
- }
-}
-function dp(t) {
- hi(t, 2);
-}
-function ne(t) {
- return Jt(t) ? t.value : t;
-}
-const Zb = {
- get: (t, e, n) => ne(Reflect.get(t, e, n)),
- set: (t, e, n, r) => {
- const o = t[e];
- return Jt(o) && !Jt(n) ? ((o.value = n), !0) : Reflect.set(t, e, n, r);
- },
-};
-function Z1(t) {
- return fi(t) ? t : new Proxy(t, Zb);
-}
-class ew {
- constructor(e) {
- (this.dep = void 0), (this.__v_isRef = !0);
- const { get: n, set: r } = e(
- () => jf(this),
- () => hi(this)
- );
- (this._get = n), (this._set = r);
- }
- get value() {
- return this._get();
- }
- set value(e) {
- this._set(e);
- }
-}
-function e0(t) {
- return new ew(t);
-}
-function hL(t) {
- const e = ke(t) ? new Array(t.length) : {};
- for (const n in t) e[n] = nw(t, n);
- return e;
-}
-class tw {
- constructor(e, n, r) {
- (this._object = e),
- (this._key = n),
- (this._defaultValue = r),
- (this.__v_isRef = !0);
- }
- get value() {
- const e = this._object[this._key];
- return e === void 0 ? this._defaultValue : e;
- }
- set value(e) {
- this._object[this._key] = e;
- }
- get dep() {
- return Ib(je(this._object), this._key);
- }
-}
-function nw(t, e, n) {
- const r = t[e];
- return Jt(r) ? r : new tw(t, e, n);
-}
-/**
- * @vue/runtime-core v3.4.15
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
- * @license MIT
- **/ function Zr(t, e, n, r) {
- let o;
- try {
- o = r ? t(...r) : t();
- } catch (i) {
- Us(i, e, n);
- }
- return o;
-}
-function En(t, e, n, r) {
- if (Ie(t)) {
- const i = Zr(t, e, n, r);
- return (
- i &&
- E1(i) &&
- i.catch((s) => {
- Us(s, e, n);
- }),
- i
- );
- }
- const o = [];
- for (let i = 0; i < t.length; i++) o.push(En(t[i], e, n, r));
- return o;
-}
-function Us(t, e, n, r = !0) {
- const o = e ? e.vnode : null;
- if (e) {
- let i = e.parent;
- const s = e.proxy,
- l = `https://vuejs.org/error-reference/#runtime-${n}`;
- for (; i; ) {
- const u = i.ec;
- if (u) {
- for (let c = 0; c < u.length; c++)
- if (u[c](t, s, l) === !1) return;
- }
- i = i.parent;
- }
- const a = e.appContext.config.errorHandler;
- if (a) {
- Zr(a, null, 10, [t, s, l]);
- return;
- }
- }
- rw(t, n, o, r);
-}
-function rw(t, e, n, r = !0) {
- console.error(t);
-}
-let _s = !1,
- cd = !1;
-const Ut = [];
-let Xn = 0;
-const pi = [];
-let jr = null,
- xo = 0;
-const t0 = Promise.resolve();
-let Lf = null;
-function bt(t) {
- const e = Lf || t0;
- return t ? e.then(this ? t.bind(this) : t) : e;
-}
-function ow(t) {
- let e = Xn + 1,
- n = Ut.length;
- for (; e < n; ) {
- const r = (e + n) >>> 1,
- o = Ut[r],
- i = Cs(o);
- i < t || (i === t && o.pre) ? (e = r + 1) : (n = r);
- }
- return e;
-}
-function wu(t) {
- (!Ut.length || !Ut.includes(t, _s && t.allowRecurse ? Xn + 1 : Xn)) &&
- (t.id == null ? Ut.push(t) : Ut.splice(ow(t.id), 0, t), n0());
-}
-function n0() {
- !_s && !cd && ((cd = !0), (Lf = t0.then(o0)));
-}
-function iw(t) {
- const e = Ut.indexOf(t);
- e > Xn && Ut.splice(e, 1);
-}
-function sw(t) {
- ke(t)
- ? pi.push(...t)
- : (!jr || !jr.includes(t, t.allowRecurse ? xo + 1 : xo)) && pi.push(t),
- n0();
-}
-function fp(t, e, n = _s ? Xn + 1 : 0) {
- for (; n < Ut.length; n++) {
- const r = Ut[n];
- if (r && r.pre) {
- if (t && r.id !== t.uid) continue;
- Ut.splice(n, 1), n--, r();
- }
- }
-}
-function r0(t) {
- if (pi.length) {
- const e = [...new Set(pi)].sort((n, r) => Cs(n) - Cs(r));
- if (((pi.length = 0), jr)) {
- jr.push(...e);
- return;
- }
- for (jr = e, xo = 0; xo < jr.length; xo++) jr[xo]();
- (jr = null), (xo = 0);
- }
-}
-const Cs = (t) => (t.id == null ? 1 / 0 : t.id),
- lw = (t, e) => {
- const n = Cs(t) - Cs(e);
- if (n === 0) {
- if (t.pre && !e.pre) return -1;
- if (e.pre && !t.pre) return 1;
- }
- return n;
- };
-function o0(t) {
- (cd = !1), (_s = !0), Ut.sort(lw);
- try {
- for (Xn = 0; Xn < Ut.length; Xn++) {
- const e = Ut[Xn];
- e && e.active !== !1 && Zr(e, null, 14);
- }
- } finally {
- (Xn = 0),
- (Ut.length = 0),
- r0(),
- (_s = !1),
- (Lf = null),
- (Ut.length || pi.length) && o0();
- }
-}
-function aw(t, e, ...n) {
- if (t.isUnmounted) return;
- const r = t.vnode.props || lt;
- let o = n;
- const i = e.startsWith("update:"),
- s = i && e.slice(7);
- if (s && s in r) {
- const c = `${s === "modelValue" ? "model" : s}Modifiers`,
- { number: d, trim: f } = r[c] || lt;
- f && (o = n.map((p) => (gt(p) ? p.trim() : p))), d && (o = n.map(Sb));
- }
- let l,
- a = r[(l = lc(e))] || r[(l = lc(Hn(e)))];
- !a && i && (a = r[(l = lc(lo(e)))]), a && En(a, t, 6, o);
- const u = r[l + "Once"];
- if (u) {
- if (!t.emitted) t.emitted = {};
- else if (t.emitted[l]) return;
- (t.emitted[l] = !0), En(u, t, 6, o);
- }
-}
-function i0(t, e, n = !1) {
- const r = e.emitsCache,
- o = r.get(t);
- if (o !== void 0) return o;
- const i = t.emits;
- let s = {},
- l = !1;
- if (!Ie(t)) {
- const a = (u) => {
- const c = i0(u, e, !0);
- c && ((l = !0), _t(s, c));
- };
- !n && e.mixins.length && e.mixins.forEach(a),
- t.extends && a(t.extends),
- t.mixins && t.mixins.forEach(a);
- }
- return !i && !l
- ? (dt(t) && r.set(t, null), null)
- : (ke(i) ? i.forEach((a) => (s[a] = null)) : _t(s, i),
- dt(t) && r.set(t, s),
- s);
-}
-function xu(t, e) {
- return !t || !fu(e)
- ? !1
- : ((e = e.slice(2).replace(/Once$/, "")),
- Xe(t, e[0].toLowerCase() + e.slice(1)) || Xe(t, lo(e)) || Xe(t, e));
-}
-let Tt = null,
- s0 = null;
-function ua(t) {
- const e = Tt;
- return (Tt = t), (s0 = (t && t.type.__scopeId) || null), e;
-}
-function Ce(t, e = Tt, n) {
- if (!e || t._n) return t;
- const r = (...o) => {
- r._d && Cp(-1);
- const i = ua(e);
- let s;
- try {
- s = t(...o);
- } finally {
- ua(i), r._d && Cp(1);
- }
- return s;
- };
- return (r._n = !0), (r._c = !0), (r._d = !0), r;
-}
-function cc(t) {
- const {
- type: e,
- vnode: n,
- proxy: r,
- withProxy: o,
- props: i,
- propsOptions: [s],
- slots: l,
- attrs: a,
- emit: u,
- render: c,
- renderCache: d,
- data: f,
- setupState: p,
- ctx: m,
- inheritAttrs: y,
- } = t;
- let v, w;
- const S = ua(t);
- try {
- if (n.shapeFlag & 4) {
- const h = o || r,
- b = h;
- (v = Yn(c.call(b, h, d, i, p, f, m))), (w = a);
- } else {
- const h = e;
- (v = Yn(
- h.length > 1
- ? h(i, { attrs: a, slots: l, emit: u })
- : h(i, null)
- )),
- (w = e.props ? a : uw(a));
- }
- } catch (h) {
- (us.length = 0), Us(h, t, 1), (v = ve(Tn));
- }
- let E = v;
- if (w && y !== !1) {
- const h = Object.keys(w),
- { shapeFlag: b } = E;
- h.length &&
- b & 7 &&
- (s && h.some(Mf) && (w = cw(w, s)), (E = sr(E, w)));
- }
- return (
- n.dirs &&
- ((E = sr(E)), (E.dirs = E.dirs ? E.dirs.concat(n.dirs) : n.dirs)),
- n.transition && (E.transition = n.transition),
- (v = E),
- ua(S),
- v
- );
-}
-const uw = (t) => {
- let e;
- for (const n in t)
- (n === "class" || n === "style" || fu(n)) &&
- ((e || (e = {}))[n] = t[n]);
- return e;
- },
- cw = (t, e) => {
- const n = {};
- for (const r in t) (!Mf(r) || !(r.slice(9) in e)) && (n[r] = t[r]);
- return n;
- };
-function dw(t, e, n) {
- const { props: r, children: o, component: i } = t,
- { props: s, children: l, patchFlag: a } = e,
- u = i.emitsOptions;
- if (e.dirs || e.transition) return !0;
- if (n && a >= 0) {
- if (a & 1024) return !0;
- if (a & 16) return r ? hp(r, s, u) : !!s;
- if (a & 8) {
- const c = e.dynamicProps;
- for (let d = 0; d < c.length; d++) {
- const f = c[d];
- if (s[f] !== r[f] && !xu(u, f)) return !0;
- }
- }
- } else
- return (o || l) && (!l || !l.$stable)
- ? !0
- : r === s
- ? !1
- : r
- ? s
- ? hp(r, s, u)
- : !0
- : !!s;
- return !1;
-}
-function hp(t, e, n) {
- const r = Object.keys(e);
- if (r.length !== Object.keys(t).length) return !0;
- for (let o = 0; o < r.length; o++) {
- const i = r[o];
- if (e[i] !== t[i] && !xu(n, i)) return !0;
- }
- return !1;
-}
-function fw({ vnode: t, parent: e }, n) {
- for (; e; ) {
- const r = e.subTree;
- if (
- (r.suspense && r.suspense.activeBranch === t && (r.el = t.el),
- r === t)
- )
- ((t = e.vnode).el = n), (e = e.parent);
- else break;
- }
-}
-const $f = "components";
-function Je(t, e) {
- return a0($f, t, !0, e) || t;
-}
-const l0 = Symbol.for("v-ndc");
-function Bn(t) {
- return gt(t) ? a0($f, t, !1) || t : t || l0;
-}
-function a0(t, e, n = !0, r = !1) {
- const o = Tt || It;
- if (o) {
- const i = o.type;
- if (t === $f) {
- const l = ox(i, !1);
- if (l && (l === e || l === Hn(e) || l === mu(Hn(e)))) return i;
- }
- const s = pp(o[t] || i[t], e) || pp(o.appContext[t], e);
- return !s && r ? i : s;
- }
-}
-function pp(t, e) {
- return t && (t[e] || t[Hn(e)] || t[mu(Hn(e))]);
-}
-const hw = (t) => t.__isSuspense;
-function pw(t, e) {
- e && e.pendingBranch
- ? ke(t)
- ? e.effects.push(...t)
- : e.effects.push(t)
- : sw(t);
-}
-const mw = Symbol.for("v-scx"),
- gw = () => Ge(mw);
-function xt(t, e) {
- return ku(t, null, e);
-}
-function yw(t, e) {
- return ku(t, null, { flush: "sync" });
-}
-const ml = {};
-function at(t, e, n) {
- return ku(t, e, n);
-}
-function ku(
- t,
- e,
- { immediate: n, deep: r, flush: o, once: i, onTrack: s, onTrigger: l } = lt
-) {
- if (e && i) {
- const g = e;
- e = (...x) => {
- g(...x), b();
- };
- }
- const a = It,
- u = (g) => (r === !0 ? g : Co(g, r === !1 ? 1 : void 0));
- let c,
- d = !1,
- f = !1;
- if (
- (Jt(t)
- ? ((c = () => t.value), (d = aa(t)))
- : fi(t)
- ? ((c = () => u(t)), (d = !0))
- : ke(t)
- ? ((f = !0),
- (d = t.some((g) => fi(g) || aa(g))),
- (c = () =>
- t.map((g) => {
- if (Jt(g)) return g.value;
- if (fi(g)) return u(g);
- if (Ie(g)) return Zr(g, a, 2);
- })))
- : Ie(t)
- ? e
- ? (c = () => Zr(t, a, 2))
- : (c = () => (p && p(), En(t, a, 3, [m])))
- : (c = Mn),
- e && r)
- ) {
- const g = c;
- c = () => Co(g());
- }
- let p,
- m = (g) => {
- p = E.onStop = () => {
- Zr(g, a, 4), (p = E.onStop = void 0);
- };
- },
- y;
- if (Ys)
- if (
- ((m = Mn),
- e ? n && En(e, a, 3, [c(), f ? [] : void 0, m]) : c(),
- o === "sync")
- ) {
- const g = gw();
- y = g.__watcherHandles || (g.__watcherHandles = []);
- } else return Mn;
- let v = f ? new Array(t.length).fill(ml) : ml;
- const w = () => {
- if (!(!E.active || !E.dirty))
- if (e) {
- const g = E.run();
- (r || d || (f ? g.some((x, k) => ir(x, v[k])) : ir(g, v))) &&
- (p && p(),
- En(e, a, 3, [
- g,
- v === ml ? void 0 : f && v[0] === ml ? [] : v,
- m,
- ]),
- (v = g));
- } else E.run();
- };
- w.allowRecurse = !!e;
- let S;
- o === "sync"
- ? (S = w)
- : o === "post"
- ? (S = () => sn(w, a && a.suspense))
- : ((w.pre = !0), a && (w.id = a.uid), (S = () => wu(w)));
- const E = new Af(c, Mn, S),
- h = N1(),
- b = () => {
- E.stop(), h && Ef(h.effects, E);
- };
- return (
- e
- ? n
- ? w()
- : (v = E.run())
- : o === "post"
- ? sn(E.run.bind(E), a && a.suspense)
- : E.run(),
- y && y.push(b),
- b
- );
-}
-function vw(t, e, n) {
- const r = this.proxy,
- o = gt(t) ? (t.includes(".") ? u0(r, t) : () => r[t]) : t.bind(r, r);
- let i;
- Ie(e) ? (i = e) : ((i = e.handler), (n = e));
- const s = Gs(this),
- l = ku(o, i.bind(r), n);
- return s(), l;
-}
-function u0(t, e) {
- const n = e.split(".");
- return () => {
- let r = t;
- for (let o = 0; o < n.length && r; o++) r = r[n[o]];
- return r;
- };
-}
-function Co(t, e, n = 0, r) {
- if (!dt(t) || t.__v_skip) return t;
- if (e && e > 0) {
- if (n >= e) return t;
- n++;
- }
- if (((r = r || new Set()), r.has(t))) return t;
- if ((r.add(t), Jt(t))) Co(t.value, e, n, r);
- else if (ke(t)) for (let o = 0; o < t.length; o++) Co(t[o], e, n, r);
- else if (M1(t) || di(t))
- t.forEach((o) => {
- Co(o, e, n, r);
- });
- else if (A1(t)) for (const o in t) Co(t[o], e, n, r);
- return t;
-}
-function ca(t, e) {
- if (Tt === null) return t;
- const n = Eu(Tt) || Tt.proxy,
- r = t.dirs || (t.dirs = []);
- for (let o = 0; o < e.length; o++) {
- let [i, s, l, a = lt] = e[o];
- i &&
- (Ie(i) && (i = { mounted: i, updated: i }),
- i.deep && Co(s),
- r.push({
- dir: i,
- instance: n,
- value: s,
- oldValue: void 0,
- arg: l,
- modifiers: a,
- }));
- }
- return t;
-}
-function go(t, e, n, r) {
- const o = t.dirs,
- i = e && e.dirs;
- for (let s = 0; s < o.length; s++) {
- const l = o[s];
- i && (l.oldValue = i[s].value);
- let a = l.dir[r];
- a && (Uo(), En(a, n, 8, [t.el, l, t, e]), Ko());
- }
-}
-const Lr = Symbol("_leaveCb"),
- gl = Symbol("_enterCb");
-function c0() {
- const t = {
- isMounted: !1,
- isLeaving: !1,
- isUnmounting: !1,
- leavingVNodes: new Map(),
- };
- return (
- Ze(() => {
- t.isMounted = !0;
- }),
- qs(() => {
- t.isUnmounting = !0;
- }),
- t
- );
-}
-const wn = [Function, Array],
- d0 = {
- mode: String,
- appear: Boolean,
- persisted: Boolean,
- onBeforeEnter: wn,
- onEnter: wn,
- onAfterEnter: wn,
- onEnterCancelled: wn,
- onBeforeLeave: wn,
- onLeave: wn,
- onAfterLeave: wn,
- onLeaveCancelled: wn,
- onBeforeAppear: wn,
- onAppear: wn,
- onAfterAppear: wn,
- onAppearCancelled: wn,
- },
- bw = {
- name: "BaseTransition",
- props: d0,
- setup(t, { slots: e }) {
- const n = uo(),
- r = c0();
- let o;
- return () => {
- const i = e.default && Bf(e.default(), !0);
- if (!i || !i.length) return;
- let s = i[0];
- if (i.length > 1) {
- for (const y of i)
- if (y.type !== Tn) {
- s = y;
- break;
- }
- }
- const l = je(t),
- { mode: a } = l;
- if (r.isLeaving) return dc(s);
- const u = mp(s);
- if (!u) return dc(s);
- const c = Ms(u, l, r, n);
- Es(u, c);
- const d = n.subTree,
- f = d && mp(d);
- let p = !1;
- const { getTransitionKey: m } = u.type;
- if (m) {
- const y = m();
- o === void 0 ? (o = y) : y !== o && ((o = y), (p = !0));
- }
- if (f && f.type !== Tn && (!ko(u, f) || p)) {
- const y = Ms(f, l, r, n);
- if ((Es(f, y), a === "out-in"))
- return (
- (r.isLeaving = !0),
- (y.afterLeave = () => {
- (r.isLeaving = !1),
- n.update.active !== !1 &&
- ((n.effect.dirty = !0), n.update());
- }),
- dc(s)
- );
- a === "in-out" &&
- u.type !== Tn &&
- (y.delayLeave = (v, w, S) => {
- const E = f0(r, f);
- (E[String(f.key)] = f),
- (v[Lr] = () => {
- w(),
- (v[Lr] = void 0),
- delete c.delayedLeave;
- }),
- (c.delayedLeave = S);
- });
- }
- return s;
- };
- },
- },
- ww = bw;
-function f0(t, e) {
- const { leavingVNodes: n } = t;
- let r = n.get(e.type);
- return r || ((r = Object.create(null)), n.set(e.type, r)), r;
-}
-function Ms(t, e, n, r) {
- const {
- appear: o,
- mode: i,
- persisted: s = !1,
- onBeforeEnter: l,
- onEnter: a,
- onAfterEnter: u,
- onEnterCancelled: c,
- onBeforeLeave: d,
- onLeave: f,
- onAfterLeave: p,
- onLeaveCancelled: m,
- onBeforeAppear: y,
- onAppear: v,
- onAfterAppear: w,
- onAppearCancelled: S,
- } = e,
- E = String(t.key),
- h = f0(n, t),
- b = (k, C) => {
- k && En(k, r, 9, C);
- },
- g = (k, C) => {
- const _ = C[1];
- b(k, C),
- ke(k)
- ? k.every((T) => T.length <= 1) && _()
- : k.length <= 1 && _();
- },
- x = {
- mode: i,
- persisted: s,
- beforeEnter(k) {
- let C = l;
- if (!n.isMounted)
- if (o) C = y || l;
- else return;
- k[Lr] && k[Lr](!0);
- const _ = h[E];
- _ && ko(t, _) && _.el[Lr] && _.el[Lr](), b(C, [k]);
- },
- enter(k) {
- let C = a,
- _ = u,
- T = c;
- if (!n.isMounted)
- if (o) (C = v || a), (_ = w || u), (T = S || c);
- else return;
- let R = !1;
- const P = (k[gl] = (D) => {
- R ||
- ((R = !0),
- D ? b(T, [k]) : b(_, [k]),
- x.delayedLeave && x.delayedLeave(),
- (k[gl] = void 0));
- });
- C ? g(C, [k, P]) : P();
- },
- leave(k, C) {
- const _ = String(t.key);
- if ((k[gl] && k[gl](!0), n.isUnmounting)) return C();
- b(d, [k]);
- let T = !1;
- const R = (k[Lr] = (P) => {
- T ||
- ((T = !0),
- C(),
- P ? b(m, [k]) : b(p, [k]),
- (k[Lr] = void 0),
- h[_] === t && delete h[_]);
- });
- (h[_] = t), f ? g(f, [k, R]) : R();
- },
- clone(k) {
- return Ms(k, e, n, r);
- },
- };
- return x;
-}
-function dc(t) {
- if (Ks(t)) return (t = sr(t)), (t.children = null), t;
-}
-function mp(t) {
- return Ks(t) ? (t.children ? t.children[0] : void 0) : t;
-}
-function Es(t, e) {
- t.shapeFlag & 6 && t.component
- ? Es(t.component.subTree, e)
- : t.shapeFlag & 128
- ? ((t.ssContent.transition = e.clone(t.ssContent)),
- (t.ssFallback.transition = e.clone(t.ssFallback)))
- : (t.transition = e);
-}
-function Bf(t, e = !1, n) {
- let r = [],
- o = 0;
- for (let i = 0; i < t.length; i++) {
- let s = t[i];
- const l =
- n == null ? s.key : String(n) + String(s.key != null ? s.key : i);
- s.type === Ne
- ? (s.patchFlag & 128 && o++, (r = r.concat(Bf(s.children, e, l))))
- : (e || s.type !== Tn) && r.push(l != null ? sr(s, { key: l }) : s);
- }
- if (o > 1) for (let i = 0; i < r.length; i++) r[i].patchFlag = -2;
- return r;
-}
-/*! #__NO_SIDE_EFFECTS__ */ function Oe(t, e) {
- return Ie(t) ? _t({ name: t.name }, e, { setup: t }) : t;
-}
-const ss = (t) => !!t.type.__asyncLoader;
-/*! #__NO_SIDE_EFFECTS__ */ function yl(t) {
- Ie(t) && (t = { loader: t });
- const {
- loader: e,
- loadingComponent: n,
- errorComponent: r,
- delay: o = 200,
- timeout: i,
- suspensible: s = !0,
- onError: l,
- } = t;
- let a = null,
- u,
- c = 0;
- const d = () => (c++, (a = null), f()),
- f = () => {
- let p;
- return (
- a ||
- (p = a =
- e()
- .catch((m) => {
- if (
- ((m =
- m instanceof Error
- ? m
- : new Error(String(m))),
- l)
- )
- return new Promise((y, v) => {
- l(
- m,
- () => y(d()),
- () => v(m),
- c + 1
- );
- });
- throw m;
- })
- .then((m) =>
- p !== a && a
- ? a
- : (m &&
- (m.__esModule ||
- m[Symbol.toStringTag] ===
- "Module") &&
- (m = m.default),
- (u = m),
- m)
- ))
- );
- };
- return Oe({
- name: "AsyncComponentWrapper",
- __asyncLoader: f,
- get __asyncResolved() {
- return u;
- },
- setup() {
- const p = It;
- if (u) return () => fc(u, p);
- const m = (S) => {
- (a = null), Us(S, p, 13, !r);
- };
- if ((s && p.suspense) || Ys)
- return f()
- .then((S) => () => fc(S, p))
- .catch(
- (S) => (m(S), () => (r ? ve(r, { error: S }) : null))
- );
- const y = Q(!1),
- v = Q(),
- w = Q(!!o);
- return (
- o &&
- setTimeout(() => {
- w.value = !1;
- }, o),
- i != null &&
- setTimeout(() => {
- if (!y.value && !v.value) {
- const S = new Error(
- `Async component timed out after ${i}ms.`
- );
- m(S), (v.value = S);
- }
- }, i),
- f()
- .then(() => {
- (y.value = !0),
- p.parent &&
- Ks(p.parent.vnode) &&
- ((p.parent.effect.dirty = !0),
- wu(p.parent.update));
- })
- .catch((S) => {
- m(S), (v.value = S);
- }),
- () => {
- if (y.value && u) return fc(u, p);
- if (v.value && r) return ve(r, { error: v.value });
- if (n && !w.value) return ve(n);
- }
- );
- },
- });
-}
-function fc(t, e) {
- const { ref: n, props: r, children: o, ce: i } = e.vnode,
- s = ve(t, r, o);
- return (s.ref = n), (s.ce = i), delete e.vnode.ce, s;
-}
-const Ks = (t) => t.type.__isKeepAlive;
-function xw(t, e) {
- h0(t, "a", e);
-}
-function kw(t, e) {
- h0(t, "da", e);
-}
-function h0(t, e, n = It) {
- const r =
- t.__wdc ||
- (t.__wdc = () => {
- let o = n;
- for (; o; ) {
- if (o.isDeactivated) return;
- o = o.parent;
- }
- return t();
- });
- if ((Su(e, r, n), n)) {
- let o = n.parent;
- for (; o && o.parent; )
- Ks(o.parent.vnode) && Sw(r, e, n, o), (o = o.parent);
- }
-}
-function Sw(t, e, n, r) {
- const o = Su(e, t, r, !0);
- zt(() => {
- Ef(r[e], o);
- }, n);
-}
-function Su(t, e, n = It, r = !1) {
- if (n) {
- const o = n[t] || (n[t] = []),
- i =
- e.__weh ||
- (e.__weh = (...s) => {
- if (n.isUnmounted) return;
- Uo();
- const l = Gs(n),
- a = En(e, n, t, s);
- return l(), Ko(), a;
- });
- return r ? o.unshift(i) : o.push(i), i;
- }
-}
-const Tr =
- (t) =>
- (e, n = It) =>
- (!Ys || t === "sp") && Su(t, (...r) => e(...r), n),
- _w = Tr("bm"),
- Ze = Tr("m"),
- Cw = Tr("bu"),
- p0 = Tr("u"),
- qs = Tr("bum"),
- zt = Tr("um"),
- Mw = Tr("sp"),
- Ew = Tr("rtg"),
- Tw = Tr("rtc");
-function Aw(t, e = It) {
- Su("ec", t, e);
-}
-function Rt(t, e, n, r) {
- let o;
- const i = n && n[r];
- if (ke(t) || gt(t)) {
- o = new Array(t.length);
- for (let s = 0, l = t.length; s < l; s++)
- o[s] = e(t[s], s, void 0, i && i[s]);
- } else if (typeof t == "number") {
- o = new Array(t);
- for (let s = 0; s < t; s++) o[s] = e(s + 1, s, void 0, i && i[s]);
- } else if (dt(t))
- if (t[Symbol.iterator])
- o = Array.from(t, (s, l) => e(s, l, void 0, i && i[l]));
- else {
- const s = Object.keys(t);
- o = new Array(s.length);
- for (let l = 0, a = s.length; l < a; l++) {
- const u = s[l];
- o[l] = e(t[u], u, l, i && i[l]);
- }
- }
- else o = [];
- return n && (n[r] = o), o;
-}
-function hc(t, e) {
- for (let n = 0; n < e.length; n++) {
- const r = e[n];
- if (ke(r)) for (let o = 0; o < r.length; o++) t[r[o].name] = r[o].fn;
- else
- r &&
- (t[r.name] = r.key
- ? (...o) => {
- const i = r.fn(...o);
- return i && (i.key = r.key), i;
- }
- : r.fn);
- }
- return t;
-}
-function xe(t, e, n = {}, r, o) {
- if (Tt.isCE || (Tt.parent && ss(Tt.parent) && Tt.parent.isCE))
- return e !== "default" && (n.name = e), ve("slot", n, r && r());
- let i = t[e];
- i && i._c && (i._d = !1), N();
- const s = i && m0(i(n)),
- l = Te(
- Ne,
- { key: n.key || (s && s.key) || `_${e}` },
- s || (r ? r() : []),
- s && t._ === 1 ? 64 : -2
- );
- return (
- !o && l.scopeId && (l.slotScopeIds = [l.scopeId + "-s"]),
- i && i._c && (i._d = !0),
- l
- );
-}
-function m0(t) {
- return t.some((e) =>
- ha(e) ? !(e.type === Tn || (e.type === Ne && !m0(e.children))) : !0
- )
- ? t
- : null;
-}
-const dd = (t) => (t ? (T0(t) ? Eu(t) || t.proxy : dd(t.parent)) : null),
- ls = _t(Object.create(null), {
- $: (t) => t,
- $el: (t) => t.vnode.el,
- $data: (t) => t.data,
- $props: (t) => t.props,
- $attrs: (t) => t.attrs,
- $slots: (t) => t.slots,
- $refs: (t) => t.refs,
- $parent: (t) => dd(t.parent),
- $root: (t) => dd(t.root),
- $emit: (t) => t.emit,
- $options: (t) => Hf(t),
- $forceUpdate: (t) =>
- t.f ||
- (t.f = () => {
- (t.effect.dirty = !0), wu(t.update);
- }),
- $nextTick: (t) => t.n || (t.n = bt.bind(t.proxy)),
- $watch: (t) => vw.bind(t),
- }),
- pc = (t, e) => t !== lt && !t.__isScriptSetup && Xe(t, e),
- Ow = {
- get({ _: t }, e) {
- const {
- ctx: n,
- setupState: r,
- data: o,
- props: i,
- accessCache: s,
- type: l,
- appContext: a,
- } = t;
- let u;
- if (e[0] !== "$") {
- const p = s[e];
- if (p !== void 0)
- switch (p) {
- case 1:
- return r[e];
- case 2:
- return o[e];
- case 4:
- return n[e];
- case 3:
- return i[e];
- }
- else {
- if (pc(r, e)) return (s[e] = 1), r[e];
- if (o !== lt && Xe(o, e)) return (s[e] = 2), o[e];
- if ((u = t.propsOptions[0]) && Xe(u, e))
- return (s[e] = 3), i[e];
- if (n !== lt && Xe(n, e)) return (s[e] = 4), n[e];
- fd && (s[e] = 0);
- }
- }
- const c = ls[e];
- let d, f;
- if (c) return e === "$attrs" && dn(t, "get", e), c(t);
- if ((d = l.__cssModules) && (d = d[e])) return d;
- if (n !== lt && Xe(n, e)) return (s[e] = 4), n[e];
- if (((f = a.config.globalProperties), Xe(f, e))) return f[e];
- },
- set({ _: t }, e, n) {
- const { data: r, setupState: o, ctx: i } = t;
- return pc(o, e)
- ? ((o[e] = n), !0)
- : r !== lt && Xe(r, e)
- ? ((r[e] = n), !0)
- : Xe(t.props, e) || (e[0] === "$" && e.slice(1) in t)
- ? !1
- : ((i[e] = n), !0);
- },
- has(
- {
- _: {
- data: t,
- setupState: e,
- accessCache: n,
- ctx: r,
- appContext: o,
- propsOptions: i,
- },
- },
- s
- ) {
- let l;
- return (
- !!n[s] ||
- (t !== lt && Xe(t, s)) ||
- pc(e, s) ||
- ((l = i[0]) && Xe(l, s)) ||
- Xe(r, s) ||
- Xe(ls, s) ||
- Xe(o.config.globalProperties, s)
- );
- },
- defineProperty(t, e, n) {
- return (
- n.get != null
- ? (t._.accessCache[e] = 0)
- : Xe(n, "value") && this.set(t, e, n.value, null),
- Reflect.defineProperty(t, e, n)
- );
- },
- };
-function zf() {
- return g0().slots;
-}
-function Js() {
- return g0().attrs;
-}
-function g0() {
- const t = uo();
- return t.setupContext || (t.setupContext = O0(t));
-}
-function da(t) {
- return ke(t) ? t.reduce((e, n) => ((e[n] = null), e), {}) : t;
-}
-function pL(t, e) {
- return !t || !e
- ? t || e
- : ke(t) && ke(e)
- ? t.concat(e)
- : _t({}, da(t), da(e));
-}
-let fd = !0;
-function Rw(t) {
- const e = Hf(t),
- n = t.proxy,
- r = t.ctx;
- (fd = !1), e.beforeCreate && gp(e.beforeCreate, t, "bc");
- const {
- data: o,
- computed: i,
- methods: s,
- watch: l,
- provide: a,
- inject: u,
- created: c,
- beforeMount: d,
- mounted: f,
- beforeUpdate: p,
- updated: m,
- activated: y,
- deactivated: v,
- beforeDestroy: w,
- beforeUnmount: S,
- destroyed: E,
- unmounted: h,
- render: b,
- renderTracked: g,
- renderTriggered: x,
- errorCaptured: k,
- serverPrefetch: C,
- expose: _,
- inheritAttrs: T,
- components: R,
- directives: P,
- filters: D,
- } = e;
- if ((u && Pw(u, r, null), s))
- for (const I in s) {
- const $ = s[I];
- Ie($) && (r[I] = $.bind(n));
- }
- if (o) {
- const I = o.call(n, n);
- dt(I) && (t.data = Yt(I));
- }
- if (((fd = !0), i))
- for (const I in i) {
- const $ = i[I],
- K = Ie($) ? $.bind(n, n) : Ie($.get) ? $.get.bind(n, n) : Mn,
- ie = !Ie($) && Ie($.set) ? $.set.bind(n) : Mn,
- X = z({ get: K, set: ie });
- Object.defineProperty(r, I, {
- enumerable: !0,
- configurable: !0,
- get: () => X.value,
- set: (de) => (X.value = de),
- });
- }
- if (l) for (const I in l) y0(l[I], r, n, I);
- if (a) {
- const I = Ie(a) ? a.call(n) : a;
- Reflect.ownKeys(I).forEach(($) => {
- wt($, I[$]);
- });
- }
- c && gp(c, t, "c");
- function M(I, $) {
- ke($) ? $.forEach((K) => I(K.bind(n))) : $ && I($.bind(n));
- }
- if (
- (M(_w, d),
- M(Ze, f),
- M(Cw, p),
- M(p0, m),
- M(xw, y),
- M(kw, v),
- M(Aw, k),
- M(Tw, g),
- M(Ew, x),
- M(qs, S),
- M(zt, h),
- M(Mw, C),
- ke(_))
- )
- if (_.length) {
- const I = t.exposed || (t.exposed = {});
- _.forEach(($) => {
- Object.defineProperty(I, $, {
- get: () => n[$],
- set: (K) => (n[$] = K),
- });
- });
- } else t.exposed || (t.exposed = {});
- b && t.render === Mn && (t.render = b),
- T != null && (t.inheritAttrs = T),
- R && (t.components = R),
- P && (t.directives = P);
-}
-function Pw(t, e, n = Mn) {
- ke(t) && (t = hd(t));
- for (const r in t) {
- const o = t[r];
- let i;
- dt(o)
- ? "default" in o
- ? (i = Ge(o.from || r, o.default, !0))
- : (i = Ge(o.from || r))
- : (i = Ge(o)),
- Jt(i)
- ? Object.defineProperty(e, r, {
- enumerable: !0,
- configurable: !0,
- get: () => i.value,
- set: (s) => (i.value = s),
- })
- : (e[r] = i);
- }
-}
-function gp(t, e, n) {
- En(ke(t) ? t.map((r) => r.bind(e.proxy)) : t.bind(e.proxy), e, n);
-}
-function y0(t, e, n, r) {
- const o = r.includes(".") ? u0(n, r) : () => n[r];
- if (gt(t)) {
- const i = e[t];
- Ie(i) && at(o, i);
- } else if (Ie(t)) at(o, t.bind(n));
- else if (dt(t))
- if (ke(t)) t.forEach((i) => y0(i, e, n, r));
- else {
- const i = Ie(t.handler) ? t.handler.bind(n) : e[t.handler];
- Ie(i) && at(o, i, t);
- }
-}
-function Hf(t) {
- const e = t.type,
- { mixins: n, extends: r } = e,
- {
- mixins: o,
- optionsCache: i,
- config: { optionMergeStrategies: s },
- } = t.appContext,
- l = i.get(e);
- let a;
- return (
- l
- ? (a = l)
- : !o.length && !n && !r
- ? (a = e)
- : ((a = {}),
- o.length && o.forEach((u) => fa(a, u, s, !0)),
- fa(a, e, s)),
- dt(e) && i.set(e, a),
- a
- );
-}
-function fa(t, e, n, r = !1) {
- const { mixins: o, extends: i } = e;
- i && fa(t, i, n, !0), o && o.forEach((s) => fa(t, s, n, !0));
- for (const s in e)
- if (!(r && s === "expose")) {
- const l = Iw[s] || (n && n[s]);
- t[s] = l ? l(t[s], e[s]) : e[s];
- }
- return t;
-}
-const Iw = {
- data: yp,
- props: vp,
- emits: vp,
- methods: Zi,
- computed: Zi,
- beforeCreate: Zt,
- created: Zt,
- beforeMount: Zt,
- mounted: Zt,
- beforeUpdate: Zt,
- updated: Zt,
- beforeDestroy: Zt,
- beforeUnmount: Zt,
- destroyed: Zt,
- unmounted: Zt,
- activated: Zt,
- deactivated: Zt,
- errorCaptured: Zt,
- serverPrefetch: Zt,
- components: Zi,
- directives: Zi,
- watch: Dw,
- provide: yp,
- inject: Nw,
-};
-function yp(t, e) {
- return e
- ? t
- ? function () {
- return _t(
- Ie(t) ? t.call(this, this) : t,
- Ie(e) ? e.call(this, this) : e
- );
- }
- : e
- : t;
-}
-function Nw(t, e) {
- return Zi(hd(t), hd(e));
-}
-function hd(t) {
- if (ke(t)) {
- const e = {};
- for (let n = 0; n < t.length; n++) e[t[n]] = t[n];
- return e;
- }
- return t;
-}
-function Zt(t, e) {
- return t ? [...new Set([].concat(t, e))] : e;
-}
-function Zi(t, e) {
- return t ? _t(Object.create(null), t, e) : e;
-}
-function vp(t, e) {
- return t
- ? ke(t) && ke(e)
- ? [...new Set([...t, ...e])]
- : _t(Object.create(null), da(t), da(e != null ? e : {}))
- : e;
-}
-function Dw(t, e) {
- if (!t) return e;
- if (!e) return t;
- const n = _t(Object.create(null), t);
- for (const r in e) n[r] = Zt(t[r], e[r]);
- return n;
-}
-function v0() {
- return {
- app: null,
- config: {
- isNativeTag: vb,
- performance: !1,
- globalProperties: {},
- optionMergeStrategies: {},
- errorHandler: void 0,
- warnHandler: void 0,
- compilerOptions: {},
- },
- mixins: [],
- components: {},
- directives: {},
- provides: Object.create(null),
- optionsCache: new WeakMap(),
- propsCache: new WeakMap(),
- emitsCache: new WeakMap(),
- };
-}
-let jw = 0;
-function Lw(t, e) {
- return function (r, o = null) {
- Ie(r) || (r = _t({}, r)), o != null && !dt(o) && (o = null);
- const i = v0(),
- s = new WeakSet();
- let l = !1;
- const a = (i.app = {
- _uid: jw++,
- _component: r,
- _props: o,
- _container: null,
- _context: i,
- _instance: null,
- version: sx,
- get config() {
- return i.config;
- },
- set config(u) {},
- use(u, ...c) {
- return (
- s.has(u) ||
- (u && Ie(u.install)
- ? (s.add(u), u.install(a, ...c))
- : Ie(u) && (s.add(u), u(a, ...c))),
- a
- );
- },
- mixin(u) {
- return i.mixins.includes(u) || i.mixins.push(u), a;
- },
- component(u, c) {
- return c ? ((i.components[u] = c), a) : i.components[u];
- },
- directive(u, c) {
- return c ? ((i.directives[u] = c), a) : i.directives[u];
- },
- mount(u, c, d) {
- if (!l) {
- const f = ve(r, o);
- return (
- (f.appContext = i),
- d === !0 ? (d = "svg") : d === !1 && (d = void 0),
- c && e ? e(f, u) : t(f, u, d),
- (l = !0),
- (a._container = u),
- (u.__vue_app__ = a),
- Eu(f.component) || f.component.proxy
- );
- }
- },
- unmount() {
- l && (t(null, a._container), delete a._container.__vue_app__);
- },
- provide(u, c) {
- return (i.provides[u] = c), a;
- },
- runWithContext(u) {
- Ts = a;
- try {
- return u();
- } finally {
- Ts = null;
- }
- },
- });
- return a;
- };
-}
-let Ts = null;
-function wt(t, e) {
- if (It) {
- let n = It.provides;
- const r = It.parent && It.parent.provides;
- r === n && (n = It.provides = Object.create(r)), (n[t] = e);
- }
-}
-function Ge(t, e, n = !1) {
- const r = It || Tt;
- if (r || Ts) {
- const o = r
- ? r.parent == null
- ? r.vnode.appContext && r.vnode.appContext.provides
- : r.parent.provides
- : Ts._context.provides;
- if (o && t in o) return o[t];
- if (arguments.length > 1) return n && Ie(e) ? e.call(r && r.proxy) : e;
- }
-}
-function mL() {
- return !!(It || Tt || Ts);
-}
-function $w(t, e, n, r = !1) {
- const o = {},
- i = {};
- sa(i, Mu, 1), (t.propsDefaults = Object.create(null)), b0(t, e, o, i);
- for (const s in t.propsOptions[0]) s in o || (o[s] = void 0);
- n
- ? (t.props = r ? o : J1(o))
- : t.type.props
- ? (t.props = o)
- : (t.props = i),
- (t.attrs = i);
-}
-function Bw(t, e, n, r) {
- const {
- props: o,
- attrs: i,
- vnode: { patchFlag: s },
- } = t,
- l = je(o),
- [a] = t.propsOptions;
- let u = !1;
- if ((r || s > 0) && !(s & 16)) {
- if (s & 8) {
- const c = t.vnode.dynamicProps;
- for (let d = 0; d < c.length; d++) {
- let f = c[d];
- if (xu(t.emitsOptions, f)) continue;
- const p = e[f];
- if (a)
- if (Xe(i, f)) p !== i[f] && ((i[f] = p), (u = !0));
- else {
- const m = Hn(f);
- o[m] = pd(a, l, m, p, t, !1);
- }
- else p !== i[f] && ((i[f] = p), (u = !0));
- }
- }
- } else {
- b0(t, e, o, i) && (u = !0);
- let c;
- for (const d in l)
- (!e || (!Xe(e, d) && ((c = lo(d)) === d || !Xe(e, c)))) &&
- (a
- ? n &&
- (n[d] !== void 0 || n[c] !== void 0) &&
- (o[d] = pd(a, l, d, void 0, t, !0))
- : delete o[d]);
- if (i !== l)
- for (const d in i) (!e || !Xe(e, d)) && (delete i[d], (u = !0));
- }
- u && Sr(t, "set", "$attrs");
-}
-function b0(t, e, n, r) {
- const [o, i] = t.propsOptions;
- let s = !1,
- l;
- if (e)
- for (let a in e) {
- if (Vl(a)) continue;
- const u = e[a];
- let c;
- o && Xe(o, (c = Hn(a)))
- ? !i || !i.includes(c)
- ? (n[c] = u)
- : ((l || (l = {}))[c] = u)
- : xu(t.emitsOptions, a) ||
- ((!(a in r) || u !== r[a]) && ((r[a] = u), (s = !0)));
- }
- if (i) {
- const a = je(n),
- u = l || lt;
- for (let c = 0; c < i.length; c++) {
- const d = i[c];
- n[d] = pd(o, a, d, u[d], t, !Xe(u, d));
- }
- }
- return s;
-}
-function pd(t, e, n, r, o, i) {
- const s = t[n];
- if (s != null) {
- const l = Xe(s, "default");
- if (l && r === void 0) {
- const a = s.default;
- if (s.type !== Function && !s.skipFactory && Ie(a)) {
- const { propsDefaults: u } = o;
- if (n in u) r = u[n];
- else {
- const c = Gs(o);
- (r = u[n] = a.call(null, e)), c();
- }
- } else r = a;
- }
- s[0] &&
- (i && !l
- ? (r = !1)
- : s[1] && (r === "" || r === lo(n)) && (r = !0));
- }
- return r;
-}
-function w0(t, e, n = !1) {
- const r = e.propsCache,
- o = r.get(t);
- if (o) return o;
- const i = t.props,
- s = {},
- l = [];
- let a = !1;
- if (!Ie(t)) {
- const c = (d) => {
- a = !0;
- const [f, p] = w0(d, e, !0);
- _t(s, f), p && l.push(...p);
- };
- !n && e.mixins.length && e.mixins.forEach(c),
- t.extends && c(t.extends),
- t.mixins && t.mixins.forEach(c);
- }
- if (!i && !a) return dt(t) && r.set(t, ci), ci;
- if (ke(i))
- for (let c = 0; c < i.length; c++) {
- const d = Hn(i[c]);
- bp(d) && (s[d] = lt);
- }
- else if (i)
- for (const c in i) {
- const d = Hn(c);
- if (bp(d)) {
- const f = i[c],
- p = (s[d] = ke(f) || Ie(f) ? { type: f } : _t({}, f));
- if (p) {
- const m = kp(Boolean, p.type),
- y = kp(String, p.type);
- (p[0] = m > -1),
- (p[1] = y < 0 || m < y),
- (m > -1 || Xe(p, "default")) && l.push(d);
- }
- }
- }
- const u = [s, l];
- return dt(t) && r.set(t, u), u;
-}
-function bp(t) {
- return t[0] !== "$";
-}
-function wp(t) {
- const e = t && t.toString().match(/^\s*(function|class) (\w+)/);
- return e ? e[2] : t === null ? "null" : "";
-}
-function xp(t, e) {
- return wp(t) === wp(e);
-}
-function kp(t, e) {
- return ke(e) ? e.findIndex((n) => xp(n, t)) : Ie(e) && xp(e, t) ? 0 : -1;
-}
-const x0 = (t) => t[0] === "_" || t === "$stable",
- Ff = (t) => (ke(t) ? t.map(Yn) : [Yn(t)]),
- zw = (t, e, n) => {
- if (e._n) return e;
- const r = Ce((...o) => Ff(e(...o)), n);
- return (r._c = !1), r;
- },
- k0 = (t, e, n) => {
- const r = t._ctx;
- for (const o in t) {
- if (x0(o)) continue;
- const i = t[o];
- if (Ie(i)) e[o] = zw(o, i, r);
- else if (i != null) {
- const s = Ff(i);
- e[o] = () => s;
- }
- }
- },
- S0 = (t, e) => {
- const n = Ff(e);
- t.slots.default = () => n;
- },
- Hw = (t, e) => {
- if (t.vnode.shapeFlag & 32) {
- const n = e._;
- n ? ((t.slots = je(e)), sa(e, "_", n)) : k0(e, (t.slots = {}));
- } else (t.slots = {}), e && S0(t, e);
- sa(t.slots, Mu, 1);
- },
- Fw = (t, e, n) => {
- const { vnode: r, slots: o } = t;
- let i = !0,
- s = lt;
- if (r.shapeFlag & 32) {
- const l = e._;
- l
- ? n && l === 1
- ? (i = !1)
- : (_t(o, e), !n && l === 1 && delete o._)
- : ((i = !e.$stable), k0(e, o)),
- (s = e);
- } else e && (S0(t, e), (s = { default: 1 }));
- if (i) for (const l in o) !x0(l) && s[l] == null && delete o[l];
- };
-function md(t, e, n, r, o = !1) {
- if (ke(t)) {
- t.forEach((f, p) => md(f, e && (ke(e) ? e[p] : e), n, r, o));
- return;
- }
- if (ss(r) && !o) return;
- const i = r.shapeFlag & 4 ? Eu(r.component) || r.component.proxy : r.el,
- s = o ? null : i,
- { i: l, r: a } = t,
- u = e && e.r,
- c = l.refs === lt ? (l.refs = {}) : l.refs,
- d = l.setupState;
- if (
- (u != null &&
- u !== a &&
- (gt(u)
- ? ((c[u] = null), Xe(d, u) && (d[u] = null))
- : Jt(u) && (u.value = null)),
- Ie(a))
- )
- Zr(a, l, 12, [s, c]);
- else {
- const f = gt(a),
- p = Jt(a),
- m = t.f;
- if (f || p) {
- const y = () => {
- if (m) {
- const v = f ? (Xe(d, a) ? d[a] : c[a]) : a.value;
- o
- ? ke(v) && Ef(v, i)
- : ke(v)
- ? v.includes(i) || v.push(i)
- : f
- ? ((c[a] = [i]), Xe(d, a) && (d[a] = c[a]))
- : ((a.value = [i]), t.k && (c[t.k] = a.value));
- } else
- f
- ? ((c[a] = s), Xe(d, a) && (d[a] = s))
- : p && ((a.value = s), t.k && (c[t.k] = s));
- };
- o || m ? y() : ((y.id = -1), sn(y, n));
- }
- }
-}
-const sn = pw;
-function Vw(t) {
- return Ww(t);
-}
-function Ww(t, e) {
- const n = O1();
- n.__VUE__ = !0;
- const {
- insert: r,
- remove: o,
- patchProp: i,
- createElement: s,
- createText: l,
- createComment: a,
- setText: u,
- setElementText: c,
- parentNode: d,
- nextSibling: f,
- setScopeId: p = Mn,
- insertStaticContent: m,
- } = t,
- y = (
- A,
- O,
- L,
- q = null,
- U = null,
- ee = null,
- ae = void 0,
- Y = null,
- te = !!O.dynamicChildren
- ) => {
- if (A === O) return;
- A && !ko(A, O) && ((q = H(A)), de(A, U, ee, !0), (A = null)),
- O.patchFlag === -2 && ((te = !1), (O.dynamicChildren = null));
- const { type: G, ref: ue, shapeFlag: ye } = O;
- switch (G) {
- case Cu:
- v(A, O, L, q);
- break;
- case Tn:
- w(A, O, L, q);
- break;
- case Wl:
- A == null && S(O, L, q, ae);
- break;
- case Ne:
- R(A, O, L, q, U, ee, ae, Y, te);
- break;
- default:
- ye & 1
- ? b(A, O, L, q, U, ee, ae, Y, te)
- : ye & 6
- ? P(A, O, L, q, U, ee, ae, Y, te)
- : (ye & 64 || ye & 128) &&
- G.process(A, O, L, q, U, ee, ae, Y, te, ce);
- }
- ue != null && U && md(ue, A && A.ref, ee, O || A, !O);
- },
- v = (A, O, L, q) => {
- if (A == null) r((O.el = l(O.children)), L, q);
- else {
- const U = (O.el = A.el);
- O.children !== A.children && u(U, O.children);
- }
- },
- w = (A, O, L, q) => {
- A == null ? r((O.el = a(O.children || "")), L, q) : (O.el = A.el);
- },
- S = (A, O, L, q) => {
- [A.el, A.anchor] = m(A.children, O, L, q, A.el, A.anchor);
- },
- E = ({ el: A, anchor: O }, L, q) => {
- let U;
- for (; A && A !== O; ) (U = f(A)), r(A, L, q), (A = U);
- r(O, L, q);
- },
- h = ({ el: A, anchor: O }) => {
- let L;
- for (; A && A !== O; ) (L = f(A)), o(A), (A = L);
- o(O);
- },
- b = (A, O, L, q, U, ee, ae, Y, te) => {
- O.type === "svg"
- ? (ae = "svg")
- : O.type === "math" && (ae = "mathml"),
- A == null
- ? g(O, L, q, U, ee, ae, Y, te)
- : C(A, O, U, ee, ae, Y, te);
- },
- g = (A, O, L, q, U, ee, ae, Y) => {
- let te, G;
- const { props: ue, shapeFlag: ye, transition: me, dirs: _e } = A;
- if (
- ((te = A.el = s(A.type, ee, ue && ue.is, ue)),
- ye & 8
- ? c(te, A.children)
- : ye & 16 &&
- k(A.children, te, null, q, U, mc(A, ee), ae, Y),
- _e && go(A, null, q, "created"),
- x(te, A, A.scopeId, ae, q),
- ue)
- ) {
- for (const Qe in ue)
- Qe !== "value" &&
- !Vl(Qe) &&
- i(te, Qe, null, ue[Qe], ee, A.children, q, U, De);
- "value" in ue && i(te, "value", null, ue.value, ee),
- (G = ue.onVnodeBeforeMount) && Un(G, q, A);
- }
- _e && go(A, null, q, "beforeMount");
- const $e = Uw(U, me);
- $e && me.beforeEnter(te),
- r(te, O, L),
- ((G = ue && ue.onVnodeMounted) || $e || _e) &&
- sn(() => {
- G && Un(G, q, A),
- $e && me.enter(te),
- _e && go(A, null, q, "mounted");
- }, U);
- },
- x = (A, O, L, q, U) => {
- if ((L && p(A, L), q))
- for (let ee = 0; ee < q.length; ee++) p(A, q[ee]);
- if (U) {
- let ee = U.subTree;
- if (O === ee) {
- const ae = U.vnode;
- x(A, ae, ae.scopeId, ae.slotScopeIds, U.parent);
- }
- }
- },
- k = (A, O, L, q, U, ee, ae, Y, te = 0) => {
- for (let G = te; G < A.length; G++) {
- const ue = (A[G] = Y ? $r(A[G]) : Yn(A[G]));
- y(null, ue, O, L, q, U, ee, ae, Y);
- }
- },
- C = (A, O, L, q, U, ee, ae) => {
- const Y = (O.el = A.el);
- let { patchFlag: te, dynamicChildren: G, dirs: ue } = O;
- te |= A.patchFlag & 16;
- const ye = A.props || lt,
- me = O.props || lt;
- let _e;
- if (
- (L && yo(L, !1),
- (_e = me.onVnodeBeforeUpdate) && Un(_e, L, O, A),
- ue && go(O, A, L, "beforeUpdate"),
- L && yo(L, !0),
- G
- ? _(A.dynamicChildren, G, Y, L, q, mc(O, U), ee)
- : ae || $(A, O, Y, null, L, q, mc(O, U), ee, !1),
- te > 0)
- ) {
- if (te & 16) T(Y, O, ye, me, L, q, U);
- else if (
- (te & 2 &&
- ye.class !== me.class &&
- i(Y, "class", null, me.class, U),
- te & 4 && i(Y, "style", ye.style, me.style, U),
- te & 8)
- ) {
- const $e = O.dynamicProps;
- for (let Qe = 0; Qe < $e.length; Qe++) {
- const st = $e[Qe],
- Ct = ye[st],
- hn = me[st];
- (hn !== Ct || st === "value") &&
- i(Y, st, Ct, hn, U, A.children, L, q, De);
- }
- }
- te & 1 && A.children !== O.children && c(Y, O.children);
- } else !ae && G == null && T(Y, O, ye, me, L, q, U);
- ((_e = me.onVnodeUpdated) || ue) &&
- sn(() => {
- _e && Un(_e, L, O, A), ue && go(O, A, L, "updated");
- }, q);
- },
- _ = (A, O, L, q, U, ee, ae) => {
- for (let Y = 0; Y < O.length; Y++) {
- const te = A[Y],
- G = O[Y],
- ue =
- te.el &&
- (te.type === Ne || !ko(te, G) || te.shapeFlag & 70)
- ? d(te.el)
- : L;
- y(te, G, ue, null, q, U, ee, ae, !0);
- }
- },
- T = (A, O, L, q, U, ee, ae) => {
- if (L !== q) {
- if (L !== lt)
- for (const Y in L)
- !Vl(Y) &&
- !(Y in q) &&
- i(A, Y, L[Y], null, ae, O.children, U, ee, De);
- for (const Y in q) {
- if (Vl(Y)) continue;
- const te = q[Y],
- G = L[Y];
- te !== G &&
- Y !== "value" &&
- i(A, Y, G, te, ae, O.children, U, ee, De);
- }
- "value" in q && i(A, "value", L.value, q.value, ae);
- }
- },
- R = (A, O, L, q, U, ee, ae, Y, te) => {
- const G = (O.el = A ? A.el : l("")),
- ue = (O.anchor = A ? A.anchor : l(""));
- let { patchFlag: ye, dynamicChildren: me, slotScopeIds: _e } = O;
- _e && (Y = Y ? Y.concat(_e) : _e),
- A == null
- ? (r(G, L, q),
- r(ue, L, q),
- k(O.children || [], L, ue, U, ee, ae, Y, te))
- : ye > 0 && ye & 64 && me && A.dynamicChildren
- ? (_(A.dynamicChildren, me, L, U, ee, ae, Y),
- (O.key != null || (U && O === U.subTree)) && Vf(A, O, !0))
- : $(A, O, L, ue, U, ee, ae, Y, te);
- },
- P = (A, O, L, q, U, ee, ae, Y, te) => {
- (O.slotScopeIds = Y),
- A == null
- ? O.shapeFlag & 512
- ? U.ctx.activate(O, L, q, ae, te)
- : D(O, L, q, U, ee, ae, te)
- : j(A, O, te);
- },
- D = (A, O, L, q, U, ee, ae) => {
- const Y = (A.component = ex(A, q, U));
- if ((Ks(A) && (Y.ctx.renderer = ce), tx(Y), Y.asyncDep)) {
- if ((U && U.registerDep(Y, M), !A.el)) {
- const te = (Y.subTree = ve(Tn));
- w(null, te, O, L);
- }
- } else M(Y, A, O, L, U, ee, ae);
- },
- j = (A, O, L) => {
- const q = (O.component = A.component);
- if (dw(A, O, L))
- if (q.asyncDep && !q.asyncResolved) {
- I(q, O, L);
- return;
- } else
- (q.next = O),
- iw(q.update),
- (q.effect.dirty = !0),
- q.update();
- else (O.el = A.el), (q.vnode = O);
- },
- M = (A, O, L, q, U, ee, ae) => {
- const Y = () => {
- if (A.isMounted) {
- let {
- next: ue,
- bu: ye,
- u: me,
- parent: _e,
- vnode: $e,
- } = A;
- {
- const Ar = _0(A);
- if (Ar) {
- ue && ((ue.el = $e.el), I(A, ue, ae)),
- Ar.asyncDep.then(() => {
- A.isUnmounted || Y();
- });
- return;
- }
- }
- let Qe = ue,
- st;
- yo(A, !1),
- ue ? ((ue.el = $e.el), I(A, ue, ae)) : (ue = $e),
- ye && ac(ye),
- (st = ue.props && ue.props.onVnodeBeforeUpdate) &&
- Un(st, _e, ue, $e),
- yo(A, !0);
- const Ct = cc(A),
- hn = A.subTree;
- (A.subTree = Ct),
- y(hn, Ct, d(hn.el), H(hn), A, U, ee),
- (ue.el = Ct.el),
- Qe === null && fw(A, Ct.el),
- me && sn(me, U),
- (st = ue.props && ue.props.onVnodeUpdated) &&
- sn(() => Un(st, _e, ue, $e), U);
- } else {
- let ue;
- const { el: ye, props: me } = O,
- { bm: _e, m: $e, parent: Qe } = A,
- st = ss(O);
- if (
- (yo(A, !1),
- _e && ac(_e),
- !st &&
- (ue = me && me.onVnodeBeforeMount) &&
- Un(ue, Qe, O),
- yo(A, !0),
- ye && Ye)
- ) {
- const Ct = () => {
- (A.subTree = cc(A)),
- Ye(ye, A.subTree, A, U, null);
- };
- st
- ? O.type
- .__asyncLoader()
- .then(() => !A.isUnmounted && Ct())
- : Ct();
- } else {
- const Ct = (A.subTree = cc(A));
- y(null, Ct, L, q, A, U, ee), (O.el = Ct.el);
- }
- if (
- ($e && sn($e, U),
- !st && (ue = me && me.onVnodeMounted))
- ) {
- const Ct = O;
- sn(() => Un(ue, Qe, Ct), U);
- }
- (O.shapeFlag & 256 ||
- (Qe && ss(Qe.vnode) && Qe.vnode.shapeFlag & 256)) &&
- A.a &&
- sn(A.a, U),
- (A.isMounted = !0),
- (O = L = q = null);
- }
- },
- te = (A.effect = new Af(Y, Mn, () => wu(G), A.scope)),
- G = (A.update = () => {
- te.dirty && te.run();
- });
- (G.id = A.uid), yo(A, !0), G();
- },
- I = (A, O, L) => {
- O.component = A;
- const q = A.vnode.props;
- (A.vnode = O),
- (A.next = null),
- Bw(A, O.props, q, L),
- Fw(A, O.children, L),
- Uo(),
- fp(A),
- Ko();
- },
- $ = (A, O, L, q, U, ee, ae, Y, te = !1) => {
- const G = A && A.children,
- ue = A ? A.shapeFlag : 0,
- ye = O.children,
- { patchFlag: me, shapeFlag: _e } = O;
- if (me > 0) {
- if (me & 128) {
- ie(G, ye, L, q, U, ee, ae, Y, te);
- return;
- } else if (me & 256) {
- K(G, ye, L, q, U, ee, ae, Y, te);
- return;
- }
- }
- _e & 8
- ? (ue & 16 && De(G, U, ee), ye !== G && c(L, ye))
- : ue & 16
- ? _e & 16
- ? ie(G, ye, L, q, U, ee, ae, Y, te)
- : De(G, U, ee, !0)
- : (ue & 8 && c(L, ""),
- _e & 16 && k(ye, L, q, U, ee, ae, Y, te));
- },
- K = (A, O, L, q, U, ee, ae, Y, te) => {
- (A = A || ci), (O = O || ci);
- const G = A.length,
- ue = O.length,
- ye = Math.min(G, ue);
- let me;
- for (me = 0; me < ye; me++) {
- const _e = (O[me] = te ? $r(O[me]) : Yn(O[me]));
- y(A[me], _e, L, null, U, ee, ae, Y, te);
- }
- G > ue
- ? De(A, U, ee, !0, !1, ye)
- : k(O, L, q, U, ee, ae, Y, te, ye);
- },
- ie = (A, O, L, q, U, ee, ae, Y, te) => {
- let G = 0;
- const ue = O.length;
- let ye = A.length - 1,
- me = ue - 1;
- for (; G <= ye && G <= me; ) {
- const _e = A[G],
- $e = (O[G] = te ? $r(O[G]) : Yn(O[G]));
- if (ko(_e, $e)) y(_e, $e, L, null, U, ee, ae, Y, te);
- else break;
- G++;
- }
- for (; G <= ye && G <= me; ) {
- const _e = A[ye],
- $e = (O[me] = te ? $r(O[me]) : Yn(O[me]));
- if (ko(_e, $e)) y(_e, $e, L, null, U, ee, ae, Y, te);
- else break;
- ye--, me--;
- }
- if (G > ye) {
- if (G <= me) {
- const _e = me + 1,
- $e = _e < ue ? O[_e].el : q;
- for (; G <= me; )
- y(
- null,
- (O[G] = te ? $r(O[G]) : Yn(O[G])),
- L,
- $e,
- U,
- ee,
- ae,
- Y,
- te
- ),
- G++;
- }
- } else if (G > me) for (; G <= ye; ) de(A[G], U, ee, !0), G++;
- else {
- const _e = G,
- $e = G,
- Qe = new Map();
- for (G = $e; G <= me; G++) {
- const pe = (O[G] = te ? $r(O[G]) : Yn(O[G]));
- pe.key != null && Qe.set(pe.key, G);
- }
- let st,
- Ct = 0;
- const hn = me - $e + 1;
- let Ar = !1,
- sl = 0;
- const F = new Array(hn);
- for (G = 0; G < hn; G++) F[G] = 0;
- for (G = _e; G <= ye; G++) {
- const pe = A[G];
- if (Ct >= hn) {
- de(pe, U, ee, !0);
- continue;
- }
- let Fe;
- if (pe.key != null) Fe = Qe.get(pe.key);
- else
- for (st = $e; st <= me; st++)
- if (F[st - $e] === 0 && ko(pe, O[st])) {
- Fe = st;
- break;
- }
- Fe === void 0
- ? de(pe, U, ee, !0)
- : ((F[Fe - $e] = G + 1),
- Fe >= sl ? (sl = Fe) : (Ar = !0),
- y(pe, O[Fe], L, null, U, ee, ae, Y, te),
- Ct++);
- }
- const he = Ar ? Kw(F) : ci;
- for (st = he.length - 1, G = hn - 1; G >= 0; G--) {
- const pe = $e + G,
- Fe = O[pe],
- Ue = pe + 1 < ue ? O[pe + 1].el : q;
- F[G] === 0
- ? y(null, Fe, L, Ue, U, ee, ae, Y, te)
- : Ar &&
- (st < 0 || G !== he[st] ? X(Fe, L, Ue, 2) : st--);
- }
- }
- },
- X = (A, O, L, q, U = null) => {
- const {
- el: ee,
- type: ae,
- transition: Y,
- children: te,
- shapeFlag: G,
- } = A;
- if (G & 6) {
- X(A.component.subTree, O, L, q);
- return;
- }
- if (G & 128) {
- A.suspense.move(O, L, q);
- return;
- }
- if (G & 64) {
- ae.move(A, O, L, ce);
- return;
- }
- if (ae === Ne) {
- r(ee, O, L);
- for (let ye = 0; ye < te.length; ye++) X(te[ye], O, L, q);
- r(A.anchor, O, L);
- return;
- }
- if (ae === Wl) {
- E(A, O, L);
- return;
- }
- if (q !== 2 && G & 1 && Y)
- if (q === 0)
- Y.beforeEnter(ee), r(ee, O, L), sn(() => Y.enter(ee), U);
- else {
- const { leave: ye, delayLeave: me, afterLeave: _e } = Y,
- $e = () => r(ee, O, L),
- Qe = () => {
- ye(ee, () => {
- $e(), _e && _e();
- });
- };
- me ? me(ee, $e, Qe) : Qe();
- }
- else r(ee, O, L);
- },
- de = (A, O, L, q = !1, U = !1) => {
- const {
- type: ee,
- props: ae,
- ref: Y,
- children: te,
- dynamicChildren: G,
- shapeFlag: ue,
- patchFlag: ye,
- dirs: me,
- } = A;
- if ((Y != null && md(Y, null, L, A, !0), ue & 256)) {
- O.ctx.deactivate(A);
- return;
- }
- const _e = ue & 1 && me,
- $e = !ss(A);
- let Qe;
- if (
- ($e && (Qe = ae && ae.onVnodeBeforeUnmount) && Un(Qe, O, A),
- ue & 6)
- )
- Pe(A.component, L, q);
- else {
- if (ue & 128) {
- A.suspense.unmount(L, q);
- return;
- }
- _e && go(A, null, O, "beforeUnmount"),
- ue & 64
- ? A.type.remove(A, O, L, U, ce, q)
- : G && (ee !== Ne || (ye > 0 && ye & 64))
- ? De(G, O, L, !1, !0)
- : ((ee === Ne && ye & 384) || (!U && ue & 16)) &&
- De(te, O, L),
- q && ze(A);
- }
- (($e && (Qe = ae && ae.onVnodeUnmounted)) || _e) &&
- sn(() => {
- Qe && Un(Qe, O, A), _e && go(A, null, O, "unmounted");
- }, L);
- },
- ze = (A) => {
- const { type: O, el: L, anchor: q, transition: U } = A;
- if (O === Ne) {
- Ee(L, q);
- return;
- }
- if (O === Wl) {
- h(A);
- return;
- }
- const ee = () => {
- o(L), U && !U.persisted && U.afterLeave && U.afterLeave();
- };
- if (A.shapeFlag & 1 && U && !U.persisted) {
- const { leave: ae, delayLeave: Y } = U,
- te = () => ae(L, ee);
- Y ? Y(A.el, ee, te) : te();
- } else ee();
- },
- Ee = (A, O) => {
- let L;
- for (; A !== O; ) (L = f(A)), o(A), (A = L);
- o(O);
- },
- Pe = (A, O, L) => {
- const { bum: q, scope: U, update: ee, subTree: ae, um: Y } = A;
- q && ac(q),
- U.stop(),
- ee && ((ee.active = !1), de(ae, A, O, L)),
- Y && sn(Y, O),
- sn(() => {
- A.isUnmounted = !0;
- }, O),
- O &&
- O.pendingBranch &&
- !O.isUnmounted &&
- A.asyncDep &&
- !A.asyncResolved &&
- A.suspenseId === O.pendingId &&
- (O.deps--, O.deps === 0 && O.resolve());
- },
- De = (A, O, L, q = !1, U = !1, ee = 0) => {
- for (let ae = ee; ae < A.length; ae++) de(A[ae], O, L, q, U);
- },
- H = (A) =>
- A.shapeFlag & 6
- ? H(A.component.subTree)
- : A.shapeFlag & 128
- ? A.suspense.next()
- : f(A.anchor || A.el);
- let Z = !1;
- const oe = (A, O, L) => {
- A == null
- ? O._vnode && de(O._vnode, null, null, !0)
- : y(O._vnode || null, A, O, null, null, null, L),
- Z || ((Z = !0), fp(), r0(), (Z = !1)),
- (O._vnode = A);
- },
- ce = {
- p: y,
- um: de,
- m: X,
- r: ze,
- mt: D,
- mc: k,
- pc: $,
- pbc: _,
- n: H,
- o: t,
- };
- let He, Ye;
- return (
- e && ([He, Ye] = e(ce)),
- { render: oe, hydrate: He, createApp: Lw(oe, He) }
- );
-}
-function mc({ type: t, props: e }, n) {
- return (n === "svg" && t === "foreignObject") ||
- (n === "mathml" &&
- t === "annotation-xml" &&
- e &&
- e.encoding &&
- e.encoding.includes("html"))
- ? void 0
- : n;
-}
-function yo({ effect: t, update: e }, n) {
- t.allowRecurse = e.allowRecurse = n;
-}
-function Uw(t, e) {
- return (!t || (t && !t.pendingBranch)) && e && !e.persisted;
-}
-function Vf(t, e, n = !1) {
- const r = t.children,
- o = e.children;
- if (ke(r) && ke(o))
- for (let i = 0; i < r.length; i++) {
- const s = r[i];
- let l = o[i];
- l.shapeFlag & 1 &&
- !l.dynamicChildren &&
- ((l.patchFlag <= 0 || l.patchFlag === 32) &&
- ((l = o[i] = $r(o[i])), (l.el = s.el)),
- n || Vf(s, l)),
- l.type === Cu && (l.el = s.el);
- }
-}
-function Kw(t) {
- const e = t.slice(),
- n = [0];
- let r, o, i, s, l;
- const a = t.length;
- for (r = 0; r < a; r++) {
- const u = t[r];
- if (u !== 0) {
- if (((o = n[n.length - 1]), t[o] < u)) {
- (e[r] = o), n.push(r);
- continue;
- }
- for (i = 0, s = n.length - 1; i < s; )
- (l = (i + s) >> 1), t[n[l]] < u ? (i = l + 1) : (s = l);
- u < t[n[i]] && (i > 0 && (e[r] = n[i - 1]), (n[i] = r));
- }
- }
- for (i = n.length, s = n[i - 1]; i-- > 0; ) (n[i] = s), (s = e[s]);
- return n;
-}
-function _0(t) {
- const e = t.subTree.component;
- if (e) return e.asyncDep && !e.asyncResolved ? e : _0(e);
-}
-const qw = (t) => t.__isTeleport,
- as = (t) => t && (t.disabled || t.disabled === ""),
- Sp = (t) => typeof SVGElement != "undefined" && t instanceof SVGElement,
- _p = (t) =>
- typeof MathMLElement == "function" && t instanceof MathMLElement,
- gd = (t, e) => {
- const n = t && t.to;
- return gt(n) ? (e ? e(n) : null) : n;
- },
- Jw = {
- name: "Teleport",
- __isTeleport: !0,
- process(t, e, n, r, o, i, s, l, a, u) {
- const {
- mc: c,
- pc: d,
- pbc: f,
- o: {
- insert: p,
- querySelector: m,
- createText: y,
- createComment: v,
- },
- } = u,
- w = as(e.props);
- let { shapeFlag: S, children: E, dynamicChildren: h } = e;
- if (t == null) {
- const b = (e.el = y("")),
- g = (e.anchor = y(""));
- p(b, n, r), p(g, n, r);
- const x = (e.target = gd(e.props, m)),
- k = (e.targetAnchor = y(""));
- x &&
- (p(k, x),
- s === "svg" || Sp(x)
- ? (s = "svg")
- : (s === "mathml" || _p(x)) && (s = "mathml"));
- const C = (_, T) => {
- S & 16 && c(E, _, T, o, i, s, l, a);
- };
- w ? C(n, g) : x && C(x, k);
- } else {
- e.el = t.el;
- const b = (e.anchor = t.anchor),
- g = (e.target = t.target),
- x = (e.targetAnchor = t.targetAnchor),
- k = as(t.props),
- C = k ? n : g,
- _ = k ? b : x;
- if (
- (s === "svg" || Sp(g)
- ? (s = "svg")
- : (s === "mathml" || _p(g)) && (s = "mathml"),
- h
- ? (f(t.dynamicChildren, h, C, o, i, s, l), Vf(t, e, !0))
- : a || d(t, e, C, _, o, i, s, l, !1),
- w)
- )
- k
- ? e.props &&
- t.props &&
- e.props.to !== t.props.to &&
- (e.props.to = t.props.to)
- : vl(e, n, b, u, 1);
- else if ((e.props && e.props.to) !== (t.props && t.props.to)) {
- const T = (e.target = gd(e.props, m));
- T && vl(e, T, null, u, 0);
- } else k && vl(e, g, x, u, 1);
- }
- C0(e);
- },
- remove(t, e, n, r, { um: o, o: { remove: i } }, s) {
- const {
- shapeFlag: l,
- children: a,
- anchor: u,
- targetAnchor: c,
- target: d,
- props: f,
- } = t;
- if ((d && i(c), s && i(u), l & 16)) {
- const p = s || !as(f);
- for (let m = 0; m < a.length; m++) {
- const y = a[m];
- o(y, e, n, p, !!y.dynamicChildren);
- }
- }
- },
- move: vl,
- hydrate: Gw,
- };
-function vl(t, e, n, { o: { insert: r }, m: o }, i = 2) {
- i === 0 && r(t.targetAnchor, e, n);
- const { el: s, anchor: l, shapeFlag: a, children: u, props: c } = t,
- d = i === 2;
- if ((d && r(s, e, n), (!d || as(c)) && a & 16))
- for (let f = 0; f < u.length; f++) o(u[f], e, n, 2);
- d && r(l, e, n);
-}
-function Gw(
- t,
- e,
- n,
- r,
- o,
- i,
- { o: { nextSibling: s, parentNode: l, querySelector: a } },
- u
-) {
- const c = (e.target = gd(e.props, a));
- if (c) {
- const d = c._lpa || c.firstChild;
- if (e.shapeFlag & 16)
- if (as(e.props))
- (e.anchor = u(s(t), e, l(t), n, r, o, i)), (e.targetAnchor = d);
- else {
- e.anchor = s(t);
- let f = d;
- for (; f; )
- if (
- ((f = s(f)),
- f && f.nodeType === 8 && f.data === "teleport anchor")
- ) {
- (e.targetAnchor = f),
- (c._lpa = e.targetAnchor && s(e.targetAnchor));
- break;
- }
- u(d, e, c, n, r, o, i);
- }
- C0(e);
- }
- return e.anchor && s(e.anchor);
-}
-const _u = Jw;
-function C0(t) {
- const e = t.ctx;
- if (e && e.ut) {
- let n = t.children[0].el;
- for (; n && n !== t.targetAnchor; )
- n.nodeType === 1 && n.setAttribute("data-v-owner", e.uid),
- (n = n.nextSibling);
- e.ut();
- }
-}
-const Ne = Symbol.for("v-fgt"),
- Cu = Symbol.for("v-txt"),
- Tn = Symbol.for("v-cmt"),
- Wl = Symbol.for("v-stc"),
- us = [];
-let Ln = null;
-function N(t = !1) {
- us.push((Ln = t ? null : []));
-}
-function Yw() {
- us.pop(), (Ln = us[us.length - 1] || null);
-}
-let As = 1;
-function Cp(t) {
- As += t;
-}
-function M0(t) {
- return (
- (t.dynamicChildren = As > 0 ? Ln || ci : null),
- Yw(),
- As > 0 && Ln && Ln.push(t),
- t
- );
-}
-function W(t, e, n, r, o, i) {
- return M0(V(t, e, n, r, o, i, !0));
-}
-function Te(t, e, n, r, o) {
- return M0(ve(t, e, n, r, o, !0));
-}
-function ha(t) {
- return t ? t.__v_isVNode === !0 : !1;
-}
-function ko(t, e) {
- return t.type === e.type && t.key === e.key;
-}
-const Mu = "__vInternal",
- E0 = ({ key: t }) => (t != null ? t : null),
- Ul = ({ ref: t, ref_key: e, ref_for: n }) => (
- typeof t == "number" && (t = "" + t),
- t != null
- ? gt(t) || Jt(t) || Ie(t)
- ? { i: Tt, r: t, k: e, f: !!n }
- : t
- : null
- );
-function V(
- t,
- e = null,
- n = null,
- r = 0,
- o = null,
- i = t === Ne ? 0 : 1,
- s = !1,
- l = !1
-) {
- const a = {
- __v_isVNode: !0,
- __v_skip: !0,
- type: t,
- props: e,
- key: e && E0(e),
- ref: e && Ul(e),
- scopeId: s0,
- slotScopeIds: null,
- children: n,
- component: null,
- suspense: null,
- ssContent: null,
- ssFallback: null,
- dirs: null,
- transition: null,
- el: null,
- anchor: null,
- target: null,
- targetAnchor: null,
- staticCount: 0,
- shapeFlag: i,
- patchFlag: r,
- dynamicProps: o,
- dynamicChildren: null,
- appContext: null,
- ctx: Tt,
- };
- return (
- l
- ? (Wf(a, n), i & 128 && t.normalize(a))
- : n && (a.shapeFlag |= gt(n) ? 8 : 16),
- As > 0 &&
- !s &&
- Ln &&
- (a.patchFlag > 0 || i & 6) &&
- a.patchFlag !== 32 &&
- Ln.push(a),
- a
- );
-}
-const ve = Qw;
-function Qw(t, e = null, n = null, r = 0, o = null, i = !1) {
- if (((!t || t === l0) && (t = Tn), ha(t))) {
- const l = sr(t, e, !0);
- return (
- n && Wf(l, n),
- As > 0 &&
- !i &&
- Ln &&
- (l.shapeFlag & 6 ? (Ln[Ln.indexOf(t)] = l) : Ln.push(l)),
- (l.patchFlag |= -2),
- l
- );
- }
- if ((ix(t) && (t = t.__vccOpts), e)) {
- e = Lt(e);
- let { class: l, style: a } = e;
- l && !gt(l) && (e.class = be(l)),
- dt(a) && (G1(a) && !ke(a) && (a = _t({}, a)), (e.style = ao(a)));
- }
- const s = gt(t) ? 1 : hw(t) ? 128 : qw(t) ? 64 : dt(t) ? 4 : Ie(t) ? 2 : 0;
- return V(t, e, n, r, o, s, i, !0);
-}
-function Lt(t) {
- return t ? (G1(t) || Mu in t ? _t({}, t) : t) : null;
-}
-function sr(t, e, n = !1) {
- const { props: r, ref: o, patchFlag: i, children: s } = t,
- l = e ? pt(r || {}, e) : r;
- return {
- __v_isVNode: !0,
- __v_skip: !0,
- type: t.type,
- props: l,
- key: l && E0(l),
- ref:
- e && e.ref
- ? n && o
- ? ke(o)
- ? o.concat(Ul(e))
- : [o, Ul(e)]
- : Ul(e)
- : o,
- scopeId: t.scopeId,
- slotScopeIds: t.slotScopeIds,
- children: s,
- target: t.target,
- targetAnchor: t.targetAnchor,
- staticCount: t.staticCount,
- shapeFlag: t.shapeFlag,
- patchFlag: e && t.type !== Ne ? (i === -1 ? 16 : i | 16) : i,
- dynamicProps: t.dynamicProps,
- dynamicChildren: t.dynamicChildren,
- appContext: t.appContext,
- dirs: t.dirs,
- transition: t.transition,
- component: t.component,
- suspense: t.suspense,
- ssContent: t.ssContent && sr(t.ssContent),
- ssFallback: t.ssFallback && sr(t.ssFallback),
- el: t.el,
- anchor: t.anchor,
- ctx: t.ctx,
- ce: t.ce,
- };
-}
-function lr(t = " ", e = 0) {
- return ve(Cu, null, t, e);
-}
-function gL(t, e) {
- const n = ve(Wl, null, t);
- return (n.staticCount = e), n;
-}
-function Re(t = "", e = !1) {
- return e ? (N(), Te(Tn, null, t)) : ve(Tn, null, t);
-}
-function Yn(t) {
- return t == null || typeof t == "boolean"
- ? ve(Tn)
- : ke(t)
- ? ve(Ne, null, t.slice())
- : typeof t == "object"
- ? $r(t)
- : ve(Cu, null, String(t));
-}
-function $r(t) {
- return (t.el === null && t.patchFlag !== -1) || t.memo ? t : sr(t);
-}
-function Wf(t, e) {
- let n = 0;
- const { shapeFlag: r } = t;
- if (e == null) e = null;
- else if (ke(e)) n = 16;
- else if (typeof e == "object")
- if (r & 65) {
- const o = e.default;
- o && (o._c && (o._d = !1), Wf(t, o()), o._c && (o._d = !0));
- return;
- } else {
- n = 32;
- const o = e._;
- !o && !(Mu in e)
- ? (e._ctx = Tt)
- : o === 3 &&
- Tt &&
- (Tt.slots._ === 1
- ? (e._ = 1)
- : ((e._ = 2), (t.patchFlag |= 1024)));
- }
- else
- Ie(e)
- ? ((e = { default: e, _ctx: Tt }), (n = 32))
- : ((e = String(e)), r & 64 ? ((n = 16), (e = [lr(e)])) : (n = 8));
- (t.children = e), (t.shapeFlag |= n);
-}
-function pt(...t) {
- const e = {};
- for (let n = 0; n < t.length; n++) {
- const r = t[n];
- for (const o in r)
- if (o === "class")
- e.class !== r.class && (e.class = be([e.class, r.class]));
- else if (o === "style") e.style = ao([e.style, r.style]);
- else if (fu(o)) {
- const i = e[o],
- s = r[o];
- s &&
- i !== s &&
- !(ke(i) && i.includes(s)) &&
- (e[o] = i ? [].concat(i, s) : s);
- } else o !== "" && (e[o] = r[o]);
- }
- return e;
-}
-function Un(t, e, n, r = null) {
- En(t, e, 7, [n, r]);
-}
-const Xw = v0();
-let Zw = 0;
-function ex(t, e, n) {
- const r = t.type,
- o = (e ? e.appContext : t.appContext) || Xw,
- i = {
- uid: Zw++,
- vnode: t,
- type: r,
- parent: e,
- appContext: o,
- root: null,
- next: null,
- subTree: null,
- effect: null,
- update: null,
- scope: new I1(!0),
- render: null,
- proxy: null,
- exposed: null,
- exposeProxy: null,
- withProxy: null,
- provides: e ? e.provides : Object.create(o.provides),
- accessCache: null,
- renderCache: [],
- components: null,
- directives: null,
- propsOptions: w0(r, o),
- emitsOptions: i0(r, o),
- emit: null,
- emitted: null,
- propsDefaults: lt,
- inheritAttrs: r.inheritAttrs,
- ctx: lt,
- data: lt,
- props: lt,
- attrs: lt,
- slots: lt,
- refs: lt,
- setupState: lt,
- setupContext: null,
- attrsProxy: null,
- slotsProxy: null,
- suspense: n,
- suspenseId: n ? n.pendingId : 0,
- asyncDep: null,
- asyncResolved: !1,
- isMounted: !1,
- isUnmounted: !1,
- isDeactivated: !1,
- bc: null,
- c: null,
- bm: null,
- m: null,
- bu: null,
- u: null,
- um: null,
- bum: null,
- da: null,
- a: null,
- rtg: null,
- rtc: null,
- ec: null,
- sp: null,
- };
- return (
- (i.ctx = { _: i }),
- (i.root = e ? e.root : i),
- (i.emit = aw.bind(null, i)),
- t.ce && t.ce(i),
- i
- );
-}
-let It = null;
-const uo = () => It || Tt;
-let pa, yd;
-{
- const t = O1(),
- e = (n, r) => {
- let o;
- return (
- (o = t[n]) || (o = t[n] = []),
- o.push(r),
- (i) => {
- o.length > 1 ? o.forEach((s) => s(i)) : o[0](i);
- }
- );
- };
- (pa = e("__VUE_INSTANCE_SETTERS__", (n) => (It = n))),
- (yd = e("__VUE_SSR_SETTERS__", (n) => (Ys = n)));
-}
-const Gs = (t) => {
- const e = It;
- return (
- pa(t),
- t.scope.on(),
- () => {
- t.scope.off(), pa(e);
- }
- );
- },
- Mp = () => {
- It && It.scope.off(), pa(null);
- };
-function T0(t) {
- return t.vnode.shapeFlag & 4;
-}
-let Ys = !1;
-function tx(t, e = !1) {
- e && yd(e);
- const { props: n, children: r } = t.vnode,
- o = T0(t);
- $w(t, n, o, e), Hw(t, r);
- const i = o ? nx(t, e) : void 0;
- return e && yd(!1), i;
-}
-function nx(t, e) {
- const n = t.type;
- (t.accessCache = Object.create(null)), (t.proxy = vu(new Proxy(t.ctx, Ow)));
- const { setup: r } = n;
- if (r) {
- const o = (t.setupContext = r.length > 1 ? O0(t) : null),
- i = Gs(t);
- Uo();
- const s = Zr(r, t, 0, [t.props, o]);
- if ((Ko(), i(), E1(s))) {
- if ((s.then(Mp, Mp), e))
- return s
- .then((l) => {
- Ep(t, l, e);
- })
- .catch((l) => {
- Us(l, t, 0);
- });
- t.asyncDep = s;
- } else Ep(t, s, e);
- } else A0(t, e);
-}
-function Ep(t, e, n) {
- Ie(e)
- ? t.type.__ssrInlineRender
- ? (t.ssrRender = e)
- : (t.render = e)
- : dt(e) && (t.setupState = Z1(e)),
- A0(t, n);
-}
-let Tp;
-function A0(t, e, n) {
- const r = t.type;
- if (!t.render) {
- if (!e && Tp && !r.render) {
- const o = r.template || Hf(t).template;
- if (o) {
- const { isCustomElement: i, compilerOptions: s } =
- t.appContext.config,
- { delimiters: l, compilerOptions: a } = r,
- u = _t(_t({ isCustomElement: i, delimiters: l }, s), a);
- r.render = Tp(o, u);
- }
- }
- t.render = r.render || Mn;
- }
- {
- const o = Gs(t);
- Uo();
- try {
- Rw(t);
- } finally {
- Ko(), o();
- }
- }
-}
-function rx(t) {
- return (
- t.attrsProxy ||
- (t.attrsProxy = new Proxy(t.attrs, {
- get(e, n) {
- return dn(t, "get", "$attrs"), e[n];
- },
- }))
- );
-}
-function O0(t) {
- const e = (n) => {
- t.exposed = n || {};
- };
- return {
- get attrs() {
- return rx(t);
- },
- slots: t.slots,
- emit: t.emit,
- expose: e,
- };
-}
-function Eu(t) {
- if (t.exposed)
- return (
- t.exposeProxy ||
- (t.exposeProxy = new Proxy(Z1(vu(t.exposed)), {
- get(e, n) {
- if (n in e) return e[n];
- if (n in ls) return ls[n](t);
- },
- has(e, n) {
- return n in e || n in ls;
- },
- }))
- );
-}
-function ox(t, e = !0) {
- return Ie(t) ? t.displayName || t.name : t.name || (e && t.__name);
-}
-function ix(t) {
- return Ie(t) && "__vccOpts" in t;
-}
-const z = (t, e) => Q1(t, e, Ys);
-function yL(t, e, n = lt) {
- const r = uo(),
- o = Hn(e),
- i = lo(e),
- s = e0((a, u) => {
- let c;
- return (
- yw(() => {
- const d = t[e];
- ir(c, d) && ((c = d), u());
- }),
- {
- get() {
- return a(), n.get ? n.get(c) : c;
- },
- set(d) {
- const f = r.vnode.props;
- !(
- f &&
- (e in f || o in f || i in f) &&
- (`onUpdate:${e}` in f ||
- `onUpdate:${o}` in f ||
- `onUpdate:${i}` in f)
- ) &&
- ir(d, c) &&
- ((c = d), u()),
- r.emit(`update:${e}`, n.set ? n.set(d) : d);
- },
- }
- );
- }),
- l = e === "modelValue" ? "modelModifiers" : `${e}Modifiers`;
- return (
- (s[Symbol.iterator] = () => {
- let a = 0;
- return {
- next() {
- return a < 2
- ? { value: a++ ? t[l] || {} : s, done: !1 }
- : { done: !0 };
- },
- };
- }),
- s
- );
-}
-function Ke(t, e, n) {
- const r = arguments.length;
- return r === 2
- ? dt(e) && !ke(e)
- ? ha(e)
- ? ve(t, null, [e])
- : ve(t, e)
- : ve(t, null, e)
- : (r > 3
- ? (n = Array.prototype.slice.call(arguments, 2))
- : r === 3 && ha(n) && (n = [n]),
- ve(t, e, n));
-}
-const sx = "3.4.15";
-/**
- * @vue/runtime-dom v3.4.15
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
- * @license MIT
- **/ const lx = "http://www.w3.org/2000/svg",
- ax = "http://www.w3.org/1998/Math/MathML",
- Br = typeof document != "undefined" ? document : null,
- Ap = Br && Br.createElement("template"),
- ux = {
- insert: (t, e, n) => {
- e.insertBefore(t, n || null);
- },
- remove: (t) => {
- const e = t.parentNode;
- e && e.removeChild(t);
- },
- createElement: (t, e, n, r) => {
- const o =
- e === "svg"
- ? Br.createElementNS(lx, t)
- : e === "mathml"
- ? Br.createElementNS(ax, t)
- : Br.createElement(t, n ? { is: n } : void 0);
- return (
- t === "select" &&
- r &&
- r.multiple != null &&
- o.setAttribute("multiple", r.multiple),
- o
- );
- },
- createText: (t) => Br.createTextNode(t),
- createComment: (t) => Br.createComment(t),
- setText: (t, e) => {
- t.nodeValue = e;
- },
- setElementText: (t, e) => {
- t.textContent = e;
- },
- parentNode: (t) => t.parentNode,
- nextSibling: (t) => t.nextSibling,
- querySelector: (t) => Br.querySelector(t),
- setScopeId(t, e) {
- t.setAttribute(e, "");
- },
- insertStaticContent(t, e, n, r, o, i) {
- const s = n ? n.previousSibling : e.lastChild;
- if (o && (o === i || o.nextSibling))
- for (
- ;
- e.insertBefore(o.cloneNode(!0), n),
- !(o === i || !(o = o.nextSibling));
-
- );
- else {
- Ap.innerHTML =
- r === "svg"
- ? ``
- : r === "mathml"
- ? ``
- : t;
- const l = Ap.content;
- if (r === "svg" || r === "mathml") {
- const a = l.firstChild;
- for (; a.firstChild; ) l.appendChild(a.firstChild);
- l.removeChild(a);
- }
- e.insertBefore(l, n);
- }
- return [
- s ? s.nextSibling : e.firstChild,
- n ? n.previousSibling : e.lastChild,
- ];
- },
- },
- Rr = "transition",
- Ui = "animation",
- xi = Symbol("_vtc"),
- Tu = (t, { slots: e }) => Ke(ww, P0(t), e);
-Tu.displayName = "Transition";
-const R0 = {
- name: String,
- type: String,
- css: { type: Boolean, default: !0 },
- duration: [String, Number, Object],
- enterFromClass: String,
- enterActiveClass: String,
- enterToClass: String,
- appearFromClass: String,
- appearActiveClass: String,
- appearToClass: String,
- leaveFromClass: String,
- leaveActiveClass: String,
- leaveToClass: String,
- },
- cx = (Tu.props = _t({}, d0, R0)),
- vo = (t, e = []) => {
- ke(t) ? t.forEach((n) => n(...e)) : t && t(...e);
- },
- Op = (t) => (t ? (ke(t) ? t.some((e) => e.length > 1) : t.length > 1) : !1);
-function P0(t) {
- const e = {};
- for (const R in t) R in R0 || (e[R] = t[R]);
- if (t.css === !1) return e;
- const {
- name: n = "v",
- type: r,
- duration: o,
- enterFromClass: i = `${n}-enter-from`,
- enterActiveClass: s = `${n}-enter-active`,
- enterToClass: l = `${n}-enter-to`,
- appearFromClass: a = i,
- appearActiveClass: u = s,
- appearToClass: c = l,
- leaveFromClass: d = `${n}-leave-from`,
- leaveActiveClass: f = `${n}-leave-active`,
- leaveToClass: p = `${n}-leave-to`,
- } = t,
- m = dx(o),
- y = m && m[0],
- v = m && m[1],
- {
- onBeforeEnter: w,
- onEnter: S,
- onEnterCancelled: E,
- onLeave: h,
- onLeaveCancelled: b,
- onBeforeAppear: g = w,
- onAppear: x = S,
- onAppearCancelled: k = E,
- } = e,
- C = (R, P, D) => {
- Nr(R, P ? c : l), Nr(R, P ? u : s), D && D();
- },
- _ = (R, P) => {
- (R._isLeaving = !1), Nr(R, d), Nr(R, p), Nr(R, f), P && P();
- },
- T = (R) => (P, D) => {
- const j = R ? x : S,
- M = () => C(P, R, D);
- vo(j, [P, M]),
- Rp(() => {
- Nr(P, R ? a : i), yr(P, R ? c : l), Op(j) || Pp(P, r, y, M);
- });
- };
- return _t(e, {
- onBeforeEnter(R) {
- vo(w, [R]), yr(R, i), yr(R, s);
- },
- onBeforeAppear(R) {
- vo(g, [R]), yr(R, a), yr(R, u);
- },
- onEnter: T(!1),
- onAppear: T(!0),
- onLeave(R, P) {
- R._isLeaving = !0;
- const D = () => _(R, P);
- yr(R, d),
- N0(),
- yr(R, f),
- Rp(() => {
- R._isLeaving &&
- (Nr(R, d), yr(R, p), Op(h) || Pp(R, r, v, D));
- }),
- vo(h, [R, D]);
- },
- onEnterCancelled(R) {
- C(R, !1), vo(E, [R]);
- },
- onAppearCancelled(R) {
- C(R, !0), vo(k, [R]);
- },
- onLeaveCancelled(R) {
- _(R), vo(b, [R]);
- },
- });
-}
-function dx(t) {
- if (t == null) return null;
- if (dt(t)) return [gc(t.enter), gc(t.leave)];
- {
- const e = gc(t);
- return [e, e];
- }
-}
-function gc(t) {
- return _b(t);
-}
-function yr(t, e) {
- e.split(/\s+/).forEach((n) => n && t.classList.add(n)),
- (t[xi] || (t[xi] = new Set())).add(e);
-}
-function Nr(t, e) {
- e.split(/\s+/).forEach((r) => r && t.classList.remove(r));
- const n = t[xi];
- n && (n.delete(e), n.size || (t[xi] = void 0));
-}
-function Rp(t) {
- requestAnimationFrame(() => {
- requestAnimationFrame(t);
- });
-}
-let fx = 0;
-function Pp(t, e, n, r) {
- const o = (t._endId = ++fx),
- i = () => {
- o === t._endId && r();
- };
- if (n) return setTimeout(i, n);
- const { type: s, timeout: l, propCount: a } = I0(t, e);
- if (!s) return r();
- const u = s + "end";
- let c = 0;
- const d = () => {
- t.removeEventListener(u, f), i();
- },
- f = (p) => {
- p.target === t && ++c >= a && d();
- };
- setTimeout(() => {
- c < a && d();
- }, l + 1),
- t.addEventListener(u, f);
-}
-function I0(t, e) {
- const n = window.getComputedStyle(t),
- r = (m) => (n[m] || "").split(", "),
- o = r(`${Rr}Delay`),
- i = r(`${Rr}Duration`),
- s = Ip(o, i),
- l = r(`${Ui}Delay`),
- a = r(`${Ui}Duration`),
- u = Ip(l, a);
- let c = null,
- d = 0,
- f = 0;
- e === Rr
- ? s > 0 && ((c = Rr), (d = s), (f = i.length))
- : e === Ui
- ? u > 0 && ((c = Ui), (d = u), (f = a.length))
- : ((d = Math.max(s, u)),
- (c = d > 0 ? (s > u ? Rr : Ui) : null),
- (f = c ? (c === Rr ? i.length : a.length) : 0));
- const p =
- c === Rr &&
- /\b(transform|all)(,|$)/.test(r(`${Rr}Property`).toString());
- return { type: c, timeout: d, propCount: f, hasTransform: p };
-}
-function Ip(t, e) {
- for (; t.length < e.length; ) t = t.concat(t);
- return Math.max(...e.map((n, r) => Np(n) + Np(t[r])));
-}
-function Np(t) {
- return t === "auto" ? 0 : Number(t.slice(0, -1).replace(",", ".")) * 1e3;
-}
-function N0() {
- return document.body.offsetHeight;
-}
-function hx(t, e, n) {
- const r = t[xi];
- r && (e = (e ? [e, ...r] : [...r]).join(" ")),
- e == null
- ? t.removeAttribute("class")
- : n
- ? t.setAttribute("class", e)
- : (t.className = e);
-}
-const Uf = Symbol("_vod"),
- ma = {
- beforeMount(t, { value: e }, { transition: n }) {
- (t[Uf] = t.style.display === "none" ? "" : t.style.display),
- n && e ? n.beforeEnter(t) : Ki(t, e);
- },
- mounted(t, { value: e }, { transition: n }) {
- n && e && n.enter(t);
- },
- updated(t, { value: e, oldValue: n }, { transition: r }) {
- !e != !n &&
- (r
- ? e
- ? (r.beforeEnter(t), Ki(t, !0), r.enter(t))
- : r.leave(t, () => {
- Ki(t, !1);
- })
- : Ki(t, e));
- },
- beforeUnmount(t, { value: e }) {
- Ki(t, e);
- },
- };
-function Ki(t, e) {
- t.style.display = e ? t[Uf] : "none";
-}
-const px = Symbol("");
-function mx(t, e, n) {
- const r = t.style,
- o = r.display,
- i = gt(n);
- if (n && !i) {
- if (e && !gt(e)) for (const s in e) n[s] == null && vd(r, s, "");
- for (const s in n) vd(r, s, n[s]);
- } else if (i) {
- if (e !== n) {
- const s = r[px];
- s && (n += ";" + s), (r.cssText = n);
- }
- } else e && t.removeAttribute("style");
- Uf in t && (r.display = o);
-}
-const Dp = /\s*!important$/;
-function vd(t, e, n) {
- if (ke(n)) n.forEach((r) => vd(t, e, r));
- else if ((n == null && (n = ""), e.startsWith("--"))) t.setProperty(e, n);
- else {
- const r = gx(t, e);
- Dp.test(n)
- ? t.setProperty(lo(r), n.replace(Dp, ""), "important")
- : (t[r] = n);
- }
-}
-const jp = ["Webkit", "Moz", "ms"],
- yc = {};
-function gx(t, e) {
- const n = yc[e];
- if (n) return n;
- let r = Hn(e);
- if (r !== "filter" && r in t) return (yc[e] = r);
- r = mu(r);
- for (let o = 0; o < jp.length; o++) {
- const i = jp[o] + r;
- if (i in t) return (yc[e] = i);
- }
- return e;
-}
-const Lp = "http://www.w3.org/1999/xlink";
-function yx(t, e, n, r, o) {
- if (r && e.startsWith("xlink:"))
- n == null
- ? t.removeAttributeNS(Lp, e.slice(6, e.length))
- : t.setAttributeNS(Lp, e, n);
- else {
- const i = Ob(e);
- n == null || (i && !R1(n))
- ? t.removeAttribute(e)
- : t.setAttribute(e, i ? "" : n);
- }
-}
-function vx(t, e, n, r, o, i, s) {
- if (e === "innerHTML" || e === "textContent") {
- r && s(r, o, i), (t[e] = n == null ? "" : n);
- return;
- }
- const l = t.tagName;
- if (e === "value" && l !== "PROGRESS" && !l.includes("-")) {
- t._value = n;
- const u = l === "OPTION" ? t.getAttribute("value") : t.value,
- c = n == null ? "" : n;
- u !== c && (t.value = c), n == null && t.removeAttribute(e);
- return;
- }
- let a = !1;
- if (n === "" || n == null) {
- const u = typeof t[e];
- u === "boolean"
- ? (n = R1(n))
- : n == null && u === "string"
- ? ((n = ""), (a = !0))
- : u === "number" && ((n = 0), (a = !0));
- }
- try {
- t[e] = n;
- } catch (u) {}
- a && t.removeAttribute(e);
-}
-function bx(t, e, n, r) {
- t.addEventListener(e, n, r);
-}
-function wx(t, e, n, r) {
- t.removeEventListener(e, n, r);
-}
-const $p = Symbol("_vei");
-function xx(t, e, n, r, o = null) {
- const i = t[$p] || (t[$p] = {}),
- s = i[e];
- if (r && s) s.value = r;
- else {
- const [l, a] = kx(e);
- if (r) {
- const u = (i[e] = Cx(r, o));
- bx(t, l, u, a);
- } else s && (wx(t, l, s, a), (i[e] = void 0));
- }
-}
-const Bp = /(?:Once|Passive|Capture)$/;
-function kx(t) {
- let e;
- if (Bp.test(t)) {
- e = {};
- let r;
- for (; (r = t.match(Bp)); )
- (t = t.slice(0, t.length - r[0].length)),
- (e[r[0].toLowerCase()] = !0);
- }
- return [t[2] === ":" ? t.slice(3) : lo(t.slice(2)), e];
-}
-let vc = 0;
-const Sx = Promise.resolve(),
- _x = () => vc || (Sx.then(() => (vc = 0)), (vc = Date.now()));
-function Cx(t, e) {
- const n = (r) => {
- if (!r._vts) r._vts = Date.now();
- else if (r._vts <= n.attached) return;
- En(Mx(r, n.value), e, 5, [r]);
- };
- return (n.value = t), (n.attached = _x()), n;
-}
-function Mx(t, e) {
- if (ke(e)) {
- const n = t.stopImmediatePropagation;
- return (
- (t.stopImmediatePropagation = () => {
- n.call(t), (t._stopped = !0);
- }),
- e.map((r) => (o) => !o._stopped && r && r(o))
- );
- } else return e;
-}
-const zp = (t) =>
- t.charCodeAt(0) === 111 &&
- t.charCodeAt(1) === 110 &&
- t.charCodeAt(2) > 96 &&
- t.charCodeAt(2) < 123,
- Ex = (t, e, n, r, o, i, s, l, a) => {
- const u = o === "svg";
- e === "class"
- ? hx(t, r, u)
- : e === "style"
- ? mx(t, n, r)
- : fu(e)
- ? Mf(e) || xx(t, e, n, r, s)
- : (
- e[0] === "."
- ? ((e = e.slice(1)), !0)
- : e[0] === "^"
- ? ((e = e.slice(1)), !1)
- : Tx(t, e, r, u)
- )
- ? vx(t, e, r, i, s, l, a)
- : (e === "true-value"
- ? (t._trueValue = r)
- : e === "false-value" && (t._falseValue = r),
- yx(t, e, r, u));
- };
-function Tx(t, e, n, r) {
- if (r)
- return !!(
- e === "innerHTML" ||
- e === "textContent" ||
- (e in t && zp(e) && Ie(n))
- );
- if (
- e === "spellcheck" ||
- e === "draggable" ||
- e === "translate" ||
- e === "form" ||
- (e === "list" && t.tagName === "INPUT") ||
- (e === "type" && t.tagName === "TEXTAREA")
- )
- return !1;
- if (e === "width" || e === "height") {
- const o = t.tagName;
- if (o === "IMG" || o === "VIDEO" || o === "CANVAS" || o === "SOURCE")
- return !1;
- }
- return zp(e) && gt(n) ? !1 : e in t;
-}
-const D0 = new WeakMap(),
- j0 = new WeakMap(),
- ga = Symbol("_moveCb"),
- Hp = Symbol("_enterCb"),
- L0 = {
- name: "TransitionGroup",
- props: _t({}, cx, { tag: String, moveClass: String }),
- setup(t, { slots: e }) {
- const n = uo(),
- r = c0();
- let o, i;
- return (
- p0(() => {
- if (!o.length) return;
- const s = t.moveClass || `${t.name || "v"}-move`;
- if (!Nx(o[0].el, n.vnode.el, s)) return;
- o.forEach(Rx), o.forEach(Px);
- const l = o.filter(Ix);
- N0(),
- l.forEach((a) => {
- const u = a.el,
- c = u.style;
- yr(u, s),
- (c.transform =
- c.webkitTransform =
- c.transitionDuration =
- "");
- const d = (u[ga] = (f) => {
- (f && f.target !== u) ||
- ((!f ||
- /transform$/.test(f.propertyName)) &&
- (u.removeEventListener(
- "transitionend",
- d
- ),
- (u[ga] = null),
- Nr(u, s)));
- });
- u.addEventListener("transitionend", d);
- });
- }),
- () => {
- const s = je(t),
- l = P0(s);
- let a = s.tag || Ne;
- (o = i), (i = e.default ? Bf(e.default()) : []);
- for (let u = 0; u < i.length; u++) {
- const c = i[u];
- c.key != null && Es(c, Ms(c, l, r, n));
- }
- if (o)
- for (let u = 0; u < o.length; u++) {
- const c = o[u];
- Es(c, Ms(c, l, r, n)),
- D0.set(c, c.el.getBoundingClientRect());
- }
- return ve(a, null, i);
- }
- );
- },
- },
- Ax = (t) => delete t.mode;
-L0.props;
-const Ox = L0;
-function Rx(t) {
- const e = t.el;
- e[ga] && e[ga](), e[Hp] && e[Hp]();
-}
-function Px(t) {
- j0.set(t, t.el.getBoundingClientRect());
-}
-function Ix(t) {
- const e = D0.get(t),
- n = j0.get(t),
- r = e.left - n.left,
- o = e.top - n.top;
- if (r || o) {
- const i = t.el.style;
- return (
- (i.transform = i.webkitTransform = `translate(${r}px,${o}px)`),
- (i.transitionDuration = "0s"),
- t
- );
- }
-}
-function Nx(t, e, n) {
- const r = t.cloneNode(),
- o = t[xi];
- o &&
- o.forEach((l) => {
- l.split(/\s+/).forEach((a) => a && r.classList.remove(a));
- }),
- n.split(/\s+/).forEach((l) => l && r.classList.add(l)),
- (r.style.display = "none");
- const i = e.nodeType === 1 ? e : e.parentNode;
- i.appendChild(r);
- const { hasTransform: s } = I0(r);
- return i.removeChild(r), s;
-}
-const Dx = ["ctrl", "shift", "alt", "meta"],
- jx = {
- stop: (t) => t.stopPropagation(),
- prevent: (t) => t.preventDefault(),
- self: (t) => t.target !== t.currentTarget,
- ctrl: (t) => !t.ctrlKey,
- shift: (t) => !t.shiftKey,
- alt: (t) => !t.altKey,
- meta: (t) => !t.metaKey,
- left: (t) => "button" in t && t.button !== 0,
- middle: (t) => "button" in t && t.button !== 1,
- right: (t) => "button" in t && t.button !== 2,
- exact: (t, e) => Dx.some((n) => t[`${n}Key`] && !e.includes(n)),
- },
- $0 = (t, e) => {
- const n = t._withMods || (t._withMods = {}),
- r = e.join(".");
- return (
- n[r] ||
- (n[r] = (o, ...i) => {
- for (let s = 0; s < e.length; s++) {
- const l = jx[e[s]];
- if (l && l(o, e)) return;
- }
- return t(o, ...i);
- })
- );
- },
- Lx = {
- esc: "escape",
- space: " ",
- up: "arrow-up",
- left: "arrow-left",
- right: "arrow-right",
- down: "arrow-down",
- delete: "backspace",
- },
- vL = (t, e) => {
- const n = t._withKeys || (t._withKeys = {}),
- r = e.join(".");
- return (
- n[r] ||
- (n[r] = (o) => {
- if (!("key" in o)) return;
- const i = lo(o.key);
- if (e.some((s) => s === i || Lx[s] === i)) return t(o);
- })
- );
- },
- $x = _t({ patchProp: Ex }, ux);
-let Fp;
-function Bx() {
- return Fp || (Fp = Vw($x));
-}
-const bL = (...t) => {
- const e = Bx().createApp(...t),
- { mount: n } = e;
- return (
- (e.mount = (r) => {
- const o = Hx(r);
- if (!o) return;
- const i = e._component;
- !Ie(i) && !i.render && !i.template && (i.template = o.innerHTML),
- (o.innerHTML = "");
- const s = n(o, !1, zx(o));
- return (
- o instanceof Element &&
- (o.removeAttribute("v-cloak"),
- o.setAttribute("data-v-app", "")),
- s
- );
- }),
- e
- );
-};
-function zx(t) {
- if (t instanceof SVGElement) return "svg";
- if (typeof MathMLElement == "function" && t instanceof MathMLElement)
- return "mathml";
-}
-function Hx(t) {
- return gt(t) ? document.querySelector(t) : t;
-}
-const Fx = "modulepreload",
- Vx = function (t) {
- return "/" + t;
- },
- Vp = {},
- bl = function (e, n, r) {
- let o = Promise.resolve();
- if (n && n.length > 0) {
- const i = document.getElementsByTagName("link");
- o = Promise.all(
- n.map((s) => {
- if (((s = Vx(s)), s in Vp)) return;
- Vp[s] = !0;
- const l = s.endsWith(".css"),
- a = l ? '[rel="stylesheet"]' : "";
- if (!!r)
- for (let d = i.length - 1; d >= 0; d--) {
- const f = i[d];
- if (f.href === s && (!l || f.rel === "stylesheet"))
- return;
- }
- else if (document.querySelector(`link[href="${s}"]${a}`))
- return;
- const c = document.createElement("link");
- if (
- ((c.rel = l ? "stylesheet" : Fx),
- l || ((c.as = "script"), (c.crossOrigin = "")),
- (c.href = s),
- document.head.appendChild(c),
- l)
- )
- return new Promise((d, f) => {
- c.addEventListener("load", d),
- c.addEventListener("error", () =>
- f(
- new Error(
- `Unable to preload CSS for ${s}`
- )
- )
- );
- });
- })
- );
- }
- return o
- .then(() => e())
- .catch((i) => {
- const s = new Event("vite:preloadError", { cancelable: !0 });
- if (
- ((s.payload = i),
- window.dispatchEvent(s),
- !s.defaultPrevented)
- )
- throw i;
- });
- };
-/*!
- * vue-router v4.2.5
- * (c) 2023 Eduardo San Martin Morote
- * @license MIT
- */ const ti = typeof window != "undefined";
-function Wx(t) {
- return t.__esModule || t[Symbol.toStringTag] === "Module";
-}
-const nt = Object.assign;
-function bc(t, e) {
- const n = {};
- for (const r in e) {
- const o = e[r];
- n[r] = Fn(o) ? o.map(t) : t(o);
- }
- return n;
-}
-const cs = () => {},
- Fn = Array.isArray,
- Ux = /\/$/,
- Kx = (t) => t.replace(Ux, "");
-function wc(t, e, n = "/") {
- let r,
- o = {},
- i = "",
- s = "";
- const l = e.indexOf("#");
- let a = e.indexOf("?");
- return (
- l < a && l >= 0 && (a = -1),
- a > -1 &&
- ((r = e.slice(0, a)),
- (i = e.slice(a + 1, l > -1 ? l : e.length)),
- (o = t(i))),
- l > -1 && ((r = r || e.slice(0, l)), (s = e.slice(l, e.length))),
- (r = Yx(r != null ? r : e, n)),
- { fullPath: r + (i && "?") + i + s, path: r, query: o, hash: s }
- );
-}
-function qx(t, e) {
- const n = e.query ? t(e.query) : "";
- return e.path + (n && "?") + n + (e.hash || "");
-}
-function Wp(t, e) {
- return !e || !t.toLowerCase().startsWith(e.toLowerCase())
- ? t
- : t.slice(e.length) || "/";
-}
-function Jx(t, e, n) {
- const r = e.matched.length - 1,
- o = n.matched.length - 1;
- return (
- r > -1 &&
- r === o &&
- ki(e.matched[r], n.matched[o]) &&
- B0(e.params, n.params) &&
- t(e.query) === t(n.query) &&
- e.hash === n.hash
- );
-}
-function ki(t, e) {
- return (t.aliasOf || t) === (e.aliasOf || e);
-}
-function B0(t, e) {
- if (Object.keys(t).length !== Object.keys(e).length) return !1;
- for (const n in t) if (!Gx(t[n], e[n])) return !1;
- return !0;
-}
-function Gx(t, e) {
- return Fn(t) ? Up(t, e) : Fn(e) ? Up(e, t) : t === e;
-}
-function Up(t, e) {
- return Fn(e)
- ? t.length === e.length && t.every((n, r) => n === e[r])
- : t.length === 1 && t[0] === e;
-}
-function Yx(t, e) {
- if (t.startsWith("/")) return t;
- if (!t) return e;
- const n = e.split("/"),
- r = t.split("/"),
- o = r[r.length - 1];
- (o === ".." || o === ".") && r.push("");
- let i = n.length - 1,
- s,
- l;
- for (s = 0; s < r.length; s++)
- if (((l = r[s]), l !== "."))
- if (l === "..") i > 1 && i--;
- else break;
- return (
- n.slice(0, i).join("/") +
- "/" +
- r.slice(s - (s === r.length ? 1 : 0)).join("/")
- );
-}
-var Os;
-(function (t) {
- (t.pop = "pop"), (t.push = "push");
-})(Os || (Os = {}));
-var ds;
-(function (t) {
- (t.back = "back"), (t.forward = "forward"), (t.unknown = "");
-})(ds || (ds = {}));
-function Qx(t) {
- if (!t)
- if (ti) {
- const e = document.querySelector("base");
- (t = (e && e.getAttribute("href")) || "/"),
- (t = t.replace(/^\w+:\/\/[^\/]+/, ""));
- } else t = "/";
- return t[0] !== "/" && t[0] !== "#" && (t = "/" + t), Kx(t);
-}
-const Xx = /^[^#]+#/;
-function Zx(t, e) {
- return t.replace(Xx, "#") + e;
-}
-function e3(t, e) {
- const n = document.documentElement.getBoundingClientRect(),
- r = t.getBoundingClientRect();
- return {
- behavior: e.behavior,
- left: r.left - n.left - (e.left || 0),
- top: r.top - n.top - (e.top || 0),
- };
-}
-const Au = () => ({ left: window.pageXOffset, top: window.pageYOffset });
-function t3(t) {
- let e;
- if ("el" in t) {
- const n = t.el,
- r = typeof n == "string" && n.startsWith("#"),
- o =
- typeof n == "string"
- ? r
- ? document.getElementById(n.slice(1))
- : document.querySelector(n)
- : n;
- if (!o) return;
- e = e3(o, t);
- } else e = t;
- "scrollBehavior" in document.documentElement.style
- ? window.scrollTo(e)
- : window.scrollTo(
- e.left != null ? e.left : window.pageXOffset,
- e.top != null ? e.top : window.pageYOffset
- );
-}
-function Kp(t, e) {
- return (history.state ? history.state.position - e : -1) + t;
-}
-const bd = new Map();
-function n3(t, e) {
- bd.set(t, e);
-}
-function r3(t) {
- const e = bd.get(t);
- return bd.delete(t), e;
-}
-let o3 = () => location.protocol + "//" + location.host;
-function z0(t, e) {
- const { pathname: n, search: r, hash: o } = e,
- i = t.indexOf("#");
- if (i > -1) {
- let l = o.includes(t.slice(i)) ? t.slice(i).length : 1,
- a = o.slice(l);
- return a[0] !== "/" && (a = "/" + a), Wp(a, "");
- }
- return Wp(n, t) + r + o;
-}
-function i3(t, e, n, r) {
- let o = [],
- i = [],
- s = null;
- const l = ({ state: f }) => {
- const p = z0(t, location),
- m = n.value,
- y = e.value;
- let v = 0;
- if (f) {
- if (((n.value = p), (e.value = f), s && s === m)) {
- s = null;
- return;
- }
- v = y ? f.position - y.position : 0;
- } else r(p);
- o.forEach((w) => {
- w(n.value, m, {
- delta: v,
- type: Os.pop,
- direction: v ? (v > 0 ? ds.forward : ds.back) : ds.unknown,
- });
- });
- };
- function a() {
- s = n.value;
- }
- function u(f) {
- o.push(f);
- const p = () => {
- const m = o.indexOf(f);
- m > -1 && o.splice(m, 1);
- };
- return i.push(p), p;
- }
- function c() {
- const { history: f } = window;
- f.state && f.replaceState(nt({}, f.state, { scroll: Au() }), "");
- }
- function d() {
- for (const f of i) f();
- (i = []),
- window.removeEventListener("popstate", l),
- window.removeEventListener("beforeunload", c);
- }
- return (
- window.addEventListener("popstate", l),
- window.addEventListener("beforeunload", c, { passive: !0 }),
- { pauseListeners: a, listen: u, destroy: d }
- );
-}
-function qp(t, e, n, r = !1, o = !1) {
- return {
- back: t,
- current: e,
- forward: n,
- replaced: r,
- position: window.history.length,
- scroll: o ? Au() : null,
- };
-}
-function s3(t) {
- const { history: e, location: n } = window,
- r = { value: z0(t, n) },
- o = { value: e.state };
- o.value ||
- i(
- r.value,
- {
- back: null,
- current: r.value,
- forward: null,
- position: e.length - 1,
- replaced: !0,
- scroll: null,
- },
- !0
- );
- function i(a, u, c) {
- const d = t.indexOf("#"),
- f =
- d > -1
- ? (n.host && document.querySelector("base")
- ? t
- : t.slice(d)) + a
- : o3() + t + a;
- try {
- e[c ? "replaceState" : "pushState"](u, "", f), (o.value = u);
- } catch (p) {
- console.error(p), n[c ? "replace" : "assign"](f);
- }
- }
- function s(a, u) {
- const c = nt({}, e.state, qp(o.value.back, a, o.value.forward, !0), u, {
- position: o.value.position,
- });
- i(a, c, !0), (r.value = a);
- }
- function l(a, u) {
- const c = nt({}, o.value, e.state, { forward: a, scroll: Au() });
- i(c.current, c, !0);
- const d = nt({}, qp(r.value, a, null), { position: c.position + 1 }, u);
- i(a, d, !1), (r.value = a);
- }
- return { location: r, state: o, push: l, replace: s };
-}
-function wL(t) {
- t = Qx(t);
- const e = s3(t),
- n = i3(t, e.state, e.location, e.replace);
- function r(i, s = !0) {
- s || n.pauseListeners(), history.go(i);
- }
- const o = nt(
- { location: "", base: t, go: r, createHref: Zx.bind(null, t) },
- e,
- n
- );
- return (
- Object.defineProperty(o, "location", {
- enumerable: !0,
- get: () => e.location.value,
- }),
- Object.defineProperty(o, "state", {
- enumerable: !0,
- get: () => e.state.value,
- }),
- o
- );
-}
-function l3(t) {
- return typeof t == "string" || (t && typeof t == "object");
-}
-function H0(t) {
- return typeof t == "string" || typeof t == "symbol";
-}
-const Pr = {
- path: "/",
- name: void 0,
- params: {},
- query: {},
- hash: "",
- fullPath: "/",
- matched: [],
- meta: {},
- redirectedFrom: void 0,
- },
- F0 = Symbol("");
-var Jp;
-(function (t) {
- (t[(t.aborted = 4)] = "aborted"),
- (t[(t.cancelled = 8)] = "cancelled"),
- (t[(t.duplicated = 16)] = "duplicated");
-})(Jp || (Jp = {}));
-function Si(t, e) {
- return nt(new Error(), { type: t, [F0]: !0 }, e);
-}
-function mr(t, e) {
- return t instanceof Error && F0 in t && (e == null || !!(t.type & e));
-}
-const Gp = "[^/]+?",
- a3 = { sensitive: !1, strict: !1, start: !0, end: !0 },
- u3 = /[.+*?^${}()[\]/\\]/g;
-function c3(t, e) {
- const n = nt({}, a3, e),
- r = [];
- let o = n.start ? "^" : "";
- const i = [];
- for (const u of t) {
- const c = u.length ? [] : [90];
- n.strict && !u.length && (o += "/");
- for (let d = 0; d < u.length; d++) {
- const f = u[d];
- let p = 40 + (n.sensitive ? 0.25 : 0);
- if (f.type === 0)
- d || (o += "/"), (o += f.value.replace(u3, "\\$&")), (p += 40);
- else if (f.type === 1) {
- const { value: m, repeatable: y, optional: v, regexp: w } = f;
- i.push({ name: m, repeatable: y, optional: v });
- const S = w || Gp;
- if (S !== Gp) {
- p += 10;
- try {
- new RegExp(`(${S})`);
- } catch (h) {
- throw new Error(
- `Invalid custom RegExp for param "${m}" (${S}): ` +
- h.message
- );
- }
- }
- let E = y ? `((?:${S})(?:/(?:${S}))*)` : `(${S})`;
- d || (E = v && u.length < 2 ? `(?:/${E})` : "/" + E),
- v && (E += "?"),
- (o += E),
- (p += 20),
- v && (p += -8),
- y && (p += -20),
- S === ".*" && (p += -50);
- }
- c.push(p);
- }
- r.push(c);
- }
- if (n.strict && n.end) {
- const u = r.length - 1;
- r[u][r[u].length - 1] += 0.7000000000000001;
- }
- n.strict || (o += "/?"), n.end ? (o += "$") : n.strict && (o += "(?:/|$)");
- const s = new RegExp(o, n.sensitive ? "" : "i");
- function l(u) {
- const c = u.match(s),
- d = {};
- if (!c) return null;
- for (let f = 1; f < c.length; f++) {
- const p = c[f] || "",
- m = i[f - 1];
- d[m.name] = p && m.repeatable ? p.split("/") : p;
- }
- return d;
- }
- function a(u) {
- let c = "",
- d = !1;
- for (const f of t) {
- (!d || !c.endsWith("/")) && (c += "/"), (d = !1);
- for (const p of f)
- if (p.type === 0) c += p.value;
- else if (p.type === 1) {
- const { value: m, repeatable: y, optional: v } = p,
- w = m in u ? u[m] : "";
- if (Fn(w) && !y)
- throw new Error(
- `Provided param "${m}" is an array but it is not repeatable (* or + modifiers)`
- );
- const S = Fn(w) ? w.join("/") : w;
- if (!S)
- if (v)
- f.length < 2 &&
- (c.endsWith("/")
- ? (c = c.slice(0, -1))
- : (d = !0));
- else throw new Error(`Missing required param "${m}"`);
- c += S;
- }
- }
- return c || "/";
- }
- return { re: s, score: r, keys: i, parse: l, stringify: a };
-}
-function d3(t, e) {
- let n = 0;
- for (; n < t.length && n < e.length; ) {
- const r = e[n] - t[n];
- if (r) return r;
- n++;
- }
- return t.length < e.length
- ? t.length === 1 && t[0] === 80
- ? -1
- : 1
- : t.length > e.length
- ? e.length === 1 && e[0] === 80
- ? 1
- : -1
- : 0;
-}
-function f3(t, e) {
- let n = 0;
- const r = t.score,
- o = e.score;
- for (; n < r.length && n < o.length; ) {
- const i = d3(r[n], o[n]);
- if (i) return i;
- n++;
- }
- if (Math.abs(o.length - r.length) === 1) {
- if (Yp(r)) return 1;
- if (Yp(o)) return -1;
- }
- return o.length - r.length;
-}
-function Yp(t) {
- const e = t[t.length - 1];
- return t.length > 0 && e[e.length - 1] < 0;
-}
-const h3 = { type: 0, value: "" },
- p3 = /[a-zA-Z0-9_]/;
-function m3(t) {
- if (!t) return [[]];
- if (t === "/") return [[h3]];
- if (!t.startsWith("/")) throw new Error(`Invalid path "${t}"`);
- function e(p) {
- throw new Error(`ERR (${n})/"${u}": ${p}`);
- }
- let n = 0,
- r = n;
- const o = [];
- let i;
- function s() {
- i && o.push(i), (i = []);
- }
- let l = 0,
- a,
- u = "",
- c = "";
- function d() {
- u &&
- (n === 0
- ? i.push({ type: 0, value: u })
- : n === 1 || n === 2 || n === 3
- ? (i.length > 1 &&
- (a === "*" || a === "+") &&
- e(
- `A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`
- ),
- i.push({
- type: 1,
- value: u,
- regexp: c,
- repeatable: a === "*" || a === "+",
- optional: a === "*" || a === "?",
- }))
- : e("Invalid state to consume buffer"),
- (u = ""));
- }
- function f() {
- u += a;
- }
- for (; l < t.length; ) {
- if (((a = t[l++]), a === "\\" && n !== 2)) {
- (r = n), (n = 4);
- continue;
- }
- switch (n) {
- case 0:
- a === "/" ? (u && d(), s()) : a === ":" ? (d(), (n = 1)) : f();
- break;
- case 4:
- f(), (n = r);
- break;
- case 1:
- a === "("
- ? (n = 2)
- : p3.test(a)
- ? f()
- : (d(),
- (n = 0),
- a !== "*" && a !== "?" && a !== "+" && l--);
- break;
- case 2:
- a === ")"
- ? c[c.length - 1] == "\\"
- ? (c = c.slice(0, -1) + a)
- : (n = 3)
- : (c += a);
- break;
- case 3:
- d(),
- (n = 0),
- a !== "*" && a !== "?" && a !== "+" && l--,
- (c = "");
- break;
- default:
- e("Unknown state");
- break;
- }
- }
- return (
- n === 2 && e(`Unfinished custom RegExp for param "${u}"`), d(), s(), o
- );
-}
-function g3(t, e, n) {
- const r = c3(m3(t.path), n),
- o = nt(r, { record: t, parent: e, children: [], alias: [] });
- return e && !o.record.aliasOf == !e.record.aliasOf && e.children.push(o), o;
-}
-function y3(t, e) {
- const n = [],
- r = new Map();
- e = Zp({ strict: !1, end: !0, sensitive: !1 }, e);
- function o(c) {
- return r.get(c);
- }
- function i(c, d, f) {
- const p = !f,
- m = v3(c);
- m.aliasOf = f && f.record;
- const y = Zp(e, c),
- v = [m];
- if ("alias" in c) {
- const E = typeof c.alias == "string" ? [c.alias] : c.alias;
- for (const h of E)
- v.push(
- nt({}, m, {
- components: f ? f.record.components : m.components,
- path: h,
- aliasOf: f ? f.record : m,
- })
- );
- }
- let w, S;
- for (const E of v) {
- const { path: h } = E;
- if (d && h[0] !== "/") {
- const b = d.record.path,
- g = b[b.length - 1] === "/" ? "" : "/";
- E.path = d.record.path + (h && g + h);
- }
- if (
- ((w = g3(E, d, y)),
- f
- ? f.alias.push(w)
- : ((S = S || w),
- S !== w && S.alias.push(w),
- p && c.name && !Xp(w) && s(c.name)),
- m.children)
- ) {
- const b = m.children;
- for (let g = 0; g < b.length; g++)
- i(b[g], w, f && f.children[g]);
- }
- (f = f || w),
- ((w.record.components &&
- Object.keys(w.record.components).length) ||
- w.record.name ||
- w.record.redirect) &&
- a(w);
- }
- return S
- ? () => {
- s(S);
- }
- : cs;
- }
- function s(c) {
- if (H0(c)) {
- const d = r.get(c);
- d &&
- (r.delete(c),
- n.splice(n.indexOf(d), 1),
- d.children.forEach(s),
- d.alias.forEach(s));
- } else {
- const d = n.indexOf(c);
- d > -1 &&
- (n.splice(d, 1),
- c.record.name && r.delete(c.record.name),
- c.children.forEach(s),
- c.alias.forEach(s));
- }
- }
- function l() {
- return n;
- }
- function a(c) {
- let d = 0;
- for (
- ;
- d < n.length &&
- f3(c, n[d]) >= 0 &&
- (c.record.path !== n[d].record.path || !V0(c, n[d]));
-
- )
- d++;
- n.splice(d, 0, c), c.record.name && !Xp(c) && r.set(c.record.name, c);
- }
- function u(c, d) {
- let f,
- p = {},
- m,
- y;
- if ("name" in c && c.name) {
- if (((f = r.get(c.name)), !f)) throw Si(1, { location: c });
- (y = f.record.name),
- (p = nt(
- Qp(
- d.params,
- f.keys.filter((S) => !S.optional).map((S) => S.name)
- ),
- c.params &&
- Qp(
- c.params,
- f.keys.map((S) => S.name)
- )
- )),
- (m = f.stringify(p));
- } else if ("path" in c)
- (m = c.path),
- (f = n.find((S) => S.re.test(m))),
- f && ((p = f.parse(m)), (y = f.record.name));
- else {
- if (
- ((f = d.name
- ? r.get(d.name)
- : n.find((S) => S.re.test(d.path))),
- !f)
- )
- throw Si(1, { location: c, currentLocation: d });
- (y = f.record.name),
- (p = nt({}, d.params, c.params)),
- (m = f.stringify(p));
- }
- const v = [];
- let w = f;
- for (; w; ) v.unshift(w.record), (w = w.parent);
- return { name: y, path: m, params: p, matched: v, meta: w3(v) };
- }
- return (
- t.forEach((c) => i(c)),
- {
- addRoute: i,
- resolve: u,
- removeRoute: s,
- getRoutes: l,
- getRecordMatcher: o,
- }
- );
-}
-function Qp(t, e) {
- const n = {};
- for (const r of e) r in t && (n[r] = t[r]);
- return n;
-}
-function v3(t) {
- return {
- path: t.path,
- redirect: t.redirect,
- name: t.name,
- meta: t.meta || {},
- aliasOf: void 0,
- beforeEnter: t.beforeEnter,
- props: b3(t),
- children: t.children || [],
- instances: {},
- leaveGuards: new Set(),
- updateGuards: new Set(),
- enterCallbacks: {},
- components:
- "components" in t
- ? t.components || null
- : t.component && { default: t.component },
- };
-}
-function b3(t) {
- const e = {},
- n = t.props || !1;
- if ("component" in t) e.default = n;
- else for (const r in t.components) e[r] = typeof n == "object" ? n[r] : n;
- return e;
-}
-function Xp(t) {
- for (; t; ) {
- if (t.record.aliasOf) return !0;
- t = t.parent;
- }
- return !1;
-}
-function w3(t) {
- return t.reduce((e, n) => nt(e, n.meta), {});
-}
-function Zp(t, e) {
- const n = {};
- for (const r in t) n[r] = r in e ? e[r] : t[r];
- return n;
-}
-function V0(t, e) {
- return e.children.some((n) => n === t || V0(t, n));
-}
-const W0 = /#/g,
- x3 = /&/g,
- k3 = /\//g,
- S3 = /=/g,
- _3 = /\?/g,
- U0 = /\+/g,
- C3 = /%5B/g,
- M3 = /%5D/g,
- K0 = /%5E/g,
- E3 = /%60/g,
- q0 = /%7B/g,
- T3 = /%7C/g,
- J0 = /%7D/g,
- A3 = /%20/g;
-function Kf(t) {
- return encodeURI("" + t)
- .replace(T3, "|")
- .replace(C3, "[")
- .replace(M3, "]");
-}
-function O3(t) {
- return Kf(t).replace(q0, "{").replace(J0, "}").replace(K0, "^");
-}
-function wd(t) {
- return Kf(t)
- .replace(U0, "%2B")
- .replace(A3, "+")
- .replace(W0, "%23")
- .replace(x3, "%26")
- .replace(E3, "`")
- .replace(q0, "{")
- .replace(J0, "}")
- .replace(K0, "^");
-}
-function R3(t) {
- return wd(t).replace(S3, "%3D");
-}
-function P3(t) {
- return Kf(t).replace(W0, "%23").replace(_3, "%3F");
-}
-function I3(t) {
- return t == null ? "" : P3(t).replace(k3, "%2F");
-}
-function ya(t) {
- try {
- return decodeURIComponent("" + t);
- } catch (e) {}
- return "" + t;
-}
-function N3(t) {
- const e = {};
- if (t === "" || t === "?") return e;
- const r = (t[0] === "?" ? t.slice(1) : t).split("&");
- for (let o = 0; o < r.length; ++o) {
- const i = r[o].replace(U0, " "),
- s = i.indexOf("="),
- l = ya(s < 0 ? i : i.slice(0, s)),
- a = s < 0 ? null : ya(i.slice(s + 1));
- if (l in e) {
- let u = e[l];
- Fn(u) || (u = e[l] = [u]), u.push(a);
- } else e[l] = a;
- }
- return e;
-}
-function em(t) {
- let e = "";
- for (let n in t) {
- const r = t[n];
- if (((n = R3(n)), r == null)) {
- r !== void 0 && (e += (e.length ? "&" : "") + n);
- continue;
- }
- (Fn(r) ? r.map((i) => i && wd(i)) : [r && wd(r)]).forEach((i) => {
- i !== void 0 &&
- ((e += (e.length ? "&" : "") + n), i != null && (e += "=" + i));
- });
- }
- return e;
-}
-function D3(t) {
- const e = {};
- for (const n in t) {
- const r = t[n];
- r !== void 0 &&
- (e[n] = Fn(r)
- ? r.map((o) => (o == null ? null : "" + o))
- : r == null
- ? r
- : "" + r);
- }
- return e;
-}
-const j3 = Symbol(""),
- tm = Symbol(""),
- Ou = Symbol(""),
- qf = Symbol(""),
- xd = Symbol("");
-function qi() {
- let t = [];
- function e(r) {
- return (
- t.push(r),
- () => {
- const o = t.indexOf(r);
- o > -1 && t.splice(o, 1);
- }
- );
- }
- function n() {
- t = [];
- }
- return { add: e, list: () => t.slice(), reset: n };
-}
-function zr(t, e, n, r, o) {
- const i = r && (r.enterCallbacks[o] = r.enterCallbacks[o] || []);
- return () =>
- new Promise((s, l) => {
- const a = (d) => {
- d === !1
- ? l(Si(4, { from: n, to: e }))
- : d instanceof Error
- ? l(d)
- : l3(d)
- ? l(Si(2, { from: e, to: d }))
- : (i &&
- r.enterCallbacks[o] === i &&
- typeof d == "function" &&
- i.push(d),
- s());
- },
- u = t.call(r && r.instances[o], e, n, a);
- let c = Promise.resolve(u);
- t.length < 3 && (c = c.then(a)), c.catch((d) => l(d));
- });
-}
-function xc(t, e, n, r) {
- const o = [];
- for (const i of t)
- for (const s in i.components) {
- let l = i.components[s];
- if (!(e !== "beforeRouteEnter" && !i.instances[s]))
- if (L3(l)) {
- const u = (l.__vccOpts || l)[e];
- u && o.push(zr(u, n, r, i, s));
- } else {
- let a = l();
- o.push(() =>
- a.then((u) => {
- if (!u)
- return Promise.reject(
- new Error(
- `Couldn't resolve component "${s}" at "${i.path}"`
- )
- );
- const c = Wx(u) ? u.default : u;
- i.components[s] = c;
- const f = (c.__vccOpts || c)[e];
- return f && zr(f, n, r, i, s)();
- })
- );
- }
- }
- return o;
-}
-function L3(t) {
- return (
- typeof t == "object" ||
- "displayName" in t ||
- "props" in t ||
- "__vccOpts" in t
- );
-}
-function nm(t) {
- const e = Ge(Ou),
- n = Ge(qf),
- r = z(() => e.resolve(ne(t.to))),
- o = z(() => {
- const { matched: a } = r.value,
- { length: u } = a,
- c = a[u - 1],
- d = n.matched;
- if (!c || !d.length) return -1;
- const f = d.findIndex(ki.bind(null, c));
- if (f > -1) return f;
- const p = rm(a[u - 2]);
- return u > 1 && rm(c) === p && d[d.length - 1].path !== p
- ? d.findIndex(ki.bind(null, a[u - 2]))
- : f;
- }),
- i = z(() => o.value > -1 && H3(n.params, r.value.params)),
- s = z(
- () =>
- o.value > -1 &&
- o.value === n.matched.length - 1 &&
- B0(n.params, r.value.params)
- );
- function l(a = {}) {
- return z3(a)
- ? e[ne(t.replace) ? "replace" : "push"](ne(t.to)).catch(cs)
- : Promise.resolve();
- }
- return {
- route: r,
- href: z(() => r.value.href),
- isActive: i,
- isExactActive: s,
- navigate: l,
- };
-}
-const $3 = Oe({
- name: "RouterLink",
- compatConfig: { MODE: 3 },
- props: {
- to: { type: [String, Object], required: !0 },
- replace: Boolean,
- activeClass: String,
- exactActiveClass: String,
- custom: Boolean,
- ariaCurrentValue: { type: String, default: "page" },
- },
- useLink: nm,
- setup(t, { slots: e }) {
- const n = Yt(nm(t)),
- { options: r } = Ge(Ou),
- o = z(() => ({
- [om(
- t.activeClass,
- r.linkActiveClass,
- "router-link-active"
- )]: n.isActive,
- [om(
- t.exactActiveClass,
- r.linkExactActiveClass,
- "router-link-exact-active"
- )]: n.isExactActive,
- }));
- return () => {
- const i = e.default && e.default(n);
- return t.custom
- ? i
- : Ke(
- "a",
- {
- "aria-current": n.isExactActive
- ? t.ariaCurrentValue
- : null,
- href: n.href,
- onClick: n.navigate,
- class: o.value,
- },
- i
- );
- };
- },
- }),
- B3 = $3;
-function z3(t) {
- if (
- !(t.metaKey || t.altKey || t.ctrlKey || t.shiftKey) &&
- !t.defaultPrevented &&
- !(t.button !== void 0 && t.button !== 0)
- ) {
- if (t.currentTarget && t.currentTarget.getAttribute) {
- const e = t.currentTarget.getAttribute("target");
- if (/\b_blank\b/i.test(e)) return;
- }
- return t.preventDefault && t.preventDefault(), !0;
- }
-}
-function H3(t, e) {
- for (const n in e) {
- const r = e[n],
- o = t[n];
- if (typeof r == "string") {
- if (r !== o) return !1;
- } else if (
- !Fn(o) ||
- o.length !== r.length ||
- r.some((i, s) => i !== o[s])
- )
- return !1;
- }
- return !0;
-}
-function rm(t) {
- return t ? (t.aliasOf ? t.aliasOf.path : t.path) : "";
-}
-const om = (t, e, n) => (t != null ? t : e != null ? e : n),
- F3 = Oe({
- name: "RouterView",
- inheritAttrs: !1,
- props: { name: { type: String, default: "default" }, route: Object },
- compatConfig: { MODE: 3 },
- setup(t, { attrs: e, slots: n }) {
- const r = Ge(xd),
- o = z(() => t.route || r.value),
- i = Ge(tm, 0),
- s = z(() => {
- let u = ne(i);
- const { matched: c } = o.value;
- let d;
- for (; (d = c[u]) && !d.components; ) u++;
- return u;
- }),
- l = z(() => o.value.matched[s.value]);
- wt(
- tm,
- z(() => s.value + 1)
- ),
- wt(j3, l),
- wt(xd, o);
- const a = Q();
- return (
- at(
- () => [a.value, l.value, t.name],
- ([u, c, d], [f, p, m]) => {
- c &&
- ((c.instances[d] = u),
- p &&
- p !== c &&
- u &&
- u === f &&
- (c.leaveGuards.size ||
- (c.leaveGuards = p.leaveGuards),
- c.updateGuards.size ||
- (c.updateGuards = p.updateGuards))),
- u &&
- c &&
- (!p || !ki(c, p) || !f) &&
- (c.enterCallbacks[d] || []).forEach((y) =>
- y(u)
- );
- },
- { flush: "post" }
- ),
- () => {
- const u = o.value,
- c = t.name,
- d = l.value,
- f = d && d.components[c];
- if (!f) return im(n.default, { Component: f, route: u });
- const p = d.props[c],
- m = p
- ? p === !0
- ? u.params
- : typeof p == "function"
- ? p(u)
- : p
- : null,
- v = Ke(
- f,
- nt({}, m, e, {
- onVnodeUnmounted: (w) => {
- w.component.isUnmounted &&
- (d.instances[c] = null);
- },
- ref: a,
- })
- );
- return im(n.default, { Component: v, route: u }) || v;
- }
- );
- },
- });
-function im(t, e) {
- if (!t) return null;
- const n = t(e);
- return n.length === 1 ? n[0] : n;
-}
-const V3 = F3;
-function xL(t) {
- const e = y3(t.routes, t),
- n = t.parseQuery || N3,
- r = t.stringifyQuery || em,
- o = t.history,
- i = qi(),
- s = qi(),
- l = qi(),
- a = bu(Pr);
- let u = Pr;
- ti &&
- t.scrollBehavior &&
- "scrollRestoration" in history &&
- (history.scrollRestoration = "manual");
- const c = bc.bind(null, (H) => "" + H),
- d = bc.bind(null, I3),
- f = bc.bind(null, ya);
- function p(H, Z) {
- let oe, ce;
- return (
- H0(H) ? ((oe = e.getRecordMatcher(H)), (ce = Z)) : (ce = H),
- e.addRoute(ce, oe)
- );
- }
- function m(H) {
- const Z = e.getRecordMatcher(H);
- Z && e.removeRoute(Z);
- }
- function y() {
- return e.getRoutes().map((H) => H.record);
- }
- function v(H) {
- return !!e.getRecordMatcher(H);
- }
- function w(H, Z) {
- if (((Z = nt({}, Z || a.value)), typeof H == "string")) {
- const O = wc(n, H, Z.path),
- L = e.resolve({ path: O.path }, Z),
- q = o.createHref(O.fullPath);
- return nt(O, L, {
- params: f(L.params),
- hash: ya(O.hash),
- redirectedFrom: void 0,
- href: q,
- });
- }
- let oe;
- if ("path" in H) oe = nt({}, H, { path: wc(n, H.path, Z.path).path });
- else {
- const O = nt({}, H.params);
- for (const L in O) O[L] == null && delete O[L];
- (oe = nt({}, H, { params: d(O) })), (Z.params = d(Z.params));
- }
- const ce = e.resolve(oe, Z),
- He = H.hash || "";
- ce.params = c(f(ce.params));
- const Ye = qx(r, nt({}, H, { hash: O3(He), path: ce.path })),
- A = o.createHref(Ye);
- return nt(
- {
- fullPath: Ye,
- hash: He,
- query: r === em ? D3(H.query) : H.query || {},
- },
- ce,
- { redirectedFrom: void 0, href: A }
- );
- }
- function S(H) {
- return typeof H == "string" ? wc(n, H, a.value.path) : nt({}, H);
- }
- function E(H, Z) {
- if (u !== H) return Si(8, { from: Z, to: H });
- }
- function h(H) {
- return x(H);
- }
- function b(H) {
- return h(nt(S(H), { replace: !0 }));
- }
- function g(H) {
- const Z = H.matched[H.matched.length - 1];
- if (Z && Z.redirect) {
- const { redirect: oe } = Z;
- let ce = typeof oe == "function" ? oe(H) : oe;
- return (
- typeof ce == "string" &&
- ((ce =
- ce.includes("?") || ce.includes("#")
- ? (ce = S(ce))
- : { path: ce }),
- (ce.params = {})),
- nt(
- {
- query: H.query,
- hash: H.hash,
- params: "path" in ce ? {} : H.params,
- },
- ce
- )
- );
- }
- }
- function x(H, Z) {
- const oe = (u = w(H)),
- ce = a.value,
- He = H.state,
- Ye = H.force,
- A = H.replace === !0,
- O = g(oe);
- if (O)
- return x(
- nt(S(O), {
- state: typeof O == "object" ? nt({}, He, O.state) : He,
- force: Ye,
- replace: A,
- }),
- Z || oe
- );
- const L = oe;
- L.redirectedFrom = Z;
- let q;
- return (
- !Ye &&
- Jx(r, ce, oe) &&
- ((q = Si(16, { to: L, from: ce })), X(ce, ce, !0, !1)),
- (q ? Promise.resolve(q) : _(L, ce))
- .catch((U) => (mr(U) ? (mr(U, 2) ? U : ie(U)) : $(U, L, ce)))
- .then((U) => {
- if (U) {
- if (mr(U, 2))
- return x(
- nt({ replace: A }, S(U.to), {
- state:
- typeof U.to == "object"
- ? nt({}, He, U.to.state)
- : He,
- force: Ye,
- }),
- Z || L
- );
- } else U = R(L, ce, !0, A, He);
- return T(L, ce, U), U;
- })
- );
- }
- function k(H, Z) {
- const oe = E(H, Z);
- return oe ? Promise.reject(oe) : Promise.resolve();
- }
- function C(H) {
- const Z = Ee.values().next().value;
- return Z && typeof Z.runWithContext == "function"
- ? Z.runWithContext(H)
- : H();
- }
- function _(H, Z) {
- let oe;
- const [ce, He, Ye] = W3(H, Z);
- oe = xc(ce.reverse(), "beforeRouteLeave", H, Z);
- for (const O of ce)
- O.leaveGuards.forEach((L) => {
- oe.push(zr(L, H, Z));
- });
- const A = k.bind(null, H, Z);
- return (
- oe.push(A),
- De(oe)
- .then(() => {
- oe = [];
- for (const O of i.list()) oe.push(zr(O, H, Z));
- return oe.push(A), De(oe);
- })
- .then(() => {
- oe = xc(He, "beforeRouteUpdate", H, Z);
- for (const O of He)
- O.updateGuards.forEach((L) => {
- oe.push(zr(L, H, Z));
- });
- return oe.push(A), De(oe);
- })
- .then(() => {
- oe = [];
- for (const O of Ye)
- if (O.beforeEnter)
- if (Fn(O.beforeEnter))
- for (const L of O.beforeEnter)
- oe.push(zr(L, H, Z));
- else oe.push(zr(O.beforeEnter, H, Z));
- return oe.push(A), De(oe);
- })
- .then(
- () => (
- H.matched.forEach((O) => (O.enterCallbacks = {})),
- (oe = xc(Ye, "beforeRouteEnter", H, Z)),
- oe.push(A),
- De(oe)
- )
- )
- .then(() => {
- oe = [];
- for (const O of s.list()) oe.push(zr(O, H, Z));
- return oe.push(A), De(oe);
- })
- .catch((O) => (mr(O, 8) ? O : Promise.reject(O)))
- );
- }
- function T(H, Z, oe) {
- l.list().forEach((ce) => C(() => ce(H, Z, oe)));
- }
- function R(H, Z, oe, ce, He) {
- const Ye = E(H, Z);
- if (Ye) return Ye;
- const A = Z === Pr,
- O = ti ? history.state : {};
- oe &&
- (ce || A
- ? o.replace(H.fullPath, nt({ scroll: A && O && O.scroll }, He))
- : o.push(H.fullPath, He)),
- (a.value = H),
- X(H, Z, oe, A),
- ie();
- }
- let P;
- function D() {
- P ||
- (P = o.listen((H, Z, oe) => {
- if (!Pe.listening) return;
- const ce = w(H),
- He = g(ce);
- if (He) {
- x(nt(He, { replace: !0 }), ce).catch(cs);
- return;
- }
- u = ce;
- const Ye = a.value;
- ti && n3(Kp(Ye.fullPath, oe.delta), Au()),
- _(ce, Ye)
- .catch((A) =>
- mr(A, 12)
- ? A
- : mr(A, 2)
- ? (x(A.to, ce)
- .then((O) => {
- mr(O, 20) &&
- !oe.delta &&
- oe.type === Os.pop &&
- o.go(-1, !1);
- })
- .catch(cs),
- Promise.reject())
- : (oe.delta && o.go(-oe.delta, !1),
- $(A, ce, Ye))
- )
- .then((A) => {
- (A = A || R(ce, Ye, !1)),
- A &&
- (oe.delta && !mr(A, 8)
- ? o.go(-oe.delta, !1)
- : oe.type === Os.pop &&
- mr(A, 20) &&
- o.go(-1, !1)),
- T(ce, Ye, A);
- })
- .catch(cs);
- }));
- }
- let j = qi(),
- M = qi(),
- I;
- function $(H, Z, oe) {
- ie(H);
- const ce = M.list();
- return (
- ce.length ? ce.forEach((He) => He(H, Z, oe)) : console.error(H),
- Promise.reject(H)
- );
- }
- function K() {
- return I && a.value !== Pr
- ? Promise.resolve()
- : new Promise((H, Z) => {
- j.add([H, Z]);
- });
- }
- function ie(H) {
- return (
- I ||
- ((I = !H),
- D(),
- j.list().forEach(([Z, oe]) => (H ? oe(H) : Z())),
- j.reset()),
- H
- );
- }
- function X(H, Z, oe, ce) {
- const { scrollBehavior: He } = t;
- if (!ti || !He) return Promise.resolve();
- const Ye =
- (!oe && r3(Kp(H.fullPath, 0))) ||
- ((ce || !oe) && history.state && history.state.scroll) ||
- null;
- return bt()
- .then(() => He(H, Z, Ye))
- .then((A) => A && t3(A))
- .catch((A) => $(A, H, Z));
- }
- const de = (H) => o.go(H);
- let ze;
- const Ee = new Set(),
- Pe = {
- currentRoute: a,
- listening: !0,
- addRoute: p,
- removeRoute: m,
- hasRoute: v,
- getRoutes: y,
- resolve: w,
- options: t,
- push: h,
- replace: b,
- go: de,
- back: () => de(-1),
- forward: () => de(1),
- beforeEach: i.add,
- beforeResolve: s.add,
- afterEach: l.add,
- onError: M.add,
- isReady: K,
- install(H) {
- const Z = this;
- H.component("RouterLink", B3),
- H.component("RouterView", V3),
- (H.config.globalProperties.$router = Z),
- Object.defineProperty(H.config.globalProperties, "$route", {
- enumerable: !0,
- get: () => ne(a),
- }),
- ti &&
- !ze &&
- a.value === Pr &&
- ((ze = !0), h(o.location).catch((He) => {}));
- const oe = {};
- for (const He in Pr)
- Object.defineProperty(oe, He, {
- get: () => a.value[He],
- enumerable: !0,
- });
- H.provide(Ou, Z), H.provide(qf, J1(oe)), H.provide(xd, a);
- const ce = H.unmount;
- Ee.add(H),
- (H.unmount = function () {
- Ee.delete(H),
- Ee.size < 1 &&
- ((u = Pr),
- P && P(),
- (P = null),
- (a.value = Pr),
- (ze = !1),
- (I = !1)),
- ce();
- });
- },
- };
- function De(H) {
- return H.reduce((Z, oe) => Z.then(() => C(oe)), Promise.resolve());
- }
- return Pe;
-}
-function W3(t, e) {
- const n = [],
- r = [],
- o = [],
- i = Math.max(e.matched.length, t.matched.length);
- for (let s = 0; s < i; s++) {
- const l = e.matched[s];
- l && (t.matched.find((u) => ki(u, l)) ? r.push(l) : n.push(l));
- const a = t.matched[s];
- a && (e.matched.find((u) => ki(u, a)) || o.push(a));
- }
- return [n, r, o];
-}
-function G0() {
- return Ge(Ou);
-}
-function kL() {
- return Ge(qf);
-}
-var SL = !1;
-const Le = (t, e) => {
- const n = t.__vccOpts || t;
- for (const [r, o] of e) n[r] = o;
- return n;
-};
-/**
- * vue-virtual
- *
- * Copyright (c) TanStack
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE.md file in the root directory of this source tree.
- *
- * @license MIT
- */ function va() {
- return (
- (va = Object.assign
- ? Object.assign.bind()
- : function (t) {
- for (var e = 1; e < arguments.length; e++) {
- var n = arguments[e];
- for (var r in n)
- Object.prototype.hasOwnProperty.call(n, r) &&
- (t[r] = n[r]);
- }
- return t;
- }),
- va.apply(this, arguments)
- );
-}
-/**
- * virtual-core
- *
- * Copyright (c) TanStack
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE.md file in the root directory of this source tree.
- *
- * @license MIT
- */ function ba() {
- return (
- (ba = Object.assign
- ? Object.assign.bind()
- : function (t) {
- for (var e = 1; e < arguments.length; e++) {
- var n = arguments[e];
- for (var r in n)
- Object.prototype.hasOwnProperty.call(n, r) &&
- (t[r] = n[r]);
- }
- return t;
- }),
- ba.apply(this, arguments)
- );
-}
-/**
- * virtual-core
- *
- * Copyright (c) TanStack
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE.md file in the root directory of this source tree.
- *
- * @license MIT
- */ function Yo(t, e, n) {
- var r,
- o = (r = n.initialDeps) != null ? r : [],
- i;
- return function () {
- var s;
- n.key && n.debug != null && n.debug() && (s = Date.now());
- var l = t(),
- a =
- l.length !== o.length ||
- l.some(function (m, y) {
- return o[y] !== m;
- });
- if (!a) return i;
- o = l;
- var u;
- if (
- (n.key && n.debug != null && n.debug() && (u = Date.now()),
- (i = e.apply(void 0, l)),
- n.key && n.debug != null && n.debug())
- ) {
- var c = Math.round((Date.now() - s) * 100) / 100,
- d = Math.round((Date.now() - u) * 100) / 100,
- f = d / 16,
- p = function (y, v) {
- for (y = String(y); y.length < v; ) y = " " + y;
- return y;
- };
- console.info(
- "%c⏱ " + p(d, 5) + " /" + p(c, 5) + " ms",
- `
- font-size: .6rem;
- font-weight: bold;
- color: hsl(` +
- Math.max(0, Math.min(120 - 120 * f, 120)) +
- "deg 100% 31%);",
- n == null ? void 0 : n.key
- );
- }
- return n == null || n.onChange == null || n.onChange(i), i;
- };
-}
-function kc(t, e) {
- if (t === void 0)
- throw new Error("Unexpected undefined" + (e ? ": " + e : ""));
- return t;
-}
-var U3 = function (e, n) {
- return Math.abs(e - n) < 1;
-};
-/**
- * virtual-core
- *
- * Copyright (c) TanStack
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE.md file in the root directory of this source tree.
- *
- * @license MIT
- */ var K3 = function (e) {
- return e;
- },
- q3 = function (e) {
- for (
- var n = Math.max(e.startIndex - e.overscan, 0),
- r = Math.min(e.endIndex + e.overscan, e.count - 1),
- o = [],
- i = n;
- i <= r;
- i++
- )
- o.push(i);
- return o;
- },
- J3 = function (e, n) {
- var r = e.scrollElement;
- if (r) {
- var o = function (l) {
- var a = l.width,
- u = l.height;
- n({ width: Math.round(a), height: Math.round(u) });
- };
- o(r.getBoundingClientRect());
- var i = new ResizeObserver(function (s) {
- var l = s[0];
- if (l != null && l.borderBoxSize) {
- var a = l.borderBoxSize[0];
- if (a) {
- o({ width: a.inlineSize, height: a.blockSize });
- return;
- }
- }
- o(r.getBoundingClientRect());
- });
- return (
- i.observe(r, { box: "border-box" }),
- function () {
- i.unobserve(r);
- }
- );
- }
- },
- G3 = function (e, n) {
- var r = e.scrollElement;
- if (r) {
- var o = function () {
- n(r[e.options.horizontal ? "scrollLeft" : "scrollTop"]);
- };
- return (
- o(),
- r.addEventListener("scroll", o, { passive: !0 }),
- function () {
- r.removeEventListener("scroll", o);
- }
- );
- }
- },
- Y3 = function (e, n, r) {
- if (n != null && n.borderBoxSize) {
- var o = n.borderBoxSize[0];
- if (o) {
- var i = Math.round(
- o[r.options.horizontal ? "inlineSize" : "blockSize"]
- );
- return i;
- }
- }
- return Math.round(
- e.getBoundingClientRect()[r.options.horizontal ? "width" : "height"]
- );
- },
- Q3 = function (e, n, r) {
- var o,
- i,
- s = n.adjustments,
- l = s === void 0 ? 0 : s,
- a = n.behavior,
- u = e + l;
- (o = r.scrollElement) == null ||
- o.scrollTo == null ||
- o.scrollTo(
- ((i = {}),
- (i[r.options.horizontal ? "left" : "top"] = u),
- (i.behavior = a),
- i)
- );
- },
- X3 = function (e) {
- var n = this;
- (this.unsubs = []),
- (this.scrollElement = null),
- (this.isScrolling = !1),
- (this.isScrollingTimeoutId = null),
- (this.scrollToIndexTimeoutId = null),
- (this.measurementsCache = []),
- (this.itemSizeCache = new Map()),
- (this.pendingMeasuredCacheIndexes = []),
- (this.scrollDirection = null),
- (this.scrollAdjustments = 0),
- (this.measureElementCache = new Map()),
- (this.observer = (function () {
- var r = null,
- o = function () {
- return (
- r ||
- (typeof ResizeObserver != "undefined"
- ? (r = new ResizeObserver(function (s) {
- s.forEach(function (l) {
- n._measureElement(l.target, l);
- });
- }))
- : null)
- );
- };
- return {
- disconnect: function () {
- var s;
- return (s = o()) == null ? void 0 : s.disconnect();
- },
- observe: function (s) {
- var l;
- return (l = o()) == null
- ? void 0
- : l.observe(s, { box: "border-box" });
- },
- unobserve: function (s) {
- var l;
- return (l = o()) == null ? void 0 : l.unobserve(s);
- },
- };
- })()),
- (this.range = null),
- (this.setOptions = function (r) {
- Object.entries(r).forEach(function (o) {
- var i = o[0],
- s = o[1];
- typeof s == "undefined" && delete r[i];
- }),
- (n.options = ba(
- {
- debug: !1,
- initialOffset: 0,
- overscan: 1,
- paddingStart: 0,
- paddingEnd: 0,
- scrollPaddingStart: 0,
- scrollPaddingEnd: 0,
- horizontal: !1,
- getItemKey: K3,
- rangeExtractor: q3,
- onChange: function () {},
- measureElement: Y3,
- initialRect: { width: 0, height: 0 },
- scrollMargin: 0,
- scrollingDelay: 150,
- indexAttribute: "data-index",
- initialMeasurementsCache: [],
- lanes: 1,
- },
- r
- ));
- }),
- (this.notify = function (r) {
- n.options.onChange == null || n.options.onChange(n, r);
- }),
- (this.maybeNotify = Yo(
- function () {
- return (
- n.calculateRange(),
- [
- n.isScrolling,
- n.range ? n.range.startIndex : null,
- n.range ? n.range.endIndex : null,
- ]
- );
- },
- function (r) {
- n.notify(r);
- },
- {
- key: !1,
- debug: function () {
- return n.options.debug;
- },
- initialDeps: [
- this.isScrolling,
- this.range ? this.range.startIndex : null,
- this.range ? this.range.endIndex : null,
- ],
- }
- )),
- (this.cleanup = function () {
- n.unsubs.filter(Boolean).forEach(function (r) {
- return r();
- }),
- (n.unsubs = []),
- (n.scrollElement = null);
- }),
- (this._didMount = function () {
- return (
- n.measureElementCache.forEach(n.observer.observe),
- function () {
- n.observer.disconnect(), n.cleanup();
- }
- );
- }),
- (this._willUpdate = function () {
- var r = n.options.getScrollElement();
- n.scrollElement !== r &&
- (n.cleanup(),
- (n.scrollElement = r),
- n._scrollToOffset(n.scrollOffset, {
- adjustments: void 0,
- behavior: void 0,
- }),
- n.unsubs.push(
- n.options.observeElementRect(n, function (o) {
- (n.scrollRect = o), n.maybeNotify();
- })
- ),
- n.unsubs.push(
- n.options.observeElementOffset(n, function (o) {
- (n.scrollAdjustments = 0),
- n.scrollOffset !== o &&
- (n.isScrollingTimeoutId !== null &&
- (clearTimeout(n.isScrollingTimeoutId),
- (n.isScrollingTimeoutId = null)),
- (n.isScrolling = !0),
- (n.scrollDirection =
- n.scrollOffset < o
- ? "forward"
- : "backward"),
- (n.scrollOffset = o),
- n.maybeNotify(),
- (n.isScrollingTimeoutId = setTimeout(
- function () {
- (n.isScrollingTimeoutId = null),
- (n.isScrolling = !1),
- (n.scrollDirection = null),
- n.maybeNotify();
- },
- n.options.scrollingDelay
- )));
- })
- ));
- }),
- (this.getSize = function () {
- return n.scrollRect[n.options.horizontal ? "width" : "height"];
- }),
- (this.memoOptions = Yo(
- function () {
- return [
- n.options.count,
- n.options.paddingStart,
- n.options.scrollMargin,
- n.options.getItemKey,
- ];
- },
- function (r, o, i, s) {
- return (
- (n.pendingMeasuredCacheIndexes = []),
- {
- count: r,
- paddingStart: o,
- scrollMargin: i,
- getItemKey: s,
- }
- );
- },
- { key: !1 }
- )),
- (this.getFurthestMeasurement = function (r, o) {
- for (var i = new Map(), s = new Map(), l = o - 1; l >= 0; l--) {
- var a = r[l];
- if (!i.has(a.lane)) {
- var u = s.get(a.lane);
- if (
- (u == null || a.end > u.end
- ? s.set(a.lane, a)
- : a.end < u.end && i.set(a.lane, !0),
- i.size === n.options.lanes)
- )
- break;
- }
- }
- return s.size === n.options.lanes
- ? Array.from(s.values()).sort(function (c, d) {
- return c.end - d.end;
- })[0]
- : void 0;
- }),
- (this.getMeasurements = Yo(
- function () {
- return [n.memoOptions(), n.itemSizeCache];
- },
- function (r, o) {
- var i = r.count,
- s = r.paddingStart,
- l = r.scrollMargin,
- a = r.getItemKey,
- u =
- n.pendingMeasuredCacheIndexes.length > 0
- ? Math.min.apply(
- Math,
- n.pendingMeasuredCacheIndexes
- )
- : 0;
- n.pendingMeasuredCacheIndexes = [];
- for (
- var c = n.measurementsCache.slice(0, u), d = u;
- d < i;
- d++
- ) {
- var f = a(d),
- p =
- n.options.lanes === 1
- ? c[d - 1]
- : n.getFurthestMeasurement(c, d),
- m = p ? p.end : s + l,
- y = o.get(f),
- v =
- typeof y == "number"
- ? y
- : n.options.estimateSize(d),
- w = m + v,
- S = p ? p.lane : d % n.options.lanes;
- c[d] = {
- index: d,
- start: m,
- size: v,
- end: w,
- key: f,
- lane: S,
- };
- }
- return (n.measurementsCache = c), c;
- },
- {
- key: !1,
- debug: function () {
- return n.options.debug;
- },
- }
- )),
- (this.calculateRange = Yo(
- function () {
- return [n.getMeasurements(), n.getSize(), n.scrollOffset];
- },
- function (r, o, i) {
- return (n.range =
- r.length > 0 && o > 0
- ? Z3({
- measurements: r,
- outerSize: o,
- scrollOffset: i,
- })
- : null);
- },
- {
- key: !1,
- debug: function () {
- return n.options.debug;
- },
- }
- )),
- (this.getIndexes = Yo(
- function () {
- return [
- n.options.rangeExtractor,
- n.calculateRange(),
- n.options.overscan,
- n.options.count,
- ];
- },
- function (r, o, i, s) {
- return o === null
- ? []
- : r(ba({}, o, { overscan: i, count: s }));
- },
- {
- key: !1,
- debug: function () {
- return n.options.debug;
- },
- }
- )),
- (this.indexFromElement = function (r) {
- var o = n.options.indexAttribute,
- i = r.getAttribute(o);
- return i
- ? parseInt(i, 10)
- : (console.warn(
- "Missing attribute name '" +
- o +
- "={index}' on measured element."
- ),
- -1);
- }),
- (this._measureElement = function (r, o) {
- var i = n.measurementsCache[n.indexFromElement(r)];
- if (!i || !r.isConnected) {
- n.measureElementCache.forEach(function (a, u) {
- a === r &&
- (n.observer.unobserve(r),
- n.measureElementCache.delete(u));
- });
- return;
- }
- var s = n.measureElementCache.get(i.key);
- s !== r &&
- (s && n.observer.unobserve(s),
- n.observer.observe(r),
- n.measureElementCache.set(i.key, r));
- var l = n.options.measureElement(r, o, n);
- n.resizeItem(i, l);
- }),
- (this.resizeItem = function (r, o) {
- var i,
- s = (i = n.itemSizeCache.get(r.key)) != null ? i : r.size,
- l = o - s;
- l !== 0 &&
- (r.start < n.scrollOffset &&
- n._scrollToOffset(n.scrollOffset, {
- adjustments: (n.scrollAdjustments += l),
- behavior: void 0,
- }),
- n.pendingMeasuredCacheIndexes.push(r.index),
- (n.itemSizeCache = new Map(n.itemSizeCache.set(r.key, o))),
- n.notify(!1));
- }),
- (this.measureElement = function (r) {
- r && n._measureElement(r, void 0);
- }),
- (this.getVirtualItems = Yo(
- function () {
- return [n.getIndexes(), n.getMeasurements()];
- },
- function (r, o) {
- for (var i = [], s = 0, l = r.length; s < l; s++) {
- var a = r[s],
- u = o[a];
- i.push(u);
- }
- return i;
- },
- {
- key: !1,
- debug: function () {
- return n.options.debug;
- },
- }
- )),
- (this.getVirtualItemForOffset = function (r) {
- var o = n.getMeasurements();
- return kc(
- o[
- Y0(
- 0,
- o.length - 1,
- function (i) {
- return kc(o[i]).start;
- },
- r
- )
- ]
- );
- }),
- (this.getOffsetForAlignment = function (r, o) {
- var i = n.getSize();
- o === "auto" &&
- (r <= n.scrollOffset
- ? (o = "start")
- : r >= n.scrollOffset + i
- ? (o = "end")
- : (o = "start")),
- o === "start"
- ? (r = r)
- : o === "end"
- ? (r = r - i)
- : o === "center" && (r = r - i / 2);
- var s = n.options.horizontal ? "scrollWidth" : "scrollHeight",
- l = n.scrollElement
- ? "document" in n.scrollElement
- ? n.scrollElement.document.documentElement[s]
- : n.scrollElement[s]
- : 0,
- a = l - n.getSize();
- return Math.max(Math.min(a, r), 0);
- }),
- (this.getOffsetForIndex = function (r, o) {
- o === void 0 && (o = "auto"),
- (r = Math.max(0, Math.min(r, n.options.count - 1)));
- var i = kc(n.getMeasurements()[r]);
- if (o === "auto")
- if (
- i.end >=
- n.scrollOffset +
- n.getSize() -
- n.options.scrollPaddingEnd
- )
- o = "end";
- else if (
- i.start <=
- n.scrollOffset + n.options.scrollPaddingStart
- )
- o = "start";
- else return [n.scrollOffset, o];
- var s =
- o === "end"
- ? i.end + n.options.scrollPaddingEnd
- : i.start - n.options.scrollPaddingStart;
- return [n.getOffsetForAlignment(s, o), o];
- }),
- (this.isDynamicMode = function () {
- return n.measureElementCache.size > 0;
- }),
- (this.cancelScrollToIndex = function () {
- n.scrollToIndexTimeoutId !== null &&
- (clearTimeout(n.scrollToIndexTimeoutId),
- (n.scrollToIndexTimeoutId = null));
- }),
- (this.scrollToOffset = function (r, o) {
- var i = o === void 0 ? {} : o,
- s = i.align,
- l = s === void 0 ? "start" : s,
- a = i.behavior;
- n.cancelScrollToIndex(),
- a === "smooth" &&
- n.isDynamicMode() &&
- console.warn(
- "The `smooth` scroll behavior is not fully supported with dynamic size."
- ),
- n._scrollToOffset(n.getOffsetForAlignment(r, l), {
- adjustments: void 0,
- behavior: a,
- });
- }),
- (this.scrollToIndex = function (r, o) {
- var i = o === void 0 ? {} : o,
- s = i.align,
- l = s === void 0 ? "auto" : s,
- a = i.behavior;
- (r = Math.max(0, Math.min(r, n.options.count - 1))),
- n.cancelScrollToIndex(),
- a === "smooth" &&
- n.isDynamicMode() &&
- console.warn(
- "The `smooth` scroll behavior is not fully supported with dynamic size."
- );
- var u = n.getOffsetForIndex(r, l),
- c = u[0],
- d = u[1];
- n._scrollToOffset(c, { adjustments: void 0, behavior: a }),
- a !== "smooth" &&
- n.isDynamicMode() &&
- (n.scrollToIndexTimeoutId = setTimeout(function () {
- n.scrollToIndexTimeoutId = null;
- var f = n.measureElementCache.has(
- n.options.getItemKey(r)
- );
- if (f) {
- var p = n.getOffsetForIndex(r, d),
- m = p[0];
- U3(m, n.scrollOffset) ||
- n.scrollToIndex(r, {
- align: d,
- behavior: a,
- });
- } else n.scrollToIndex(r, { align: d, behavior: a });
- }));
- }),
- (this.scrollBy = function (r, o) {
- var i = o === void 0 ? {} : o,
- s = i.behavior;
- n.cancelScrollToIndex(),
- s === "smooth" &&
- n.isDynamicMode() &&
- console.warn(
- "The `smooth` scroll behavior is not fully supported with dynamic size."
- ),
- n._scrollToOffset(n.scrollOffset + r, {
- adjustments: void 0,
- behavior: s,
- });
- }),
- (this.getTotalSize = function () {
- var r;
- return (
- (((r = n.getMeasurements()[n.options.count - 1]) == null
- ? void 0
- : r.end) || n.options.paddingStart) -
- n.options.scrollMargin +
- n.options.paddingEnd
- );
- }),
- (this._scrollToOffset = function (r, o) {
- var i = o.adjustments,
- s = o.behavior;
- n.options.scrollToFn(r, { behavior: s, adjustments: i }, n);
- }),
- (this.measure = function () {
- (n.itemSizeCache = new Map()), n.notify(!1);
- }),
- this.setOptions(e),
- (this.scrollRect = this.options.initialRect),
- (this.scrollOffset = this.options.initialOffset),
- (this.measurementsCache = this.options.initialMeasurementsCache),
- this.measurementsCache.forEach(function (r) {
- n.itemSizeCache.set(r.key, r.size);
- }),
- this.maybeNotify();
- },
- Y0 = function (e, n, r, o) {
- for (; e <= n; ) {
- var i = ((e + n) / 2) | 0,
- s = r(i);
- if (s < o) e = i + 1;
- else if (s > o) n = i - 1;
- else return i;
- }
- return e > 0 ? e - 1 : 0;
- };
-function Z3(t) {
- for (
- var e = t.measurements,
- n = t.outerSize,
- r = t.scrollOffset,
- o = e.length - 1,
- i = function (u) {
- return e[u].start;
- },
- s = Y0(0, o, i, r),
- l = s;
- l < o && e[l].end < r + n;
-
- )
- l++;
- return { startIndex: s, endIndex: l };
-}
-/**
- * vue-virtual
- *
- * Copyright (c) TanStack
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE.md file in the root directory of this source tree.
- *
- * @license MIT
- */ function ek(t) {
- var e = new X3(ne(t)),
- n = bu(e),
- r = e._didMount();
- return (
- at(
- function () {
- return ne(t).getScrollElement();
- },
- function (o) {
- o && e._willUpdate();
- },
- { immediate: !0 }
- ),
- at(
- function () {
- return ne(t);
- },
- function (o) {
- e.setOptions(
- va({}, o, {
- onChange: function (s, l) {
- dp(n), o.onChange == null || o.onChange(s, l);
- },
- })
- ),
- e._willUpdate(),
- dp(n);
- },
- { immediate: !0 }
- ),
- D1(r),
- n
- );
-}
-function tk(t) {
- return ek(
- z(function () {
- return va(
- {
- observeElementRect: J3,
- observeElementOffset: G3,
- scrollToFn: Q3,
- },
- ne(t)
- );
- })
- );
-}
-function nk(t, e, n) {
- let r = Q(n == null ? void 0 : n.value),
- o = z(() => t.value !== void 0);
- return [
- z(() => (o.value ? t.value : r.value)),
- function (i) {
- return o.value || (r.value = i), e == null ? void 0 : e(i);
- },
- ];
-}
-let rk = 0;
-function ok() {
- return ++rk;
-}
-function tn() {
- return ok();
-}
-function re(t) {
- var e;
- if (t == null || t.value == null) return null;
- let n = (e = t.value.$el) != null ? e : t.value;
- return n instanceof Node ? n : null;
-}
-function mt(t, e, ...n) {
- if (t in e) {
- let o = e[t];
- return typeof o == "function" ? o(...n) : o;
- }
- let r = new Error(
- `Tried to handle "${t}" but there is no handler defined. Only defined handlers are: ${Object.keys(
- e
- )
- .map((o) => `"${o}"`)
- .join(", ")}.`
- );
- throw (Error.captureStackTrace && Error.captureStackTrace(r, mt), r);
-}
-var ik = Object.defineProperty,
- sk = (t, e, n) =>
- e in t
- ? ik(t, e, {
- enumerable: !0,
- configurable: !0,
- writable: !0,
- value: n,
- })
- : (t[e] = n),
- sm = (t, e, n) => (sk(t, typeof e != "symbol" ? e + "" : e, n), n);
-let lk = class {
- constructor() {
- sm(this, "current", this.detect()), sm(this, "currentId", 0);
- }
- set(e) {
- this.current !== e && ((this.currentId = 0), (this.current = e));
- }
- reset() {
- this.set(this.detect());
- }
- nextId() {
- return ++this.currentId;
- }
- get isServer() {
- return this.current === "server";
- }
- get isClient() {
- return this.current === "client";
- }
- detect() {
- return typeof window == "undefined" ||
- typeof document == "undefined"
- ? "server"
- : "client";
- }
- },
- Qs = new lk();
-function fr(t) {
- if (Qs.isServer) return null;
- if (t instanceof Node) return t.ownerDocument;
- if (t != null && t.hasOwnProperty("value")) {
- let e = re(t);
- if (e) return e.ownerDocument;
- }
- return document;
-}
-let kd = [
- "[contentEditable=true]",
- "[tabindex]",
- "a[href]",
- "area[href]",
- "button:not([disabled])",
- "iframe",
- "input:not([disabled])",
- "select:not([disabled])",
- "textarea:not([disabled])",
-]
- .map((t) => `${t}:not([tabindex='-1'])`)
- .join(",");
-var Mt = ((t) => (
- (t[(t.First = 1)] = "First"),
- (t[(t.Previous = 2)] = "Previous"),
- (t[(t.Next = 4)] = "Next"),
- (t[(t.Last = 8)] = "Last"),
- (t[(t.WrapAround = 16)] = "WrapAround"),
- (t[(t.NoScroll = 32)] = "NoScroll"),
- t
- ))(Mt || {}),
- li = ((t) => (
- (t[(t.Error = 0)] = "Error"),
- (t[(t.Overflow = 1)] = "Overflow"),
- (t[(t.Success = 2)] = "Success"),
- (t[(t.Underflow = 3)] = "Underflow"),
- t
- ))(li || {}),
- ak = ((t) => (
- (t[(t.Previous = -1)] = "Previous"), (t[(t.Next = 1)] = "Next"), t
- ))(ak || {});
-function Q0(t = document.body) {
- return t == null
- ? []
- : Array.from(t.querySelectorAll(kd)).sort((e, n) =>
- Math.sign(
- (e.tabIndex || Number.MAX_SAFE_INTEGER) -
- (n.tabIndex || Number.MAX_SAFE_INTEGER)
- )
- );
-}
-var Jf = ((t) => (
- (t[(t.Strict = 0)] = "Strict"), (t[(t.Loose = 1)] = "Loose"), t
-))(Jf || {});
-function Gf(t, e = 0) {
- var n;
- return t === ((n = fr(t)) == null ? void 0 : n.body)
- ? !1
- : mt(e, {
- 0() {
- return t.matches(kd);
- },
- 1() {
- let r = t;
- for (; r !== null; ) {
- if (r.matches(kd)) return !0;
- r = r.parentElement;
- }
- return !1;
- },
- });
-}
-function X0(t) {
- let e = fr(t);
- bt(() => {
- e && !Gf(e.activeElement, 0) && eo(t);
- });
-}
-var uk = ((t) => (
- (t[(t.Keyboard = 0)] = "Keyboard"), (t[(t.Mouse = 1)] = "Mouse"), t
-))(uk || {});
-typeof window != "undefined" &&
- typeof document != "undefined" &&
- (document.addEventListener(
- "keydown",
- (t) => {
- t.metaKey ||
- t.altKey ||
- t.ctrlKey ||
- (document.documentElement.dataset.headlessuiFocusVisible = "");
- },
- !0
- ),
- document.addEventListener(
- "click",
- (t) => {
- t.detail === 1
- ? delete document.documentElement.dataset.headlessuiFocusVisible
- : t.detail === 0 &&
- (document.documentElement.dataset.headlessuiFocusVisible =
- "");
- },
- !0
- ));
-function eo(t) {
- t == null || t.focus({ preventScroll: !0 });
-}
-let ck = ["textarea", "input"].join(",");
-function dk(t) {
- var e, n;
- return (n =
- (e = t == null ? void 0 : t.matches) == null
- ? void 0
- : e.call(t, ck)) != null
- ? n
- : !1;
-}
-function Wr(t, e = (n) => n) {
- return t.slice().sort((n, r) => {
- let o = e(n),
- i = e(r);
- if (o === null || i === null) return 0;
- let s = o.compareDocumentPosition(i);
- return s & Node.DOCUMENT_POSITION_FOLLOWING
- ? -1
- : s & Node.DOCUMENT_POSITION_PRECEDING
- ? 1
- : 0;
- });
-}
-function fk(t, e) {
- return Nn(Q0(), e, { relativeTo: t });
-}
-function Nn(
- t,
- e,
- { sorted: n = !0, relativeTo: r = null, skipElements: o = [] } = {}
-) {
- var i;
- let s =
- (i = Array.isArray(t)
- ? t.length > 0
- ? t[0].ownerDocument
- : document
- : t == null
- ? void 0
- : t.ownerDocument) != null
- ? i
- : document,
- l = Array.isArray(t) ? (n ? Wr(t) : t) : Q0(t);
- o.length > 0 && l.length > 1 && (l = l.filter((m) => !o.includes(m))),
- (r = r != null ? r : s.activeElement);
- let a = (() => {
- if (e & 5) return 1;
- if (e & 10) return -1;
- throw new Error(
- "Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last"
- );
- })(),
- u = (() => {
- if (e & 1) return 0;
- if (e & 2) return Math.max(0, l.indexOf(r)) - 1;
- if (e & 4) return Math.max(0, l.indexOf(r)) + 1;
- if (e & 8) return l.length - 1;
- throw new Error(
- "Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last"
- );
- })(),
- c = e & 32 ? { preventScroll: !0 } : {},
- d = 0,
- f = l.length,
- p;
- do {
- if (d >= f || d + f <= 0) return 0;
- let m = u + d;
- if (e & 16) m = (m + f) % f;
- else {
- if (m < 0) return 3;
- if (m >= f) return 1;
- }
- (p = l[m]), p == null || p.focus(c), (d += a);
- } while (p !== s.activeElement);
- return e & 6 && dk(p) && p.select(), 2;
-}
-function Z0() {
- return (
- /iPhone/gi.test(window.navigator.platform) ||
- (/Mac/gi.test(window.navigator.platform) &&
- window.navigator.maxTouchPoints > 0)
- );
-}
-function hk() {
- return /Android/gi.test(window.navigator.userAgent);
-}
-function ey() {
- return Z0() || hk();
-}
-function wl(t, e, n) {
- Qs.isServer ||
- xt((r) => {
- document.addEventListener(t, e, n),
- r(() => document.removeEventListener(t, e, n));
- });
-}
-function ty(t, e, n) {
- Qs.isServer ||
- xt((r) => {
- window.addEventListener(t, e, n),
- r(() => window.removeEventListener(t, e, n));
- });
-}
-function Yf(t, e, n = z(() => !0)) {
- function r(i, s) {
- if (!n.value || i.defaultPrevented) return;
- let l = s(i);
- if (l === null || !l.getRootNode().contains(l)) return;
- let a = (function u(c) {
- return typeof c == "function"
- ? u(c())
- : Array.isArray(c) || c instanceof Set
- ? c
- : [c];
- })(t);
- for (let u of a) {
- if (u === null) continue;
- let c = u instanceof HTMLElement ? u : re(u);
- if (
- (c != null && c.contains(l)) ||
- (i.composed && i.composedPath().includes(c))
- )
- return;
- }
- return (
- !Gf(l, Jf.Loose) && l.tabIndex !== -1 && i.preventDefault(), e(i, l)
- );
- }
- let o = Q(null);
- wl(
- "pointerdown",
- (i) => {
- var s, l;
- n.value &&
- (o.value =
- ((l = (s = i.composedPath) == null ? void 0 : s.call(i)) ==
- null
- ? void 0
- : l[0]) || i.target);
- },
- !0
- ),
- wl(
- "mousedown",
- (i) => {
- var s, l;
- n.value &&
- (o.value =
- ((l =
- (s = i.composedPath) == null
- ? void 0
- : s.call(i)) == null
- ? void 0
- : l[0]) || i.target);
- },
- !0
- ),
- wl(
- "click",
- (i) => {
- ey() || (o.value && (r(i, () => o.value), (o.value = null)));
- },
- !0
- ),
- wl(
- "touchend",
- (i) =>
- r(i, () => (i.target instanceof HTMLElement ? i.target : null)),
- !0
- ),
- ty(
- "blur",
- (i) =>
- r(i, () =>
- window.document.activeElement instanceof HTMLIFrameElement
- ? window.document.activeElement
- : null
- ),
- !0
- );
-}
-function lm(t, e) {
- if (t) return t;
- let n = e != null ? e : "button";
- if (typeof n == "string" && n.toLowerCase() === "button") return "button";
-}
-function Ru(t, e) {
- let n = Q(lm(t.value.type, t.value.as));
- return (
- Ze(() => {
- n.value = lm(t.value.type, t.value.as);
- }),
- xt(() => {
- var r;
- n.value ||
- (re(e) &&
- re(e) instanceof HTMLButtonElement &&
- !((r = re(e)) != null && r.hasAttribute("type")) &&
- (n.value = "button"));
- }),
- n
- );
-}
-function am(t) {
- return [t.screenX, t.screenY];
-}
-function ny() {
- let t = Q([-1, -1]);
- return {
- wasMoved(e) {
- let n = am(e);
- return t.value[0] === n[0] && t.value[1] === n[1]
- ? !1
- : ((t.value = n), !0);
- },
- update(e) {
- t.value = am(e);
- },
- };
-}
-function ry({ container: t, accept: e, walk: n, enabled: r }) {
- xt(() => {
- let o = t.value;
- if (!o || (r !== void 0 && !r.value)) return;
- let i = fr(t);
- if (!i) return;
- let s = Object.assign((a) => e(a), { acceptNode: e }),
- l = i.createTreeWalker(o, NodeFilter.SHOW_ELEMENT, s, !1);
- for (; l.nextNode(); ) n(l.currentNode);
- });
-}
-var fn = ((t) => (
- (t[(t.None = 0)] = "None"),
- (t[(t.RenderStrategy = 1)] = "RenderStrategy"),
- (t[(t.Static = 2)] = "Static"),
- t
- ))(fn || {}),
- Jr = ((t) => (
- (t[(t.Unmount = 0)] = "Unmount"), (t[(t.Hidden = 1)] = "Hidden"), t
- ))(Jr || {});
-function it(i) {
- var s = i,
- { visible: t = !0, features: e = 0, ourProps: n, theirProps: r } = s,
- o = tt(s, ["visible", "features", "ourProps", "theirProps"]);
- var l;
- let a = iy(r, n),
- u = Object.assign(o, { props: a });
- if (t || (e & 2 && a.static)) return Sc(u);
- if (e & 1) {
- let c = (l = a.unmount) == null || l ? 0 : 1;
- return mt(c, {
- 0() {
- return null;
- },
- 1() {
- return Sc(
- ge(B({}, o), {
- props: ge(B({}, a), {
- hidden: !0,
- style: { display: "none" },
- }),
- })
- );
- },
- });
- }
- return Sc(u);
-}
-function Sc({ props: t, attrs: e, slots: n, slot: r, name: o }) {
- var i, s;
- let d = $i(t, ["unmount", "static"]),
- { as: l } = d,
- a = tt(d, ["as"]),
- u = (i = n.default) == null ? void 0 : i.call(n, r),
- c = {};
- if (r) {
- let f = !1,
- p = [];
- for (let [m, y] of Object.entries(r))
- typeof y == "boolean" && (f = !0), y === !0 && p.push(m);
- f && (c["data-headlessui-state"] = p.join(" "));
- }
- if (l === "template") {
- if (
- ((u = oy(u != null ? u : [])),
- Object.keys(a).length > 0 || Object.keys(e).length > 0)
- ) {
- let [f, ...p] = u != null ? u : [];
- if (!mk(f) || p.length > 0)
- throw new Error(
- [
- 'Passing props on "template"!',
- "",
- `The current component <${o} /> is rendering a "template".`,
- "However we need to passthrough the following props:",
- Object.keys(a)
- .concat(Object.keys(e))
- .map((v) => v.trim())
- .filter((v, w, S) => S.indexOf(v) === w)
- .sort((v, w) => v.localeCompare(w))
- .map((v) => ` - ${v}`).join(`
-`),
- "",
- "You can apply a few solutions:",
- [
- 'Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',
- "Render a single element as the child so that we can forward the props onto that element.",
- ].map((v) => ` - ${v}`).join(`
-`),
- ].join(`
-`)
- );
- let m = iy((s = f.props) != null ? s : {}, a, c),
- y = sr(f, m, !0);
- for (let v in m)
- v.startsWith("on") &&
- (y.props || (y.props = {}), (y.props[v] = m[v]));
- return y;
- }
- return Array.isArray(u) && u.length === 1 ? u[0] : u;
- }
- return Ke(l, Object.assign({}, a, c), { default: () => u });
-}
-function oy(t) {
- return t.flatMap((e) => (e.type === Ne ? oy(e.children) : [e]));
-}
-function iy(...t) {
- if (t.length === 0) return {};
- if (t.length === 1) return t[0];
- let e = {},
- n = {};
- for (let r of t)
- for (let o in r)
- o.startsWith("on") && typeof r[o] == "function"
- ? (n[o] != null || (n[o] = []), n[o].push(r[o]))
- : (e[o] = r[o]);
- if (e.disabled || e["aria-disabled"])
- return Object.assign(
- e,
- Object.fromEntries(Object.keys(n).map((r) => [r, void 0]))
- );
- for (let r in n)
- Object.assign(e, {
- [r](o, ...i) {
- let s = n[r];
- for (let l of s) {
- if (o instanceof Event && o.defaultPrevented) return;
- l(o, ...i);
- }
- },
- });
- return e;
-}
-function pk(t) {
- let e = Object.assign({}, t);
- for (let n in e) e[n] === void 0 && delete e[n];
- return e;
-}
-function $i(t, e = []) {
- let n = Object.assign({}, t);
- for (let r of e) r in n && delete n[r];
- return n;
-}
-function mk(t) {
- return t == null
- ? !1
- : typeof t.type == "string" ||
- typeof t.type == "object" ||
- typeof t.type == "function";
-}
-var _i = ((t) => (
- (t[(t.None = 1)] = "None"),
- (t[(t.Focusable = 2)] = "Focusable"),
- (t[(t.Hidden = 4)] = "Hidden"),
- t
-))(_i || {});
-let Ci = Oe({
- name: "Hidden",
- props: {
- as: { type: [Object, String], default: "div" },
- features: { type: Number, default: 1 },
- },
- setup(t, { slots: e, attrs: n }) {
- return () => {
- var r;
- let l = t,
- { features: o } = l,
- i = tt(l, ["features"]),
- s = {
- "aria-hidden":
- (o & 2) === 2
- ? !0
- : (r = i["aria-hidden"]) != null
- ? r
- : void 0,
- style: B(
- {
- position: "fixed",
- top: 1,
- left: 1,
- width: 1,
- height: 0,
- padding: 0,
- margin: -1,
- overflow: "hidden",
- clip: "rect(0, 0, 0, 0)",
- whiteSpace: "nowrap",
- borderWidth: "0",
- },
- (o & 4) === 4 &&
- (o & 2) !== 2 && { display: "none" }
- ),
- };
- return it({
- ourProps: s,
- theirProps: i,
- slot: {},
- attrs: n,
- slots: e,
- name: "Hidden",
- });
- };
- },
- }),
- sy = Symbol("Context");
-var ct = ((t) => (
- (t[(t.Open = 1)] = "Open"),
- (t[(t.Closed = 2)] = "Closed"),
- (t[(t.Closing = 4)] = "Closing"),
- (t[(t.Opening = 8)] = "Opening"),
- t
-))(ct || {});
-function gk() {
- return Bi() !== null;
-}
-function Bi() {
- return Ge(sy, null);
-}
-function Pu(t) {
- wt(sy, t);
-}
-var Ae = ((t) => (
- (t.Space = " "),
- (t.Enter = "Enter"),
- (t.Escape = "Escape"),
- (t.Backspace = "Backspace"),
- (t.Delete = "Delete"),
- (t.ArrowLeft = "ArrowLeft"),
- (t.ArrowUp = "ArrowUp"),
- (t.ArrowRight = "ArrowRight"),
- (t.ArrowDown = "ArrowDown"),
- (t.Home = "Home"),
- (t.End = "End"),
- (t.PageUp = "PageUp"),
- (t.PageDown = "PageDown"),
- (t.Tab = "Tab"),
- t
-))(Ae || {});
-function yk(t) {
- function e() {
- document.readyState !== "loading" &&
- (t(), document.removeEventListener("DOMContentLoaded", e));
- }
- typeof window != "undefined" &&
- typeof document != "undefined" &&
- (document.addEventListener("DOMContentLoaded", e), e());
-}
-let xr = [];
-yk(() => {
- function t(e) {
- e.target instanceof HTMLElement &&
- e.target !== document.body &&
- xr[0] !== e.target &&
- (xr.unshift(e.target),
- (xr = xr.filter((n) => n != null && n.isConnected)),
- xr.splice(10));
- }
- window.addEventListener("click", t, { capture: !0 }),
- window.addEventListener("mousedown", t, { capture: !0 }),
- window.addEventListener("focus", t, { capture: !0 }),
- document.body.addEventListener("click", t, { capture: !0 }),
- document.body.addEventListener("mousedown", t, { capture: !0 }),
- document.body.addEventListener("focus", t, { capture: !0 });
-});
-function vk(t) {
- throw new Error("Unexpected object: " + t);
-}
-var rt = ((t) => (
- (t[(t.First = 0)] = "First"),
- (t[(t.Previous = 1)] = "Previous"),
- (t[(t.Next = 2)] = "Next"),
- (t[(t.Last = 3)] = "Last"),
- (t[(t.Specific = 4)] = "Specific"),
- (t[(t.Nothing = 5)] = "Nothing"),
- t
-))(rt || {});
-function Sd(t, e) {
- let n = e.resolveItems();
- if (n.length <= 0) return null;
- let r = e.resolveActiveIndex(),
- o = r != null ? r : -1;
- switch (t.focus) {
- case 0: {
- for (let i = 0; i < n.length; ++i)
- if (!e.resolveDisabled(n[i], i, n)) return i;
- return r;
- }
- case 1: {
- o === -1 && (o = n.length);
- for (let i = o - 1; i >= 0; --i)
- if (!e.resolveDisabled(n[i], i, n)) return i;
- return r;
- }
- case 2: {
- for (let i = o + 1; i < n.length; ++i)
- if (!e.resolveDisabled(n[i], i, n)) return i;
- return r;
- }
- case 3: {
- for (let i = n.length - 1; i >= 0; --i)
- if (!e.resolveDisabled(n[i], i, n)) return i;
- return r;
- }
- case 4: {
- for (let i = 0; i < n.length; ++i)
- if (e.resolveId(n[i], i, n) === t.id) return i;
- return r;
- }
- case 5:
- return null;
- default:
- vk(t);
- }
-}
-function Iu(t) {
- typeof queueMicrotask == "function"
- ? queueMicrotask(t)
- : Promise.resolve()
- .then(t)
- .catch((e) =>
- setTimeout(() => {
- throw e;
- })
- );
-}
-function $o() {
- let t = [],
- e = {
- addEventListener(n, r, o, i) {
- return (
- n.addEventListener(r, o, i),
- e.add(() => n.removeEventListener(r, o, i))
- );
- },
- requestAnimationFrame(...n) {
- let r = requestAnimationFrame(...n);
- e.add(() => cancelAnimationFrame(r));
- },
- nextFrame(...n) {
- e.requestAnimationFrame(() => {
- e.requestAnimationFrame(...n);
- });
- },
- setTimeout(...n) {
- let r = setTimeout(...n);
- e.add(() => clearTimeout(r));
- },
- microTask(...n) {
- let r = { current: !0 };
- return (
- Iu(() => {
- r.current && n[0]();
- }),
- e.add(() => {
- r.current = !1;
- })
- );
- },
- style(n, r, o) {
- let i = n.style.getPropertyValue(r);
- return (
- Object.assign(n.style, { [r]: o }),
- this.add(() => {
- Object.assign(n.style, { [r]: i });
- })
- );
- },
- group(n) {
- let r = $o();
- return n(r), this.add(() => r.dispose());
- },
- add(n) {
- return (
- t.push(n),
- () => {
- let r = t.indexOf(n);
- if (r >= 0) for (let o of t.splice(r, 1)) o();
- }
- );
- },
- dispose() {
- for (let n of t.splice(0)) n();
- },
- };
- return e;
-}
-function ly(t = {}, e = null, n = []) {
- for (let [r, o] of Object.entries(t)) uy(n, ay(e, r), o);
- return n;
-}
-function ay(t, e) {
- return t ? t + "[" + e + "]" : e;
-}
-function uy(t, e, n) {
- if (Array.isArray(n))
- for (let [r, o] of n.entries()) uy(t, ay(e, r.toString()), o);
- else
- n instanceof Date
- ? t.push([e, n.toISOString()])
- : typeof n == "boolean"
- ? t.push([e, n ? "1" : "0"])
- : typeof n == "string"
- ? t.push([e, n])
- : typeof n == "number"
- ? t.push([e, `${n}`])
- : n == null
- ? t.push([e, ""])
- : ly(n, e, t);
-}
-var bk = {};
-function wk(t, e) {
- return t === e;
-}
-var xk = ((t) => (
- (t[(t.Open = 0)] = "Open"), (t[(t.Closed = 1)] = "Closed"), t
- ))(xk || {}),
- kk = ((t) => (
- (t[(t.Single = 0)] = "Single"), (t[(t.Multi = 1)] = "Multi"), t
- ))(kk || {}),
- Sk = ((t) => (
- (t[(t.Pointer = 0)] = "Pointer"),
- (t[(t.Focus = 1)] = "Focus"),
- (t[(t.Other = 2)] = "Other"),
- t
- ))(Sk || {});
-let cy = Symbol("ComboboxContext");
-function zi(t) {
- let e = Ge(cy, null);
- if (e === null) {
- let n = new Error(
- `<${t} /> is missing a parent component.`
- );
- throw (Error.captureStackTrace && Error.captureStackTrace(n, zi), n);
- }
- return e;
-}
-let dy = Symbol("VirtualContext"),
- _k = Oe({
- name: "VirtualProvider",
- setup(t, { slots: e }) {
- let n = zi("VirtualProvider"),
- r = z(() => {
- let l = re(n.optionsRef);
- if (!l) return { start: 0, end: 0 };
- let a = window.getComputedStyle(l);
- return {
- start: parseFloat(a.paddingBlockStart || a.paddingTop),
- end: parseFloat(a.paddingBlockEnd || a.paddingBottom),
- };
- }),
- o = tk(
- z(() => ({
- scrollPaddingStart: r.value.start,
- scrollPaddingEnd: r.value.end,
- count: n.virtual.value.options.length,
- estimateSize() {
- return 40;
- },
- getScrollElement() {
- return re(n.optionsRef);
- },
- overscan: 12,
- }))
- ),
- i = z(() => {
- var l;
- return (l = n.virtual.value) == null ? void 0 : l.options;
- }),
- s = Q(0);
- return (
- at([i], () => {
- s.value += 1;
- }),
- wt(dy, n.virtual.value ? o : null),
- () => [
- Ke(
- "div",
- {
- style: {
- position: "relative",
- width: "100%",
- height: `${o.value.getTotalSize()}px`,
- },
- ref: (l) => {
- if (l) {
- if (
- (typeof process != "undefined" &&
- bk.JEST_WORKER_ID !== void 0) ||
- n.activationTrigger.value === 0
- )
- return;
- n.activeOptionIndex.value !== null &&
- n.virtual.value.options.length >
- n.activeOptionIndex.value &&
- o.value.scrollToIndex(
- n.activeOptionIndex.value
- );
- }
- },
- },
- o.value.getVirtualItems().map((l) =>
- sr(
- e.default({
- option: n.virtual.value.options[l.index],
- open: n.comboboxState.value === 0,
- })[0],
- {
- key: `${s.value}-${l.index}`,
- "data-index": l.index,
- "aria-setsize":
- n.virtual.value.options.length,
- "aria-posinset": l.index + 1,
- style: {
- position: "absolute",
- top: 0,
- left: 0,
- transform: `translateY(${l.start}px)`,
- overflowAnchor: "none",
- },
- }
- )
- )
- ),
- ]
- );
- },
- }),
- Ck = Oe({
- name: "Combobox",
- emits: { "update:modelValue": (t) => !0 },
- props: {
- as: { type: [Object, String], default: "template" },
- disabled: { type: [Boolean], default: !1 },
- by: { type: [String, Function], nullable: !0, default: null },
- modelValue: {
- type: [Object, String, Number, Boolean],
- default: void 0,
- },
- defaultValue: {
- type: [Object, String, Number, Boolean],
- default: void 0,
- },
- form: { type: String, optional: !0 },
- name: { type: String, optional: !0 },
- nullable: { type: Boolean, default: !1 },
- multiple: { type: [Boolean], default: !1 },
- immediate: { type: [Boolean], default: !1 },
- virtual: { type: Object, default: null },
- },
- inheritAttrs: !1,
- setup(t, { slots: e, attrs: n, emit: r }) {
- let o = Q(1),
- i = Q(null),
- s = Q(null),
- l = Q(null),
- a = Q(null),
- u = Q({ static: !1, hold: !1 }),
- c = Q([]),
- d = Q(null),
- f = Q(2),
- p = Q(!1);
- function m(_ = (T) => T) {
- let T = d.value !== null ? c.value[d.value] : null,
- R = _(c.value.slice()),
- P =
- R.length > 0 && R[0].dataRef.order.value !== null
- ? R.sort(
- (j, M) =>
- j.dataRef.order.value -
- M.dataRef.order.value
- )
- : Wr(R, (j) => re(j.dataRef.domRef)),
- D = T ? P.indexOf(T) : null;
- return (
- D === -1 && (D = null), { options: P, activeOptionIndex: D }
- );
- }
- let y = z(() => (t.multiple ? 1 : 0)),
- v = z(() => t.nullable),
- [w, S] = nk(
- z(() => t.modelValue),
- (_) => r("update:modelValue", _),
- z(() => t.defaultValue)
- ),
- E = z(() =>
- w.value === void 0
- ? mt(y.value, { 1: [], 0: void 0 })
- : w.value
- ),
- h = null,
- b = null;
- function g(_) {
- return mt(y.value, {
- 0() {
- return S == null ? void 0 : S(_);
- },
- 1: () => {
- let T = je(k.value.value).slice(),
- R = je(_),
- P = T.findIndex((D) => k.compare(R, je(D)));
- return (
- P === -1 ? T.push(R) : T.splice(P, 1),
- S == null ? void 0 : S(T)
- );
- },
- });
- }
- let x = z(() => {});
- at([x], ([_], [T]) => {
- if (k.virtual.value && _ && T && d.value !== null) {
- let R = _.indexOf(T[d.value]);
- R !== -1 ? (d.value = R) : (d.value = null);
- }
- });
- let k = {
- comboboxState: o,
- value: E,
- mode: y,
- compare(_, T) {
- if (typeof t.by == "string") {
- let R = t.by;
- return (
- (_ == null ? void 0 : _[R]) ===
- (T == null ? void 0 : T[R])
- );
- }
- return t.by === null ? wk(_, T) : t.by(_, T);
- },
- calculateIndex(_) {
- return k.virtual.value
- ? t.by === null
- ? k.virtual.value.options.indexOf(_)
- : k.virtual.value.options.findIndex((T) =>
- k.compare(T, _)
- )
- : c.value.findIndex((T) =>
- k.compare(T.dataRef.value, _)
- );
- },
- defaultValue: z(() => t.defaultValue),
- nullable: v,
- immediate: z(() => !1),
- virtual: z(() => null),
- inputRef: s,
- labelRef: i,
- buttonRef: l,
- optionsRef: a,
- disabled: z(() => t.disabled),
- options: c,
- change(_) {
- S(_);
- },
- activeOptionIndex: z(() => {
- if (
- p.value &&
- d.value === null &&
- (k.virtual.value
- ? k.virtual.value.options.length > 0
- : c.value.length > 0)
- ) {
- if (k.virtual.value) {
- let T = k.virtual.value.options.findIndex((R) => {
- var P;
- return !(
- (P = k.virtual.value) != null &&
- P.disabled(R)
- );
- });
- if (T !== -1) return T;
- }
- let _ = c.value.findIndex((T) => !T.dataRef.disabled);
- if (_ !== -1) return _;
- }
- return d.value;
- }),
- activationTrigger: f,
- optionsPropsRef: u,
- closeCombobox() {
- (p.value = !1),
- !t.disabled &&
- o.value !== 1 &&
- ((o.value = 1), (d.value = null));
- },
- openCombobox() {
- if (((p.value = !0), !t.disabled && o.value !== 0)) {
- if (k.value.value) {
- let _ = k.calculateIndex(k.value.value);
- _ !== -1 && (d.value = _);
- }
- o.value = 0;
- }
- },
- setActivationTrigger(_) {
- f.value = _;
- },
- goToOption(_, T, R) {
- (p.value = !1),
- h !== null && cancelAnimationFrame(h),
- (h = requestAnimationFrame(() => {
- if (
- t.disabled ||
- (a.value && !u.value.static && o.value === 1)
- )
- return;
- if (k.virtual.value) {
- (d.value =
- _ === rt.Specific
- ? T
- : Sd(
- { focus: _ },
- {
- resolveItems: () =>
- k.virtual.value.options,
- resolveActiveIndex: () => {
- var j, M;
- return (M =
- (j =
- k
- .activeOptionIndex
- .value) !=
- null
- ? j
- : k.virtual.value.options.findIndex(
- (I) => {
- var $;
- return !(
- ($ =
- k
- .virtual
- .value) !=
- null &&
- $.disabled(
- I
- )
- );
- }
- )) != null
- ? M
- : null;
- },
- resolveDisabled: (j) =>
- k.virtual.value.disabled(
- j
- ),
- resolveId() {
- throw new Error(
- "Function not implemented."
- );
- },
- }
- )),
- (f.value = R != null ? R : 2);
- return;
- }
- let P = m();
- if (P.activeOptionIndex === null) {
- let j = P.options.findIndex(
- (M) => !M.dataRef.disabled
- );
- j !== -1 && (P.activeOptionIndex = j);
- }
- let D =
- _ === rt.Specific
- ? T
- : Sd(
- { focus: _ },
- {
- resolveItems: () => P.options,
- resolveActiveIndex: () =>
- P.activeOptionIndex,
- resolveId: (j) => j.id,
- resolveDisabled: (j) =>
- j.dataRef.disabled,
- }
- );
- (d.value = D),
- (f.value = R != null ? R : 2),
- (c.value = P.options);
- }));
- },
- selectOption(_) {
- let T = c.value.find((P) => P.id === _);
- if (!T) return;
- let { dataRef: R } = T;
- g(R.value);
- },
- selectActiveOption() {
- if (k.activeOptionIndex.value !== null) {
- if (k.virtual.value)
- g(
- k.virtual.value.options[
- k.activeOptionIndex.value
- ]
- );
- else {
- let { dataRef: _ } =
- c.value[k.activeOptionIndex.value];
- g(_.value);
- }
- k.goToOption(rt.Specific, k.activeOptionIndex.value);
- }
- },
- registerOption(_, T) {
- let R = Yt({ id: _, dataRef: T });
- if (k.virtual.value) {
- c.value.push(R);
- return;
- }
- b && cancelAnimationFrame(b);
- let P = m((D) => (D.push(R), D));
- d.value === null &&
- k.isSelected(T.value.value) &&
- (P.activeOptionIndex = P.options.indexOf(R)),
- (c.value = P.options),
- (d.value = P.activeOptionIndex),
- (f.value = 2),
- P.options.some((D) => !re(D.dataRef.domRef)) &&
- (b = requestAnimationFrame(() => {
- let D = m();
- (c.value = D.options),
- (d.value = D.activeOptionIndex);
- }));
- },
- unregisterOption(_, T) {
- if (
- (h !== null && cancelAnimationFrame(h),
- T && (p.value = !0),
- k.virtual.value)
- ) {
- c.value = c.value.filter((P) => P.id !== _);
- return;
- }
- let R = m((P) => {
- let D = P.findIndex((j) => j.id === _);
- return D !== -1 && P.splice(D, 1), P;
- });
- (c.value = R.options),
- (d.value = R.activeOptionIndex),
- (f.value = 2);
- },
- isSelected(_) {
- return mt(y.value, {
- 0: () => k.compare(je(k.value.value), je(_)),
- 1: () =>
- je(k.value.value).some((T) =>
- k.compare(je(T), je(_))
- ),
- });
- },
- isActive(_) {
- return d.value === k.calculateIndex(_);
- },
- };
- Yf(
- [s, l, a],
- () => k.closeCombobox(),
- z(() => o.value === 0)
- ),
- wt(cy, k),
- Pu(z(() => mt(o.value, { 0: ct.Open, 1: ct.Closed })));
- let C = z(() => {
- var _;
- return (_ = re(s)) == null ? void 0 : _.closest("form");
- });
- return (
- Ze(() => {
- at(
- [C],
- () => {
- if (!C.value || t.defaultValue === void 0) return;
- function _() {
- k.change(t.defaultValue);
- }
- return (
- C.value.addEventListener("reset", _),
- () => {
- var T;
- (T = C.value) == null ||
- T.removeEventListener("reset", _);
- }
- );
- },
- { immediate: !0 }
- );
- }),
- () => {
- var _, T, R;
- let $ = t,
- { name: P, disabled: D, form: j } = $,
- M = tt($, ["name", "disabled", "form"]),
- I = {
- open: o.value === 0,
- disabled: D,
- activeIndex: k.activeOptionIndex.value,
- activeOption:
- k.activeOptionIndex.value === null
- ? null
- : k.virtual.value
- ? k.virtual.value.options[
- (_ = k.activeOptionIndex.value) !=
- null
- ? _
- : 0
- ]
- : (R =
- (T =
- k.options.value[
- k.activeOptionIndex.value
- ]) == null
- ? void 0
- : T.dataRef.value.value) != null
- ? R
- : null,
- value: E.value,
- };
- return Ke(Ne, [
- ...(P != null && E.value != null
- ? ly({ [P]: E.value }).map(([K, ie]) =>
- Ke(
- Ci,
- pk({
- features: _i.Hidden,
- key: K,
- as: "input",
- type: "hidden",
- hidden: !0,
- readOnly: !0,
- form: j,
- name: K,
- value: ie,
- })
- )
- )
- : []),
- it({
- theirProps: B(
- B({}, n),
- $i(M, [
- "by",
- "defaultValue",
- "immediate",
- "modelValue",
- "multiple",
- "nullable",
- "onUpdate:modelValue",
- "virtual",
- ])
- ),
- ourProps: {},
- slot: I,
- slots: e,
- attrs: n,
- name: "Combobox",
- }),
- ]);
- }
- );
- },
- }),
- Mk = Oe({
- name: "ComboboxButton",
- props: {
- as: { type: [Object, String], default: "button" },
- id: {
- type: String,
- default: () => `headlessui-combobox-button-${tn()}`,
- },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = zi("ComboboxButton");
- r({ el: o.buttonRef, $el: o.buttonRef });
- function i(a) {
- o.disabled.value ||
- (o.comboboxState.value === 0
- ? o.closeCombobox()
- : (a.preventDefault(), o.openCombobox()),
- bt(() => {
- var u;
- return (u = re(o.inputRef)) == null
- ? void 0
- : u.focus({ preventScroll: !0 });
- }));
- }
- function s(a) {
- switch (a.key) {
- case Ae.ArrowDown:
- a.preventDefault(),
- a.stopPropagation(),
- o.comboboxState.value === 1 && o.openCombobox(),
- bt(() => {
- var u;
- return (u = o.inputRef.value) == null
- ? void 0
- : u.focus({ preventScroll: !0 });
- });
- return;
- case Ae.ArrowUp:
- a.preventDefault(),
- a.stopPropagation(),
- o.comboboxState.value === 1 &&
- (o.openCombobox(),
- bt(() => {
- o.value.value || o.goToOption(rt.Last);
- })),
- bt(() => {
- var u;
- return (u = o.inputRef.value) == null
- ? void 0
- : u.focus({ preventScroll: !0 });
- });
- return;
- case Ae.Escape:
- if (o.comboboxState.value !== 0) return;
- a.preventDefault(),
- o.optionsRef.value &&
- !o.optionsPropsRef.value.static &&
- a.stopPropagation(),
- o.closeCombobox(),
- bt(() => {
- var u;
- return (u = o.inputRef.value) == null
- ? void 0
- : u.focus({ preventScroll: !0 });
- });
- return;
- }
- }
- let l = Ru(
- z(() => ({ as: t.as, type: e.type })),
- o.buttonRef
- );
- return () => {
- var a, u;
- let c = {
- open: o.comboboxState.value === 0,
- disabled: o.disabled.value,
- value: o.value.value,
- },
- m = t,
- { id: d } = m,
- f = tt(m, ["id"]),
- p = {
- ref: o.buttonRef,
- id: d,
- type: l.value,
- tabindex: "-1",
- "aria-haspopup": "listbox",
- "aria-controls":
- (a = re(o.optionsRef)) == null ? void 0 : a.id,
- "aria-expanded": o.comboboxState.value === 0,
- "aria-labelledby": o.labelRef.value
- ? [
- (u = re(o.labelRef)) == null
- ? void 0
- : u.id,
- d,
- ].join(" ")
- : void 0,
- disabled: o.disabled.value === !0 ? !0 : void 0,
- onKeydown: s,
- onClick: i,
- };
- return it({
- ourProps: p,
- theirProps: f,
- slot: c,
- attrs: e,
- slots: n,
- name: "ComboboxButton",
- });
- };
- },
- }),
- Ek = Oe({
- name: "ComboboxInput",
- props: {
- as: { type: [Object, String], default: "input" },
- static: { type: Boolean, default: !1 },
- unmount: { type: Boolean, default: !0 },
- displayValue: { type: Function },
- defaultValue: { type: String, default: void 0 },
- id: {
- type: String,
- default: () => `headlessui-combobox-input-${tn()}`,
- },
- },
- emits: { change: (t) => !0 },
- setup(t, { emit: e, attrs: n, slots: r, expose: o }) {
- let i = zi("ComboboxInput"),
- s = z(() => fr(re(i.inputRef))),
- l = { value: !1 };
- o({ el: i.inputRef, $el: i.inputRef });
- function a() {
- i.change(null);
- let S = re(i.optionsRef);
- S && (S.scrollTop = 0), i.goToOption(rt.Nothing);
- }
- let u = z(() => {
- var S;
- let E = i.value.value;
- return re(i.inputRef)
- ? typeof t.displayValue != "undefined" && E !== void 0
- ? (S = t.displayValue(E)) != null
- ? S
- : ""
- : typeof E == "string"
- ? E
- : ""
- : "";
- });
- Ze(() => {
- at(
- [u, i.comboboxState, s],
- ([S, E], [h, b]) => {
- if (l.value) return;
- let g = re(i.inputRef);
- g &&
- (((b === 0 && E === 1) || S !== h) && (g.value = S),
- requestAnimationFrame(() => {
- var x;
- if (
- l.value ||
- !g ||
- ((x = s.value) == null
- ? void 0
- : x.activeElement) !== g
- )
- return;
- let { selectionStart: k, selectionEnd: C } = g;
- Math.abs(
- (C != null ? C : 0) - (k != null ? k : 0)
- ) === 0 &&
- k === 0 &&
- g.setSelectionRange(
- g.value.length,
- g.value.length
- );
- }));
- },
- { immediate: !0 }
- ),
- at([i.comboboxState], ([S], [E]) => {
- if (S === 0 && E === 1) {
- if (l.value) return;
- let h = re(i.inputRef);
- if (!h) return;
- let b = h.value,
- {
- selectionStart: g,
- selectionEnd: x,
- selectionDirection: k,
- } = h;
- (h.value = ""),
- (h.value = b),
- k !== null
- ? h.setSelectionRange(g, x, k)
- : h.setSelectionRange(g, x);
- }
- });
- });
- let c = Q(!1);
- function d() {
- c.value = !0;
- }
- function f() {
- $o().nextFrame(() => {
- c.value = !1;
- });
- }
- function p(S) {
- switch (((l.value = !0), S.key)) {
- case Ae.Enter:
- if (
- ((l.value = !1),
- i.comboboxState.value !== 0 || c.value)
- )
- return;
- if (
- (S.preventDefault(),
- S.stopPropagation(),
- i.activeOptionIndex.value === null)
- ) {
- i.closeCombobox();
- return;
- }
- i.selectActiveOption(),
- i.mode.value === 0 && i.closeCombobox();
- break;
- case Ae.ArrowDown:
- return (
- (l.value = !1),
- S.preventDefault(),
- S.stopPropagation(),
- mt(i.comboboxState.value, {
- 0: () => i.goToOption(rt.Next),
- 1: () => i.openCombobox(),
- })
- );
- case Ae.ArrowUp:
- return (
- (l.value = !1),
- S.preventDefault(),
- S.stopPropagation(),
- mt(i.comboboxState.value, {
- 0: () => i.goToOption(rt.Previous),
- 1: () => {
- i.openCombobox(),
- bt(() => {
- i.value.value ||
- i.goToOption(rt.Last);
- });
- },
- })
- );
- case Ae.Home:
- if (S.shiftKey) break;
- return (
- (l.value = !1),
- S.preventDefault(),
- S.stopPropagation(),
- i.goToOption(rt.First)
- );
- case Ae.PageUp:
- return (
- (l.value = !1),
- S.preventDefault(),
- S.stopPropagation(),
- i.goToOption(rt.First)
- );
- case Ae.End:
- if (S.shiftKey) break;
- return (
- (l.value = !1),
- S.preventDefault(),
- S.stopPropagation(),
- i.goToOption(rt.Last)
- );
- case Ae.PageDown:
- return (
- (l.value = !1),
- S.preventDefault(),
- S.stopPropagation(),
- i.goToOption(rt.Last)
- );
- case Ae.Escape:
- if (((l.value = !1), i.comboboxState.value !== 0))
- return;
- S.preventDefault(),
- i.optionsRef.value &&
- !i.optionsPropsRef.value.static &&
- S.stopPropagation(),
- i.nullable.value &&
- i.mode.value === 0 &&
- i.value.value === null &&
- a(),
- i.closeCombobox();
- break;
- case Ae.Tab:
- if (((l.value = !1), i.comboboxState.value !== 0))
- return;
- i.mode.value === 0 &&
- i.activationTrigger.value !== 1 &&
- i.selectActiveOption(),
- i.closeCombobox();
- break;
- }
- }
- function m(S) {
- e("change", S),
- i.nullable.value &&
- i.mode.value === 0 &&
- S.target.value === "" &&
- a(),
- i.openCombobox();
- }
- function y(S) {
- var E, h, b;
- let g =
- (E = S.relatedTarget) != null
- ? E
- : xr.find((x) => x !== S.currentTarget);
- if (
- ((l.value = !1),
- !((h = re(i.optionsRef)) != null && h.contains(g)) &&
- !((b = re(i.buttonRef)) != null && b.contains(g)) &&
- i.comboboxState.value === 0)
- )
- return (
- S.preventDefault(),
- i.mode.value === 0 &&
- (i.nullable.value && i.value.value === null
- ? a()
- : i.activationTrigger.value !== 1 &&
- i.selectActiveOption()),
- i.closeCombobox()
- );
- }
- function v(S) {
- var E, h, b;
- let g =
- (E = S.relatedTarget) != null
- ? E
- : xr.find((x) => x !== S.currentTarget);
- ((h = re(i.buttonRef)) != null && h.contains(g)) ||
- ((b = re(i.optionsRef)) != null && b.contains(g)) ||
- i.disabled.value ||
- (i.immediate.value &&
- i.comboboxState.value !== 0 &&
- (i.openCombobox(),
- $o().nextFrame(() => {
- i.setActivationTrigger(1);
- })));
- }
- let w = z(() => {
- var S, E, h, b;
- return (b =
- (h =
- (E = t.defaultValue) != null
- ? E
- : i.defaultValue.value !== void 0
- ? (S = t.displayValue) == null
- ? void 0
- : S.call(t, i.defaultValue.value)
- : null) != null
- ? h
- : i.defaultValue.value) != null
- ? b
- : "";
- });
- return () => {
- var S, E, h, b, g, x, k;
- let C = { open: i.comboboxState.value === 0 },
- j = t,
- { id: _, displayValue: T, onChange: R } = j,
- P = tt(j, ["id", "displayValue", "onChange"]),
- D = {
- "aria-controls":
- (S = i.optionsRef.value) == null ? void 0 : S.id,
- "aria-expanded": i.comboboxState.value === 0,
- "aria-activedescendant":
- i.activeOptionIndex.value === null
- ? void 0
- : i.virtual.value
- ? (E = i.options.value.find(
- (M) =>
- !i.virtual.value.disabled(
- M.dataRef.value
- ) &&
- i.compare(
- M.dataRef.value,
- i.virtual.value.options[
- i.activeOptionIndex.value
- ]
- )
- )) == null
- ? void 0
- : E.id
- : (h =
- i.options.value[
- i.activeOptionIndex.value
- ]) == null
- ? void 0
- : h.id,
- "aria-labelledby":
- (x =
- (b = re(i.labelRef)) == null ? void 0 : b.id) !=
- null
- ? x
- : (g = re(i.buttonRef)) == null
- ? void 0
- : g.id,
- "aria-autocomplete": "list",
- id: _,
- onCompositionstart: d,
- onCompositionend: f,
- onKeydown: p,
- onInput: m,
- onFocus: v,
- onBlur: y,
- role: "combobox",
- type: (k = n.type) != null ? k : "text",
- tabIndex: 0,
- ref: i.inputRef,
- defaultValue: w.value,
- disabled: i.disabled.value === !0 ? !0 : void 0,
- };
- return it({
- ourProps: D,
- theirProps: P,
- slot: C,
- attrs: n,
- slots: r,
- features: fn.RenderStrategy | fn.Static,
- name: "ComboboxInput",
- });
- };
- },
- }),
- Tk = Oe({
- name: "ComboboxOptions",
- props: {
- as: { type: [Object, String], default: "ul" },
- static: { type: Boolean, default: !1 },
- unmount: { type: Boolean, default: !0 },
- hold: { type: [Boolean], default: !1 },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = zi("ComboboxOptions"),
- i = `headlessui-combobox-options-${tn()}`;
- r({ el: o.optionsRef, $el: o.optionsRef }),
- xt(() => {
- o.optionsPropsRef.value.static = t.static;
- }),
- xt(() => {
- o.optionsPropsRef.value.hold = t.hold;
- });
- let s = Bi(),
- l = z(() =>
- s !== null
- ? (s.value & ct.Open) === ct.Open
- : o.comboboxState.value === 0
- );
- return (
- ry({
- container: z(() => re(o.optionsRef)),
- enabled: z(() => o.comboboxState.value === 0),
- accept(a) {
- return a.getAttribute("role") === "option"
- ? NodeFilter.FILTER_REJECT
- : a.hasAttribute("role")
- ? NodeFilter.FILTER_SKIP
- : NodeFilter.FILTER_ACCEPT;
- },
- walk(a) {
- a.setAttribute("role", "none");
- },
- }),
- () => {
- var a, u, c;
- let d = { open: o.comboboxState.value === 0 },
- f = {
- "aria-labelledby":
- (c =
- (a = re(o.labelRef)) == null
- ? void 0
- : a.id) != null
- ? c
- : (u = re(o.buttonRef)) == null
- ? void 0
- : u.id,
- id: i,
- ref: o.optionsRef,
- role: "listbox",
- "aria-multiselectable":
- o.mode.value === 1 ? !0 : void 0,
- },
- p = $i(t, ["hold"]);
- return it({
- ourProps: f,
- theirProps: p,
- slot: d,
- attrs: e,
- slots:
- o.virtual.value && o.comboboxState.value === 0
- ? ge(B({}, n), {
- default: () => [Ke(_k, {}, n.default)],
- })
- : n,
- features: fn.RenderStrategy | fn.Static,
- visible: l.value,
- name: "ComboboxOptions",
- });
- }
- );
- },
- }),
- Ak = Oe({
- name: "ComboboxOption",
- props: {
- as: { type: [Object, String], default: "li" },
- value: { type: [Object, String, Number, Boolean] },
- disabled: { type: Boolean, default: !1 },
- order: { type: [Number], default: null },
- },
- setup(t, { slots: e, attrs: n, expose: r }) {
- let o = zi("ComboboxOption"),
- i = `headlessui-combobox-option-${tn()}`,
- s = Q(null);
- r({ el: s, $el: s });
- let l = z(() => {
- var w;
- return o.virtual.value
- ? o.activeOptionIndex.value ===
- o.calculateIndex(t.value)
- : o.activeOptionIndex.value === null
- ? !1
- : ((w = o.options.value[o.activeOptionIndex.value]) ==
- null
- ? void 0
- : w.id) === i;
- }),
- a = z(() => o.isSelected(t.value)),
- u = Ge(dy, null),
- c = z(() => ({
- disabled: t.disabled,
- value: t.value,
- domRef: s,
- order: z(() => t.order),
- }));
- Ze(() => o.registerOption(i, c)),
- zt(() => o.unregisterOption(i, l.value)),
- xt(() => {
- let w = re(s);
- w && (u == null || u.value.measureElement(w));
- }),
- xt(() => {
- o.comboboxState.value === 0 &&
- l.value &&
- (o.virtual.value ||
- (o.activationTrigger.value !== 0 &&
- bt(() => {
- var w, S;
- return (S =
- (w = re(s)) == null
- ? void 0
- : w.scrollIntoView) == null
- ? void 0
- : S.call(w, { block: "nearest" });
- })));
- });
- function d(w) {
- var S;
- if (
- t.disabled ||
- ((S = o.virtual.value) != null && S.disabled(t.value))
- )
- return w.preventDefault();
- o.selectOption(i),
- ey() ||
- requestAnimationFrame(() => {
- var E;
- return (E = re(o.inputRef)) == null
- ? void 0
- : E.focus({ preventScroll: !0 });
- }),
- o.mode.value === 0 &&
- requestAnimationFrame(() => o.closeCombobox());
- }
- function f() {
- var w;
- if (
- t.disabled ||
- ((w = o.virtual.value) != null && w.disabled(t.value))
- )
- return o.goToOption(rt.Nothing);
- let S = o.calculateIndex(t.value);
- o.goToOption(rt.Specific, S);
- }
- let p = ny();
- function m(w) {
- p.update(w);
- }
- function y(w) {
- var S;
- if (
- !p.wasMoved(w) ||
- t.disabled ||
- ((S = o.virtual.value) != null && S.disabled(t.value)) ||
- l.value
- )
- return;
- let E = o.calculateIndex(t.value);
- o.goToOption(rt.Specific, E, 0);
- }
- function v(w) {
- var S;
- p.wasMoved(w) &&
- (t.disabled ||
- ((S = o.virtual.value) != null &&
- S.disabled(t.value)) ||
- (l.value &&
- (o.optionsPropsRef.value.hold ||
- o.goToOption(rt.Nothing))));
- }
- return () => {
- let { disabled: w } = t,
- S = { active: l.value, selected: a.value, disabled: w },
- E = {
- id: i,
- ref: s,
- role: "option",
- tabIndex: w === !0 ? void 0 : -1,
- "aria-disabled": w === !0 ? !0 : void 0,
- "aria-selected": a.value,
- disabled: void 0,
- onClick: d,
- onFocus: f,
- onPointerenter: m,
- onMouseenter: m,
- onPointermove: y,
- onMousemove: y,
- onPointerleave: v,
- onMouseleave: v,
- },
- h = $i(t, ["order", "value"]);
- return it({
- ourProps: E,
- theirProps: h,
- slot: S,
- attrs: n,
- slots: e,
- name: "ComboboxOption",
- });
- };
- },
- });
-function fy(t, e, n, r) {
- Qs.isServer ||
- xt((o) => {
- (t = t != null ? t : window),
- t.addEventListener(e, n, r),
- o(() => t.removeEventListener(e, n, r));
- });
-}
-var es = ((t) => (
- (t[(t.Forwards = 0)] = "Forwards"), (t[(t.Backwards = 1)] = "Backwards"), t
-))(es || {});
-function Ok() {
- let t = Q(0);
- return (
- ty("keydown", (e) => {
- e.key === "Tab" && (t.value = e.shiftKey ? 1 : 0);
- }),
- t
- );
-}
-function hy(t) {
- if (!t) return new Set();
- if (typeof t == "function") return new Set(t());
- let e = new Set();
- for (let n of t.value) {
- let r = re(n);
- r instanceof HTMLElement && e.add(r);
- }
- return e;
-}
-var py = ((t) => (
- (t[(t.None = 1)] = "None"),
- (t[(t.InitialFocus = 2)] = "InitialFocus"),
- (t[(t.TabLock = 4)] = "TabLock"),
- (t[(t.FocusLock = 8)] = "FocusLock"),
- (t[(t.RestoreFocus = 16)] = "RestoreFocus"),
- (t[(t.All = 30)] = "All"),
- t
-))(py || {});
-let Ji = Object.assign(
- Oe({
- name: "FocusTrap",
- props: {
- as: { type: [Object, String], default: "div" },
- initialFocus: { type: Object, default: null },
- features: { type: Number, default: 30 },
- containers: { type: [Object, Function], default: Q(new Set()) },
- },
- inheritAttrs: !1,
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Q(null);
- r({ el: o, $el: o });
- let i = z(() => fr(o)),
- s = Q(!1);
- Ze(() => (s.value = !0)),
- zt(() => (s.value = !1)),
- Pk(
- { ownerDocument: i },
- z(() => s.value && !!(t.features & 16))
- );
- let l = Ik(
- {
- ownerDocument: i,
- container: o,
- initialFocus: z(() => t.initialFocus),
- },
- z(() => s.value && !!(t.features & 2))
- );
- Nk(
- {
- ownerDocument: i,
- container: o,
- containers: t.containers,
- previousActiveElement: l,
- },
- z(() => s.value && !!(t.features & 8))
- );
- let a = Ok();
- function u(p) {
- let m = re(o);
- m &&
- ((y) => y())(() => {
- mt(a.value, {
- [es.Forwards]: () => {
- Nn(m, Mt.First, {
- skipElements: [p.relatedTarget],
- });
- },
- [es.Backwards]: () => {
- Nn(m, Mt.Last, {
- skipElements: [p.relatedTarget],
- });
- },
- });
- });
- }
- let c = Q(!1);
- function d(p) {
- p.key === "Tab" &&
- ((c.value = !0),
- requestAnimationFrame(() => {
- c.value = !1;
- }));
- }
- function f(p) {
- if (!s.value) return;
- let m = hy(t.containers);
- re(o) instanceof HTMLElement && m.add(re(o));
- let y = p.relatedTarget;
- y instanceof HTMLElement &&
- y.dataset.headlessuiFocusGuard !== "true" &&
- (my(m, y) ||
- (c.value
- ? Nn(
- re(o),
- mt(a.value, {
- [es.Forwards]: () => Mt.Next,
- [es.Backwards]: () => Mt.Previous,
- }) | Mt.WrapAround,
- { relativeTo: p.target }
- )
- : p.target instanceof HTMLElement && eo(p.target)));
- }
- return () => {
- let p = {},
- m = { ref: o, onKeydown: d, onFocusout: f },
- E = t,
- { features: y, initialFocus: v, containers: w } = E,
- S = tt(E, ["features", "initialFocus", "containers"]);
- return Ke(Ne, [
- !!(y & 4) &&
- Ke(Ci, {
- as: "button",
- type: "button",
- "data-headlessui-focus-guard": !0,
- onFocus: u,
- features: _i.Focusable,
- }),
- it({
- ourProps: m,
- theirProps: B(B({}, e), S),
- slot: p,
- attrs: e,
- slots: n,
- name: "FocusTrap",
- }),
- !!(y & 4) &&
- Ke(Ci, {
- as: "button",
- type: "button",
- "data-headlessui-focus-guard": !0,
- onFocus: u,
- features: _i.Focusable,
- }),
- ]);
- };
- },
- }),
- { features: py }
-);
-function Rk(t) {
- let e = Q(xr.slice());
- return (
- at(
- [t],
- ([n], [r]) => {
- r === !0 && n === !1
- ? Iu(() => {
- e.value.splice(0);
- })
- : r === !1 && n === !0 && (e.value = xr.slice());
- },
- { flush: "post" }
- ),
- () => {
- var n;
- return (n = e.value.find((r) => r != null && r.isConnected)) != null
- ? n
- : null;
- }
- );
-}
-function Pk({ ownerDocument: t }, e) {
- let n = Rk(e);
- Ze(() => {
- xt(
- () => {
- var r, o;
- e.value ||
- (((r = t.value) == null ? void 0 : r.activeElement) ===
- ((o = t.value) == null ? void 0 : o.body) &&
- eo(n()));
- },
- { flush: "post" }
- );
- }),
- zt(() => {
- e.value && eo(n());
- });
-}
-function Ik({ ownerDocument: t, container: e, initialFocus: n }, r) {
- let o = Q(null),
- i = Q(!1);
- return (
- Ze(() => (i.value = !0)),
- zt(() => (i.value = !1)),
- Ze(() => {
- at(
- [e, n, r],
- (s, l) => {
- if (
- s.every((u, c) => (l == null ? void 0 : l[c]) === u) ||
- !r.value
- )
- return;
- let a = re(e);
- a &&
- Iu(() => {
- var u, c;
- if (!i.value) return;
- let d = re(n),
- f =
- (u = t.value) == null
- ? void 0
- : u.activeElement;
- if (d) {
- if (d === f) {
- o.value = f;
- return;
- }
- } else if (a.contains(f)) {
- o.value = f;
- return;
- }
- d
- ? eo(d)
- : Nn(a, Mt.First | Mt.NoScroll) === li.Error &&
- console.warn(
- "There are no focusable elements inside the "
- ),
- (o.value =
- (c = t.value) == null
- ? void 0
- : c.activeElement);
- });
- },
- { immediate: !0, flush: "post" }
- );
- }),
- o
- );
-}
-function Nk(
- { ownerDocument: t, container: e, containers: n, previousActiveElement: r },
- o
-) {
- var i;
- fy(
- (i = t.value) == null ? void 0 : i.defaultView,
- "focus",
- (s) => {
- if (!o.value) return;
- let l = hy(n);
- re(e) instanceof HTMLElement && l.add(re(e));
- let a = r.value;
- if (!a) return;
- let u = s.target;
- u && u instanceof HTMLElement
- ? my(l, u)
- ? ((r.value = u), eo(u))
- : (s.preventDefault(), s.stopPropagation(), eo(a))
- : eo(r.value);
- },
- !0
- );
-}
-function my(t, e) {
- for (let n of t) if (n.contains(e)) return !0;
- return !1;
-}
-function Dk(t) {
- let e = bu(t.getSnapshot());
- return (
- zt(
- t.subscribe(() => {
- e.value = t.getSnapshot();
- })
- ),
- e
- );
-}
-function jk(t, e) {
- let n = t(),
- r = new Set();
- return {
- getSnapshot() {
- return n;
- },
- subscribe(o) {
- return r.add(o), () => r.delete(o);
- },
- dispatch(o, ...i) {
- let s = e[o].call(n, ...i);
- s && ((n = s), r.forEach((l) => l()));
- },
- };
-}
-function Lk() {
- let t;
- return {
- before({ doc: e }) {
- var n;
- let r = e.documentElement;
- t =
- ((n = e.defaultView) != null ? n : window).innerWidth -
- r.clientWidth;
- },
- after({ doc: e, d: n }) {
- let r = e.documentElement,
- o = r.clientWidth - r.offsetWidth,
- i = t - o;
- n.style(r, "paddingRight", `${i}px`);
- },
- };
-}
-function $k() {
- return Z0()
- ? {
- before({ doc: t, d: e, meta: n }) {
- function r(o) {
- return n.containers
- .flatMap((i) => i())
- .some((i) => i.contains(o));
- }
- e.microTask(() => {
- var o;
- if (
- window.getComputedStyle(t.documentElement)
- .scrollBehavior !== "auto"
- ) {
- let l = $o();
- l.style(
- t.documentElement,
- "scrollBehavior",
- "auto"
- ),
- e.add(() => e.microTask(() => l.dispose()));
- }
- let i =
- (o = window.scrollY) != null
- ? o
- : window.pageYOffset,
- s = null;
- e.addEventListener(
- t,
- "click",
- (l) => {
- if (l.target instanceof HTMLElement)
- try {
- let a = l.target.closest("a");
- if (!a) return;
- let { hash: u } = new URL(a.href),
- c = t.querySelector(u);
- c && !r(c) && (s = c);
- } catch (a) {}
- },
- !0
- ),
- e.addEventListener(t, "touchstart", (l) => {
- if (l.target instanceof HTMLElement)
- if (r(l.target)) {
- let a = l.target;
- for (
- ;
- a.parentElement &&
- r(a.parentElement);
-
- )
- a = a.parentElement;
- e.style(
- a,
- "overscrollBehavior",
- "contain"
- );
- } else
- e.style(
- l.target,
- "touchAction",
- "none"
- );
- }),
- e.addEventListener(
- t,
- "touchmove",
- (l) => {
- if (l.target instanceof HTMLElement)
- if (r(l.target)) {
- let a = l.target;
- for (
- ;
- a.parentElement &&
- a.dataset.headlessuiPortal !==
- "" &&
- !(
- a.scrollHeight >
- a.clientHeight ||
- a.scrollWidth >
- a.clientWidth
- );
-
- )
- a = a.parentElement;
- a.dataset.headlessuiPortal === "" &&
- l.preventDefault();
- } else l.preventDefault();
- },
- { passive: !1 }
- ),
- e.add(() => {
- var l;
- let a =
- (l = window.scrollY) != null
- ? l
- : window.pageYOffset;
- i !== a && window.scrollTo(0, i),
- s &&
- s.isConnected &&
- (s.scrollIntoView({ block: "nearest" }),
- (s = null));
- });
- });
- },
- }
- : {};
-}
-function Bk() {
- return {
- before({ doc: t, d: e }) {
- e.style(t.documentElement, "overflow", "hidden");
- },
- };
-}
-function zk(t) {
- let e = {};
- for (let n of t) Object.assign(e, n(e));
- return e;
-}
-let Mo = jk(() => new Map(), {
- PUSH(t, e) {
- var n;
- let r =
- (n = this.get(t)) != null
- ? n
- : { doc: t, count: 0, d: $o(), meta: new Set() };
- return r.count++, r.meta.add(e), this.set(t, r), this;
- },
- POP(t, e) {
- let n = this.get(t);
- return n && (n.count--, n.meta.delete(e)), this;
- },
- SCROLL_PREVENT({ doc: t, d: e, meta: n }) {
- let r = { doc: t, d: e, meta: zk(n) },
- o = [$k(), Lk(), Bk()];
- o.forEach(({ before: i }) => (i == null ? void 0 : i(r))),
- o.forEach(({ after: i }) => (i == null ? void 0 : i(r)));
- },
- SCROLL_ALLOW({ d: t }) {
- t.dispose();
- },
- TEARDOWN({ doc: t }) {
- this.delete(t);
- },
-});
-Mo.subscribe(() => {
- let t = Mo.getSnapshot(),
- e = new Map();
- for (let [n] of t) e.set(n, n.documentElement.style.overflow);
- for (let n of t.values()) {
- let r = e.get(n.doc) === "hidden",
- o = n.count !== 0;
- ((o && !r) || (!o && r)) &&
- Mo.dispatch(n.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", n),
- n.count === 0 && Mo.dispatch("TEARDOWN", n);
- }
-});
-function Hk(t, e, n) {
- let r = Dk(Mo),
- o = z(() => {
- let i = t.value ? r.value.get(t.value) : void 0;
- return i ? i.count > 0 : !1;
- });
- return (
- at(
- [t, e],
- ([i, s], [l], a) => {
- if (!i || !s) return;
- Mo.dispatch("PUSH", i, n);
- let u = !1;
- a(() => {
- u || (Mo.dispatch("POP", l != null ? l : i, n), (u = !0));
- });
- },
- { immediate: !0 }
- ),
- o
- );
-}
-let _c = new Map(),
- Gi = new Map();
-function um(t, e = Q(!0)) {
- xt((n) => {
- var r;
- if (!e.value) return;
- let o = re(t);
- if (!o) return;
- n(function () {
- var s;
- if (!o) return;
- let l = (s = Gi.get(o)) != null ? s : 1;
- if ((l === 1 ? Gi.delete(o) : Gi.set(o, l - 1), l !== 1)) return;
- let a = _c.get(o);
- a &&
- (a["aria-hidden"] === null
- ? o.removeAttribute("aria-hidden")
- : o.setAttribute("aria-hidden", a["aria-hidden"]),
- (o.inert = a.inert),
- _c.delete(o));
- });
- let i = (r = Gi.get(o)) != null ? r : 0;
- Gi.set(o, i + 1),
- i === 0 &&
- (_c.set(o, {
- "aria-hidden": o.getAttribute("aria-hidden"),
- inert: o.inert,
- }),
- o.setAttribute("aria-hidden", "true"),
- (o.inert = !0));
- });
-}
-function Fk({
- defaultContainers: t = [],
- portals: e,
- mainTreeNodeRef: n,
-} = {}) {
- let r = Q(null),
- o = fr(r);
- function i() {
- var s, l, a;
- let u = [];
- for (let c of t)
- c !== null &&
- (c instanceof HTMLElement
- ? u.push(c)
- : "value" in c &&
- c.value instanceof HTMLElement &&
- u.push(c.value));
- if (e != null && e.value) for (let c of e.value) u.push(c);
- for (let c of (s =
- o == null ? void 0 : o.querySelectorAll("html > *, body > *")) !=
- null
- ? s
- : [])
- c !== document.body &&
- c !== document.head &&
- c instanceof HTMLElement &&
- c.id !== "headlessui-portal-root" &&
- (c.contains(re(r)) ||
- c.contains(
- (a = (l = re(r)) == null ? void 0 : l.getRootNode()) ==
- null
- ? void 0
- : a.host
- ) ||
- u.some((d) => c.contains(d)) ||
- u.push(c));
- return u;
- }
- return {
- resolveContainers: i,
- contains(s) {
- return i().some((l) => l.contains(s));
- },
- mainTreeNodeRef: r,
- MainTreeNode() {
- return n != null ? null : Ke(Ci, { features: _i.Hidden, ref: r });
- },
- };
-}
-let gy = Symbol("ForcePortalRootContext");
-function Vk() {
- return Ge(gy, !1);
-}
-let cm = Oe({
- name: "ForcePortalRoot",
- props: {
- as: { type: [Object, String], default: "template" },
- force: { type: Boolean, default: !1 },
- },
- setup(t, { slots: e, attrs: n }) {
- return (
- wt(gy, t.force),
- () => {
- let i = t,
- { force: r } = i,
- o = tt(i, ["force"]);
- return it({
- theirProps: o,
- ourProps: {},
- slot: {},
- slots: e,
- attrs: n,
- name: "ForcePortalRoot",
- });
- }
- );
- },
- }),
- yy = Symbol("StackContext");
-var _d = ((t) => ((t[(t.Add = 0)] = "Add"), (t[(t.Remove = 1)] = "Remove"), t))(
- _d || {}
-);
-function Wk() {
- return Ge(yy, () => {});
-}
-function Uk({ type: t, enabled: e, element: n, onUpdate: r }) {
- let o = Wk();
- function i(...s) {
- r == null || r(...s), o(...s);
- }
- Ze(() => {
- at(
- e,
- (s, l) => {
- s ? i(0, t, n) : l === !0 && i(1, t, n);
- },
- { immediate: !0, flush: "sync" }
- );
- }),
- zt(() => {
- e.value && i(1, t, n);
- }),
- wt(yy, i);
-}
-let Kk = Symbol("DescriptionContext");
-function qk({ slot: t = Q({}), name: e = "Description", props: n = {} } = {}) {
- let r = Q([]);
- function o(i) {
- return (
- r.value.push(i),
- () => {
- let s = r.value.indexOf(i);
- s !== -1 && r.value.splice(s, 1);
- }
- );
- }
- return (
- wt(Kk, { register: o, slot: t, name: e, props: n }),
- z(() => (r.value.length > 0 ? r.value.join(" ") : void 0))
- );
-}
-function Jk(t) {
- let e = fr(t);
- if (!e) {
- if (t === null) return null;
- throw new Error(
- `[Headless UI]: Cannot find ownerDocument for contextElement: ${t}`
- );
- }
- let n = e.getElementById("headlessui-portal-root");
- if (n) return n;
- let r = e.createElement("div");
- return (
- r.setAttribute("id", "headlessui-portal-root"), e.body.appendChild(r)
- );
-}
-let Gk = Oe({
- name: "Portal",
- props: { as: { type: [Object, String], default: "div" } },
- setup(t, { slots: e, attrs: n }) {
- let r = Q(null),
- o = z(() => fr(r)),
- i = Vk(),
- s = Ge(vy, null),
- l = Q(i === !0 || s == null ? Jk(r.value) : s.resolveTarget()),
- a = Q(!1);
- Ze(() => {
- a.value = !0;
- }),
- xt(() => {
- i || (s != null && (l.value = s.resolveTarget()));
- });
- let u = Ge(Cd, null),
- c = !1,
- d = uo();
- return (
- at(r, () => {
- if (c || !u) return;
- let f = re(r);
- f && (zt(u.register(f), d), (c = !0));
- }),
- zt(() => {
- var f, p;
- let m =
- (f = o.value) == null
- ? void 0
- : f.getElementById("headlessui-portal-root");
- m &&
- l.value === m &&
- l.value.children.length <= 0 &&
- ((p = l.value.parentElement) == null ||
- p.removeChild(l.value));
- }),
- () => {
- if (!a.value || l.value === null) return null;
- let f = { ref: r, "data-headlessui-portal": "" };
- return Ke(
- _u,
- { to: l.value },
- it({
- ourProps: f,
- theirProps: t,
- slot: {},
- attrs: n,
- slots: e,
- name: "Portal",
- })
- );
- }
- );
- },
- }),
- Cd = Symbol("PortalParentContext");
-function Yk() {
- let t = Ge(Cd, null),
- e = Q([]);
- function n(i) {
- return e.value.push(i), t && t.register(i), () => r(i);
- }
- function r(i) {
- let s = e.value.indexOf(i);
- s !== -1 && e.value.splice(s, 1), t && t.unregister(i);
- }
- let o = { register: n, unregister: r, portals: e };
- return [
- e,
- Oe({
- name: "PortalWrapper",
- setup(i, { slots: s }) {
- return (
- wt(Cd, o),
- () => {
- var l;
- return (l = s.default) == null ? void 0 : l.call(s);
- }
- );
- },
- }),
- ];
-}
-let vy = Symbol("PortalGroupContext"),
- Qk = Oe({
- name: "PortalGroup",
- props: {
- as: { type: [Object, String], default: "template" },
- target: { type: Object, default: null },
- },
- setup(t, { attrs: e, slots: n }) {
- let r = Yt({
- resolveTarget() {
- return t.target;
- },
- });
- return (
- wt(vy, r),
- () => {
- let s = t,
- { target: o } = s,
- i = tt(s, ["target"]);
- return it({
- theirProps: i,
- ourProps: {},
- slot: {},
- attrs: e,
- slots: n,
- name: "PortalGroup",
- });
- }
- );
- },
- });
-var Xk = ((t) => (
- (t[(t.Open = 0)] = "Open"), (t[(t.Closed = 1)] = "Closed"), t
-))(Xk || {});
-let Md = Symbol("DialogContext");
-function Qf(t) {
- let e = Ge(Md, null);
- if (e === null) {
- let n = new Error(`<${t} /> is missing a parent component.`);
- throw (Error.captureStackTrace && Error.captureStackTrace(n, Qf), n);
- }
- return e;
-}
-let xl = "DC8F892D-2EBD-447C-A4C8-A03058436FF4",
- Zk = Oe({
- name: "Dialog",
- inheritAttrs: !1,
- props: {
- as: { type: [Object, String], default: "div" },
- static: { type: Boolean, default: !1 },
- unmount: { type: Boolean, default: !0 },
- open: { type: [Boolean, String], default: xl },
- initialFocus: { type: Object, default: null },
- id: { type: String, default: () => `headlessui-dialog-${tn()}` },
- role: { type: String, default: "dialog" },
- },
- emits: { close: (t) => !0 },
- setup(t, { emit: e, attrs: n, slots: r, expose: o }) {
- var i;
- let s = Q(!1);
- Ze(() => {
- s.value = !0;
- });
- let l = !1,
- a = z(() =>
- t.role === "dialog" || t.role === "alertdialog"
- ? t.role
- : (l ||
- ((l = !0),
- console.warn(
- `Invalid role [${a}] passed to . Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`
- )),
- "dialog")
- ),
- u = Q(0),
- c = Bi(),
- d = z(() =>
- t.open === xl && c !== null
- ? (c.value & ct.Open) === ct.Open
- : t.open
- ),
- f = Q(null),
- p = z(() => fr(f));
- if ((o({ el: f, $el: f }), !(t.open !== xl || c !== null)))
- throw new Error(
- "You forgot to provide an `open` prop to the `Dialog`."
- );
- if (typeof d.value != "boolean")
- throw new Error(
- `You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${
- d.value === xl ? void 0 : t.open
- }`
- );
- let m = z(() => (s.value && d.value ? 0 : 1)),
- y = z(() => m.value === 0),
- v = z(() => u.value > 1),
- w = Ge(Md, null) !== null,
- [S, E] = Yk(),
- {
- resolveContainers: h,
- mainTreeNodeRef: b,
- MainTreeNode: g,
- } = Fk({
- portals: S,
- defaultContainers: [
- z(() => {
- var K;
- return (K = j.panelRef.value) != null ? K : f.value;
- }),
- ],
- }),
- x = z(() => (v.value ? "parent" : "leaf")),
- k = z(() =>
- c !== null ? (c.value & ct.Closing) === ct.Closing : !1
- ),
- C = z(() => (w || k.value ? !1 : y.value)),
- _ = z(() => {
- var K, ie, X;
- return (X = Array.from(
- (ie =
- (K = p.value) == null
- ? void 0
- : K.querySelectorAll("body > *")) != null
- ? ie
- : []
- ).find((de) =>
- de.id === "headlessui-portal-root"
- ? !1
- : de.contains(re(b)) && de instanceof HTMLElement
- )) != null
- ? X
- : null;
- });
- um(_, C);
- let T = z(() => (v.value ? !0 : y.value)),
- R = z(() => {
- var K, ie, X;
- return (X = Array.from(
- (ie =
- (K = p.value) == null
- ? void 0
- : K.querySelectorAll(
- "[data-headlessui-portal]"
- )) != null
- ? ie
- : []
- ).find(
- (de) => de.contains(re(b)) && de instanceof HTMLElement
- )) != null
- ? X
- : null;
- });
- um(R, T),
- Uk({
- type: "Dialog",
- enabled: z(() => m.value === 0),
- element: f,
- onUpdate: (K, ie) => {
- if (ie === "Dialog")
- return mt(K, {
- [_d.Add]: () => (u.value += 1),
- [_d.Remove]: () => (u.value -= 1),
- });
- },
- });
- let P = qk({
- name: "DialogDescription",
- slot: z(() => ({ open: d.value })),
- }),
- D = Q(null),
- j = {
- titleId: D,
- panelRef: Q(null),
- dialogState: m,
- setTitleId(K) {
- D.value !== K && (D.value = K);
- },
- close() {
- e("close", !1);
- },
- };
- wt(Md, j);
- let M = z(() => !(!y.value || v.value));
- Yf(
- h,
- (K, ie) => {
- j.close(), bt(() => (ie == null ? void 0 : ie.focus()));
- },
- M
- );
- let I = z(() => !(v.value || m.value !== 0));
- fy(
- (i = p.value) == null ? void 0 : i.defaultView,
- "keydown",
- (K) => {
- I.value &&
- (K.defaultPrevented ||
- (K.key === Ae.Escape &&
- (K.preventDefault(),
- K.stopPropagation(),
- j.close())));
- }
- );
- let $ = z(() => !(k.value || m.value !== 0 || w));
- return (
- Hk(p, $, (K) => {
- var ie;
- return {
- containers: [
- ...((ie = K.containers) != null ? ie : []),
- h,
- ],
- };
- }),
- xt((K) => {
- if (m.value !== 0) return;
- let ie = re(f);
- if (!ie) return;
- let X = new ResizeObserver((de) => {
- for (let ze of de) {
- let Ee = ze.target.getBoundingClientRect();
- Ee.x === 0 &&
- Ee.y === 0 &&
- Ee.width === 0 &&
- Ee.height === 0 &&
- j.close();
- }
- });
- X.observe(ie), K(() => X.disconnect());
- }),
- () => {
- let Pe = t,
- { id: K, open: ie, initialFocus: X } = Pe,
- de = tt(Pe, ["id", "open", "initialFocus"]),
- ze = ge(B({}, n), {
- ref: f,
- id: K,
- role: a.value,
- "aria-modal": m.value === 0 ? !0 : void 0,
- "aria-labelledby": D.value,
- "aria-describedby": P.value,
- }),
- Ee = { open: m.value === 0 };
- return Ke(cm, { force: !0 }, () => [
- Ke(Gk, () =>
- Ke(Qk, { target: f.value }, () =>
- Ke(cm, { force: !1 }, () =>
- Ke(
- Ji,
- {
- initialFocus: X,
- containers: h,
- features: y.value
- ? mt(x.value, {
- parent: Ji.features
- .RestoreFocus,
- leaf:
- Ji.features.All &
- ~Ji.features
- .FocusLock,
- })
- : Ji.features.None,
- },
- () =>
- Ke(E, {}, () =>
- it({
- ourProps: ze,
- theirProps: B(B({}, de), n),
- slot: Ee,
- attrs: n,
- slots: r,
- visible: m.value === 0,
- features:
- fn.RenderStrategy |
- fn.Static,
- name: "Dialog",
- })
- )
- )
- )
- )
- ),
- Ke(g),
- ]);
- }
- );
- },
- }),
- e8 = Oe({
- name: "DialogPanel",
- props: {
- as: { type: [Object, String], default: "div" },
- id: {
- type: String,
- default: () => `headlessui-dialog-panel-${tn()}`,
- },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Qf("DialogPanel");
- r({ el: o.panelRef, $el: o.panelRef });
- function i(s) {
- s.stopPropagation();
- }
- return () => {
- let u = t,
- { id: s } = u,
- l = tt(u, ["id"]),
- a = { id: s, ref: o.panelRef, onClick: i };
- return it({
- ourProps: a,
- theirProps: l,
- slot: { open: o.dialogState.value === 0 },
- attrs: e,
- slots: n,
- name: "DialogPanel",
- });
- };
- },
- }),
- t8 = Oe({
- name: "DialogTitle",
- props: {
- as: { type: [Object, String], default: "h2" },
- id: {
- type: String,
- default: () => `headlessui-dialog-title-${tn()}`,
- },
- },
- setup(t, { attrs: e, slots: n }) {
- let r = Qf("DialogTitle");
- return (
- Ze(() => {
- r.setTitleId(t.id), zt(() => r.setTitleId(null));
- }),
- () => {
- let s = t,
- { id: o } = s,
- i = tt(s, ["id"]);
- return it({
- ourProps: { id: o },
- theirProps: i,
- slot: { open: r.dialogState.value === 0 },
- attrs: e,
- slots: n,
- name: "DialogTitle",
- });
- }
- );
- },
- });
-var n8 = ((t) => (
- (t[(t.Open = 0)] = "Open"), (t[(t.Closed = 1)] = "Closed"), t
-))(n8 || {});
-let by = Symbol("DisclosureContext");
-function Xf(t) {
- let e = Ge(by, null);
- if (e === null) {
- let n = new Error(
- `<${t} /> is missing a parent component.`
- );
- throw (Error.captureStackTrace && Error.captureStackTrace(n, Xf), n);
- }
- return e;
-}
-let wy = Symbol("DisclosurePanelContext");
-function r8() {
- return Ge(wy, null);
-}
-let CL = Oe({
- name: "Disclosure",
- props: {
- as: { type: [Object, String], default: "template" },
- defaultOpen: { type: [Boolean], default: !1 },
- },
- setup(t, { slots: e, attrs: n }) {
- let r = Q(t.defaultOpen ? 0 : 1),
- o = Q(null),
- i = Q(null),
- s = {
- buttonId: Q(`headlessui-disclosure-button-${tn()}`),
- panelId: Q(`headlessui-disclosure-panel-${tn()}`),
- disclosureState: r,
- panel: o,
- button: i,
- toggleDisclosure() {
- r.value = mt(r.value, { 0: 1, 1: 0 });
- },
- closeDisclosure() {
- r.value !== 1 && (r.value = 1);
- },
- close(l) {
- s.closeDisclosure();
- let a = l
- ? l instanceof HTMLElement
- ? l
- : l.value instanceof HTMLElement
- ? re(l)
- : re(s.button)
- : re(s.button);
- a == null || a.focus();
- },
- };
- return (
- wt(by, s),
- Pu(z(() => mt(r.value, { 0: ct.Open, 1: ct.Closed }))),
- () => {
- let c = t,
- { defaultOpen: l } = c,
- a = tt(c, ["defaultOpen"]),
- u = { open: r.value === 0, close: s.close };
- return it({
- theirProps: a,
- ourProps: {},
- slot: u,
- slots: e,
- attrs: n,
- name: "Disclosure",
- });
- }
- );
- },
- }),
- ML = Oe({
- name: "DisclosureButton",
- props: {
- as: { type: [Object, String], default: "button" },
- disabled: { type: [Boolean], default: !1 },
- id: { type: String, default: null },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Xf("DisclosureButton"),
- i = r8(),
- s = z(() => (i === null ? !1 : i.value === o.panelId.value));
- Ze(() => {
- s.value || (t.id !== null && (o.buttonId.value = t.id));
- }),
- zt(() => {
- s.value || (o.buttonId.value = null);
- });
- let l = Q(null);
- r({ el: l, $el: l }),
- s.value ||
- xt(() => {
- o.button.value = l.value;
- });
- let a = Ru(
- z(() => ({ as: t.as, type: e.type })),
- l
- );
- function u() {
- var f;
- t.disabled ||
- (s.value
- ? (o.toggleDisclosure(),
- (f = re(o.button)) == null || f.focus())
- : o.toggleDisclosure());
- }
- function c(f) {
- var p;
- if (!t.disabled)
- if (s.value)
- switch (f.key) {
- case Ae.Space:
- case Ae.Enter:
- f.preventDefault(),
- f.stopPropagation(),
- o.toggleDisclosure(),
- (p = re(o.button)) == null || p.focus();
- break;
- }
- else
- switch (f.key) {
- case Ae.Space:
- case Ae.Enter:
- f.preventDefault(),
- f.stopPropagation(),
- o.toggleDisclosure();
- break;
- }
- }
- function d(f) {
- switch (f.key) {
- case Ae.Space:
- f.preventDefault();
- break;
- }
- }
- return () => {
- var f;
- let p = { open: o.disclosureState.value === 0 },
- w = t,
- { id: m } = w,
- y = tt(w, ["id"]),
- v = s.value
- ? { ref: l, type: a.value, onClick: u, onKeydown: c }
- : {
- id: (f = o.buttonId.value) != null ? f : m,
- ref: l,
- type: a.value,
- "aria-expanded": o.disclosureState.value === 0,
- "aria-controls":
- o.disclosureState.value === 0 || re(o.panel)
- ? o.panelId.value
- : void 0,
- disabled: t.disabled ? !0 : void 0,
- onClick: u,
- onKeydown: c,
- onKeyup: d,
- };
- return it({
- ourProps: v,
- theirProps: y,
- slot: p,
- attrs: e,
- slots: n,
- name: "DisclosureButton",
- });
- };
- },
- }),
- EL = Oe({
- name: "DisclosurePanel",
- props: {
- as: { type: [Object, String], default: "div" },
- static: { type: Boolean, default: !1 },
- unmount: { type: Boolean, default: !0 },
- id: { type: String, default: null },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Xf("DisclosurePanel");
- Ze(() => {
- t.id !== null && (o.panelId.value = t.id);
- }),
- zt(() => {
- o.panelId.value = null;
- }),
- r({ el: o.panel, $el: o.panel }),
- wt(wy, o.panelId);
- let i = Bi(),
- s = z(() =>
- i !== null
- ? (i.value & ct.Open) === ct.Open
- : o.disclosureState.value === 0
- );
- return () => {
- var l;
- let a = { open: o.disclosureState.value === 0, close: o.close },
- f = t,
- { id: u } = f,
- c = tt(f, ["id"]),
- d = {
- id: (l = o.panelId.value) != null ? l : u,
- ref: o.panel,
- };
- return it({
- ourProps: d,
- theirProps: c,
- slot: a,
- attrs: e,
- slots: n,
- features: fn.RenderStrategy | fn.Static,
- visible: s.value,
- name: "DisclosurePanel",
- });
- };
- },
- }),
- dm =
- /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;
-function fm(t) {
- var e, n;
- let r = (e = t.innerText) != null ? e : "",
- o = t.cloneNode(!0);
- if (!(o instanceof HTMLElement)) return r;
- let i = !1;
- for (let l of o.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))
- l.remove(), (i = !0);
- let s = i ? ((n = o.innerText) != null ? n : "") : r;
- return dm.test(s) && (s = s.replace(dm, "")), s;
-}
-function o8(t) {
- let e = t.getAttribute("aria-label");
- if (typeof e == "string") return e.trim();
- let n = t.getAttribute("aria-labelledby");
- if (n) {
- let r = n
- .split(" ")
- .map((o) => {
- let i = document.getElementById(o);
- if (i) {
- let s = i.getAttribute("aria-label");
- return typeof s == "string" ? s.trim() : fm(i).trim();
- }
- return null;
- })
- .filter(Boolean);
- if (r.length > 0) return r.join(", ");
- }
- return fm(t).trim();
-}
-function i8(t) {
- let e = Q(""),
- n = Q("");
- return () => {
- let r = re(t);
- if (!r) return "";
- let o = r.innerText;
- if (e.value === o) return n.value;
- let i = o8(r).trim().toLowerCase();
- return (e.value = o), (n.value = i), i;
- };
-}
-var s8 = ((t) => (
- (t[(t.Open = 0)] = "Open"), (t[(t.Closed = 1)] = "Closed"), t
- ))(s8 || {}),
- l8 = ((t) => (
- (t[(t.Pointer = 0)] = "Pointer"), (t[(t.Other = 1)] = "Other"), t
- ))(l8 || {});
-function a8(t) {
- requestAnimationFrame(() => requestAnimationFrame(t));
-}
-let xy = Symbol("MenuContext");
-function Nu(t) {
- let e = Ge(xy, null);
- if (e === null) {
- let n = new Error(`<${t} /> is missing a parent
component.`);
- throw (Error.captureStackTrace && Error.captureStackTrace(n, Nu), n);
- }
- return e;
-}
-let u8 = Oe({
- name: "Menu",
- props: { as: { type: [Object, String], default: "template" } },
- setup(t, { slots: e, attrs: n }) {
- let r = Q(1),
- o = Q(null),
- i = Q(null),
- s = Q([]),
- l = Q(""),
- a = Q(null),
- u = Q(1);
- function c(f = (p) => p) {
- let p = a.value !== null ? s.value[a.value] : null,
- m = Wr(f(s.value.slice()), (v) => re(v.dataRef.domRef)),
- y = p ? m.indexOf(p) : null;
- return y === -1 && (y = null), { items: m, activeItemIndex: y };
- }
- let d = {
- menuState: r,
- buttonRef: o,
- itemsRef: i,
- items: s,
- searchQuery: l,
- activeItemIndex: a,
- activationTrigger: u,
- closeMenu: () => {
- (r.value = 1), (a.value = null);
- },
- openMenu: () => (r.value = 0),
- goToItem(f, p, m) {
- let y = c(),
- v = Sd(
- f === rt.Specific
- ? { focus: rt.Specific, id: p }
- : { focus: f },
- {
- resolveItems: () => y.items,
- resolveActiveIndex: () => y.activeItemIndex,
- resolveId: (w) => w.id,
- resolveDisabled: (w) => w.dataRef.disabled,
- }
- );
- (l.value = ""),
- (a.value = v),
- (u.value = m != null ? m : 1),
- (s.value = y.items);
- },
- search(f) {
- let p = l.value !== "" ? 0 : 1;
- l.value += f.toLowerCase();
- let m = (
- a.value !== null
- ? s.value
- .slice(a.value + p)
- .concat(s.value.slice(0, a.value + p))
- : s.value
- ).find(
- (v) =>
- v.dataRef.textValue.startsWith(l.value) &&
- !v.dataRef.disabled
- ),
- y = m ? s.value.indexOf(m) : -1;
- y === -1 || y === a.value || ((a.value = y), (u.value = 1));
- },
- clearSearch() {
- l.value = "";
- },
- registerItem(f, p) {
- let m = c((y) => [...y, { id: f, dataRef: p }]);
- (s.value = m.items),
- (a.value = m.activeItemIndex),
- (u.value = 1);
- },
- unregisterItem(f) {
- let p = c((m) => {
- let y = m.findIndex((v) => v.id === f);
- return y !== -1 && m.splice(y, 1), m;
- });
- (s.value = p.items),
- (a.value = p.activeItemIndex),
- (u.value = 1);
- },
- };
- return (
- Yf(
- [o, i],
- (f, p) => {
- var m;
- d.closeMenu(),
- Gf(p, Jf.Loose) ||
- (f.preventDefault(),
- (m = re(o)) == null || m.focus());
- },
- z(() => r.value === 0)
- ),
- wt(xy, d),
- Pu(z(() => mt(r.value, { 0: ct.Open, 1: ct.Closed }))),
- () => {
- let f = { open: r.value === 0, close: d.closeMenu };
- return it({
- ourProps: {},
- theirProps: t,
- slot: f,
- slots: e,
- attrs: n,
- name: "Menu",
- });
- }
- );
- },
- }),
- c8 = Oe({
- name: "MenuButton",
- props: {
- disabled: { type: Boolean, default: !1 },
- as: { type: [Object, String], default: "button" },
- id: {
- type: String,
- default: () => `headlessui-menu-button-${tn()}`,
- },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Nu("MenuButton");
- r({ el: o.buttonRef, $el: o.buttonRef });
- function i(u) {
- switch (u.key) {
- case Ae.Space:
- case Ae.Enter:
- case Ae.ArrowDown:
- u.preventDefault(),
- u.stopPropagation(),
- o.openMenu(),
- bt(() => {
- var c;
- (c = re(o.itemsRef)) == null ||
- c.focus({ preventScroll: !0 }),
- o.goToItem(rt.First);
- });
- break;
- case Ae.ArrowUp:
- u.preventDefault(),
- u.stopPropagation(),
- o.openMenu(),
- bt(() => {
- var c;
- (c = re(o.itemsRef)) == null ||
- c.focus({ preventScroll: !0 }),
- o.goToItem(rt.Last);
- });
- break;
- }
- }
- function s(u) {
- switch (u.key) {
- case Ae.Space:
- u.preventDefault();
- break;
- }
- }
- function l(u) {
- t.disabled ||
- (o.menuState.value === 0
- ? (o.closeMenu(),
- bt(() => {
- var c;
- return (c = re(o.buttonRef)) == null
- ? void 0
- : c.focus({ preventScroll: !0 });
- }))
- : (u.preventDefault(),
- o.openMenu(),
- a8(() => {
- var c;
- return (c = re(o.itemsRef)) == null
- ? void 0
- : c.focus({ preventScroll: !0 });
- })));
- }
- let a = Ru(
- z(() => ({ as: t.as, type: e.type })),
- o.buttonRef
- );
- return () => {
- var u;
- let c = { open: o.menuState.value === 0 },
- m = t,
- { id: d } = m,
- f = tt(m, ["id"]),
- p = {
- ref: o.buttonRef,
- id: d,
- type: a.value,
- "aria-haspopup": "menu",
- "aria-controls":
- (u = re(o.itemsRef)) == null ? void 0 : u.id,
- "aria-expanded": o.menuState.value === 0,
- onKeydown: i,
- onKeyup: s,
- onClick: l,
- };
- return it({
- ourProps: p,
- theirProps: f,
- slot: c,
- attrs: e,
- slots: n,
- name: "MenuButton",
- });
- };
- },
- }),
- d8 = Oe({
- name: "MenuItems",
- props: {
- as: { type: [Object, String], default: "div" },
- static: { type: Boolean, default: !1 },
- unmount: { type: Boolean, default: !0 },
- id: {
- type: String,
- default: () => `headlessui-menu-items-${tn()}`,
- },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Nu("MenuItems"),
- i = Q(null);
- r({ el: o.itemsRef, $el: o.itemsRef }),
- ry({
- container: z(() => re(o.itemsRef)),
- enabled: z(() => o.menuState.value === 0),
- accept(c) {
- return c.getAttribute("role") === "menuitem"
- ? NodeFilter.FILTER_REJECT
- : c.hasAttribute("role")
- ? NodeFilter.FILTER_SKIP
- : NodeFilter.FILTER_ACCEPT;
- },
- walk(c) {
- c.setAttribute("role", "none");
- },
- });
- function s(c) {
- var d;
- switch ((i.value && clearTimeout(i.value), c.key)) {
- case Ae.Space:
- if (o.searchQuery.value !== "")
- return (
- c.preventDefault(),
- c.stopPropagation(),
- o.search(c.key)
- );
- case Ae.Enter:
- if (
- (c.preventDefault(),
- c.stopPropagation(),
- o.activeItemIndex.value !== null)
- ) {
- let f = o.items.value[o.activeItemIndex.value];
- (d = re(f.dataRef.domRef)) == null || d.click();
- }
- o.closeMenu(), X0(re(o.buttonRef));
- break;
- case Ae.ArrowDown:
- return (
- c.preventDefault(),
- c.stopPropagation(),
- o.goToItem(rt.Next)
- );
- case Ae.ArrowUp:
- return (
- c.preventDefault(),
- c.stopPropagation(),
- o.goToItem(rt.Previous)
- );
- case Ae.Home:
- case Ae.PageUp:
- return (
- c.preventDefault(),
- c.stopPropagation(),
- o.goToItem(rt.First)
- );
- case Ae.End:
- case Ae.PageDown:
- return (
- c.preventDefault(),
- c.stopPropagation(),
- o.goToItem(rt.Last)
- );
- case Ae.Escape:
- c.preventDefault(),
- c.stopPropagation(),
- o.closeMenu(),
- bt(() => {
- var f;
- return (f = re(o.buttonRef)) == null
- ? void 0
- : f.focus({ preventScroll: !0 });
- });
- break;
- case Ae.Tab:
- c.preventDefault(),
- c.stopPropagation(),
- o.closeMenu(),
- bt(() =>
- fk(
- re(o.buttonRef),
- c.shiftKey ? Mt.Previous : Mt.Next
- )
- );
- break;
- default:
- c.key.length === 1 &&
- (o.search(c.key),
- (i.value = setTimeout(() => o.clearSearch(), 350)));
- break;
- }
- }
- function l(c) {
- switch (c.key) {
- case Ae.Space:
- c.preventDefault();
- break;
- }
- }
- let a = Bi(),
- u = z(() =>
- a !== null
- ? (a.value & ct.Open) === ct.Open
- : o.menuState.value === 0
- );
- return () => {
- var c, d;
- let f = { open: o.menuState.value === 0 },
- v = t,
- { id: p } = v,
- m = tt(v, ["id"]),
- y = {
- "aria-activedescendant":
- o.activeItemIndex.value === null ||
- (c = o.items.value[o.activeItemIndex.value]) == null
- ? void 0
- : c.id,
- "aria-labelledby":
- (d = re(o.buttonRef)) == null ? void 0 : d.id,
- id: p,
- onKeydown: s,
- onKeyup: l,
- role: "menu",
- tabIndex: 0,
- ref: o.itemsRef,
- };
- return it({
- ourProps: y,
- theirProps: m,
- slot: f,
- attrs: e,
- slots: n,
- features: fn.RenderStrategy | fn.Static,
- visible: u.value,
- name: "MenuItems",
- });
- };
- },
- }),
- f8 = Oe({
- name: "MenuItem",
- inheritAttrs: !1,
- props: {
- as: { type: [Object, String], default: "template" },
- disabled: { type: Boolean, default: !1 },
- id: { type: String, default: () => `headlessui-menu-item-${tn()}` },
- },
- setup(t, { slots: e, attrs: n, expose: r }) {
- let o = Nu("MenuItem"),
- i = Q(null);
- r({ el: i, $el: i });
- let s = z(() =>
- o.activeItemIndex.value !== null
- ? o.items.value[o.activeItemIndex.value].id === t.id
- : !1
- ),
- l = i8(i),
- a = z(() => ({
- disabled: t.disabled,
- get textValue() {
- return l();
- },
- domRef: i,
- }));
- Ze(() => o.registerItem(t.id, a)),
- zt(() => o.unregisterItem(t.id)),
- xt(() => {
- o.menuState.value === 0 &&
- s.value &&
- o.activationTrigger.value !== 0 &&
- bt(() => {
- var y, v;
- return (v =
- (y = re(i)) == null
- ? void 0
- : y.scrollIntoView) == null
- ? void 0
- : v.call(y, { block: "nearest" });
- });
- });
- function u(y) {
- if (t.disabled) return y.preventDefault();
- o.closeMenu(), X0(re(o.buttonRef));
- }
- function c() {
- if (t.disabled) return o.goToItem(rt.Nothing);
- o.goToItem(rt.Specific, t.id);
- }
- let d = ny();
- function f(y) {
- d.update(y);
- }
- function p(y) {
- d.wasMoved(y) &&
- (t.disabled || s.value || o.goToItem(rt.Specific, t.id, 0));
- }
- function m(y) {
- d.wasMoved(y) &&
- (t.disabled || (s.value && o.goToItem(rt.Nothing)));
- }
- return () => {
- let { disabled: y } = t,
- v = { active: s.value, disabled: y, close: o.closeMenu },
- E = t,
- { id: w } = E,
- S = tt(E, ["id"]);
- return it({
- ourProps: {
- id: w,
- ref: i,
- role: "menuitem",
- tabIndex: y === !0 ? void 0 : -1,
- "aria-disabled": y === !0 ? !0 : void 0,
- disabled: void 0,
- onClick: u,
- onFocus: c,
- onPointerenter: f,
- onMouseenter: f,
- onPointermove: p,
- onMousemove: p,
- onPointerleave: m,
- onMouseleave: m,
- },
- theirProps: B(B({}, n), S),
- slot: v,
- attrs: n,
- slots: e,
- name: "MenuItem",
- });
- };
- },
- }),
- h8 = Oe({
- props: { onFocus: { type: Function, required: !0 } },
- setup(t) {
- let e = Q(!0);
- return () =>
- e.value
- ? Ke(Ci, {
- as: "button",
- type: "button",
- features: _i.Focusable,
- onFocus(n) {
- n.preventDefault();
- let r,
- o = 50;
- function i() {
- var s;
- if (o-- <= 0) {
- r && cancelAnimationFrame(r);
- return;
- }
- if ((s = t.onFocus) != null && s.call(t)) {
- (e.value = !1), cancelAnimationFrame(r);
- return;
- }
- r = requestAnimationFrame(i);
- }
- r = requestAnimationFrame(i);
- },
- })
- : null;
- },
- });
-var p8 = ((t) => (
- (t[(t.Forwards = 0)] = "Forwards"),
- (t[(t.Backwards = 1)] = "Backwards"),
- t
- ))(p8 || {}),
- m8 = ((t) => (
- (t[(t.Less = -1)] = "Less"),
- (t[(t.Equal = 0)] = "Equal"),
- (t[(t.Greater = 1)] = "Greater"),
- t
- ))(m8 || {});
-let ky = Symbol("TabsContext");
-function Xs(t) {
- let e = Ge(ky, null);
- if (e === null) {
- let n = new Error(
- `<${t} /> is missing a parent component.`
- );
- throw (Error.captureStackTrace && Error.captureStackTrace(n, Xs), n);
- }
- return e;
-}
-let Zf = Symbol("TabsSSRContext"),
- g8 = Oe({
- name: "TabGroup",
- emits: { change: (t) => !0 },
- props: {
- as: { type: [Object, String], default: "template" },
- selectedIndex: { type: [Number], default: null },
- defaultIndex: { type: [Number], default: 0 },
- vertical: { type: [Boolean], default: !1 },
- manual: { type: [Boolean], default: !1 },
- },
- inheritAttrs: !1,
- setup(t, { slots: e, attrs: n, emit: r }) {
- var o;
- let i = Q((o = t.selectedIndex) != null ? o : t.defaultIndex),
- s = Q([]),
- l = Q([]),
- a = z(() => t.selectedIndex !== null),
- u = z(() => (a.value ? t.selectedIndex : i.value));
- function c(y) {
- var v;
- let w = Wr(d.tabs.value, re),
- S = Wr(d.panels.value, re),
- E = w.filter((h) => {
- var b;
- return !(
- (b = re(h)) != null && b.hasAttribute("disabled")
- );
- });
- if (y < 0 || y > w.length - 1) {
- let h = mt(i.value === null ? 0 : Math.sign(y - i.value), {
- [-1]: () => 1,
- 0: () =>
- mt(Math.sign(y), {
- [-1]: () => 0,
- 0: () => 0,
- 1: () => 1,
- }),
- 1: () => 0,
- }),
- b = mt(h, {
- 0: () => w.indexOf(E[0]),
- 1: () => w.indexOf(E[E.length - 1]),
- });
- b !== -1 && (i.value = b),
- (d.tabs.value = w),
- (d.panels.value = S);
- } else {
- let h = w.slice(0, y),
- b = [...w.slice(y), ...h].find((x) => E.includes(x));
- if (!b) return;
- let g =
- (v = w.indexOf(b)) != null ? v : d.selectedIndex.value;
- g === -1 && (g = d.selectedIndex.value),
- (i.value = g),
- (d.tabs.value = w),
- (d.panels.value = S);
- }
- }
- let d = {
- selectedIndex: z(() => {
- var y, v;
- return (v = (y = i.value) != null ? y : t.defaultIndex) !=
- null
- ? v
- : null;
- }),
- orientation: z(() => (t.vertical ? "vertical" : "horizontal")),
- activation: z(() => (t.manual ? "manual" : "auto")),
- tabs: s,
- panels: l,
- setSelectedIndex(y) {
- u.value !== y && r("change", y), a.value || c(y);
- },
- registerTab(y) {
- var v;
- if (s.value.includes(y)) return;
- let w = s.value[i.value];
- s.value.push(y), (s.value = Wr(s.value, re));
- let S = (v = s.value.indexOf(w)) != null ? v : i.value;
- S !== -1 && (i.value = S);
- },
- unregisterTab(y) {
- let v = s.value.indexOf(y);
- v !== -1 && s.value.splice(v, 1);
- },
- registerPanel(y) {
- l.value.includes(y) ||
- (l.value.push(y), (l.value = Wr(l.value, re)));
- },
- unregisterPanel(y) {
- let v = l.value.indexOf(y);
- v !== -1 && l.value.splice(v, 1);
- },
- };
- wt(ky, d);
- let f = Q({ tabs: [], panels: [] }),
- p = Q(!1);
- Ze(() => {
- p.value = !0;
- }),
- wt(
- Zf,
- z(() => (p.value ? null : f.value))
- );
- let m = z(() => t.selectedIndex);
- return (
- Ze(() => {
- at(
- [m],
- () => {
- var y;
- return c(
- (y = t.selectedIndex) != null
- ? y
- : t.defaultIndex
- );
- },
- { immediate: !0 }
- );
- }),
- xt(() => {
- if (!a.value || u.value == null || d.tabs.value.length <= 0)
- return;
- let y = Wr(d.tabs.value, re);
- y.some((v, w) => re(d.tabs.value[w]) !== re(v)) &&
- d.setSelectedIndex(
- y.findIndex(
- (v) => re(v) === re(d.tabs.value[u.value])
- )
- );
- }),
- () => {
- let y = { selectedIndex: i.value };
- return Ke(Ne, [
- s.value.length <= 0 &&
- Ke(h8, {
- onFocus: () => {
- for (let v of s.value) {
- let w = re(v);
- if (
- (w == null
- ? void 0
- : w.tabIndex) === 0
- )
- return w.focus(), !0;
- }
- return !1;
- },
- }),
- it({
- theirProps: B(
- B({}, n),
- $i(t, [
- "selectedIndex",
- "defaultIndex",
- "manual",
- "vertical",
- "onChange",
- ])
- ),
- ourProps: {},
- slot: y,
- slots: e,
- attrs: n,
- name: "TabGroup",
- }),
- ]);
- }
- );
- },
- }),
- y8 = Oe({
- name: "TabList",
- props: { as: { type: [Object, String], default: "div" } },
- setup(t, { attrs: e, slots: n }) {
- let r = Xs("TabList");
- return () => {
- let o = { selectedIndex: r.selectedIndex.value },
- i = {
- role: "tablist",
- "aria-orientation": r.orientation.value,
- };
- return it({
- ourProps: i,
- theirProps: t,
- slot: o,
- attrs: e,
- slots: n,
- name: "TabList",
- });
- };
- },
- }),
- v8 = Oe({
- name: "Tab",
- props: {
- as: { type: [Object, String], default: "button" },
- disabled: { type: [Boolean], default: !1 },
- id: { type: String, default: () => `headlessui-tabs-tab-${tn()}` },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Xs("Tab"),
- i = Q(null);
- r({ el: i, $el: i }),
- Ze(() => o.registerTab(i)),
- zt(() => o.unregisterTab(i));
- let s = Ge(Zf),
- l = z(() => {
- if (s.value) {
- let v = s.value.tabs.indexOf(t.id);
- return v === -1 ? s.value.tabs.push(t.id) - 1 : v;
- }
- return -1;
- }),
- a = z(() => {
- let v = o.tabs.value.indexOf(i);
- return v === -1 ? l.value : v;
- }),
- u = z(() => a.value === o.selectedIndex.value);
- function c(v) {
- var w;
- let S = v();
- if (S === li.Success && o.activation.value === "auto") {
- let E = (w = fr(i)) == null ? void 0 : w.activeElement,
- h = o.tabs.value.findIndex((b) => re(b) === E);
- h !== -1 && o.setSelectedIndex(h);
- }
- return S;
- }
- function d(v) {
- let w = o.tabs.value.map((S) => re(S)).filter(Boolean);
- if (v.key === Ae.Space || v.key === Ae.Enter) {
- v.preventDefault(),
- v.stopPropagation(),
- o.setSelectedIndex(a.value);
- return;
- }
- switch (v.key) {
- case Ae.Home:
- case Ae.PageUp:
- return (
- v.preventDefault(),
- v.stopPropagation(),
- c(() => Nn(w, Mt.First))
- );
- case Ae.End:
- case Ae.PageDown:
- return (
- v.preventDefault(),
- v.stopPropagation(),
- c(() => Nn(w, Mt.Last))
- );
- }
- if (
- c(() =>
- mt(o.orientation.value, {
- vertical() {
- return v.key === Ae.ArrowUp
- ? Nn(w, Mt.Previous | Mt.WrapAround)
- : v.key === Ae.ArrowDown
- ? Nn(w, Mt.Next | Mt.WrapAround)
- : li.Error;
- },
- horizontal() {
- return v.key === Ae.ArrowLeft
- ? Nn(w, Mt.Previous | Mt.WrapAround)
- : v.key === Ae.ArrowRight
- ? Nn(w, Mt.Next | Mt.WrapAround)
- : li.Error;
- },
- })
- ) === li.Success
- )
- return v.preventDefault();
- }
- let f = Q(!1);
- function p() {
- var v;
- f.value ||
- ((f.value = !0),
- !t.disabled &&
- ((v = re(i)) == null || v.focus({ preventScroll: !0 }),
- o.setSelectedIndex(a.value),
- Iu(() => {
- f.value = !1;
- })));
- }
- function m(v) {
- v.preventDefault();
- }
- let y = Ru(
- z(() => ({ as: t.as, type: e.type })),
- i
- );
- return () => {
- var v;
- let w = { selected: u.value },
- b = t,
- { id: S } = b,
- E = tt(b, ["id"]),
- h = {
- ref: i,
- onKeydown: d,
- onMousedown: m,
- onClick: p,
- id: S,
- role: "tab",
- type: y.value,
- "aria-controls":
- (v = re(o.panels.value[a.value])) == null
- ? void 0
- : v.id,
- "aria-selected": u.value,
- tabIndex: u.value ? 0 : -1,
- disabled: t.disabled ? !0 : void 0,
- };
- return it({
- ourProps: h,
- theirProps: E,
- slot: w,
- attrs: e,
- slots: n,
- name: "Tab",
- });
- };
- },
- }),
- b8 = Oe({
- name: "TabPanels",
- props: { as: { type: [Object, String], default: "div" } },
- setup(t, { slots: e, attrs: n }) {
- let r = Xs("TabPanels");
- return () => {
- let o = { selectedIndex: r.selectedIndex.value };
- return it({
- theirProps: t,
- ourProps: {},
- slot: o,
- attrs: n,
- slots: e,
- name: "TabPanels",
- });
- };
- },
- }),
- w8 = Oe({
- name: "TabPanel",
- props: {
- as: { type: [Object, String], default: "div" },
- static: { type: Boolean, default: !1 },
- unmount: { type: Boolean, default: !0 },
- id: {
- type: String,
- default: () => `headlessui-tabs-panel-${tn()}`,
- },
- tabIndex: { type: Number, default: 0 },
- },
- setup(t, { attrs: e, slots: n, expose: r }) {
- let o = Xs("TabPanel"),
- i = Q(null);
- r({ el: i, $el: i }),
- Ze(() => o.registerPanel(i)),
- zt(() => o.unregisterPanel(i));
- let s = Ge(Zf),
- l = z(() => {
- if (s.value) {
- let c = s.value.panels.indexOf(t.id);
- return c === -1 ? s.value.panels.push(t.id) - 1 : c;
- }
- return -1;
- }),
- a = z(() => {
- let c = o.panels.value.indexOf(i);
- return c === -1 ? l.value : c;
- }),
- u = z(() => a.value === o.selectedIndex.value);
- return () => {
- var c;
- let d = { selected: u.value },
- v = t,
- { id: f, tabIndex: p } = v,
- m = tt(v, ["id", "tabIndex"]),
- y = {
- ref: i,
- id: f,
- role: "tabpanel",
- "aria-labelledby":
- (c = re(o.tabs.value[a.value])) == null
- ? void 0
- : c.id,
- tabIndex: u.value ? p : -1,
- };
- return !u.value && t.unmount && !t.static
- ? Ke(Ci, B({ as: "span", "aria-hidden": !0 }, y))
- : it({
- ourProps: y,
- theirProps: m,
- slot: d,
- attrs: e,
- slots: n,
- features: fn.Static | fn.RenderStrategy,
- visible: u.value,
- name: "TabPanel",
- });
- };
- },
- });
-function x8(t) {
- let e = { called: !1 };
- return (...n) => {
- if (!e.called) return (e.called = !0), t(...n);
- };
-}
-function Cc(t, ...e) {
- t && e.length > 0 && t.classList.add(...e);
-}
-function kl(t, ...e) {
- t && e.length > 0 && t.classList.remove(...e);
-}
-var Ed = ((t) => ((t.Finished = "finished"), (t.Cancelled = "cancelled"), t))(
- Ed || {}
-);
-function k8(t, e) {
- let n = $o();
- if (!t) return n.dispose;
- let { transitionDuration: r, transitionDelay: o } = getComputedStyle(t),
- [i, s] = [r, o].map((l) => {
- let [a = 0] = l
- .split(",")
- .filter(Boolean)
- .map((u) =>
- u.includes("ms") ? parseFloat(u) : parseFloat(u) * 1e3
- )
- .sort((u, c) => c - u);
- return a;
- });
- return (
- i !== 0 ? n.setTimeout(() => e("finished"), i + s) : e("finished"),
- n.add(() => e("cancelled")),
- n.dispose
- );
-}
-function hm(t, e, n, r, o, i) {
- let s = $o(),
- l = i !== void 0 ? x8(i) : () => {};
- return (
- kl(t, ...o),
- Cc(t, ...e, ...n),
- s.nextFrame(() => {
- kl(t, ...n),
- Cc(t, ...r),
- s.add(k8(t, (a) => (kl(t, ...r, ...e), Cc(t, ...o), l(a))));
- }),
- s.add(() => kl(t, ...e, ...n, ...r, ...o)),
- s.add(() => l("cancelled")),
- s.dispose
- );
-}
-function bo(t = "") {
- return t.split(/\s+/).filter((e) => e.length > 1);
-}
-let eh = Symbol("TransitionContext");
-var S8 = ((t) => ((t.Visible = "visible"), (t.Hidden = "hidden"), t))(S8 || {});
-function _8() {
- return Ge(eh, null) !== null;
-}
-function C8() {
- let t = Ge(eh, null);
- if (t === null)
- throw new Error(
- "A is used but it is missing a parent ."
- );
- return t;
-}
-function M8() {
- let t = Ge(th, null);
- if (t === null)
- throw new Error(
- "A is used but it is missing a parent ."
- );
- return t;
-}
-let th = Symbol("NestingContext");
-function Du(t) {
- return "children" in t
- ? Du(t.children)
- : t.value.filter(({ state: e }) => e === "visible").length > 0;
-}
-function Sy(t) {
- let e = Q([]),
- n = Q(!1);
- Ze(() => (n.value = !0)), zt(() => (n.value = !1));
- function r(i, s = Jr.Hidden) {
- let l = e.value.findIndex(({ id: a }) => a === i);
- l !== -1 &&
- (mt(s, {
- [Jr.Unmount]() {
- e.value.splice(l, 1);
- },
- [Jr.Hidden]() {
- e.value[l].state = "hidden";
- },
- }),
- !Du(e) && n.value && (t == null || t()));
- }
- function o(i) {
- let s = e.value.find(({ id: l }) => l === i);
- return (
- s
- ? s.state !== "visible" && (s.state = "visible")
- : e.value.push({ id: i, state: "visible" }),
- () => r(i, Jr.Unmount)
- );
- }
- return { children: e, register: o, unregister: r };
-}
-let _y = fn.RenderStrategy,
- Cy = Oe({
- props: {
- as: { type: [Object, String], default: "div" },
- show: { type: [Boolean], default: null },
- unmount: { type: [Boolean], default: !0 },
- appear: { type: [Boolean], default: !1 },
- enter: { type: [String], default: "" },
- enterFrom: { type: [String], default: "" },
- enterTo: { type: [String], default: "" },
- entered: { type: [String], default: "" },
- leave: { type: [String], default: "" },
- leaveFrom: { type: [String], default: "" },
- leaveTo: { type: [String], default: "" },
- },
- emits: {
- beforeEnter: () => !0,
- afterEnter: () => !0,
- beforeLeave: () => !0,
- afterLeave: () => !0,
- },
- setup(t, { emit: e, attrs: n, slots: r, expose: o }) {
- let i = Q(0);
- function s() {
- (i.value |= ct.Opening), e("beforeEnter");
- }
- function l() {
- (i.value &= ~ct.Opening), e("afterEnter");
- }
- function a() {
- (i.value |= ct.Closing), e("beforeLeave");
- }
- function u() {
- (i.value &= ~ct.Closing), e("afterLeave");
- }
- if (!_8() && gk())
- return () =>
- Ke(
- My,
- ge(B({}, t), {
- onBeforeEnter: s,
- onAfterEnter: l,
- onBeforeLeave: a,
- onAfterLeave: u,
- }),
- r
- );
- let c = Q(null),
- d = z(() => (t.unmount ? Jr.Unmount : Jr.Hidden));
- o({ el: c, $el: c });
- let { show: f, appear: p } = C8(),
- { register: m, unregister: y } = M8(),
- v = Q(f.value ? "visible" : "hidden"),
- w = { value: !0 },
- S = tn(),
- E = { value: !1 },
- h = Sy(() => {
- !E.value &&
- v.value !== "hidden" &&
- ((v.value = "hidden"), y(S), u());
- });
- Ze(() => {
- let P = m(S);
- zt(P);
- }),
- xt(() => {
- if (d.value === Jr.Hidden && S) {
- if (f.value && v.value !== "visible") {
- v.value = "visible";
- return;
- }
- mt(v.value, {
- hidden: () => y(S),
- visible: () => m(S),
- });
- }
- });
- let b = bo(t.enter),
- g = bo(t.enterFrom),
- x = bo(t.enterTo),
- k = bo(t.entered),
- C = bo(t.leave),
- _ = bo(t.leaveFrom),
- T = bo(t.leaveTo);
- Ze(() => {
- xt(() => {
- if (v.value === "visible") {
- let P = re(c);
- if (P instanceof Comment && P.data === "")
- throw new Error(
- "Did you forget to passthrough the `ref` to the actual DOM node?"
- );
- }
- });
- });
- function R(P) {
- let D = w.value && !p.value,
- j = re(c);
- !j ||
- !(j instanceof HTMLElement) ||
- D ||
- ((E.value = !0),
- f.value && s(),
- f.value || a(),
- P(
- f.value
- ? hm(j, b, g, x, k, (M) => {
- (E.value = !1), M === Ed.Finished && l();
- })
- : hm(j, C, _, T, k, (M) => {
- (E.value = !1),
- M === Ed.Finished &&
- (Du(h) ||
- ((v.value = "hidden"),
- y(S),
- u()));
- })
- ));
- }
- return (
- Ze(() => {
- at(
- [f],
- (P, D, j) => {
- R(j), (w.value = !1);
- },
- { immediate: !0 }
- );
- }),
- wt(th, h),
- Pu(
- z(
- () =>
- mt(v.value, {
- visible: ct.Open,
- hidden: ct.Closed,
- }) | i.value
- )
- ),
- () => {
- let Pe = t,
- {
- appear: P,
- show: D,
- enter: j,
- enterFrom: M,
- enterTo: I,
- entered: $,
- leave: K,
- leaveFrom: ie,
- leaveTo: X,
- } = Pe,
- de = tt(Pe, [
- "appear",
- "show",
- "enter",
- "enterFrom",
- "enterTo",
- "entered",
- "leave",
- "leaveFrom",
- "leaveTo",
- ]),
- ze = { ref: c },
- Ee = B(
- B({}, de),
- p.value && f.value && Qs.isServer
- ? { class: be([n.class, de.class, ...b, ...g]) }
- : {}
- );
- return it({
- theirProps: Ee,
- ourProps: ze,
- slot: {},
- slots: r,
- attrs: n,
- features: _y,
- visible: v.value === "visible",
- name: "TransitionChild",
- });
- }
- );
- },
- }),
- E8 = Cy,
- My = Oe({
- inheritAttrs: !1,
- props: {
- as: { type: [Object, String], default: "div" },
- show: { type: [Boolean], default: null },
- unmount: { type: [Boolean], default: !0 },
- appear: { type: [Boolean], default: !1 },
- enter: { type: [String], default: "" },
- enterFrom: { type: [String], default: "" },
- enterTo: { type: [String], default: "" },
- entered: { type: [String], default: "" },
- leave: { type: [String], default: "" },
- leaveFrom: { type: [String], default: "" },
- leaveTo: { type: [String], default: "" },
- },
- emits: {
- beforeEnter: () => !0,
- afterEnter: () => !0,
- beforeLeave: () => !0,
- afterLeave: () => !0,
- },
- setup(t, { emit: e, attrs: n, slots: r }) {
- let o = Bi(),
- i = z(() =>
- t.show === null && o !== null
- ? (o.value & ct.Open) === ct.Open
- : t.show
- );
- xt(() => {
- if (![!0, !1].includes(i.value))
- throw new Error(
- 'A is used but it is missing a `:show="true | false"` prop.'
- );
- });
- let s = Q(i.value ? "visible" : "hidden"),
- l = Sy(() => {
- s.value = "hidden";
- }),
- a = Q(!0),
- u = { show: i, appear: z(() => t.appear || !a.value) };
- return (
- Ze(() => {
- xt(() => {
- (a.value = !1),
- i.value
- ? (s.value = "visible")
- : Du(l) || (s.value = "hidden");
- });
- }),
- wt(th, l),
- wt(eh, u),
- () => {
- let c = $i(t, [
- "show",
- "appear",
- "unmount",
- "onBeforeEnter",
- "onBeforeLeave",
- "onAfterEnter",
- "onAfterLeave",
- ]),
- d = { unmount: t.unmount };
- return it({
- ourProps: ge(B({}, d), { as: "template" }),
- theirProps: {},
- slot: {},
- slots: ge(B({}, r), {
- default: () => [
- Ke(
- E8,
- B(
- B(
- B(
- {
- onBeforeEnter: () =>
- e("beforeEnter"),
- onAfterEnter: () =>
- e("afterEnter"),
- onBeforeLeave: () =>
- e("beforeLeave"),
- onAfterLeave: () =>
- e("afterLeave"),
- },
- n
- ),
- d
- ),
- c
- ),
- r.default
- ),
- ],
- }),
- attrs: {},
- features: _y,
- visible: s.value === "visible",
- name: "Transition",
- });
- }
- );
- },
- });
-var an = "top",
- Rn = "bottom",
- Pn = "right",
- un = "left",
- nh = "auto",
- Zs = [an, Rn, Pn, un],
- Mi = "start",
- Rs = "end",
- T8 = "clippingParents",
- Ey = "viewport",
- Yi = "popper",
- A8 = "reference",
- pm = Zs.reduce(function (t, e) {
- return t.concat([e + "-" + Mi, e + "-" + Rs]);
- }, []),
- Ty = [].concat(Zs, [nh]).reduce(function (t, e) {
- return t.concat([e, e + "-" + Mi, e + "-" + Rs]);
- }, []),
- O8 = "beforeRead",
- R8 = "read",
- P8 = "afterRead",
- I8 = "beforeMain",
- N8 = "main",
- D8 = "afterMain",
- j8 = "beforeWrite",
- L8 = "write",
- $8 = "afterWrite",
- B8 = [O8, R8, P8, I8, N8, D8, j8, L8, $8];
-function ar(t) {
- return t ? (t.nodeName || "").toLowerCase() : null;
-}
-function yn(t) {
- if (t == null) return window;
- if (t.toString() !== "[object Window]") {
- var e = t.ownerDocument;
- return (e && e.defaultView) || window;
- }
- return t;
-}
-function Bo(t) {
- var e = yn(t).Element;
- return t instanceof e || t instanceof Element;
-}
-function An(t) {
- var e = yn(t).HTMLElement;
- return t instanceof e || t instanceof HTMLElement;
-}
-function rh(t) {
- if (typeof ShadowRoot == "undefined") return !1;
- var e = yn(t).ShadowRoot;
- return t instanceof e || t instanceof ShadowRoot;
-}
-function z8(t) {
- var e = t.state;
- Object.keys(e.elements).forEach(function (n) {
- var r = e.styles[n] || {},
- o = e.attributes[n] || {},
- i = e.elements[n];
- !An(i) ||
- !ar(i) ||
- (Object.assign(i.style, r),
- Object.keys(o).forEach(function (s) {
- var l = o[s];
- l === !1
- ? i.removeAttribute(s)
- : i.setAttribute(s, l === !0 ? "" : l);
- }));
- });
-}
-function H8(t) {
- var e = t.state,
- n = {
- popper: {
- position: e.options.strategy,
- left: "0",
- top: "0",
- margin: "0",
- },
- arrow: { position: "absolute" },
- reference: {},
- };
- return (
- Object.assign(e.elements.popper.style, n.popper),
- (e.styles = n),
- e.elements.arrow && Object.assign(e.elements.arrow.style, n.arrow),
- function () {
- Object.keys(e.elements).forEach(function (r) {
- var o = e.elements[r],
- i = e.attributes[r] || {},
- s = Object.keys(
- e.styles.hasOwnProperty(r) ? e.styles[r] : n[r]
- ),
- l = s.reduce(function (a, u) {
- return (a[u] = ""), a;
- }, {});
- !An(o) ||
- !ar(o) ||
- (Object.assign(o.style, l),
- Object.keys(i).forEach(function (a) {
- o.removeAttribute(a);
- }));
- });
- }
- );
-}
-const Ay = {
- name: "applyStyles",
- enabled: !0,
- phase: "write",
- fn: z8,
- effect: H8,
- requires: ["computeStyles"],
-};
-function rr(t) {
- return t.split("-")[0];
-}
-var Po = Math.max,
- wa = Math.min,
- Ei = Math.round;
-function Td() {
- var t = navigator.userAgentData;
- return t != null && t.brands && Array.isArray(t.brands)
- ? t.brands
- .map(function (e) {
- return e.brand + "/" + e.version;
- })
- .join(" ")
- : navigator.userAgent;
-}
-function Oy() {
- return !/^((?!chrome|android).)*safari/i.test(Td());
-}
-function Ti(t, e, n) {
- e === void 0 && (e = !1), n === void 0 && (n = !1);
- var r = t.getBoundingClientRect(),
- o = 1,
- i = 1;
- e &&
- An(t) &&
- ((o = (t.offsetWidth > 0 && Ei(r.width) / t.offsetWidth) || 1),
- (i = (t.offsetHeight > 0 && Ei(r.height) / t.offsetHeight) || 1));
- var s = Bo(t) ? yn(t) : window,
- l = s.visualViewport,
- a = !Oy() && n,
- u = (r.left + (a && l ? l.offsetLeft : 0)) / o,
- c = (r.top + (a && l ? l.offsetTop : 0)) / i,
- d = r.width / o,
- f = r.height / i;
- return {
- width: d,
- height: f,
- top: c,
- right: u + d,
- bottom: c + f,
- left: u,
- x: u,
- y: c,
- };
-}
-function oh(t) {
- var e = Ti(t),
- n = t.offsetWidth,
- r = t.offsetHeight;
- return (
- Math.abs(e.width - n) <= 1 && (n = e.width),
- Math.abs(e.height - r) <= 1 && (r = e.height),
- { x: t.offsetLeft, y: t.offsetTop, width: n, height: r }
- );
-}
-function Ry(t, e) {
- var n = e.getRootNode && e.getRootNode();
- if (t.contains(e)) return !0;
- if (n && rh(n)) {
- var r = e;
- do {
- if (r && t.isSameNode(r)) return !0;
- r = r.parentNode || r.host;
- } while (r);
- }
- return !1;
-}
-function Mr(t) {
- return yn(t).getComputedStyle(t);
-}
-function F8(t) {
- return ["table", "td", "th"].indexOf(ar(t)) >= 0;
-}
-function co(t) {
- return ((Bo(t) ? t.ownerDocument : t.document) || window.document)
- .documentElement;
-}
-function ju(t) {
- return ar(t) === "html"
- ? t
- : t.assignedSlot || t.parentNode || (rh(t) ? t.host : null) || co(t);
-}
-function mm(t) {
- return !An(t) || Mr(t).position === "fixed" ? null : t.offsetParent;
-}
-function V8(t) {
- var e = /firefox/i.test(Td()),
- n = /Trident/i.test(Td());
- if (n && An(t)) {
- var r = Mr(t);
- if (r.position === "fixed") return null;
- }
- var o = ju(t);
- for (
- rh(o) && (o = o.host);
- An(o) && ["html", "body"].indexOf(ar(o)) < 0;
-
- ) {
- var i = Mr(o);
- if (
- i.transform !== "none" ||
- i.perspective !== "none" ||
- i.contain === "paint" ||
- ["transform", "perspective"].indexOf(i.willChange) !== -1 ||
- (e && i.willChange === "filter") ||
- (e && i.filter && i.filter !== "none")
- )
- return o;
- o = o.parentNode;
- }
- return null;
-}
-function el(t) {
- for (var e = yn(t), n = mm(t); n && F8(n) && Mr(n).position === "static"; )
- n = mm(n);
- return n &&
- (ar(n) === "html" || (ar(n) === "body" && Mr(n).position === "static"))
- ? e
- : n || V8(t) || e;
-}
-function ih(t) {
- return ["top", "bottom"].indexOf(t) >= 0 ? "x" : "y";
-}
-function fs(t, e, n) {
- return Po(t, wa(e, n));
-}
-function W8(t, e, n) {
- var r = fs(t, e, n);
- return r > n ? n : r;
-}
-function Py() {
- return { top: 0, right: 0, bottom: 0, left: 0 };
-}
-function Iy(t) {
- return Object.assign({}, Py(), t);
-}
-function Ny(t, e) {
- return e.reduce(function (n, r) {
- return (n[r] = t), n;
- }, {});
-}
-var U8 = function (e, n) {
- return (
- (e =
- typeof e == "function"
- ? e(Object.assign({}, n.rects, { placement: n.placement }))
- : e),
- Iy(typeof e != "number" ? e : Ny(e, Zs))
- );
-};
-function K8(t) {
- var e,
- n = t.state,
- r = t.name,
- o = t.options,
- i = n.elements.arrow,
- s = n.modifiersData.popperOffsets,
- l = rr(n.placement),
- a = ih(l),
- u = [un, Pn].indexOf(l) >= 0,
- c = u ? "height" : "width";
- if (!(!i || !s)) {
- var d = U8(o.padding, n),
- f = oh(i),
- p = a === "y" ? an : un,
- m = a === "y" ? Rn : Pn,
- y =
- n.rects.reference[c] +
- n.rects.reference[a] -
- s[a] -
- n.rects.popper[c],
- v = s[a] - n.rects.reference[a],
- w = el(i),
- S = w ? (a === "y" ? w.clientHeight || 0 : w.clientWidth || 0) : 0,
- E = y / 2 - v / 2,
- h = d[p],
- b = S - f[c] - d[m],
- g = S / 2 - f[c] / 2 + E,
- x = fs(h, g, b),
- k = a;
- n.modifiersData[r] =
- ((e = {}), (e[k] = x), (e.centerOffset = x - g), e);
- }
-}
-function q8(t) {
- var e = t.state,
- n = t.options,
- r = n.element,
- o = r === void 0 ? "[data-popper-arrow]" : r;
- o != null &&
- ((typeof o == "string" &&
- ((o = e.elements.popper.querySelector(o)), !o)) ||
- (Ry(e.elements.popper, o) && (e.elements.arrow = o)));
-}
-const J8 = {
- name: "arrow",
- enabled: !0,
- phase: "main",
- fn: K8,
- effect: q8,
- requires: ["popperOffsets"],
- requiresIfExists: ["preventOverflow"],
-};
-function Ai(t) {
- return t.split("-")[1];
-}
-var G8 = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
-function Y8(t, e) {
- var n = t.x,
- r = t.y,
- o = e.devicePixelRatio || 1;
- return { x: Ei(n * o) / o || 0, y: Ei(r * o) / o || 0 };
-}
-function gm(t) {
- var e,
- n = t.popper,
- r = t.popperRect,
- o = t.placement,
- i = t.variation,
- s = t.offsets,
- l = t.position,
- a = t.gpuAcceleration,
- u = t.adaptive,
- c = t.roundOffsets,
- d = t.isFixed,
- f = s.x,
- p = f === void 0 ? 0 : f,
- m = s.y,
- y = m === void 0 ? 0 : m,
- v = typeof c == "function" ? c({ x: p, y }) : { x: p, y };
- (p = v.x), (y = v.y);
- var w = s.hasOwnProperty("x"),
- S = s.hasOwnProperty("y"),
- E = un,
- h = an,
- b = window;
- if (u) {
- var g = el(n),
- x = "clientHeight",
- k = "clientWidth";
- if (
- (g === yn(n) &&
- ((g = co(n)),
- Mr(g).position !== "static" &&
- l === "absolute" &&
- ((x = "scrollHeight"), (k = "scrollWidth"))),
- (g = g),
- o === an || ((o === un || o === Pn) && i === Rs))
- ) {
- h = Rn;
- var C =
- d && g === b && b.visualViewport
- ? b.visualViewport.height
- : g[x];
- (y -= C - r.height), (y *= a ? 1 : -1);
- }
- if (o === un || ((o === an || o === Rn) && i === Rs)) {
- E = Pn;
- var _ =
- d && g === b && b.visualViewport
- ? b.visualViewport.width
- : g[k];
- (p -= _ - r.width), (p *= a ? 1 : -1);
- }
- }
- var T = Object.assign({ position: l }, u && G8),
- R = c === !0 ? Y8({ x: p, y }, yn(n)) : { x: p, y };
- if (((p = R.x), (y = R.y), a)) {
- var P;
- return Object.assign(
- {},
- T,
- ((P = {}),
- (P[h] = S ? "0" : ""),
- (P[E] = w ? "0" : ""),
- (P.transform =
- (b.devicePixelRatio || 1) <= 1
- ? "translate(" + p + "px, " + y + "px)"
- : "translate3d(" + p + "px, " + y + "px, 0)"),
- P)
- );
- }
- return Object.assign(
- {},
- T,
- ((e = {}),
- (e[h] = S ? y + "px" : ""),
- (e[E] = w ? p + "px" : ""),
- (e.transform = ""),
- e)
- );
-}
-function Q8(t) {
- var e = t.state,
- n = t.options,
- r = n.gpuAcceleration,
- o = r === void 0 ? !0 : r,
- i = n.adaptive,
- s = i === void 0 ? !0 : i,
- l = n.roundOffsets,
- a = l === void 0 ? !0 : l,
- u = {
- placement: rr(e.placement),
- variation: Ai(e.placement),
- popper: e.elements.popper,
- popperRect: e.rects.popper,
- gpuAcceleration: o,
- isFixed: e.options.strategy === "fixed",
- };
- e.modifiersData.popperOffsets != null &&
- (e.styles.popper = Object.assign(
- {},
- e.styles.popper,
- gm(
- Object.assign({}, u, {
- offsets: e.modifiersData.popperOffsets,
- position: e.options.strategy,
- adaptive: s,
- roundOffsets: a,
- })
- )
- )),
- e.modifiersData.arrow != null &&
- (e.styles.arrow = Object.assign(
- {},
- e.styles.arrow,
- gm(
- Object.assign({}, u, {
- offsets: e.modifiersData.arrow,
- position: "absolute",
- adaptive: !1,
- roundOffsets: a,
- })
- )
- )),
- (e.attributes.popper = Object.assign({}, e.attributes.popper, {
- "data-popper-placement": e.placement,
- }));
-}
-const X8 = {
- name: "computeStyles",
- enabled: !0,
- phase: "beforeWrite",
- fn: Q8,
- data: {},
-};
-var Sl = { passive: !0 };
-function Z8(t) {
- var e = t.state,
- n = t.instance,
- r = t.options,
- o = r.scroll,
- i = o === void 0 ? !0 : o,
- s = r.resize,
- l = s === void 0 ? !0 : s,
- a = yn(e.elements.popper),
- u = [].concat(e.scrollParents.reference, e.scrollParents.popper);
- return (
- i &&
- u.forEach(function (c) {
- c.addEventListener("scroll", n.update, Sl);
- }),
- l && a.addEventListener("resize", n.update, Sl),
- function () {
- i &&
- u.forEach(function (c) {
- c.removeEventListener("scroll", n.update, Sl);
- }),
- l && a.removeEventListener("resize", n.update, Sl);
- }
- );
-}
-const eS = {
- name: "eventListeners",
- enabled: !0,
- phase: "write",
- fn: function () {},
- effect: Z8,
- data: {},
-};
-var tS = { left: "right", right: "left", bottom: "top", top: "bottom" };
-function Kl(t) {
- return t.replace(/left|right|bottom|top/g, function (e) {
- return tS[e];
- });
-}
-var nS = { start: "end", end: "start" };
-function ym(t) {
- return t.replace(/start|end/g, function (e) {
- return nS[e];
- });
-}
-function sh(t) {
- var e = yn(t),
- n = e.pageXOffset,
- r = e.pageYOffset;
- return { scrollLeft: n, scrollTop: r };
-}
-function lh(t) {
- return Ti(co(t)).left + sh(t).scrollLeft;
-}
-function rS(t, e) {
- var n = yn(t),
- r = co(t),
- o = n.visualViewport,
- i = r.clientWidth,
- s = r.clientHeight,
- l = 0,
- a = 0;
- if (o) {
- (i = o.width), (s = o.height);
- var u = Oy();
- (u || (!u && e === "fixed")) && ((l = o.offsetLeft), (a = o.offsetTop));
- }
- return { width: i, height: s, x: l + lh(t), y: a };
-}
-function oS(t) {
- var e,
- n = co(t),
- r = sh(t),
- o = (e = t.ownerDocument) == null ? void 0 : e.body,
- i = Po(
- n.scrollWidth,
- n.clientWidth,
- o ? o.scrollWidth : 0,
- o ? o.clientWidth : 0
- ),
- s = Po(
- n.scrollHeight,
- n.clientHeight,
- o ? o.scrollHeight : 0,
- o ? o.clientHeight : 0
- ),
- l = -r.scrollLeft + lh(t),
- a = -r.scrollTop;
- return (
- Mr(o || n).direction === "rtl" &&
- (l += Po(n.clientWidth, o ? o.clientWidth : 0) - i),
- { width: i, height: s, x: l, y: a }
- );
-}
-function ah(t) {
- var e = Mr(t),
- n = e.overflow,
- r = e.overflowX,
- o = e.overflowY;
- return /auto|scroll|overlay|hidden/.test(n + o + r);
-}
-function Dy(t) {
- return ["html", "body", "#document"].indexOf(ar(t)) >= 0
- ? t.ownerDocument.body
- : An(t) && ah(t)
- ? t
- : Dy(ju(t));
-}
-function hs(t, e) {
- var n;
- e === void 0 && (e = []);
- var r = Dy(t),
- o = r === ((n = t.ownerDocument) == null ? void 0 : n.body),
- i = yn(r),
- s = o ? [i].concat(i.visualViewport || [], ah(r) ? r : []) : r,
- l = e.concat(s);
- return o ? l : l.concat(hs(ju(s)));
-}
-function Ad(t) {
- return Object.assign({}, t, {
- left: t.x,
- top: t.y,
- right: t.x + t.width,
- bottom: t.y + t.height,
- });
-}
-function iS(t, e) {
- var n = Ti(t, !1, e === "fixed");
- return (
- (n.top = n.top + t.clientTop),
- (n.left = n.left + t.clientLeft),
- (n.bottom = n.top + t.clientHeight),
- (n.right = n.left + t.clientWidth),
- (n.width = t.clientWidth),
- (n.height = t.clientHeight),
- (n.x = n.left),
- (n.y = n.top),
- n
- );
-}
-function vm(t, e, n) {
- return e === Ey ? Ad(rS(t, n)) : Bo(e) ? iS(e, n) : Ad(oS(co(t)));
-}
-function sS(t) {
- var e = hs(ju(t)),
- n = ["absolute", "fixed"].indexOf(Mr(t).position) >= 0,
- r = n && An(t) ? el(t) : t;
- return Bo(r)
- ? e.filter(function (o) {
- return Bo(o) && Ry(o, r) && ar(o) !== "body";
- })
- : [];
-}
-function lS(t, e, n, r) {
- var o = e === "clippingParents" ? sS(t) : [].concat(e),
- i = [].concat(o, [n]),
- s = i[0],
- l = i.reduce(function (a, u) {
- var c = vm(t, u, r);
- return (
- (a.top = Po(c.top, a.top)),
- (a.right = wa(c.right, a.right)),
- (a.bottom = wa(c.bottom, a.bottom)),
- (a.left = Po(c.left, a.left)),
- a
- );
- }, vm(t, s, r));
- return (
- (l.width = l.right - l.left),
- (l.height = l.bottom - l.top),
- (l.x = l.left),
- (l.y = l.top),
- l
- );
-}
-function jy(t) {
- var e = t.reference,
- n = t.element,
- r = t.placement,
- o = r ? rr(r) : null,
- i = r ? Ai(r) : null,
- s = e.x + e.width / 2 - n.width / 2,
- l = e.y + e.height / 2 - n.height / 2,
- a;
- switch (o) {
- case an:
- a = { x: s, y: e.y - n.height };
- break;
- case Rn:
- a = { x: s, y: e.y + e.height };
- break;
- case Pn:
- a = { x: e.x + e.width, y: l };
- break;
- case un:
- a = { x: e.x - n.width, y: l };
- break;
- default:
- a = { x: e.x, y: e.y };
- }
- var u = o ? ih(o) : null;
- if (u != null) {
- var c = u === "y" ? "height" : "width";
- switch (i) {
- case Mi:
- a[u] = a[u] - (e[c] / 2 - n[c] / 2);
- break;
- case Rs:
- a[u] = a[u] + (e[c] / 2 - n[c] / 2);
- break;
- }
- }
- return a;
-}
-function Ps(t, e) {
- e === void 0 && (e = {});
- var n = e,
- r = n.placement,
- o = r === void 0 ? t.placement : r,
- i = n.strategy,
- s = i === void 0 ? t.strategy : i,
- l = n.boundary,
- a = l === void 0 ? T8 : l,
- u = n.rootBoundary,
- c = u === void 0 ? Ey : u,
- d = n.elementContext,
- f = d === void 0 ? Yi : d,
- p = n.altBoundary,
- m = p === void 0 ? !1 : p,
- y = n.padding,
- v = y === void 0 ? 0 : y,
- w = Iy(typeof v != "number" ? v : Ny(v, Zs)),
- S = f === Yi ? A8 : Yi,
- E = t.rects.popper,
- h = t.elements[m ? S : f],
- b = lS(Bo(h) ? h : h.contextElement || co(t.elements.popper), a, c, s),
- g = Ti(t.elements.reference),
- x = jy({
- reference: g,
- element: E,
- strategy: "absolute",
- placement: o,
- }),
- k = Ad(Object.assign({}, E, x)),
- C = f === Yi ? k : g,
- _ = {
- top: b.top - C.top + w.top,
- bottom: C.bottom - b.bottom + w.bottom,
- left: b.left - C.left + w.left,
- right: C.right - b.right + w.right,
- },
- T = t.modifiersData.offset;
- if (f === Yi && T) {
- var R = T[o];
- Object.keys(_).forEach(function (P) {
- var D = [Pn, Rn].indexOf(P) >= 0 ? 1 : -1,
- j = [an, Rn].indexOf(P) >= 0 ? "y" : "x";
- _[P] += R[j] * D;
- });
- }
- return _;
-}
-function aS(t, e) {
- e === void 0 && (e = {});
- var n = e,
- r = n.placement,
- o = n.boundary,
- i = n.rootBoundary,
- s = n.padding,
- l = n.flipVariations,
- a = n.allowedAutoPlacements,
- u = a === void 0 ? Ty : a,
- c = Ai(r),
- d = c
- ? l
- ? pm
- : pm.filter(function (m) {
- return Ai(m) === c;
- })
- : Zs,
- f = d.filter(function (m) {
- return u.indexOf(m) >= 0;
- });
- f.length === 0 && (f = d);
- var p = f.reduce(function (m, y) {
- return (
- (m[y] = Ps(t, {
- placement: y,
- boundary: o,
- rootBoundary: i,
- padding: s,
- })[rr(y)]),
- m
- );
- }, {});
- return Object.keys(p).sort(function (m, y) {
- return p[m] - p[y];
- });
-}
-function uS(t) {
- if (rr(t) === nh) return [];
- var e = Kl(t);
- return [ym(t), e, ym(e)];
-}
-function cS(t) {
- var e = t.state,
- n = t.options,
- r = t.name;
- if (!e.modifiersData[r]._skip) {
- for (
- var o = n.mainAxis,
- i = o === void 0 ? !0 : o,
- s = n.altAxis,
- l = s === void 0 ? !0 : s,
- a = n.fallbackPlacements,
- u = n.padding,
- c = n.boundary,
- d = n.rootBoundary,
- f = n.altBoundary,
- p = n.flipVariations,
- m = p === void 0 ? !0 : p,
- y = n.allowedAutoPlacements,
- v = e.options.placement,
- w = rr(v),
- S = w === v,
- E = a || (S || !m ? [Kl(v)] : uS(v)),
- h = [v].concat(E).reduce(function (Ee, Pe) {
- return Ee.concat(
- rr(Pe) === nh
- ? aS(e, {
- placement: Pe,
- boundary: c,
- rootBoundary: d,
- padding: u,
- flipVariations: m,
- allowedAutoPlacements: y,
- })
- : Pe
- );
- }, []),
- b = e.rects.reference,
- g = e.rects.popper,
- x = new Map(),
- k = !0,
- C = h[0],
- _ = 0;
- _ < h.length;
- _++
- ) {
- var T = h[_],
- R = rr(T),
- P = Ai(T) === Mi,
- D = [an, Rn].indexOf(R) >= 0,
- j = D ? "width" : "height",
- M = Ps(e, {
- placement: T,
- boundary: c,
- rootBoundary: d,
- altBoundary: f,
- padding: u,
- }),
- I = D ? (P ? Pn : un) : P ? Rn : an;
- b[j] > g[j] && (I = Kl(I));
- var $ = Kl(I),
- K = [];
- if (
- (i && K.push(M[R] <= 0),
- l && K.push(M[I] <= 0, M[$] <= 0),
- K.every(function (Ee) {
- return Ee;
- }))
- ) {
- (C = T), (k = !1);
- break;
- }
- x.set(T, K);
- }
- if (k)
- for (
- var ie = m ? 3 : 1,
- X = function (Pe) {
- var De = h.find(function (H) {
- var Z = x.get(H);
- if (Z)
- return Z.slice(0, Pe).every(function (oe) {
- return oe;
- });
- });
- if (De) return (C = De), "break";
- },
- de = ie;
- de > 0;
- de--
- ) {
- var ze = X(de);
- if (ze === "break") break;
- }
- e.placement !== C &&
- ((e.modifiersData[r]._skip = !0),
- (e.placement = C),
- (e.reset = !0));
- }
-}
-const dS = {
- name: "flip",
- enabled: !0,
- phase: "main",
- fn: cS,
- requiresIfExists: ["offset"],
- data: { _skip: !1 },
-};
-function bm(t, e, n) {
- return (
- n === void 0 && (n = { x: 0, y: 0 }),
- {
- top: t.top - e.height - n.y,
- right: t.right - e.width + n.x,
- bottom: t.bottom - e.height + n.y,
- left: t.left - e.width - n.x,
- }
- );
-}
-function wm(t) {
- return [an, Pn, Rn, un].some(function (e) {
- return t[e] >= 0;
- });
-}
-function fS(t) {
- var e = t.state,
- n = t.name,
- r = e.rects.reference,
- o = e.rects.popper,
- i = e.modifiersData.preventOverflow,
- s = Ps(e, { elementContext: "reference" }),
- l = Ps(e, { altBoundary: !0 }),
- a = bm(s, r),
- u = bm(l, o, i),
- c = wm(a),
- d = wm(u);
- (e.modifiersData[n] = {
- referenceClippingOffsets: a,
- popperEscapeOffsets: u,
- isReferenceHidden: c,
- hasPopperEscaped: d,
- }),
- (e.attributes.popper = Object.assign({}, e.attributes.popper, {
- "data-popper-reference-hidden": c,
- "data-popper-escaped": d,
- }));
-}
-const hS = {
- name: "hide",
- enabled: !0,
- phase: "main",
- requiresIfExists: ["preventOverflow"],
- fn: fS,
-};
-function pS(t, e, n) {
- var r = rr(t),
- o = [un, an].indexOf(r) >= 0 ? -1 : 1,
- i =
- typeof n == "function"
- ? n(Object.assign({}, e, { placement: t }))
- : n,
- s = i[0],
- l = i[1];
- return (
- (s = s || 0),
- (l = (l || 0) * o),
- [un, Pn].indexOf(r) >= 0 ? { x: l, y: s } : { x: s, y: l }
- );
-}
-function mS(t) {
- var e = t.state,
- n = t.options,
- r = t.name,
- o = n.offset,
- i = o === void 0 ? [0, 0] : o,
- s = Ty.reduce(function (c, d) {
- return (c[d] = pS(d, e.rects, i)), c;
- }, {}),
- l = s[e.placement],
- a = l.x,
- u = l.y;
- e.modifiersData.popperOffsets != null &&
- ((e.modifiersData.popperOffsets.x += a),
- (e.modifiersData.popperOffsets.y += u)),
- (e.modifiersData[r] = s);
-}
-const gS = {
- name: "offset",
- enabled: !0,
- phase: "main",
- requires: ["popperOffsets"],
- fn: mS,
-};
-function yS(t) {
- var e = t.state,
- n = t.name;
- e.modifiersData[n] = jy({
- reference: e.rects.reference,
- element: e.rects.popper,
- strategy: "absolute",
- placement: e.placement,
- });
-}
-const vS = {
- name: "popperOffsets",
- enabled: !0,
- phase: "read",
- fn: yS,
- data: {},
-};
-function bS(t) {
- return t === "x" ? "y" : "x";
-}
-function wS(t) {
- var e = t.state,
- n = t.options,
- r = t.name,
- o = n.mainAxis,
- i = o === void 0 ? !0 : o,
- s = n.altAxis,
- l = s === void 0 ? !1 : s,
- a = n.boundary,
- u = n.rootBoundary,
- c = n.altBoundary,
- d = n.padding,
- f = n.tether,
- p = f === void 0 ? !0 : f,
- m = n.tetherOffset,
- y = m === void 0 ? 0 : m,
- v = Ps(e, { boundary: a, rootBoundary: u, padding: d, altBoundary: c }),
- w = rr(e.placement),
- S = Ai(e.placement),
- E = !S,
- h = ih(w),
- b = bS(h),
- g = e.modifiersData.popperOffsets,
- x = e.rects.reference,
- k = e.rects.popper,
- C =
- typeof y == "function"
- ? y(Object.assign({}, e.rects, { placement: e.placement }))
- : y,
- _ =
- typeof C == "number"
- ? { mainAxis: C, altAxis: C }
- : Object.assign({ mainAxis: 0, altAxis: 0 }, C),
- T = e.modifiersData.offset ? e.modifiersData.offset[e.placement] : null,
- R = { x: 0, y: 0 };
- if (g) {
- if (i) {
- var P,
- D = h === "y" ? an : un,
- j = h === "y" ? Rn : Pn,
- M = h === "y" ? "height" : "width",
- I = g[h],
- $ = I + v[D],
- K = I - v[j],
- ie = p ? -k[M] / 2 : 0,
- X = S === Mi ? x[M] : k[M],
- de = S === Mi ? -k[M] : -x[M],
- ze = e.elements.arrow,
- Ee = p && ze ? oh(ze) : { width: 0, height: 0 },
- Pe = e.modifiersData["arrow#persistent"]
- ? e.modifiersData["arrow#persistent"].padding
- : Py(),
- De = Pe[D],
- H = Pe[j],
- Z = fs(0, x[M], Ee[M]),
- oe = E
- ? x[M] / 2 - ie - Z - De - _.mainAxis
- : X - Z - De - _.mainAxis,
- ce = E
- ? -x[M] / 2 + ie + Z + H + _.mainAxis
- : de + Z + H + _.mainAxis,
- He = e.elements.arrow && el(e.elements.arrow),
- Ye = He
- ? h === "y"
- ? He.clientTop || 0
- : He.clientLeft || 0
- : 0,
- A = (P = T == null ? void 0 : T[h]) != null ? P : 0,
- O = I + oe - A - Ye,
- L = I + ce - A,
- q = fs(p ? wa($, O) : $, I, p ? Po(K, L) : K);
- (g[h] = q), (R[h] = q - I);
- }
- if (l) {
- var U,
- ee = h === "x" ? an : un,
- ae = h === "x" ? Rn : Pn,
- Y = g[b],
- te = b === "y" ? "height" : "width",
- G = Y + v[ee],
- ue = Y - v[ae],
- ye = [an, un].indexOf(w) !== -1,
- me = (U = T == null ? void 0 : T[b]) != null ? U : 0,
- _e = ye ? G : Y - x[te] - k[te] - me + _.altAxis,
- $e = ye ? Y + x[te] + k[te] - me - _.altAxis : ue,
- Qe = p && ye ? W8(_e, Y, $e) : fs(p ? _e : G, Y, p ? $e : ue);
- (g[b] = Qe), (R[b] = Qe - Y);
- }
- e.modifiersData[r] = R;
- }
-}
-const xS = {
- name: "preventOverflow",
- enabled: !0,
- phase: "main",
- fn: wS,
- requiresIfExists: ["offset"],
-};
-function kS(t) {
- return { scrollLeft: t.scrollLeft, scrollTop: t.scrollTop };
-}
-function SS(t) {
- return t === yn(t) || !An(t) ? sh(t) : kS(t);
-}
-function _S(t) {
- var e = t.getBoundingClientRect(),
- n = Ei(e.width) / t.offsetWidth || 1,
- r = Ei(e.height) / t.offsetHeight || 1;
- return n !== 1 || r !== 1;
-}
-function CS(t, e, n) {
- n === void 0 && (n = !1);
- var r = An(e),
- o = An(e) && _S(e),
- i = co(e),
- s = Ti(t, o, n),
- l = { scrollLeft: 0, scrollTop: 0 },
- a = { x: 0, y: 0 };
- return (
- (r || (!r && !n)) &&
- ((ar(e) !== "body" || ah(i)) && (l = SS(e)),
- An(e)
- ? ((a = Ti(e, !0)), (a.x += e.clientLeft), (a.y += e.clientTop))
- : i && (a.x = lh(i))),
- {
- x: s.left + l.scrollLeft - a.x,
- y: s.top + l.scrollTop - a.y,
- width: s.width,
- height: s.height,
- }
- );
-}
-function MS(t) {
- var e = new Map(),
- n = new Set(),
- r = [];
- t.forEach(function (i) {
- e.set(i.name, i);
- });
- function o(i) {
- n.add(i.name);
- var s = [].concat(i.requires || [], i.requiresIfExists || []);
- s.forEach(function (l) {
- if (!n.has(l)) {
- var a = e.get(l);
- a && o(a);
- }
- }),
- r.push(i);
- }
- return (
- t.forEach(function (i) {
- n.has(i.name) || o(i);
- }),
- r
- );
-}
-function ES(t) {
- var e = MS(t);
- return B8.reduce(function (n, r) {
- return n.concat(
- e.filter(function (o) {
- return o.phase === r;
- })
- );
- }, []);
-}
-function TS(t) {
- var e;
- return function () {
- return (
- e ||
- (e = new Promise(function (n) {
- Promise.resolve().then(function () {
- (e = void 0), n(t());
- });
- })),
- e
- );
- };
-}
-function AS(t) {
- var e = t.reduce(function (n, r) {
- var o = n[r.name];
- return (
- (n[r.name] = o
- ? Object.assign({}, o, r, {
- options: Object.assign({}, o.options, r.options),
- data: Object.assign({}, o.data, r.data),
- })
- : r),
- n
- );
- }, {});
- return Object.keys(e).map(function (n) {
- return e[n];
- });
-}
-var xm = { placement: "bottom", modifiers: [], strategy: "absolute" };
-function km() {
- for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++)
- e[n] = arguments[n];
- return !e.some(function (r) {
- return !(r && typeof r.getBoundingClientRect == "function");
- });
-}
-function OS(t) {
- t === void 0 && (t = {});
- var e = t,
- n = e.defaultModifiers,
- r = n === void 0 ? [] : n,
- o = e.defaultOptions,
- i = o === void 0 ? xm : o;
- return function (l, a, u) {
- u === void 0 && (u = i);
- var c = {
- placement: "bottom",
- orderedModifiers: [],
- options: Object.assign({}, xm, i),
- modifiersData: {},
- elements: { reference: l, popper: a },
- attributes: {},
- styles: {},
- },
- d = [],
- f = !1,
- p = {
- state: c,
- setOptions: function (w) {
- var S = typeof w == "function" ? w(c.options) : w;
- y(),
- (c.options = Object.assign({}, i, c.options, S)),
- (c.scrollParents = {
- reference: Bo(l)
- ? hs(l)
- : l.contextElement
- ? hs(l.contextElement)
- : [],
- popper: hs(a),
- });
- var E = ES(AS([].concat(r, c.options.modifiers)));
- return (
- (c.orderedModifiers = E.filter(function (h) {
- return h.enabled;
- })),
- m(),
- p.update()
- );
- },
- forceUpdate: function () {
- if (!f) {
- var w = c.elements,
- S = w.reference,
- E = w.popper;
- if (km(S, E)) {
- (c.rects = {
- reference: CS(
- S,
- el(E),
- c.options.strategy === "fixed"
- ),
- popper: oh(E),
- }),
- (c.reset = !1),
- (c.placement = c.options.placement),
- c.orderedModifiers.forEach(function (_) {
- return (c.modifiersData[_.name] =
- Object.assign({}, _.data));
- });
- for (
- var h = 0;
- h < c.orderedModifiers.length;
- h++
- ) {
- if (c.reset === !0) {
- (c.reset = !1), (h = -1);
- continue;
- }
- var b = c.orderedModifiers[h],
- g = b.fn,
- x = b.options,
- k = x === void 0 ? {} : x,
- C = b.name;
- typeof g == "function" &&
- (c =
- g({
- state: c,
- options: k,
- name: C,
- instance: p,
- }) || c);
- }
- }
- }
- },
- update: TS(function () {
- return new Promise(function (v) {
- p.forceUpdate(), v(c);
- });
- }),
- destroy: function () {
- y(), (f = !0);
- },
- };
- if (!km(l, a)) return p;
- p.setOptions(u).then(function (v) {
- !f && u.onFirstUpdate && u.onFirstUpdate(v);
- });
- function m() {
- c.orderedModifiers.forEach(function (v) {
- var w = v.name,
- S = v.options,
- E = S === void 0 ? {} : S,
- h = v.effect;
- if (typeof h == "function") {
- var b = h({ state: c, name: w, instance: p, options: E }),
- g = function () {};
- d.push(b || g);
- }
- });
- }
- function y() {
- d.forEach(function (v) {
- return v();
- }),
- (d = []);
- }
- return p;
- };
-}
-var RS = [eS, vS, X8, Ay, gS, dS, xS, J8, hS],
- Ly = OS({ defaultModifiers: RS });
-const PS = {
- name: "Popover",
- inheritAttrs: !1,
- props: {
- show: { default: void 0 },
- trigger: { type: String, default: "click" },
- hoverDelay: { type: Number, default: 0 },
- leaveDelay: { type: Number, default: 0 },
- placement: { type: String, default: "bottom-start" },
- popoverClass: [String, Object, Array],
- transition: { default: null },
- hideOnBlur: { default: !0 },
- },
- emits: ["open", "close", "update:show"],
- expose: ["open", "close"],
- data() {
- return {
- showPopup: !1,
- targetWidth: null,
- pointerOverTargetOrPopup: !1,
- };
- },
- watch: {
- show(t) {
- t ? this.open() : this.close();
- },
- },
- created() {
- if (
- typeof window != "undefined" &&
- !document.getElementById("frappeui-popper-root")
- ) {
- const t = document.createElement("div");
- (t.id = "frappeui-popper-root"), document.body.appendChild(t);
- }
- },
- mounted() {
- (this.listener = (t) => {
- [this.$refs.reference, this.$refs.popover].some(
- (r) => r && (t.target === r || r.contains(t.target))
- ) || this.close();
- }),
- this.hideOnBlur &&
- document.addEventListener("click", this.listener),
- this.$nextTick(() => {
- this.targetWidth = this.$refs.target.clientWidth;
- });
- },
- beforeDestroy() {
- this.popper && this.popper.destroy(),
- document.removeEventListener("click", this.listener);
- },
- computed: {
- showPropPassed() {
- return this.show != null;
- },
- isOpen: {
- get() {
- return this.showPropPassed ? this.show : this.showPopup;
- },
- set(t) {
- (t = !!t),
- this.showPropPassed
- ? this.$emit("update:show", t)
- : (this.showPopup = t),
- t === !1
- ? this.$emit("close")
- : t === !0 && this.$emit("open");
- },
- },
- popupTransition() {
- let t = {
- default: {
- enterActiveClass: "transition duration-150 ease-out",
- enterFromClass: "translate-y-1 opacity-0",
- enterToClass: "translate-y-0 opacity-100",
- leaveActiveClass: "transition duration-150 ease-in",
- leaveFromClass: "translate-y-0 opacity-100",
- leaveToClass: "translate-y-1 opacity-0",
- },
- };
- return typeof this.transition == "string"
- ? t[this.transition]
- : this.transition;
- },
- },
- methods: {
- setupPopper() {
- this.popper
- ? this.updatePosition()
- : (this.popper = Ly(
- this.$refs.reference,
- this.$refs.popover,
- { placement: this.placement }
- ));
- },
- updatePosition() {
- this.popper && this.popper.update();
- },
- togglePopover(t) {
- t instanceof Event && (t = null),
- t == null && (t = !this.isOpen),
- (t = !!t),
- t ? this.open() : this.close();
- },
- open() {
- (this.isOpen = !0), this.$nextTick(() => this.setupPopper());
- },
- close() {
- this.isOpen = !1;
- },
- onMouseover() {
- (this.pointerOverTargetOrPopup = !0),
- this.leaveTimer &&
- (clearTimeout(this.leaveTimer),
- (this.leaveTimer = null)),
- this.trigger === "hover" &&
- (this.hoverDelay
- ? (this.hoverTimer = setTimeout(() => {
- this.pointerOverTargetOrPopup &&
- this.open();
- }, Number(this.hoverDelay) * 1e3))
- : this.open());
- },
- onMouseleave(t) {
- (this.pointerOverTargetOrPopup = !1),
- this.hoverTimer &&
- (clearTimeout(this.hoverTimer),
- (this.hoverTimer = null)),
- this.trigger === "hover" &&
- (this.leaveTimer && clearTimeout(this.leaveTimer),
- this.leaveDelay
- ? (this.leaveTimer = setTimeout(() => {
- this.pointerOverTargetOrPopup ||
- this.close();
- }, Number(this.leaveDelay) * 1e3))
- : this.pointerOverTargetOrPopup || this.close());
- },
- },
- },
- IS = { ref: "reference" },
- NS = { class: "rounded-lg border border-gray-100 bg-white shadow-xl" };
-function DS(t, e, n, r, o, i) {
- return (
- N(),
- W(
- "div",
- IS,
- [
- V(
- "div",
- {
- ref: "target",
- class: be(["flex", t.$attrs.class]),
- onClick:
- e[0] ||
- (e[0] = (...s) =>
- i.updatePosition && i.updatePosition(...s)),
- onFocusin:
- e[1] ||
- (e[1] = (...s) =>
- i.updatePosition && i.updatePosition(...s)),
- onKeydown:
- e[2] ||
- (e[2] = (...s) =>
- i.updatePosition && i.updatePosition(...s)),
- onMouseover:
- e[3] ||
- (e[3] = (...s) =>
- i.onMouseover && i.onMouseover(...s)),
- onMouseleave:
- e[4] ||
- (e[4] = (...s) =>
- i.onMouseleave && i.onMouseleave(...s)),
- },
- [
- xe(
- t.$slots,
- "target",
- Et(
- Lt({
- togglePopover: i.togglePopover,
- updatePosition: i.updatePosition,
- open: i.open,
- close: i.close,
- isOpen: i.isOpen,
- })
- )
- ),
- ],
- 34
- ),
- (N(),
- Te(_u, { to: "#frappeui-popper-root" }, [
- V(
- "div",
- {
- ref: "popover",
- class: be([
- n.popoverClass,
- "popover-container relative z-[100]",
- ]),
- style: ao({
- minWidth: o.targetWidth
- ? o.targetWidth + "px"
- : null,
- }),
- onMouseover:
- e[5] ||
- (e[5] = (s) =>
- (o.pointerOverTargetOrPopup = !0)),
- onMouseleave:
- e[6] ||
- (e[6] = (...s) =>
- i.onMouseleave && i.onMouseleave(...s)),
- },
- [
- ve(
- Tu,
- Et(Lt(i.popupTransition)),
- {
- default: Ce(() => [
- ca(
- V(
- "div",
- null,
- [
- xe(
- t.$slots,
- "body",
- Et(
- Lt({
- togglePopover:
- i.togglePopover,
- updatePosition:
- i.updatePosition,
- open: i.open,
- close: i.close,
- isOpen: i.isOpen,
- })
- ),
- () => [
- V("div", NS, [
- xe(
- t.$slots,
- "body-main",
- Et(
- Lt({
- togglePopover:
- i.togglePopover,
- updatePosition:
- i.updatePosition,
- open: i.open,
- close: i.close,
- isOpen: i.isOpen,
- })
- )
- ),
- ]),
- ]
- ),
- ],
- 512
- ),
- [[ma, i.isOpen]]
- ),
- ]),
- _: 3,
- },
- 16
- ),
- ],
- 38
- ),
- ])),
- ],
- 512
- )
- );
-}
-const tl = Le(PS, [["render", DS]]);
-var $y =
- typeof globalThis != "undefined"
- ? globalThis
- : typeof window != "undefined"
- ? window
- : typeof global != "undefined"
- ? global
- : typeof self != "undefined"
- ? self
- : {};
-function uh(t) {
- return t &&
- t.__esModule &&
- Object.prototype.hasOwnProperty.call(t, "default")
- ? t.default
- : t;
-}
-var By = { exports: {} };
-(function (t, e) {
- (function (r, o) {
- t.exports = o();
- })(typeof self != "undefined" ? self : $y, function () {
- return (function (n) {
- var r = {};
- function o(i) {
- if (r[i]) return r[i].exports;
- var s = (r[i] = { i, l: !1, exports: {} });
- return (
- n[i].call(s.exports, s, s.exports, o), (s.l = !0), s.exports
- );
- }
- return (
- (o.m = n),
- (o.c = r),
- (o.d = function (i, s, l) {
- o.o(i, s) ||
- Object.defineProperty(i, s, {
- configurable: !1,
- enumerable: !0,
- get: l,
- });
- }),
- (o.r = function (i) {
- Object.defineProperty(i, "__esModule", { value: !0 });
- }),
- (o.n = function (i) {
- var s =
- i && i.__esModule
- ? function () {
- return i.default;
- }
- : function () {
- return i;
- };
- return o.d(s, "a", s), s;
- }),
- (o.o = function (i, s) {
- return Object.prototype.hasOwnProperty.call(i, s);
- }),
- (o.p = ""),
- o((o.s = 0))
- );
- })({
- "./dist/icons.json": function (n) {
- n.exports = {
- activity:
- ' ',
- airplay:
- ' ',
- "alert-circle":
- ' ',
- "alert-octagon":
- ' ',
- "alert-triangle":
- ' ',
- "align-center":
- ' ',
- "align-justify":
- ' ',
- "align-left":
- ' ',
- "align-right":
- ' ',
- anchor: ' ',
- aperture:
- ' ',
- archive:
- ' ',
- "arrow-down-circle":
- ' ',
- "arrow-down-left":
- ' ',
- "arrow-down-right":
- ' ',
- "arrow-down":
- ' ',
- "arrow-left-circle":
- ' ',
- "arrow-left":
- ' ',
- "arrow-right-circle":
- ' ',
- "arrow-right":
- ' ',
- "arrow-up-circle":
- ' ',
- "arrow-up-left":
- ' ',
- "arrow-up-right":
- ' ',
- "arrow-up":
- ' ',
- "at-sign":
- ' ',
- award: ' ',
- "bar-chart-2":
- ' ',
- "bar-chart":
- ' ',
- "battery-charging":
- ' ',
- battery:
- ' ',
- "bell-off":
- ' ',
- bell: ' ',
- bluetooth:
- ' ',
- bold: ' ',
- "book-open":
- ' ',
- book: ' ',
- bookmark:
- ' ',
- box: ' ',
- briefcase:
- ' ',
- calendar:
- ' ',
- "camera-off":
- ' ',
- camera: ' ',
- cast: ' ',
- "check-circle":
- ' ',
- "check-square":
- ' ',
- check: ' ',
- "chevron-down":
- ' ',
- "chevron-left":
- ' ',
- "chevron-right":
- ' ',
- "chevron-up":
- ' ',
- "chevrons-down":
- ' ',
- "chevrons-left":
- ' ',
- "chevrons-right":
- ' ',
- "chevrons-up":
- ' ',
- chrome: ' ',
- circle: ' ',
- clipboard:
- ' ',
- clock: ' ',
- "cloud-drizzle":
- ' ',
- "cloud-lightning":
- ' ',
- "cloud-off":
- ' ',
- "cloud-rain":
- ' ',
- "cloud-snow":
- ' ',
- cloud: ' ',
- code: ' ',
- codepen:
- ' ',
- codesandbox:
- ' ',
- coffee: ' ',
- columns:
- ' ',
- command:
- ' ',
- compass:
- ' ',
- copy: ' ',
- "corner-down-left":
- ' ',
- "corner-down-right":
- ' ',
- "corner-left-down":
- ' ',
- "corner-left-up":
- ' ',
- "corner-right-down":
- ' ',
- "corner-right-up":
- ' ',
- "corner-up-left":
- ' ',
- "corner-up-right":
- ' ',
- cpu: ' ',
- "credit-card":
- ' ',
- crop: ' ',
- crosshair:
- ' ',
- database:
- ' ',
- delete: ' ',
- disc: ' ',
- "divide-circle":
- ' ',
- "divide-square":
- ' ',
- divide: ' ',
- "dollar-sign":
- ' ',
- "download-cloud":
- ' ',
- download:
- ' ',
- dribbble:
- ' ',
- droplet:
- ' ',
- "edit-2":
- ' ',
- "edit-3":
- ' ',
- edit: ' ',
- "external-link":
- ' ',
- "eye-off":
- ' ',
- eye: ' ',
- facebook:
- ' ',
- "fast-forward":
- ' ',
- feather:
- ' ',
- figma: ' ',
- "file-minus":
- ' ',
- "file-plus":
- ' ',
- "file-text":
- ' ',
- file: ' ',
- film: ' ',
- filter: ' ',
- flag: ' ',
- "folder-minus":
- ' ',
- "folder-plus":
- ' ',
- folder: ' ',
- framer: ' ',
- frown: ' ',
- gift: ' ',
- "git-branch":
- ' ',
- "git-commit":
- ' ',
- "git-merge":
- ' ',
- "git-pull-request":
- ' ',
- github: ' ',
- gitlab: ' ',
- globe: ' ',
- grid: ' ',
- "hard-drive":
- ' ',
- hash: ' ',
- headphones:
- ' ',
- heart: ' ',
- "help-circle":
- ' ',
- hexagon:
- ' ',
- home: ' ',
- image: ' ',
- inbox: ' ',
- info: ' ',
- instagram:
- ' ',
- italic: ' ',
- key: ' ',
- layers: ' ',
- layout: ' ',
- "life-buoy":
- ' ',
- "link-2":
- ' ',
- link: ' ',
- linkedin:
- ' ',
- list: ' ',
- loader: ' ',
- lock: ' ',
- "log-in":
- ' ',
- "log-out":
- ' ',
- mail: ' ',
- "map-pin":
- ' ',
- map: ' ',
- "maximize-2":
- ' ',
- maximize:
- ' ',
- meh: ' ',
- menu: ' ',
- "message-circle":
- ' ',
- "message-square":
- ' ',
- "mic-off":
- ' ',
- mic: ' ',
- "minimize-2":
- ' ',
- minimize:
- ' ',
- "minus-circle":
- ' ',
- "minus-square":
- ' ',
- minus: ' ',
- monitor:
- ' ',
- moon: ' ',
- "more-horizontal":
- ' ',
- "more-vertical":
- ' ',
- "mouse-pointer":
- ' ',
- move: ' ',
- music: ' ',
- "navigation-2":
- ' ',
- navigation:
- ' ',
- octagon:
- ' ',
- package:
- ' ',
- paperclip:
- ' ',
- "pause-circle":
- ' ',
- pause: ' ',
- "pen-tool":
- ' ',
- percent:
- ' ',
- "phone-call":
- ' ',
- "phone-forwarded":
- ' ',
- "phone-incoming":
- ' ',
- "phone-missed":
- ' ',
- "phone-off":
- ' ',
- "phone-outgoing":
- ' ',
- phone: ' ',
- "pie-chart":
- ' ',
- "play-circle":
- ' ',
- play: ' ',
- "plus-circle":
- ' ',
- "plus-square":
- ' ',
- plus: ' ',
- pocket: ' ',
- power: ' ',
- printer:
- ' ',
- radio: ' ',
- "refresh-ccw":
- ' ',
- "refresh-cw":
- ' ',
- repeat: ' ',
- rewind: ' ',
- "rotate-ccw":
- ' ',
- "rotate-cw":
- ' ',
- rss: ' ',
- save: ' ',
- scissors:
- ' ',
- search: ' ',
- send: ' ',
- server: ' ',
- settings:
- ' ',
- "share-2":
- ' ',
- share: ' ',
- "shield-off":
- ' ',
- shield: ' ',
- "shopping-bag":
- ' ',
- "shopping-cart":
- ' ',
- shuffle:
- ' ',
- sidebar:
- ' ',
- "skip-back":
- ' ',
- "skip-forward":
- ' ',
- slack: ' ',
- slash: ' ',
- sliders:
- ' ',
- smartphone:
- ' ',
- smile: ' ',
- speaker:
- ' ',
- square: ' ',
- star: ' ',
- "stop-circle":
- ' ',
- sun: ' ',
- sunrise:
- ' ',
- sunset: ' ',
- table: ' ',
- tablet: ' ',
- tag: ' ',
- target: ' ',
- terminal:
- ' ',
- thermometer:
- ' ',
- "thumbs-down":
- ' ',
- "thumbs-up":
- ' ',
- "toggle-left":
- ' ',
- "toggle-right":
- ' ',
- tool: ' ',
- "trash-2":
- ' ',
- trash: ' ',
- trello: ' ',
- "trending-down":
- ' ',
- "trending-up":
- ' ',
- triangle:
- ' ',
- truck: ' ',
- tv: ' ',
- twitch: ' ',
- twitter:
- ' ',
- type: ' ',
- umbrella:
- ' ',
- underline:
- ' ',
- unlock: ' ',
- "upload-cloud":
- ' ',
- upload: ' ',
- "user-check":
- ' ',
- "user-minus":
- ' ',
- "user-plus":
- ' ',
- "user-x":
- ' ',
- user: ' ',
- users: ' ',
- "video-off":
- ' ',
- video: ' ',
- voicemail:
- ' ',
- "volume-1":
- ' ',
- "volume-2":
- ' ',
- "volume-x":
- ' ',
- volume: ' ',
- watch: ' ',
- "wifi-off":
- ' ',
- wifi: ' ',
- wind: ' ',
- "x-circle":
- ' ',
- "x-octagon":
- ' ',
- "x-square":
- ' ',
- x: ' ',
- youtube:
- ' ',
- "zap-off":
- ' ',
- zap: ' ',
- "zoom-in":
- ' ',
- "zoom-out":
- ' ',
- };
- },
- "./node_modules/classnames/dedupe.js": function (n, r, o) {
- var i, s;
- /*!
- Copyright (c) 2016 Jed Watson.
- Licensed under the MIT License (MIT), see
- http://jedwatson.github.io/classnames
-*/ (function () {
- var l = (function () {
- function a() {}
- a.prototype = Object.create(null);
- function u(w, S) {
- for (var E = S.length, h = 0; h < E; ++h)
- y(w, S[h]);
- }
- var c = {}.hasOwnProperty;
- function d(w, S) {
- w[S] = !0;
- }
- function f(w, S) {
- for (var E in S) c.call(S, E) && (w[E] = !!S[E]);
- }
- var p = /\s+/;
- function m(w, S) {
- for (
- var E = S.split(p), h = E.length, b = 0;
- b < h;
- ++b
- )
- w[E[b]] = !0;
- }
- function y(w, S) {
- if (S) {
- var E = typeof S;
- E === "string"
- ? m(w, S)
- : Array.isArray(S)
- ? u(w, S)
- : E === "object"
- ? f(w, S)
- : E === "number" && d(w, S);
- }
- }
- function v() {
- for (
- var w = arguments.length, S = Array(w), E = 0;
- E < w;
- E++
- )
- S[E] = arguments[E];
- var h = new a();
- u(h, S);
- var b = [];
- for (var g in h) h[g] && b.push(g);
- return b.join(" ");
- }
- return v;
- })();
- typeof n != "undefined" && n.exports
- ? (n.exports = l)
- : ((i = []),
- (s = function () {
- return l;
- }.apply(r, i)),
- s !== void 0 && (n.exports = s));
- })();
- },
- "./node_modules/core-js/es/array/from.js": function (n, r, o) {
- o("./node_modules/core-js/modules/es.string.iterator.js"),
- o("./node_modules/core-js/modules/es.array.from.js");
- var i = o("./node_modules/core-js/internals/path.js");
- n.exports = i.Array.from;
- },
- "./node_modules/core-js/internals/a-function.js": function (n, r) {
- n.exports = function (o) {
- if (typeof o != "function")
- throw TypeError(String(o) + " is not a function");
- return o;
- };
- },
- "./node_modules/core-js/internals/an-object.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/is-object.js");
- n.exports = function (s) {
- if (!i(s)) throw TypeError(String(s) + " is not an object");
- return s;
- };
- },
- "./node_modules/core-js/internals/array-from.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/bind-context.js"),
- s = o("./node_modules/core-js/internals/to-object.js"),
- l = o(
- "./node_modules/core-js/internals/call-with-safe-iteration-closing.js"
- ),
- a = o(
- "./node_modules/core-js/internals/is-array-iterator-method.js"
- ),
- u = o("./node_modules/core-js/internals/to-length.js"),
- c = o(
- "./node_modules/core-js/internals/create-property.js"
- ),
- d = o(
- "./node_modules/core-js/internals/get-iterator-method.js"
- );
- n.exports = function (p) {
- var m = s(p),
- y = typeof this == "function" ? this : Array,
- v = arguments.length,
- w = v > 1 ? arguments[1] : void 0,
- S = w !== void 0,
- E = 0,
- h = d(m),
- b,
- g,
- x,
- k;
- if (
- (S && (w = i(w, v > 2 ? arguments[2] : void 0, 2)),
- h != null && !(y == Array && a(h)))
- )
- for (
- k = h.call(m), g = new y();
- !(x = k.next()).done;
- E++
- )
- c(g, E, S ? l(k, w, [x.value, E], !0) : x.value);
- else
- for (b = u(m.length), g = new y(b); b > E; E++)
- c(g, E, S ? w(m[E], E) : m[E]);
- return (g.length = E), g;
- };
- },
- "./node_modules/core-js/internals/array-includes.js": function (
- n,
- r,
- o
- ) {
- var i = o(
- "./node_modules/core-js/internals/to-indexed-object.js"
- ),
- s = o("./node_modules/core-js/internals/to-length.js"),
- l = o(
- "./node_modules/core-js/internals/to-absolute-index.js"
- );
- n.exports = function (a) {
- return function (u, c, d) {
- var f = i(u),
- p = s(f.length),
- m = l(d, p),
- y;
- if (a && c != c) {
- for (; p > m; )
- if (((y = f[m++]), y != y)) return !0;
- } else
- for (; p > m; m++)
- if ((a || m in f) && f[m] === c)
- return a || m || 0;
- return !a && -1;
- };
- };
- },
- "./node_modules/core-js/internals/bind-context.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/a-function.js");
- n.exports = function (s, l, a) {
- if ((i(s), l === void 0)) return s;
- switch (a) {
- case 0:
- return function () {
- return s.call(l);
- };
- case 1:
- return function (u) {
- return s.call(l, u);
- };
- case 2:
- return function (u, c) {
- return s.call(l, u, c);
- };
- case 3:
- return function (u, c, d) {
- return s.call(l, u, c, d);
- };
- }
- return function () {
- return s.apply(l, arguments);
- };
- };
- },
- "./node_modules/core-js/internals/call-with-safe-iteration-closing.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/an-object.js");
- n.exports = function (s, l, a, u) {
- try {
- return u ? l(i(a)[0], a[1]) : l(a);
- } catch (d) {
- var c = s.return;
- throw (c !== void 0 && i(c.call(s)), d);
- }
- };
- },
- "./node_modules/core-js/internals/check-correctness-of-iteration.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/well-known-symbol.js"
- ),
- s = i("iterator"),
- l = !1;
- try {
- var a = 0,
- u = {
- next: function () {
- return { done: !!a++ };
- },
- return: function () {
- l = !0;
- },
- };
- (u[s] = function () {
- return this;
- }),
- Array.from(u, function () {
- throw 2;
- });
- } catch (c) {}
- n.exports = function (c, d) {
- if (!d && !l) return !1;
- var f = !1;
- try {
- var p = {};
- (p[s] = function () {
- return {
- next: function () {
- return { done: (f = !0) };
- },
- };
- }),
- c(p);
- } catch (m) {}
- return f;
- };
- },
- "./node_modules/core-js/internals/classof-raw.js": function (n, r) {
- var o = {}.toString;
- n.exports = function (i) {
- return o.call(i).slice(8, -1);
- };
- },
- "./node_modules/core-js/internals/classof.js": function (n, r, o) {
- var i = o("./node_modules/core-js/internals/classof-raw.js"),
- s = o(
- "./node_modules/core-js/internals/well-known-symbol.js"
- ),
- l = s("toStringTag"),
- a =
- i(
- (function () {
- return arguments;
- })()
- ) == "Arguments",
- u = function (c, d) {
- try {
- return c[d];
- } catch (f) {}
- };
- n.exports = function (c) {
- var d, f, p;
- return c === void 0
- ? "Undefined"
- : c === null
- ? "Null"
- : typeof (f = u((d = Object(c)), l)) == "string"
- ? f
- : a
- ? i(d)
- : (p = i(d)) == "Object" &&
- typeof d.callee == "function"
- ? "Arguments"
- : p;
- };
- },
- "./node_modules/core-js/internals/copy-constructor-properties.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/has.js"),
- s = o("./node_modules/core-js/internals/own-keys.js"),
- l = o(
- "./node_modules/core-js/internals/object-get-own-property-descriptor.js"
- ),
- a = o(
- "./node_modules/core-js/internals/object-define-property.js"
- );
- n.exports = function (u, c) {
- for (
- var d = s(c), f = a.f, p = l.f, m = 0;
- m < d.length;
- m++
- ) {
- var y = d[m];
- i(u, y) || f(u, y, p(c, y));
- }
- };
- },
- "./node_modules/core-js/internals/correct-prototype-getter.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/fails.js");
- n.exports = !i(function () {
- function s() {}
- return (
- (s.prototype.constructor = null),
- Object.getPrototypeOf(new s()) !== s.prototype
- );
- });
- },
- "./node_modules/core-js/internals/create-iterator-constructor.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/iterators-core.js"
- ).IteratorPrototype,
- s = o(
- "./node_modules/core-js/internals/object-create.js"
- ),
- l = o(
- "./node_modules/core-js/internals/create-property-descriptor.js"
- ),
- a = o(
- "./node_modules/core-js/internals/set-to-string-tag.js"
- ),
- u = o("./node_modules/core-js/internals/iterators.js"),
- c = function () {
- return this;
- };
- n.exports = function (d, f, p) {
- var m = f + " Iterator";
- return (
- (d.prototype = s(i, { next: l(1, p) })),
- a(d, m, !1, !0),
- (u[m] = c),
- d
- );
- };
- },
- "./node_modules/core-js/internals/create-property-descriptor.js":
- function (n, r) {
- n.exports = function (o, i) {
- return {
- enumerable: !(o & 1),
- configurable: !(o & 2),
- writable: !(o & 4),
- value: i,
- };
- };
- },
- "./node_modules/core-js/internals/create-property.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/to-primitive.js"),
- s = o(
- "./node_modules/core-js/internals/object-define-property.js"
- ),
- l = o(
- "./node_modules/core-js/internals/create-property-descriptor.js"
- );
- n.exports = function (a, u, c) {
- var d = i(u);
- d in a ? s.f(a, d, l(0, c)) : (a[d] = c);
- };
- },
- "./node_modules/core-js/internals/define-iterator.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/export.js"),
- s = o(
- "./node_modules/core-js/internals/create-iterator-constructor.js"
- ),
- l = o(
- "./node_modules/core-js/internals/object-get-prototype-of.js"
- ),
- a = o(
- "./node_modules/core-js/internals/object-set-prototype-of.js"
- ),
- u = o(
- "./node_modules/core-js/internals/set-to-string-tag.js"
- ),
- c = o("./node_modules/core-js/internals/hide.js"),
- d = o("./node_modules/core-js/internals/redefine.js"),
- f = o(
- "./node_modules/core-js/internals/well-known-symbol.js"
- ),
- p = o("./node_modules/core-js/internals/is-pure.js"),
- m = o("./node_modules/core-js/internals/iterators.js"),
- y = o("./node_modules/core-js/internals/iterators-core.js"),
- v = y.IteratorPrototype,
- w = y.BUGGY_SAFARI_ITERATORS,
- S = f("iterator"),
- E = "keys",
- h = "values",
- b = "entries",
- g = function () {
- return this;
- };
- n.exports = function (x, k, C, _, T, R, P) {
- s(C, k, _);
- var D = function (Ee) {
- if (Ee === T && K) return K;
- if (!w && Ee in I) return I[Ee];
- switch (Ee) {
- case E:
- return function () {
- return new C(this, Ee);
- };
- case h:
- return function () {
- return new C(this, Ee);
- };
- case b:
- return function () {
- return new C(this, Ee);
- };
- }
- return function () {
- return new C(this);
- };
- },
- j = k + " Iterator",
- M = !1,
- I = x.prototype,
- $ = I[S] || I["@@iterator"] || (T && I[T]),
- K = (!w && $) || D(T),
- ie = (k == "Array" && I.entries) || $,
- X,
- de,
- ze;
- if (
- (ie &&
- ((X = l(ie.call(new x()))),
- v !== Object.prototype &&
- X.next &&
- (!p &&
- l(X) !== v &&
- (a
- ? a(X, v)
- : typeof X[S] != "function" &&
- c(X, S, g)),
- u(X, j, !0, !0),
- p && (m[j] = g))),
- T == h &&
- $ &&
- $.name !== h &&
- ((M = !0),
- (K = function () {
- return $.call(this);
- })),
- (!p || P) && I[S] !== K && c(I, S, K),
- (m[k] = K),
- T)
- )
- if (
- ((de = {
- values: D(h),
- keys: R ? K : D(E),
- entries: D(b),
- }),
- P)
- )
- for (ze in de)
- (w || M || !(ze in I)) && d(I, ze, de[ze]);
- else i({ target: k, proto: !0, forced: w || M }, de);
- return de;
- };
- },
- "./node_modules/core-js/internals/descriptors.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/fails.js");
- n.exports = !i(function () {
- return (
- Object.defineProperty({}, "a", {
- get: function () {
- return 7;
- },
- }).a != 7
- );
- });
- },
- "./node_modules/core-js/internals/document-create-element.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o("./node_modules/core-js/internals/is-object.js"),
- l = i.document,
- a = s(l) && s(l.createElement);
- n.exports = function (u) {
- return a ? l.createElement(u) : {};
- };
- },
- "./node_modules/core-js/internals/enum-bug-keys.js": function (
- n,
- r
- ) {
- n.exports = [
- "constructor",
- "hasOwnProperty",
- "isPrototypeOf",
- "propertyIsEnumerable",
- "toLocaleString",
- "toString",
- "valueOf",
- ];
- },
- "./node_modules/core-js/internals/export.js": function (n, r, o) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o(
- "./node_modules/core-js/internals/object-get-own-property-descriptor.js"
- ).f,
- l = o("./node_modules/core-js/internals/hide.js"),
- a = o("./node_modules/core-js/internals/redefine.js"),
- u = o("./node_modules/core-js/internals/set-global.js"),
- c = o(
- "./node_modules/core-js/internals/copy-constructor-properties.js"
- ),
- d = o("./node_modules/core-js/internals/is-forced.js");
- n.exports = function (f, p) {
- var m = f.target,
- y = f.global,
- v = f.stat,
- w,
- S,
- E,
- h,
- b,
- g;
- if (
- (y
- ? (S = i)
- : v
- ? (S = i[m] || u(m, {}))
- : (S = (i[m] || {}).prototype),
- S)
- )
- for (E in p) {
- if (
- ((b = p[E]),
- f.noTargetGet
- ? ((g = s(S, E)), (h = g && g.value))
- : (h = S[E]),
- (w = d(
- y ? E : m + (v ? "." : "#") + E,
- f.forced
- )),
- !w && h !== void 0)
- ) {
- if (typeof b == typeof h) continue;
- c(b, h);
- }
- (f.sham || (h && h.sham)) && l(b, "sham", !0),
- a(S, E, b, f);
- }
- };
- },
- "./node_modules/core-js/internals/fails.js": function (n, r) {
- n.exports = function (o) {
- try {
- return !!o();
- } catch (i) {
- return !0;
- }
- };
- },
- "./node_modules/core-js/internals/function-to-string.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/shared.js");
- n.exports = i("native-function-to-string", Function.toString);
- },
- "./node_modules/core-js/internals/get-iterator-method.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/classof.js"),
- s = o("./node_modules/core-js/internals/iterators.js"),
- l = o(
- "./node_modules/core-js/internals/well-known-symbol.js"
- ),
- a = l("iterator");
- n.exports = function (u) {
- if (u != null)
- return u[a] || u["@@iterator"] || s[i(u)];
- };
- },
- "./node_modules/core-js/internals/global.js": function (n, r, o) {
- (function (i) {
- var s = "object",
- l = function (a) {
- return a && a.Math == Math && a;
- };
- n.exports =
- l(typeof globalThis == s && globalThis) ||
- l(typeof window == s && window) ||
- l(typeof self == s && self) ||
- l(typeof i == s && i) ||
- Function("return this")();
- }.call(this, o("./node_modules/webpack/buildin/global.js")));
- },
- "./node_modules/core-js/internals/has.js": function (n, r) {
- var o = {}.hasOwnProperty;
- n.exports = function (i, s) {
- return o.call(i, s);
- };
- },
- "./node_modules/core-js/internals/hidden-keys.js": function (n, r) {
- n.exports = {};
- },
- "./node_modules/core-js/internals/hide.js": function (n, r, o) {
- var i = o("./node_modules/core-js/internals/descriptors.js"),
- s = o(
- "./node_modules/core-js/internals/object-define-property.js"
- ),
- l = o(
- "./node_modules/core-js/internals/create-property-descriptor.js"
- );
- n.exports = i
- ? function (a, u, c) {
- return s.f(a, u, l(1, c));
- }
- : function (a, u, c) {
- return (a[u] = c), a;
- };
- },
- "./node_modules/core-js/internals/html.js": function (n, r, o) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = i.document;
- n.exports = s && s.documentElement;
- },
- "./node_modules/core-js/internals/ie8-dom-define.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/descriptors.js"),
- s = o("./node_modules/core-js/internals/fails.js"),
- l = o(
- "./node_modules/core-js/internals/document-create-element.js"
- );
- n.exports =
- !i &&
- !s(function () {
- return (
- Object.defineProperty(l("div"), "a", {
- get: function () {
- return 7;
- },
- }).a != 7
- );
- });
- },
- "./node_modules/core-js/internals/indexed-object.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/fails.js"),
- s = o("./node_modules/core-js/internals/classof-raw.js"),
- l = "".split;
- n.exports = i(function () {
- return !Object("z").propertyIsEnumerable(0);
- })
- ? function (a) {
- return s(a) == "String" ? l.call(a, "") : Object(a);
- }
- : Object;
- },
- "./node_modules/core-js/internals/internal-state.js": function (
- n,
- r,
- o
- ) {
- var i = o(
- "./node_modules/core-js/internals/native-weak-map.js"
- ),
- s = o("./node_modules/core-js/internals/global.js"),
- l = o("./node_modules/core-js/internals/is-object.js"),
- a = o("./node_modules/core-js/internals/hide.js"),
- u = o("./node_modules/core-js/internals/has.js"),
- c = o("./node_modules/core-js/internals/shared-key.js"),
- d = o("./node_modules/core-js/internals/hidden-keys.js"),
- f = s.WeakMap,
- p,
- m,
- y,
- v = function (x) {
- return y(x) ? m(x) : p(x, {});
- },
- w = function (x) {
- return function (k) {
- var C;
- if (!l(k) || (C = m(k)).type !== x)
- throw TypeError(
- "Incompatible receiver, " + x + " required"
- );
- return C;
- };
- };
- if (i) {
- var S = new f(),
- E = S.get,
- h = S.has,
- b = S.set;
- (p = function (x, k) {
- return b.call(S, x, k), k;
- }),
- (m = function (x) {
- return E.call(S, x) || {};
- }),
- (y = function (x) {
- return h.call(S, x);
- });
- } else {
- var g = c("state");
- (d[g] = !0),
- (p = function (x, k) {
- return a(x, g, k), k;
- }),
- (m = function (x) {
- return u(x, g) ? x[g] : {};
- }),
- (y = function (x) {
- return u(x, g);
- });
- }
- n.exports = {
- set: p,
- get: m,
- has: y,
- enforce: v,
- getterFor: w,
- };
- },
- "./node_modules/core-js/internals/is-array-iterator-method.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/well-known-symbol.js"
- ),
- s = o("./node_modules/core-js/internals/iterators.js"),
- l = i("iterator"),
- a = Array.prototype;
- n.exports = function (u) {
- return u !== void 0 && (s.Array === u || a[l] === u);
- };
- },
- "./node_modules/core-js/internals/is-forced.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/fails.js"),
- s = /#|\.prototype\./,
- l = function (f, p) {
- var m = u[a(f)];
- return m == d
- ? !0
- : m == c
- ? !1
- : typeof p == "function"
- ? i(p)
- : !!p;
- },
- a = (l.normalize = function (f) {
- return String(f).replace(s, ".").toLowerCase();
- }),
- u = (l.data = {}),
- c = (l.NATIVE = "N"),
- d = (l.POLYFILL = "P");
- n.exports = l;
- },
- "./node_modules/core-js/internals/is-object.js": function (n, r) {
- n.exports = function (o) {
- return typeof o == "object"
- ? o !== null
- : typeof o == "function";
- };
- },
- "./node_modules/core-js/internals/is-pure.js": function (n, r) {
- n.exports = !1;
- },
- "./node_modules/core-js/internals/iterators-core.js": function (
- n,
- r,
- o
- ) {
- var i = o(
- "./node_modules/core-js/internals/object-get-prototype-of.js"
- ),
- s = o("./node_modules/core-js/internals/hide.js"),
- l = o("./node_modules/core-js/internals/has.js"),
- a = o(
- "./node_modules/core-js/internals/well-known-symbol.js"
- ),
- u = o("./node_modules/core-js/internals/is-pure.js"),
- c = a("iterator"),
- d = !1,
- f = function () {
- return this;
- },
- p,
- m,
- y;
- [].keys &&
- ((y = [].keys()),
- "next" in y
- ? ((m = i(i(y))), m !== Object.prototype && (p = m))
- : (d = !0)),
- p == null && (p = {}),
- !u && !l(p, c) && s(p, c, f),
- (n.exports = {
- IteratorPrototype: p,
- BUGGY_SAFARI_ITERATORS: d,
- });
- },
- "./node_modules/core-js/internals/iterators.js": function (n, r) {
- n.exports = {};
- },
- "./node_modules/core-js/internals/native-symbol.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/fails.js");
- n.exports =
- !!Object.getOwnPropertySymbols &&
- !i(function () {
- return !String(Symbol());
- });
- },
- "./node_modules/core-js/internals/native-weak-map.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o(
- "./node_modules/core-js/internals/function-to-string.js"
- ),
- l = i.WeakMap;
- n.exports =
- typeof l == "function" && /native code/.test(s.call(l));
- },
- "./node_modules/core-js/internals/object-create.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/an-object.js"),
- s = o(
- "./node_modules/core-js/internals/object-define-properties.js"
- ),
- l = o("./node_modules/core-js/internals/enum-bug-keys.js"),
- a = o("./node_modules/core-js/internals/hidden-keys.js"),
- u = o("./node_modules/core-js/internals/html.js"),
- c = o(
- "./node_modules/core-js/internals/document-create-element.js"
- ),
- d = o("./node_modules/core-js/internals/shared-key.js"),
- f = d("IE_PROTO"),
- p = "prototype",
- m = function () {},
- y = function () {
- var v = c("iframe"),
- w = l.length,
- S = "<",
- E = "script",
- h = ">",
- b = "java" + E + ":",
- g;
- for (
- v.style.display = "none",
- u.appendChild(v),
- v.src = String(b),
- g = v.contentWindow.document,
- g.open(),
- g.write(
- S +
- E +
- h +
- "document.F=Object" +
- S +
- "/" +
- E +
- h
- ),
- g.close(),
- y = g.F;
- w--;
-
- )
- delete y[p][l[w]];
- return y();
- };
- (n.exports =
- Object.create ||
- function (w, S) {
- var E;
- return (
- w !== null
- ? ((m[p] = i(w)),
- (E = new m()),
- (m[p] = null),
- (E[f] = w))
- : (E = y()),
- S === void 0 ? E : s(E, S)
- );
- }),
- (a[f] = !0);
- },
- "./node_modules/core-js/internals/object-define-properties.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/descriptors.js"
- ),
- s = o(
- "./node_modules/core-js/internals/object-define-property.js"
- ),
- l = o("./node_modules/core-js/internals/an-object.js"),
- a = o(
- "./node_modules/core-js/internals/object-keys.js"
- );
- n.exports = i
- ? Object.defineProperties
- : function (c, d) {
- l(c);
- for (
- var f = a(d), p = f.length, m = 0, y;
- p > m;
-
- )
- s.f(c, (y = f[m++]), d[y]);
- return c;
- };
- },
- "./node_modules/core-js/internals/object-define-property.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/descriptors.js"
- ),
- s = o(
- "./node_modules/core-js/internals/ie8-dom-define.js"
- ),
- l = o("./node_modules/core-js/internals/an-object.js"),
- a = o(
- "./node_modules/core-js/internals/to-primitive.js"
- ),
- u = Object.defineProperty;
- r.f = i
- ? u
- : function (d, f, p) {
- if ((l(d), (f = a(f, !0)), l(p), s))
- try {
- return u(d, f, p);
- } catch (m) {}
- if ("get" in p || "set" in p)
- throw TypeError("Accessors not supported");
- return "value" in p && (d[f] = p.value), d;
- };
- },
- "./node_modules/core-js/internals/object-get-own-property-descriptor.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/descriptors.js"
- ),
- s = o(
- "./node_modules/core-js/internals/object-property-is-enumerable.js"
- ),
- l = o(
- "./node_modules/core-js/internals/create-property-descriptor.js"
- ),
- a = o(
- "./node_modules/core-js/internals/to-indexed-object.js"
- ),
- u = o(
- "./node_modules/core-js/internals/to-primitive.js"
- ),
- c = o("./node_modules/core-js/internals/has.js"),
- d = o(
- "./node_modules/core-js/internals/ie8-dom-define.js"
- ),
- f = Object.getOwnPropertyDescriptor;
- r.f = i
- ? f
- : function (m, y) {
- if (((m = a(m)), (y = u(y, !0)), d))
- try {
- return f(m, y);
- } catch (v) {}
- if (c(m, y)) return l(!s.f.call(m, y), m[y]);
- };
- },
- "./node_modules/core-js/internals/object-get-own-property-names.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/object-keys-internal.js"
- ),
- s = o(
- "./node_modules/core-js/internals/enum-bug-keys.js"
- ),
- l = s.concat("length", "prototype");
- r.f =
- Object.getOwnPropertyNames ||
- function (u) {
- return i(u, l);
- };
- },
- "./node_modules/core-js/internals/object-get-own-property-symbols.js":
- function (n, r) {
- r.f = Object.getOwnPropertySymbols;
- },
- "./node_modules/core-js/internals/object-get-prototype-of.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/has.js"),
- s = o("./node_modules/core-js/internals/to-object.js"),
- l = o("./node_modules/core-js/internals/shared-key.js"),
- a = o(
- "./node_modules/core-js/internals/correct-prototype-getter.js"
- ),
- u = l("IE_PROTO"),
- c = Object.prototype;
- n.exports = a
- ? Object.getPrototypeOf
- : function (d) {
- return (
- (d = s(d)),
- i(d, u)
- ? d[u]
- : typeof d.constructor == "function" &&
- d instanceof d.constructor
- ? d.constructor.prototype
- : d instanceof Object
- ? c
- : null
- );
- };
- },
- "./node_modules/core-js/internals/object-keys-internal.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/has.js"),
- s = o(
- "./node_modules/core-js/internals/to-indexed-object.js"
- ),
- l = o(
- "./node_modules/core-js/internals/array-includes.js"
- ),
- a = o(
- "./node_modules/core-js/internals/hidden-keys.js"
- ),
- u = l(!1);
- n.exports = function (c, d) {
- var f = s(c),
- p = 0,
- m = [],
- y;
- for (y in f) !i(a, y) && i(f, y) && m.push(y);
- for (; d.length > p; )
- i(f, (y = d[p++])) && (~u(m, y) || m.push(y));
- return m;
- };
- },
- "./node_modules/core-js/internals/object-keys.js": function (
- n,
- r,
- o
- ) {
- var i = o(
- "./node_modules/core-js/internals/object-keys-internal.js"
- ),
- s = o("./node_modules/core-js/internals/enum-bug-keys.js");
- n.exports =
- Object.keys ||
- function (a) {
- return i(a, s);
- };
- },
- "./node_modules/core-js/internals/object-property-is-enumerable.js":
- function (n, r, o) {
- var i = {}.propertyIsEnumerable,
- s = Object.getOwnPropertyDescriptor,
- l = s && !i.call({ 1: 2 }, 1);
- r.f = l
- ? function (u) {
- var c = s(this, u);
- return !!c && c.enumerable;
- }
- : i;
- },
- "./node_modules/core-js/internals/object-set-prototype-of.js":
- function (n, r, o) {
- var i = o(
- "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js"
- );
- n.exports =
- Object.setPrototypeOf ||
- ("__proto__" in {}
- ? (function () {
- var s = !1,
- l = {},
- a;
- try {
- (a = Object.getOwnPropertyDescriptor(
- Object.prototype,
- "__proto__"
- ).set),
- a.call(l, []),
- (s = l instanceof Array);
- } catch (u) {}
- return function (c, d) {
- return (
- i(c, d),
- s
- ? a.call(c, d)
- : (c.__proto__ = d),
- c
- );
- };
- })()
- : void 0);
- },
- "./node_modules/core-js/internals/own-keys.js": function (n, r, o) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o(
- "./node_modules/core-js/internals/object-get-own-property-names.js"
- ),
- l = o(
- "./node_modules/core-js/internals/object-get-own-property-symbols.js"
- ),
- a = o("./node_modules/core-js/internals/an-object.js"),
- u = i.Reflect;
- n.exports =
- (u && u.ownKeys) ||
- function (d) {
- var f = s.f(a(d)),
- p = l.f;
- return p ? f.concat(p(d)) : f;
- };
- },
- "./node_modules/core-js/internals/path.js": function (n, r, o) {
- n.exports = o("./node_modules/core-js/internals/global.js");
- },
- "./node_modules/core-js/internals/redefine.js": function (n, r, o) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o("./node_modules/core-js/internals/shared.js"),
- l = o("./node_modules/core-js/internals/hide.js"),
- a = o("./node_modules/core-js/internals/has.js"),
- u = o("./node_modules/core-js/internals/set-global.js"),
- c = o(
- "./node_modules/core-js/internals/function-to-string.js"
- ),
- d = o("./node_modules/core-js/internals/internal-state.js"),
- f = d.get,
- p = d.enforce,
- m = String(c).split("toString");
- s("inspectSource", function (y) {
- return c.call(y);
- }),
- (n.exports = function (y, v, w, S) {
- var E = S ? !!S.unsafe : !1,
- h = S ? !!S.enumerable : !1,
- b = S ? !!S.noTargetGet : !1;
- if (
- (typeof w == "function" &&
- (typeof v == "string" &&
- !a(w, "name") &&
- l(w, "name", v),
- (p(w).source = m.join(
- typeof v == "string" ? v : ""
- ))),
- y === i)
- ) {
- h ? (y[v] = w) : u(v, w);
- return;
- } else E ? !b && y[v] && (h = !0) : delete y[v];
- h ? (y[v] = w) : l(y, v, w);
- })(Function.prototype, "toString", function () {
- return (
- (typeof this == "function" && f(this).source) ||
- c.call(this)
- );
- });
- },
- "./node_modules/core-js/internals/require-object-coercible.js":
- function (n, r) {
- n.exports = function (o) {
- if (o == null)
- throw TypeError("Can't call method on " + o);
- return o;
- };
- },
- "./node_modules/core-js/internals/set-global.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o("./node_modules/core-js/internals/hide.js");
- n.exports = function (l, a) {
- try {
- s(i, l, a);
- } catch (u) {
- i[l] = a;
- }
- return a;
- };
- },
- "./node_modules/core-js/internals/set-to-string-tag.js": function (
- n,
- r,
- o
- ) {
- var i = o(
- "./node_modules/core-js/internals/object-define-property.js"
- ).f,
- s = o("./node_modules/core-js/internals/has.js"),
- l = o(
- "./node_modules/core-js/internals/well-known-symbol.js"
- ),
- a = l("toStringTag");
- n.exports = function (u, c, d) {
- u &&
- !s((u = d ? u : u.prototype), a) &&
- i(u, a, { configurable: !0, value: c });
- };
- },
- "./node_modules/core-js/internals/shared-key.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/shared.js"),
- s = o("./node_modules/core-js/internals/uid.js"),
- l = i("keys");
- n.exports = function (a) {
- return l[a] || (l[a] = s(a));
- };
- },
- "./node_modules/core-js/internals/shared.js": function (n, r, o) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o("./node_modules/core-js/internals/set-global.js"),
- l = o("./node_modules/core-js/internals/is-pure.js"),
- a = "__core-js_shared__",
- u = i[a] || s(a, {});
- (n.exports = function (c, d) {
- return u[c] || (u[c] = d !== void 0 ? d : {});
- })("versions", []).push({
- version: "3.1.3",
- mode: l ? "pure" : "global",
- copyright: "© 2019 Denis Pushkarev (zloirock.ru)",
- });
- },
- "./node_modules/core-js/internals/string-at.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/to-integer.js"),
- s = o(
- "./node_modules/core-js/internals/require-object-coercible.js"
- );
- n.exports = function (l, a, u) {
- var c = String(s(l)),
- d = i(a),
- f = c.length,
- p,
- m;
- return d < 0 || d >= f
- ? u
- ? ""
- : void 0
- : ((p = c.charCodeAt(d)),
- p < 55296 ||
- p > 56319 ||
- d + 1 === f ||
- (m = c.charCodeAt(d + 1)) < 56320 ||
- m > 57343
- ? u
- ? c.charAt(d)
- : p
- : u
- ? c.slice(d, d + 2)
- : ((p - 55296) << 10) + (m - 56320) + 65536);
- };
- },
- "./node_modules/core-js/internals/to-absolute-index.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/to-integer.js"),
- s = Math.max,
- l = Math.min;
- n.exports = function (a, u) {
- var c = i(a);
- return c < 0 ? s(c + u, 0) : l(c, u);
- };
- },
- "./node_modules/core-js/internals/to-indexed-object.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/indexed-object.js"),
- s = o(
- "./node_modules/core-js/internals/require-object-coercible.js"
- );
- n.exports = function (l) {
- return i(s(l));
- };
- },
- "./node_modules/core-js/internals/to-integer.js": function (n, r) {
- var o = Math.ceil,
- i = Math.floor;
- n.exports = function (s) {
- return isNaN((s = +s)) ? 0 : (s > 0 ? i : o)(s);
- };
- },
- "./node_modules/core-js/internals/to-length.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/to-integer.js"),
- s = Math.min;
- n.exports = function (l) {
- return l > 0 ? s(i(l), 9007199254740991) : 0;
- };
- },
- "./node_modules/core-js/internals/to-object.js": function (
- n,
- r,
- o
- ) {
- var i = o(
- "./node_modules/core-js/internals/require-object-coercible.js"
- );
- n.exports = function (s) {
- return Object(i(s));
- };
- },
- "./node_modules/core-js/internals/to-primitive.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/is-object.js");
- n.exports = function (s, l) {
- if (!i(s)) return s;
- var a, u;
- if (
- (l &&
- typeof (a = s.toString) == "function" &&
- !i((u = a.call(s)))) ||
- (typeof (a = s.valueOf) == "function" &&
- !i((u = a.call(s)))) ||
- (!l &&
- typeof (a = s.toString) == "function" &&
- !i((u = a.call(s))))
- )
- return u;
- throw TypeError("Can't convert object to primitive value");
- };
- },
- "./node_modules/core-js/internals/uid.js": function (n, r) {
- var o = 0,
- i = Math.random();
- n.exports = function (s) {
- return "Symbol(".concat(
- s === void 0 ? "" : s,
- ")_",
- (++o + i).toString(36)
- );
- };
- },
- "./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":
- function (n, r, o) {
- var i = o("./node_modules/core-js/internals/is-object.js"),
- s = o("./node_modules/core-js/internals/an-object.js");
- n.exports = function (l, a) {
- if ((s(l), !i(a) && a !== null))
- throw TypeError(
- "Can't set " + String(a) + " as a prototype"
- );
- };
- },
- "./node_modules/core-js/internals/well-known-symbol.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/global.js"),
- s = o("./node_modules/core-js/internals/shared.js"),
- l = o("./node_modules/core-js/internals/uid.js"),
- a = o("./node_modules/core-js/internals/native-symbol.js"),
- u = i.Symbol,
- c = s("wks");
- n.exports = function (d) {
- return (
- c[d] ||
- (c[d] = (a && u[d]) || (a ? u : l)("Symbol." + d))
- );
- };
- },
- "./node_modules/core-js/modules/es.array.from.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/export.js"),
- s = o("./node_modules/core-js/internals/array-from.js"),
- l = o(
- "./node_modules/core-js/internals/check-correctness-of-iteration.js"
- ),
- a = !l(function (u) {
- Array.from(u);
- });
- i({ target: "Array", stat: !0, forced: a }, { from: s });
- },
- "./node_modules/core-js/modules/es.string.iterator.js": function (
- n,
- r,
- o
- ) {
- var i = o("./node_modules/core-js/internals/string-at.js"),
- s = o("./node_modules/core-js/internals/internal-state.js"),
- l = o(
- "./node_modules/core-js/internals/define-iterator.js"
- ),
- a = "String Iterator",
- u = s.set,
- c = s.getterFor(a);
- l(
- String,
- "String",
- function (d) {
- u(this, { type: a, string: String(d), index: 0 });
- },
- function () {
- var f = c(this),
- p = f.string,
- m = f.index,
- y;
- return m >= p.length
- ? { value: void 0, done: !0 }
- : ((y = i(p, m, !0)),
- (f.index += y.length),
- { value: y, done: !1 });
- }
- );
- },
- "./node_modules/webpack/buildin/global.js": function (n, r) {
- var o;
- o = (function () {
- return this;
- })();
- try {
- o = o || Function("return this")() || (0, eval)("this");
- } catch (i) {
- typeof window == "object" && (o = window);
- }
- n.exports = o;
- },
- "./src/default-attrs.json": function (n) {
- n.exports = {
- xmlns: "http://www.w3.org/2000/svg",
- width: 24,
- height: 24,
- viewBox: "0 0 24 24",
- fill: "none",
- stroke: "currentColor",
- "stroke-width": 2,
- "stroke-linecap": "round",
- "stroke-linejoin": "round",
- };
- },
- "./src/icon.js": function (n, r, o) {
- Object.defineProperty(r, "__esModule", { value: !0 });
- var i =
- Object.assign ||
- function (y) {
- for (var v = 1; v < arguments.length; v++) {
- var w = arguments[v];
- for (var S in w)
- Object.prototype.hasOwnProperty.call(
- w,
- S
- ) && (y[S] = w[S]);
- }
- return y;
- },
- s = (function () {
- function y(v, w) {
- for (var S = 0; S < w.length; S++) {
- var E = w[S];
- (E.enumerable = E.enumerable || !1),
- (E.configurable = !0),
- "value" in E && (E.writable = !0),
- Object.defineProperty(v, E.key, E);
- }
- }
- return function (v, w, S) {
- return w && y(v.prototype, w), S && y(v, S), v;
- };
- })(),
- l = o("./node_modules/classnames/dedupe.js"),
- a = d(l),
- u = o("./src/default-attrs.json"),
- c = d(u);
- function d(y) {
- return y && y.__esModule ? y : { default: y };
- }
- function f(y, v) {
- if (!(y instanceof v))
- throw new TypeError(
- "Cannot call a class as a function"
- );
- }
- var p = (function () {
- function y(v, w) {
- var S =
- arguments.length > 2 && arguments[2] !== void 0
- ? arguments[2]
- : [];
- f(this, y),
- (this.name = v),
- (this.contents = w),
- (this.tags = S),
- (this.attrs = i({}, c.default, {
- class: "feather feather-" + v,
- }));
- }
- return (
- s(y, [
- {
- key: "toSvg",
- value: function () {
- var w =
- arguments.length > 0 &&
- arguments[0] !== void 0
- ? arguments[0]
- : {},
- S = i({}, this.attrs, w, {
- class: (0, a.default)(
- this.attrs.class,
- w.class
- ),
- });
- return (
- ""
- );
- },
- },
- {
- key: "toString",
- value: function () {
- return this.contents;
- },
- },
- ]),
- y
- );
- })();
- function m(y) {
- return Object.keys(y)
- .map(function (v) {
- return v + '="' + y[v] + '"';
- })
- .join(" ");
- }
- r.default = p;
- },
- "./src/icons.js": function (n, r, o) {
- Object.defineProperty(r, "__esModule", { value: !0 });
- var i = o("./src/icon.js"),
- s = d(i),
- l = o("./dist/icons.json"),
- a = d(l),
- u = o("./src/tags.json"),
- c = d(u);
- function d(f) {
- return f && f.__esModule ? f : { default: f };
- }
- r.default = Object.keys(a.default)
- .map(function (f) {
- return new s.default(f, a.default[f], c.default[f]);
- })
- .reduce(function (f, p) {
- return (f[p.name] = p), f;
- }, {});
- },
- "./src/index.js": function (n, r, o) {
- var i = o("./src/icons.js"),
- s = d(i),
- l = o("./src/to-svg.js"),
- a = d(l),
- u = o("./src/replace.js"),
- c = d(u);
- function d(f) {
- return f && f.__esModule ? f : { default: f };
- }
- n.exports = {
- icons: s.default,
- toSvg: a.default,
- replace: c.default,
- };
- },
- "./src/replace.js": function (n, r, o) {
- Object.defineProperty(r, "__esModule", { value: !0 });
- var i =
- Object.assign ||
- function (m) {
- for (var y = 1; y < arguments.length; y++) {
- var v = arguments[y];
- for (var w in v)
- Object.prototype.hasOwnProperty.call(
- v,
- w
- ) && (m[w] = v[w]);
- }
- return m;
- },
- s = o("./node_modules/classnames/dedupe.js"),
- l = c(s),
- a = o("./src/icons.js"),
- u = c(a);
- function c(m) {
- return m && m.__esModule ? m : { default: m };
- }
- function d() {
- var m =
- arguments.length > 0 && arguments[0] !== void 0
- ? arguments[0]
- : {};
- if (typeof document == "undefined")
- throw new Error(
- "`feather.replace()` only works in a browser environment."
- );
- var y = document.querySelectorAll("[data-feather]");
- Array.from(y).forEach(function (v) {
- return f(v, m);
- });
- }
- function f(m) {
- var y =
- arguments.length > 1 && arguments[1] !== void 0
- ? arguments[1]
- : {},
- v = p(m),
- w = v["data-feather"];
- delete v["data-feather"];
- var S = u.default[w].toSvg(
- i({}, y, v, {
- class: (0, l.default)(y.class, v.class),
- })
- ),
- E = new DOMParser().parseFromString(S, "image/svg+xml"),
- h = E.querySelector("svg");
- m.parentNode.replaceChild(h, m);
- }
- function p(m) {
- return Array.from(m.attributes).reduce(function (y, v) {
- return (y[v.name] = v.value), y;
- }, {});
- }
- r.default = d;
- },
- "./src/tags.json": function (n) {
- n.exports = {
- activity: ["pulse", "health", "action", "motion"],
- airplay: ["stream", "cast", "mirroring"],
- "alert-circle": ["warning", "alert", "danger"],
- "alert-octagon": ["warning", "alert", "danger"],
- "alert-triangle": ["warning", "alert", "danger"],
- "align-center": ["text alignment", "center"],
- "align-justify": ["text alignment", "justified"],
- "align-left": ["text alignment", "left"],
- "align-right": ["text alignment", "right"],
- anchor: [],
- archive: ["index", "box"],
- "at-sign": ["mention", "at", "email", "message"],
- award: ["achievement", "badge"],
- aperture: ["camera", "photo"],
- "bar-chart": ["statistics", "diagram", "graph"],
- "bar-chart-2": ["statistics", "diagram", "graph"],
- battery: ["power", "electricity"],
- "battery-charging": ["power", "electricity"],
- bell: ["alarm", "notification", "sound"],
- "bell-off": ["alarm", "notification", "silent"],
- bluetooth: ["wireless"],
- "book-open": ["read", "library"],
- book: [
- "read",
- "dictionary",
- "booklet",
- "magazine",
- "library",
- ],
- bookmark: ["read", "clip", "marker", "tag"],
- box: ["cube"],
- briefcase: ["work", "bag", "baggage", "folder"],
- calendar: ["date"],
- camera: ["photo"],
- cast: ["chromecast", "airplay"],
- "chevron-down": ["expand"],
- "chevron-up": ["collapse"],
- circle: ["off", "zero", "record"],
- clipboard: ["copy"],
- clock: ["time", "watch", "alarm"],
- "cloud-drizzle": ["weather", "shower"],
- "cloud-lightning": ["weather", "bolt"],
- "cloud-rain": ["weather"],
- "cloud-snow": ["weather", "blizzard"],
- cloud: ["weather"],
- codepen: ["logo"],
- codesandbox: ["logo"],
- code: ["source", "programming"],
- coffee: [
- "drink",
- "cup",
- "mug",
- "tea",
- "cafe",
- "hot",
- "beverage",
- ],
- columns: ["layout"],
- command: ["keyboard", "cmd", "terminal", "prompt"],
- compass: ["navigation", "safari", "travel", "direction"],
- copy: ["clone", "duplicate"],
- "corner-down-left": ["arrow", "return"],
- "corner-down-right": ["arrow"],
- "corner-left-down": ["arrow"],
- "corner-left-up": ["arrow"],
- "corner-right-down": ["arrow"],
- "corner-right-up": ["arrow"],
- "corner-up-left": ["arrow"],
- "corner-up-right": ["arrow"],
- cpu: ["processor", "technology"],
- "credit-card": ["purchase", "payment", "cc"],
- crop: ["photo", "image"],
- crosshair: ["aim", "target"],
- database: ["storage", "memory"],
- delete: ["remove"],
- disc: ["album", "cd", "dvd", "music"],
- "dollar-sign": ["currency", "money", "payment"],
- droplet: ["water"],
- edit: ["pencil", "change"],
- "edit-2": ["pencil", "change"],
- "edit-3": ["pencil", "change"],
- eye: ["view", "watch"],
- "eye-off": ["view", "watch", "hide", "hidden"],
- "external-link": ["outbound"],
- facebook: ["logo", "social"],
- "fast-forward": ["music"],
- figma: ["logo", "design", "tool"],
- "file-minus": ["delete", "remove", "erase"],
- "file-plus": ["add", "create", "new"],
- "file-text": ["data", "txt", "pdf"],
- film: ["movie", "video"],
- filter: ["funnel", "hopper"],
- flag: ["report"],
- "folder-minus": ["directory"],
- "folder-plus": ["directory"],
- folder: ["directory"],
- framer: ["logo", "design", "tool"],
- frown: ["emoji", "face", "bad", "sad", "emotion"],
- gift: ["present", "box", "birthday", "party"],
- "git-branch": ["code", "version control"],
- "git-commit": ["code", "version control"],
- "git-merge": ["code", "version control"],
- "git-pull-request": ["code", "version control"],
- github: ["logo", "version control"],
- gitlab: ["logo", "version control"],
- globe: ["world", "browser", "language", "translate"],
- "hard-drive": ["computer", "server", "memory", "data"],
- hash: ["hashtag", "number", "pound"],
- headphones: ["music", "audio", "sound"],
- heart: ["like", "love", "emotion"],
- "help-circle": ["question mark"],
- hexagon: ["shape", "node.js", "logo"],
- home: ["house", "living"],
- image: ["picture"],
- inbox: ["email"],
- instagram: ["logo", "camera"],
- key: ["password", "login", "authentication", "secure"],
- layers: ["stack"],
- layout: ["window", "webpage"],
- "life-buoy": ["help", "life ring", "support"],
- link: ["chain", "url"],
- "link-2": ["chain", "url"],
- linkedin: ["logo", "social media"],
- list: ["options"],
- lock: ["security", "password", "secure"],
- "log-in": ["sign in", "arrow", "enter"],
- "log-out": ["sign out", "arrow", "exit"],
- mail: ["email", "message"],
- "map-pin": ["location", "navigation", "travel", "marker"],
- map: ["location", "navigation", "travel"],
- maximize: ["fullscreen"],
- "maximize-2": ["fullscreen", "arrows", "expand"],
- meh: ["emoji", "face", "neutral", "emotion"],
- menu: ["bars", "navigation", "hamburger"],
- "message-circle": ["comment", "chat"],
- "message-square": ["comment", "chat"],
- "mic-off": ["record", "sound", "mute"],
- mic: ["record", "sound", "listen"],
- minimize: ["exit fullscreen", "close"],
- "minimize-2": ["exit fullscreen", "arrows", "close"],
- minus: ["subtract"],
- monitor: ["tv", "screen", "display"],
- moon: ["dark", "night"],
- "more-horizontal": ["ellipsis"],
- "more-vertical": ["ellipsis"],
- "mouse-pointer": ["arrow", "cursor"],
- move: ["arrows"],
- music: ["note"],
- navigation: ["location", "travel"],
- "navigation-2": ["location", "travel"],
- octagon: ["stop"],
- package: ["box", "container"],
- paperclip: ["attachment"],
- pause: ["music", "stop"],
- "pause-circle": ["music", "audio", "stop"],
- "pen-tool": ["vector", "drawing"],
- percent: ["discount"],
- "phone-call": ["ring"],
- "phone-forwarded": ["call"],
- "phone-incoming": ["call"],
- "phone-missed": ["call"],
- "phone-off": ["call", "mute"],
- "phone-outgoing": ["call"],
- phone: ["call"],
- play: ["music", "start"],
- "pie-chart": ["statistics", "diagram"],
- "play-circle": ["music", "start"],
- plus: ["add", "new"],
- "plus-circle": ["add", "new"],
- "plus-square": ["add", "new"],
- pocket: ["logo", "save"],
- power: ["on", "off"],
- printer: ["fax", "office", "device"],
- radio: ["signal"],
- "refresh-cw": ["synchronise", "arrows"],
- "refresh-ccw": ["arrows"],
- repeat: ["loop", "arrows"],
- rewind: ["music"],
- "rotate-ccw": ["arrow"],
- "rotate-cw": ["arrow"],
- rss: ["feed", "subscribe"],
- save: ["floppy disk"],
- scissors: ["cut"],
- search: ["find", "magnifier", "magnifying glass"],
- send: [
- "message",
- "mail",
- "email",
- "paper airplane",
- "paper aeroplane",
- ],
- settings: ["cog", "edit", "gear", "preferences"],
- "share-2": ["network", "connections"],
- shield: ["security", "secure"],
- "shield-off": ["security", "insecure"],
- "shopping-bag": ["ecommerce", "cart", "purchase", "store"],
- "shopping-cart": ["ecommerce", "cart", "purchase", "store"],
- shuffle: ["music"],
- "skip-back": ["music"],
- "skip-forward": ["music"],
- slack: ["logo"],
- slash: ["ban", "no"],
- sliders: ["settings", "controls"],
- smartphone: ["cellphone", "device"],
- smile: ["emoji", "face", "happy", "good", "emotion"],
- speaker: ["audio", "music"],
- star: ["bookmark", "favorite", "like"],
- "stop-circle": ["media", "music"],
- sun: ["brightness", "weather", "light"],
- sunrise: ["weather", "time", "morning", "day"],
- sunset: ["weather", "time", "evening", "night"],
- tablet: ["device"],
- tag: ["label"],
- target: ["logo", "bullseye"],
- terminal: ["code", "command line", "prompt"],
- thermometer: [
- "temperature",
- "celsius",
- "fahrenheit",
- "weather",
- ],
- "thumbs-down": ["dislike", "bad", "emotion"],
- "thumbs-up": ["like", "good", "emotion"],
- "toggle-left": ["on", "off", "switch"],
- "toggle-right": ["on", "off", "switch"],
- tool: ["settings", "spanner"],
- trash: ["garbage", "delete", "remove", "bin"],
- "trash-2": ["garbage", "delete", "remove", "bin"],
- triangle: ["delta"],
- truck: [
- "delivery",
- "van",
- "shipping",
- "transport",
- "lorry",
- ],
- tv: ["television", "stream"],
- twitch: ["logo"],
- twitter: ["logo", "social"],
- type: ["text"],
- umbrella: ["rain", "weather"],
- unlock: ["security"],
- "user-check": ["followed", "subscribed"],
- "user-minus": [
- "delete",
- "remove",
- "unfollow",
- "unsubscribe",
- ],
- "user-plus": [
- "new",
- "add",
- "create",
- "follow",
- "subscribe",
- ],
- "user-x": [
- "delete",
- "remove",
- "unfollow",
- "unsubscribe",
- "unavailable",
- ],
- user: ["person", "account"],
- users: ["group"],
- "video-off": ["camera", "movie", "film"],
- video: ["camera", "movie", "film"],
- voicemail: ["phone"],
- volume: ["music", "sound", "mute"],
- "volume-1": ["music", "sound"],
- "volume-2": ["music", "sound"],
- "volume-x": ["music", "sound", "mute"],
- watch: ["clock", "time"],
- "wifi-off": ["disabled"],
- wifi: ["connection", "signal", "wireless"],
- wind: ["weather", "air"],
- "x-circle": [
- "cancel",
- "close",
- "delete",
- "remove",
- "times",
- "clear",
- ],
- "x-octagon": [
- "delete",
- "stop",
- "alert",
- "warning",
- "times",
- "clear",
- ],
- "x-square": [
- "cancel",
- "close",
- "delete",
- "remove",
- "times",
- "clear",
- ],
- x: [
- "cancel",
- "close",
- "delete",
- "remove",
- "times",
- "clear",
- ],
- youtube: ["logo", "video", "play"],
- "zap-off": ["flash", "camera", "lightning"],
- zap: ["flash", "camera", "lightning"],
- "zoom-in": ["magnifying glass"],
- "zoom-out": ["magnifying glass"],
- };
- },
- "./src/to-svg.js": function (n, r, o) {
- Object.defineProperty(r, "__esModule", { value: !0 });
- var i = o("./src/icons.js"),
- s = l(i);
- function l(u) {
- return u && u.__esModule ? u : { default: u };
- }
- function a(u) {
- var c =
- arguments.length > 1 && arguments[1] !== void 0
- ? arguments[1]
- : {};
- if (
- (console.warn(
- "feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."
- ),
- !u)
- )
- throw new Error(
- "The required `key` (icon name) parameter is missing."
- );
- if (!s.default[u])
- throw new Error(
- "No icon matching '" +
- u +
- "'. See the complete list of icons at https://feathericons.com"
- );
- return s.default[u].toSvg(c);
- }
- r.default = a;
- },
- 0: function (n, r, o) {
- o("./node_modules/core-js/es/array/from.js"),
- (n.exports = o("./src/index.js"));
- },
- });
- });
-})(By);
-var jS = By.exports;
-const Od = uh(jS),
- Sm = Object.keys(Od.icons),
- _r = {
- props: {
- name: {
- type: String,
- required: !0,
- validator(t) {
- const e = Sm.includes(t);
- return (
- e ||
- (console.groupCollapsed(
- "[frappe-ui] name property for feather-icon must be one of "
- ),
- console.dir(Sm),
- console.groupEnd()),
- e
- );
- },
- },
- color: { type: String, default: null },
- strokeWidth: { type: Number, default: 1.5 },
- },
- render() {
- let t = Od.icons[this.name];
- return (
- t || (t = Od.icons.circle),
- Ke(
- "svg",
- pt(
- t.attrs,
- {
- fill: "none",
- stroke: "currentColor",
- color: this.color,
- "stroke-linecap": "round",
- "stroke-linejoin": "round",
- "stroke-width": this.strokeWidth,
- width: null,
- height: null,
- class: [t.attrs.class, "shrink-0"],
- innerHTML: t.contents,
- },
- this.$attrs
- )
- )
- );
- },
- },
- LS = { name: "LoadingIndicator" },
- $S = {
- class: "max-w-xs animate-spin",
- xmlns: "http://www.w3.org/2000/svg",
- fill: "none",
- viewBox: "0 0 24 24",
- },
- BS = V(
- "circle",
- {
- class: "opacity-25",
- cx: "12",
- cy: "12",
- r: "10",
- stroke: "currentColor",
- "stroke-width": "4",
- },
- null,
- -1
- ),
- zS = V(
- "path",
- {
- class: "opacity-75",
- fill: "currentColor",
- d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z",
- },
- null,
- -1
- ),
- HS = [BS, zS];
-function FS(t, e, n, r, o, i) {
- return N(), W("svg", $S, HS);
-}
-const VS = Le(LS, [["render", FS]]),
- WS = ["disabled", "ariaLabel"],
- Oi = Oe({
- __name: "Button",
- props: {
- theme: { default: "gray" },
- size: { default: "sm" },
- variant: { default: "subtle" },
- label: {},
- icon: {},
- iconLeft: {},
- iconRight: {},
- loading: { type: Boolean, default: !1 },
- loadingText: {},
- disabled: { type: Boolean, default: !1 },
- route: {},
- link: {},
- },
- setup(t) {
- const e = t,
- n = zf(),
- r = G0(),
- o = z(() => {
- let c = {
- gray: "text-white bg-gray-900 hover:bg-gray-800 active:bg-gray-700",
- blue: "text-white bg-blue-500 hover:bg-blue-600 active:bg-blue-700",
- green: "text-white bg-green-600 hover:bg-green-700 active:bg-green-800",
- red: "text-white bg-red-600 hover:bg-red-700 active:bg-red-800",
- }[e.theme],
- d = {
- gray: "text-gray-800 bg-gray-100 hover:bg-gray-200 active:bg-gray-300",
- blue: "text-blue-600 bg-blue-100 hover:bg-blue-200 active:bg-blue-300",
- green: "text-green-800 bg-green-100 hover:bg-green-200 active:bg-green-300",
- red: "text-red-700 bg-red-100 hover:bg-red-200 active:bg-red-300",
- }[e.theme],
- f = {
- gray: "text-gray-800 bg-white border border-gray-300 hover:border-gray-400 active:border-gray-400 active:bg-gray-300",
- blue: "text-blue-600 bg-white border border-blue-300 hover:border-blue-400 active:border-blue-400 active:bg-blue-300",
- green: "text-green-800 bg-white border border-green-400 hover:border-green-500 active:border-green-500 active:bg-green-300",
- red: "text-red-700 bg-white border border-red-300 hover:border-red-400 active:border-red-400 active:bg-red-200",
- }[e.theme],
- p = {
- gray: "text-gray-800 bg-transparent hover:bg-gray-200 active:bg-gray-300",
- blue: "text-blue-600 bg-transparent hover:bg-blue-200 active:bg-blue-300",
- green: "text-green-800 bg-transparent hover:bg-green-200 active:bg-green-300",
- red: "text-red-700 bg-transparent hover:bg-red-200 active:bg-red-300",
- }[e.theme],
- m = {
- gray: "focus-visible:ring focus-visible:ring-gray-400",
- blue: "focus-visible:ring focus-visible:ring-blue-400",
- green: "focus-visible:ring focus-visible:ring-green-400",
- red: "focus-visible:ring focus-visible:ring-red-400",
- }[e.theme],
- y = { subtle: d, solid: c, outline: f, ghost: p }[
- e.variant
- ],
- v = `${e.theme}-${e.variant}`,
- w = {
- gray: "bg-gray-100 text-gray-500",
- "gray-outline":
- "bg-gray-100 text-gray-500 border border-gray-300",
- "gray-ghost": "text-gray-500",
- "blue-solid": "bg-blue-300 text-white",
- "blue-subtle": "bg-blue-100 text-blue-400",
- "blue-outline":
- "bg-blue-100 text-blue-400 border border-blue-300",
- "blue-ghost": "text-blue-400",
- green: "bg-green-100 text-green-500",
- "green-outline":
- "bg-green-100 text-green-500 border border-green-400",
- "green-ghost": "text-green-500",
- red: "bg-red-100 text-red-400",
- "red-outline":
- "bg-red-100 text-red-400 border border-red-300",
- "red-ghost": "text-red-400",
- },
- S = w[v] || w[e.theme],
- E = {
- sm: "h-7 text-base px-2 rounded",
- md: "h-8 text-base font-medium px-2.5 rounded",
- lg: "h-10 text-lg font-medium px-3 rounded-md",
- xl: "h-11.5 text-xl font-medium px-3.5 rounded-lg",
- "2xl": "h-13 text-2xl font-medium px-3.5 rounded-xl",
- }[e.size];
- return (
- a.value &&
- (E = {
- sm: "h-7 w-7 rounded",
- md: "h-8 w-8 rounded",
- lg: "h-10 w-10 rounded-md",
- xl: "h-11.5 w-11.5 rounded-lg",
- "2xl": "h-13 w-13 rounded-xl",
- }[e.size]),
- [
- "inline-flex items-center justify-center gap-2 transition-colors focus:outline-none",
- s.value ? S : y,
- m,
- E,
- ]
- );
- }),
- i = z(
- () =>
- ({
- sm: "h-4",
- md: "h-4.5",
- lg: "h-5",
- xl: "h-6",
- "2xl": "h-6",
- }[e.size])
- ),
- s = z(() => e.disabled || e.loading),
- l = z(() => (a.value ? e.label : null)),
- a = z(() => e.icon || n.icon),
- u = () => {
- if (e.route) return r.push(e.route);
- if (e.link) return window.open(e.link, "_blank");
- };
- return (c, d) => (
- N(),
- W(
- "button",
- pt(c.$attrs, {
- class: o.value,
- onClick: u,
- disabled: s.value,
- ariaLabel: l.value,
- }),
- [
- c.loading
- ? (N(),
- Te(
- VS,
- {
- key: 0,
- class: be({
- "h-3 w-3": c.size == "sm",
- "h-[13.5px] w-[13.5px]":
- c.size == "md",
- "h-[15px] w-[15px]": c.size == "lg",
- "h-4.5 w-4.5":
- c.size == "xl" ||
- c.size == "2xl",
- }),
- },
- null,
- 8,
- ["class"]
- ))
- : c.$slots.prefix || c.iconLeft
- ? xe(c.$slots, "prefix", { key: 1 }, () => [
- c.iconLeft
- ? (N(),
- Te(
- _r,
- {
- key: 0,
- name: c.iconLeft,
- class: be(i.value),
- "aria-hidden": "true",
- },
- null,
- 8,
- ["name", "class"]
- ))
- : Re("", !0),
- ])
- : Re("", !0),
- c.loading && c.loadingText
- ? (N(),
- W(Ne, { key: 2 }, [lr(We(c.loadingText), 1)], 64))
- : a.value && !c.loading
- ? (N(),
- W(
- Ne,
- { key: 3 },
- [
- c.icon
- ? (N(),
- Te(
- _r,
- {
- key: 0,
- name: c.icon,
- class: be(i.value),
- "aria-label": c.label,
- },
- null,
- 8,
- [
- "name",
- "class",
- "aria-label",
- ]
- ))
- : c.$slots.icon
- ? xe(c.$slots, "icon", { key: 1 })
- : Re("", !0),
- ],
- 64
- ))
- : (N(),
- W(
- "span",
- {
- key: 4,
- class: be({ "sr-only": a.value }),
- },
- [
- xe(c.$slots, "default", {}, () => [
- lr(We(c.label), 1),
- ]),
- ],
- 2
- )),
- xe(c.$slots, "suffix", {}, () => [
- c.iconRight
- ? (N(),
- Te(
- _r,
- {
- key: 0,
- name: c.iconRight,
- class: be(i.value),
- "aria-hidden": "true",
- },
- null,
- 8,
- ["name", "class"]
- ))
- : Re("", !0),
- ]),
- ],
- 16,
- WS
- )
- );
- },
- }),
- US = {
- name: "Autocomplete",
- props: ["modelValue", "options", "placeholder"],
- emits: ["update:modelValue", "update:query", "change"],
- components: {
- Popover: tl,
- Button: Oi,
- FeatherIcon: _r,
- Combobox: Ck,
- ComboboxInput: Ek,
- ComboboxOptions: Tk,
- ComboboxOption: Ak,
- ComboboxButton: Mk,
- },
- data() {
- return { query: "", showOptions: !1 };
- },
- computed: {
- valuePropPassed() {
- return "value" in this.$attrs;
- },
- selectedValue: {
- get() {
- return this.valuePropPassed
- ? this.$attrs.value
- : this.modelValue;
- },
- set(t) {
- (this.query = ""),
- t && (this.showOptions = !1),
- this.$emit(
- this.valuePropPassed
- ? "change"
- : "update:modelValue",
- t
- );
- },
- },
- groups() {
- var e;
- return !this.options || this.options.length == 0
- ? []
- : ((e = this.options[0]) != null && e.group
- ? this.options
- : [{ group: "", items: this.options }]
- )
- .map((n, r) => ({
- key: r,
- group: n.group,
- hideLabel: n.hideLabel || !1,
- items: this.filterOptions(n.items),
- }))
- .filter((n) => n.items.length > 0);
- },
- },
- watch: {
- query(t) {
- this.$emit("update:query", t);
- },
- showOptions(t) {
- t &&
- this.$nextTick(() => {
- this.$refs.search.el.focus();
- });
- },
- },
- methods: {
- filterOptions(t) {
- return this.query
- ? t.filter((e) =>
- [e.label, e.value].some((r) =>
- (r || "")
- .toString()
- .toLowerCase()
- .includes(this.query.toLowerCase())
- )
- )
- : t;
- },
- displayValue(t) {
- if (typeof t == "string") {
- let n = this.groups
- .flatMap((r) => r.items)
- .find((r) => r.value === t);
- return (n == null ? void 0 : n.label) || t;
- }
- return t == null ? void 0 : t.label;
- },
- },
- },
- KS = { class: "w-full" },
- qS = ["onClick"],
- JS = { class: "flex items-center" },
- GS = {
- key: 0,
- class: "overflow-hidden text-ellipsis whitespace-nowrap text-base leading-5",
- },
- YS = { key: 1, class: "text-base leading-5 text-gray-500" },
- QS = {
- class: "sticky top-0 z-10 flex items-stretch space-x-1.5 bg-white pt-1.5",
- },
- XS = { class: "relative w-full" },
- ZS = { key: 0, class: "px-2.5 py-1.5 text-sm font-medium text-gray-500" },
- e_ = { key: 0, class: "rounded-md px-2.5 py-1.5 text-base text-gray-600" };
-function t_(t, e, n, r, o, i) {
- const s = Je("FeatherIcon"),
- l = Je("ComboboxInput"),
- a = Je("ComboboxOption"),
- u = Je("ComboboxOptions"),
- c = Je("Popover"),
- d = Je("Combobox");
- return (
- N(),
- Te(
- d,
- {
- modelValue: i.selectedValue,
- "onUpdate:modelValue":
- e[3] || (e[3] = (f) => (i.selectedValue = f)),
- nullable: "",
- },
- {
- default: Ce(({ open: f }) => [
- ve(
- c,
- {
- class: "w-full",
- show: o.showOptions,
- "onUpdate:show":
- e[2] || (e[2] = (p) => (o.showOptions = p)),
- },
- {
- target: Ce(({ open: p, togglePopover: m }) => [
- xe(
- t.$slots,
- "target",
- Et(Lt({ open: p, togglePopover: m })),
- () => [
- V("div", KS, [
- V(
- "button",
- {
- class: be([
- "flex h-7 w-full items-center justify-between gap-2 rounded bg-gray-100 px-2 py-1 transition-colors hover:bg-gray-200 focus:ring-2 focus:ring-gray-400",
- { "bg-gray-200": f },
- ]),
- onClick: () => m(),
- },
- [
- V("div", JS, [
- xe(t.$slots, "prefix"),
- i.selectedValue
- ? (N(),
- W(
- "span",
- GS,
- We(
- i.displayValue(
- i.selectedValue
- )
- ),
- 1
- ))
- : (N(),
- W(
- "span",
- YS,
- We(
- n.placeholder ||
- ""
- ),
- 1
- )),
- ]),
- ve(s, {
- name: "chevron-down",
- class: "h-4 w-4 text-gray-600",
- "aria-hidden": "true",
- }),
- ],
- 10,
- qS
- ),
- ]),
- ]
- ),
- ]),
- body: Ce(({ isOpen: p }) => [
- ca(
- V(
- "div",
- null,
- [
- ve(
- u,
- {
- class: "mt-1 max-h-[15rem] overflow-y-auto rounded-lg bg-white px-1.5 pb-1.5 shadow-2xl",
- static: "",
- },
- {
- default: Ce(() => [
- V("div", QS, [
- V("div", XS, [
- ve(
- l,
- {
- ref: "search",
- class: "form-input w-full",
- type: "text",
- onChange:
- e[0] ||
- (e[0] =
- (
- m
- ) => {
- o.query =
- m.target.value;
- }),
- value: o.query,
- autocomplete:
- "off",
- placeholder:
- "Search",
- },
- null,
- 8,
- ["value"]
- ),
- V(
- "button",
- {
- class: "absolute right-0 inline-flex h-7 w-7 items-center justify-center",
- onClick:
- e[1] ||
- (e[1] =
- (
- m
- ) =>
- (i.selectedValue =
- null)),
- },
- [
- ve(s, {
- name: "x",
- class: "w-4",
- }),
- ]
- ),
- ]),
- ]),
- (N(!0),
- W(
- Ne,
- null,
- Rt(i.groups, (m) =>
- ca(
- (N(),
- W(
- "div",
- {
- class: "mt-1.5",
- key: m.key,
- },
- [
- m.group &&
- !m.hideLabel
- ? (N(),
- W(
- "div",
- ZS,
- We(
- m.group
- ),
- 1
- ))
- : Re(
- "",
- !0
- ),
- (N(
- !0
- ),
- W(
- Ne,
- null,
- Rt(
- m.items,
- (
- y
- ) => (
- N(),
- Te(
- a,
- {
- as: "template",
- key: y.value,
- value: y,
- },
- {
- default:
- Ce(
- ({
- active: v,
- selected:
- w,
- }) => [
- V(
- "li",
- {
- class: be(
- [
- "flex items-center rounded px-2.5 py-1.5 text-base",
- {
- "bg-gray-100":
- v,
- },
- ]
- ),
- },
- [
- xe(
- t.$slots,
- "item-prefix",
- Et(
- Lt(
- {
- active: v,
- selected:
- w,
- option: y,
- }
- )
- )
- ),
- lr(
- " " +
- We(
- y.label
- ),
- 1
- ),
- ],
- 2
- ),
- ]
- ),
- _: 2,
- },
- 1032,
- [
- "value",
- ]
- )
- )
- ),
- 128
- )),
- ]
- )),
- [
- [
- ma,
- m
- .items
- .length >
- 0,
- ],
- ]
- )
- ),
- 128
- )),
- i.groups.length == 0
- ? (N(),
- W(
- "li",
- e_,
- " No results found "
- ))
- : Re("", !0),
- ]),
- _: 3,
- }
- ),
- ],
- 512
- ),
- [[ma, p]]
- ),
- ]),
- _: 2,
- },
- 1032,
- ["show"]
- ),
- ]),
- _: 3,
- },
- 8,
- ["modelValue"]
- )
- );
-}
-const n_ = Le(US, [["render", t_]]);
-var zy = { exports: {} },
- Hy = { exports: {} };
-(function () {
- var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
- e = {
- rotl: function (n, r) {
- return (n << r) | (n >>> (32 - r));
- },
- rotr: function (n, r) {
- return (n << (32 - r)) | (n >>> r);
- },
- endian: function (n) {
- if (n.constructor == Number)
- return (
- (e.rotl(n, 8) & 16711935) | (e.rotl(n, 24) & 4278255360)
- );
- for (var r = 0; r < n.length; r++) n[r] = e.endian(n[r]);
- return n;
- },
- randomBytes: function (n) {
- for (var r = []; n > 0; n--)
- r.push(Math.floor(Math.random() * 256));
- return r;
- },
- bytesToWords: function (n) {
- for (var r = [], o = 0, i = 0; o < n.length; o++, i += 8)
- r[i >>> 5] |= n[o] << (24 - (i % 32));
- return r;
- },
- wordsToBytes: function (n) {
- for (var r = [], o = 0; o < n.length * 32; o += 8)
- r.push((n[o >>> 5] >>> (24 - (o % 32))) & 255);
- return r;
- },
- bytesToHex: function (n) {
- for (var r = [], o = 0; o < n.length; o++)
- r.push((n[o] >>> 4).toString(16)),
- r.push((n[o] & 15).toString(16));
- return r.join("");
- },
- hexToBytes: function (n) {
- for (var r = [], o = 0; o < n.length; o += 2)
- r.push(parseInt(n.substr(o, 2), 16));
- return r;
- },
- bytesToBase64: function (n) {
- for (var r = [], o = 0; o < n.length; o += 3)
- for (
- var i = (n[o] << 16) | (n[o + 1] << 8) | n[o + 2],
- s = 0;
- s < 4;
- s++
- )
- o * 8 + s * 6 <= n.length * 8
- ? r.push(t.charAt((i >>> (6 * (3 - s))) & 63))
- : r.push("=");
- return r.join("");
- },
- base64ToBytes: function (n) {
- n = n.replace(/[^A-Z0-9+\/]/gi, "");
- for (var r = [], o = 0, i = 0; o < n.length; i = ++o % 4)
- i != 0 &&
- r.push(
- ((t.indexOf(n.charAt(o - 1)) &
- (Math.pow(2, -2 * i + 8) - 1)) <<
- (i * 2)) |
- (t.indexOf(n.charAt(o)) >>> (6 - i * 2))
- );
- return r;
- },
- };
- Hy.exports = e;
-})();
-var r_ = Hy.exports,
- Rd = {
- utf8: {
- stringToBytes: function (t) {
- return Rd.bin.stringToBytes(unescape(encodeURIComponent(t)));
- },
- bytesToString: function (t) {
- return decodeURIComponent(escape(Rd.bin.bytesToString(t)));
- },
- },
- bin: {
- stringToBytes: function (t) {
- for (var e = [], n = 0; n < t.length; n++)
- e.push(t.charCodeAt(n) & 255);
- return e;
- },
- bytesToString: function (t) {
- for (var e = [], n = 0; n < t.length; n++)
- e.push(String.fromCharCode(t[n]));
- return e.join("");
- },
- },
- },
- _m = Rd;
-/*!
- * Determine if an object is a Buffer
- *
- * @author Feross Aboukhadijeh
- * @license MIT
- */ var o_ = function (t) {
- return t != null && (Fy(t) || i_(t) || !!t._isBuffer);
-};
-function Fy(t) {
- return (
- !!t.constructor &&
- typeof t.constructor.isBuffer == "function" &&
- t.constructor.isBuffer(t)
- );
-}
-function i_(t) {
- return (
- typeof t.readFloatLE == "function" &&
- typeof t.slice == "function" &&
- Fy(t.slice(0, 0))
- );
-}
-(function () {
- var t = r_,
- e = _m.utf8,
- n = o_,
- r = _m.bin,
- o = function (i, s) {
- i.constructor == String
- ? s && s.encoding === "binary"
- ? (i = r.stringToBytes(i))
- : (i = e.stringToBytes(i))
- : n(i)
- ? (i = Array.prototype.slice.call(i, 0))
- : !Array.isArray(i) &&
- i.constructor !== Uint8Array &&
- (i = i.toString());
- for (
- var l = t.bytesToWords(i),
- a = i.length * 8,
- u = 1732584193,
- c = -271733879,
- d = -1732584194,
- f = 271733878,
- p = 0;
- p < l.length;
- p++
- )
- l[p] =
- (((l[p] << 8) | (l[p] >>> 24)) & 16711935) |
- (((l[p] << 24) | (l[p] >>> 8)) & 4278255360);
- (l[a >>> 5] |= 128 << a % 32),
- (l[(((a + 64) >>> 9) << 4) + 14] = a);
- for (
- var m = o._ff, y = o._gg, v = o._hh, w = o._ii, p = 0;
- p < l.length;
- p += 16
- ) {
- var S = u,
- E = c,
- h = d,
- b = f;
- (u = m(u, c, d, f, l[p + 0], 7, -680876936)),
- (f = m(f, u, c, d, l[p + 1], 12, -389564586)),
- (d = m(d, f, u, c, l[p + 2], 17, 606105819)),
- (c = m(c, d, f, u, l[p + 3], 22, -1044525330)),
- (u = m(u, c, d, f, l[p + 4], 7, -176418897)),
- (f = m(f, u, c, d, l[p + 5], 12, 1200080426)),
- (d = m(d, f, u, c, l[p + 6], 17, -1473231341)),
- (c = m(c, d, f, u, l[p + 7], 22, -45705983)),
- (u = m(u, c, d, f, l[p + 8], 7, 1770035416)),
- (f = m(f, u, c, d, l[p + 9], 12, -1958414417)),
- (d = m(d, f, u, c, l[p + 10], 17, -42063)),
- (c = m(c, d, f, u, l[p + 11], 22, -1990404162)),
- (u = m(u, c, d, f, l[p + 12], 7, 1804603682)),
- (f = m(f, u, c, d, l[p + 13], 12, -40341101)),
- (d = m(d, f, u, c, l[p + 14], 17, -1502002290)),
- (c = m(c, d, f, u, l[p + 15], 22, 1236535329)),
- (u = y(u, c, d, f, l[p + 1], 5, -165796510)),
- (f = y(f, u, c, d, l[p + 6], 9, -1069501632)),
- (d = y(d, f, u, c, l[p + 11], 14, 643717713)),
- (c = y(c, d, f, u, l[p + 0], 20, -373897302)),
- (u = y(u, c, d, f, l[p + 5], 5, -701558691)),
- (f = y(f, u, c, d, l[p + 10], 9, 38016083)),
- (d = y(d, f, u, c, l[p + 15], 14, -660478335)),
- (c = y(c, d, f, u, l[p + 4], 20, -405537848)),
- (u = y(u, c, d, f, l[p + 9], 5, 568446438)),
- (f = y(f, u, c, d, l[p + 14], 9, -1019803690)),
- (d = y(d, f, u, c, l[p + 3], 14, -187363961)),
- (c = y(c, d, f, u, l[p + 8], 20, 1163531501)),
- (u = y(u, c, d, f, l[p + 13], 5, -1444681467)),
- (f = y(f, u, c, d, l[p + 2], 9, -51403784)),
- (d = y(d, f, u, c, l[p + 7], 14, 1735328473)),
- (c = y(c, d, f, u, l[p + 12], 20, -1926607734)),
- (u = v(u, c, d, f, l[p + 5], 4, -378558)),
- (f = v(f, u, c, d, l[p + 8], 11, -2022574463)),
- (d = v(d, f, u, c, l[p + 11], 16, 1839030562)),
- (c = v(c, d, f, u, l[p + 14], 23, -35309556)),
- (u = v(u, c, d, f, l[p + 1], 4, -1530992060)),
- (f = v(f, u, c, d, l[p + 4], 11, 1272893353)),
- (d = v(d, f, u, c, l[p + 7], 16, -155497632)),
- (c = v(c, d, f, u, l[p + 10], 23, -1094730640)),
- (u = v(u, c, d, f, l[p + 13], 4, 681279174)),
- (f = v(f, u, c, d, l[p + 0], 11, -358537222)),
- (d = v(d, f, u, c, l[p + 3], 16, -722521979)),
- (c = v(c, d, f, u, l[p + 6], 23, 76029189)),
- (u = v(u, c, d, f, l[p + 9], 4, -640364487)),
- (f = v(f, u, c, d, l[p + 12], 11, -421815835)),
- (d = v(d, f, u, c, l[p + 15], 16, 530742520)),
- (c = v(c, d, f, u, l[p + 2], 23, -995338651)),
- (u = w(u, c, d, f, l[p + 0], 6, -198630844)),
- (f = w(f, u, c, d, l[p + 7], 10, 1126891415)),
- (d = w(d, f, u, c, l[p + 14], 15, -1416354905)),
- (c = w(c, d, f, u, l[p + 5], 21, -57434055)),
- (u = w(u, c, d, f, l[p + 12], 6, 1700485571)),
- (f = w(f, u, c, d, l[p + 3], 10, -1894986606)),
- (d = w(d, f, u, c, l[p + 10], 15, -1051523)),
- (c = w(c, d, f, u, l[p + 1], 21, -2054922799)),
- (u = w(u, c, d, f, l[p + 8], 6, 1873313359)),
- (f = w(f, u, c, d, l[p + 15], 10, -30611744)),
- (d = w(d, f, u, c, l[p + 6], 15, -1560198380)),
- (c = w(c, d, f, u, l[p + 13], 21, 1309151649)),
- (u = w(u, c, d, f, l[p + 4], 6, -145523070)),
- (f = w(f, u, c, d, l[p + 11], 10, -1120210379)),
- (d = w(d, f, u, c, l[p + 2], 15, 718787259)),
- (c = w(c, d, f, u, l[p + 9], 21, -343485551)),
- (u = (u + S) >>> 0),
- (c = (c + E) >>> 0),
- (d = (d + h) >>> 0),
- (f = (f + b) >>> 0);
- }
- return t.endian([u, c, d, f]);
- };
- (o._ff = function (i, s, l, a, u, c, d) {
- var f = i + ((s & l) | (~s & a)) + (u >>> 0) + d;
- return ((f << c) | (f >>> (32 - c))) + s;
- }),
- (o._gg = function (i, s, l, a, u, c, d) {
- var f = i + ((s & a) | (l & ~a)) + (u >>> 0) + d;
- return ((f << c) | (f >>> (32 - c))) + s;
- }),
- (o._hh = function (i, s, l, a, u, c, d) {
- var f = i + (s ^ l ^ a) + (u >>> 0) + d;
- return ((f << c) | (f >>> (32 - c))) + s;
- }),
- (o._ii = function (i, s, l, a, u, c, d) {
- var f = i + (l ^ (s | ~a)) + (u >>> 0) + d;
- return ((f << c) | (f >>> (32 - c))) + s;
- }),
- (o._blocksize = 16),
- (o._digestsize = 16),
- (zy.exports = function (i, s) {
- if (i == null) throw new Error("Illegal argument " + i);
- var l = t.wordsToBytes(o(i, s));
- return s && s.asBytes
- ? l
- : s && s.asString
- ? r.bytesToString(l)
- : t.bytesToHex(l);
- });
-})();
-var s_ = zy.exports;
-const l_ = uh(s_),
- a_ = ["src"],
- TL = Oe({
- __name: "Avatar",
- props: {
- image: {},
- label: {},
- size: { default: "md" },
- shape: { default: "circle" },
- },
- setup(t) {
- const e = t,
- n = z(
- () =>
- ({
- circle: "rounded-full",
- square: {
- xs: "rounded-[4px]",
- sm: "rounded-[5px]",
- md: "rounded-[5px]",
- lg: "rounded-[6px]",
- xl: "rounded-[6px]",
- "2xl": "rounded-[8px]",
- "3xl": "rounded-[10px]",
- }[e.size],
- }[e.shape])
- ),
- r = z(
- () =>
- ({
- xs: "w-4 h-4",
- sm: "w-5 h-5",
- md: "w-6 h-6",
- lg: "w-7 h-7",
- xl: "w-8 h-8",
- "2xl": "w-10 h-10",
- "3xl": "w-11.5 h-11.5",
- }[e.size])
- ),
- o = z(() => [
- "font-medium",
- {
- xs: "text-2xs",
- sm: "text-sm",
- md: "text-base",
- lg: "text-base",
- xl: "text-lg",
- "2xl": "text-xl",
- "3xl": "text-2xl",
- }[e.size],
- ]),
- i = z(
- () =>
- ({
- xs: "-mr-[.1rem] -mb-[.1rem] h-2 w-2",
- sm: "-mr-[.1rem] -mb-[.1rem] h-[9px] w-[9px]",
- md: "-mr-[.1rem] -mb-[.1rem] h-2.5 w-2.5",
- lg: "-mr-[.1rem] -mb-[.1rem] h-3 w-3",
- xl: "-mr-[.1rem] -mb-[.1rem] h-3 w-3",
- "2xl": "-mr-[.1rem] -mb-[.1rem] h-3.5 w-3.5",
- "3xl": "-mr-[.2rem] -mb-[.2rem] h-4 w-4",
- }[e.size])
- ),
- s = z(
- () =>
- ({
- xs: "h-1 w-1",
- sm: "h-[5px] w-[5px]",
- md: "h-1.5 w-1.5",
- lg: "h-2 w-2",
- xl: "h-2 w-2",
- "2xl": "h-2.5 w-2.5",
- "3xl": "h-3 w-3",
- }[e.size])
- ),
- l = z(
- () =>
- ({
- xs: "h-2.5 w-2.5",
- sm: "h-3 w-3",
- md: "h-4 w-4",
- lg: "h-4 w-4",
- xl: "h-4 w-4",
- "2xl": "h-5 w-5",
- "3xl": "h-5 w-5",
- }[e.size])
- ),
- a = z(() => {
- if (!e.label) return;
- let u = [
- "gray",
- "blue",
- "green",
- "red",
- "yellow",
- "orange",
- ],
- c = Math.floor(
- (parseInt(l_(e.label).substr(4, 2), 16) + 1) / 5.33
- ),
- d = u[c % 6];
- return `bg-${d}-100 text-${d}-700`;
- });
- return (u, c) => (
- N(),
- W(
- "div",
- {
- class: be([
- "relative inline-block shrink-0",
- [r.value, n.value],
- ]),
- },
- [
- u.image
- ? (N(),
- W(
- "img",
- {
- key: 0,
- src: u.image,
- class: be([
- n.value,
- "h-full w-full object-cover",
- ]),
- },
- null,
- 10,
- a_
- ))
- : (N(),
- W(
- "div",
- {
- key: 1,
- class: be([
- "flex h-full w-full items-center justify-center uppercase",
- [o.value, n.value, a.value],
- ]),
- },
- [
- u.$slots.default
- ? (N(),
- W(
- "div",
- {
- key: 0,
- class: be(l.value),
- },
- [xe(u.$slots, "default")],
- 2
- ))
- : (N(),
- W(
- Ne,
- { key: 1 },
- [
- lr(
- We(
- u.label &&
- u.label[0]
- ),
- 1
- ),
- ],
- 64
- )),
- ],
- 2
- )),
- u.$slots.indicator
- ? (N(),
- W(
- "div",
- {
- key: 2,
- class: be([
- "absolute bottom-0 right-0 grid place-items-center rounded-full bg-white",
- i.value,
- ]),
- },
- [
- V(
- "div",
- { class: be(s.value) },
- [xe(u.$slots, "indicator")],
- 2
- ),
- ],
- 2
- ))
- : Re("", !0),
- ],
- 2
- )
- );
- },
- }),
- AL = Oe({
- __name: "Badge",
- props: {
- theme: { default: "gray" },
- size: { default: "md" },
- variant: { default: "subtle" },
- label: {},
- },
- setup(t) {
- const e = t,
- n = z(() => {
- let r = {
- gray: "text-white bg-gray-900",
- blue: "text-white bg-blue-500",
- green: "text-white bg-green-600",
- orange: "text-white bg-amber-600",
- red: "text-white bg-red-600",
- }[e.theme],
- o = {
- gray: "text-gray-700 bg-gray-100",
- blue: "text-blue-600 bg-blue-100",
- green: "text-green-800 bg-green-200",
- orange: "text-amber-700 bg-amber-100",
- red: "text-red-600 bg-red-100",
- }[e.theme],
- i = {
- gray: "text-gray-700 bg-white border border-gray-300",
- blue: "text-blue-600 bg-white border border-blue-300",
- green: "text-green-800 bg-white border border-green-300",
- orange: "text-amber-700 bg-white border border-amber-300",
- red: "text-red-600 bg-white border border-red-300",
- }[e.theme],
- s = {
- gray: "text-gray-700 bg-transparent",
- blue: "text-blue-600 bg-transparent",
- green: "text-green-800 bg-transparent",
- orange: "text-amber-700 bg-transparent",
- red: "text-red-600 bg-transparent",
- }[e.theme],
- l = { subtle: o, solid: r, outline: i, ghost: s }[
- e.variant
- ],
- a = {
- sm: "h-4 text-xs px-1.5",
- md: "h-5 text-xs px-1.5",
- lg: "h-6 text-sm px-2",
- }[e.size];
- return [l, a];
- });
- return (r, o) => (
- N(),
- W(
- "div",
- {
- class: be([
- "inline-flex select-none items-center gap-1 rounded-full",
- n.value,
- ]),
- },
- [
- r.$slots.prefix
- ? (N(),
- W(
- "div",
- {
- key: 0,
- class: be([
- e.size == "lg"
- ? "max-h-6"
- : "max-h-4",
- ]),
- },
- [xe(r.$slots, "prefix")],
- 2
- ))
- : Re("", !0),
- xe(r.$slots, "default", {}, () => {
- var i;
- return [
- lr(
- We(
- (i = e.label) == null
- ? void 0
- : i.toString()
- ),
- 1
- ),
- ];
- }),
- r.$slots.suffix
- ? (N(),
- W(
- "div",
- {
- key: 1,
- class: be([
- e.size == "lg"
- ? "max-h-6"
- : "max-h-4",
- ]),
- },
- [xe(r.$slots, "suffix")],
- 2
- ))
- : Re("", !0),
- ],
- 2
- )
- );
- },
- });
-function Is(t) {
- return N1() ? (D1(t), !0) : !1;
-}
-function Er(t) {
- return typeof t == "function" ? t() : ne(t);
-}
-const Pd = typeof window != "undefined" && typeof document != "undefined";
-typeof WorkerGlobalScope != "undefined" &&
- globalThis instanceof WorkerGlobalScope;
-const u_ = Object.prototype.toString,
- c_ = (t) => u_.call(t) === "[object Object]",
- Id = () => {};
-function d_(t, e) {
- function n(...r) {
- return new Promise((o, i) => {
- Promise.resolve(
- t(() => e.apply(this, r), { fn: e, thisArg: this, args: r })
- )
- .then(o)
- .catch(i);
- });
- }
- return n;
-}
-const Vy = (t) => t();
-function f_(t, e = {}) {
- let n,
- r,
- o = Id;
- const i = (l) => {
- clearTimeout(l), o(), (o = Id);
- };
- return (l) => {
- const a = Er(t),
- u = Er(e.maxWait);
- return (
- n && i(n),
- a <= 0 || (u !== void 0 && u <= 0)
- ? (r && (i(r), (r = null)), Promise.resolve(l()))
- : new Promise((c, d) => {
- (o = e.rejectOnCancel ? d : c),
- u &&
- !r &&
- (r = setTimeout(() => {
- n && i(n), (r = null), c(l());
- }, u)),
- (n = setTimeout(() => {
- r && i(r), (r = null), c(l());
- }, a));
- })
- );
- };
-}
-function h_(t = Vy) {
- const e = Q(!0);
- function n() {
- e.value = !1;
- }
- function r() {
- e.value = !0;
- }
- const o = (...i) => {
- e.value && t(...i);
- };
- return { isActive: yu(e), pause: n, resume: r, eventFilter: o };
-}
-function p_(t) {
- return t || uo();
-}
-function Wy(t, e, n = {}) {
- const i = n,
- { eventFilter: r = Vy } = i,
- o = tt(i, ["eventFilter"]);
- return at(t, d_(r, e), o);
-}
-function m_(t, e, n = {}) {
- const c = n,
- { eventFilter: r } = c,
- o = tt(c, ["eventFilter"]),
- { eventFilter: i, pause: s, resume: l, isActive: a } = h_(r);
- return {
- stop: Wy(t, e, ge(B({}, o), { eventFilter: i })),
- pause: s,
- resume: l,
- isActive: a,
- };
-}
-function Uy(t, e = !0, n) {
- p_() ? Ze(t, n) : e ? t() : bt(t);
-}
-function g_(t, e = 1e3, n = {}) {
- const { immediate: r = !0, immediateCallback: o = !1 } = n;
- let i = null;
- const s = Q(!1);
- function l() {
- i && (clearInterval(i), (i = null));
- }
- function a() {
- (s.value = !1), l();
- }
- function u() {
- const c = Er(e);
- c <= 0 || ((s.value = !0), o && t(), l(), (i = setInterval(t, c)));
- }
- if ((r && Pd && u(), Jt(e) || typeof e == "function")) {
- const c = at(e, () => {
- s.value && Pd && u();
- });
- Is(c);
- }
- return Is(a), { isActive: s, pause: a, resume: u };
-}
-function OL(t, e, n = {}) {
- const s = n,
- { debounce: r = 0, maxWait: o = void 0 } = s,
- i = tt(s, ["debounce", "maxWait"]);
- return Wy(t, e, ge(B({}, i), { eventFilter: f_(r, { maxWait: o }) }));
-}
-function y_(t) {
- var e;
- const n = Er(t);
- return (e = n == null ? void 0 : n.$el) != null ? e : n;
-}
-const Ri = Pd ? window : void 0;
-function Nd(...t) {
- let e, n, r, o;
- if (
- (typeof t[0] == "string" || Array.isArray(t[0])
- ? (([n, r, o] = t), (e = Ri))
- : ([e, n, r, o] = t),
- !e)
- )
- return Id;
- Array.isArray(n) || (n = [n]), Array.isArray(r) || (r = [r]);
- const i = [],
- s = () => {
- i.forEach((c) => c()), (i.length = 0);
- },
- l = (c, d, f, p) => (
- c.addEventListener(d, f, p), () => c.removeEventListener(d, f, p)
- ),
- a = at(
- () => [y_(e), Er(o)],
- ([c, d]) => {
- if ((s(), !c)) return;
- const f = c_(d) ? B({}, d) : d;
- i.push(...n.flatMap((p) => r.map((m) => l(c, p, m, f))));
- },
- { immediate: !0, flush: "post" }
- ),
- u = () => {
- a(), s();
- };
- return Is(u), u;
-}
-function v_() {
- const t = Q(!1);
- return (
- uo() &&
- Ze(() => {
- t.value = !0;
- }),
- t
- );
-}
-function b_(t) {
- const e = v_();
- return z(() => (e.value, !!t()));
-}
-function w_(t, e = {}) {
- const { immediate: n = !0, fpsLimit: r = void 0, window: o = Ri } = e,
- i = Q(!1),
- s = r ? 1e3 / r : null;
- let l = 0,
- a = null;
- function u(f) {
- if (!i.value || !o) return;
- const p = f - (l || f);
- if (s && p < s) {
- a = o.requestAnimationFrame(u);
- return;
- }
- t({ delta: p, timestamp: f }),
- (l = f),
- (a = o.requestAnimationFrame(u));
- }
- function c() {
- !i.value && o && ((i.value = !0), (a = o.requestAnimationFrame(u)));
- }
- function d() {
- (i.value = !1),
- a != null && o && (o.cancelAnimationFrame(a), (a = null));
- }
- return n && c(), Is(d), { isActive: yu(i), pause: d, resume: c };
-}
-function x_(t, e = {}) {
- const { window: n = Ri } = e,
- r = b_(
- () => n && "matchMedia" in n && typeof n.matchMedia == "function"
- );
- let o;
- const i = Q(!1),
- s = (u) => {
- i.value = u.matches;
- },
- l = () => {
- o &&
- ("removeEventListener" in o
- ? o.removeEventListener("change", s)
- : o.removeListener(s));
- },
- a = xt(() => {
- r.value &&
- (l(),
- (o = n.matchMedia(Er(t))),
- "addEventListener" in o
- ? o.addEventListener("change", s)
- : o.addListener(s),
- (i.value = o.matches));
- });
- return (
- Is(() => {
- a(), l(), (o = void 0);
- }),
- i
- );
-}
-const _l =
- typeof globalThis != "undefined"
- ? globalThis
- : typeof window != "undefined"
- ? window
- : typeof global != "undefined"
- ? global
- : typeof self != "undefined"
- ? self
- : {},
- Cl = "__vueuse_ssr_handlers__",
- k_ = S_();
-function S_() {
- return Cl in _l || (_l[Cl] = _l[Cl] || {}), _l[Cl];
-}
-function __(t, e) {
- return k_[t] || e;
-}
-function C_(t) {
- return t == null
- ? "any"
- : t instanceof Set
- ? "set"
- : t instanceof Map
- ? "map"
- : t instanceof Date
- ? "date"
- : typeof t == "boolean"
- ? "boolean"
- : typeof t == "string"
- ? "string"
- : typeof t == "object"
- ? "object"
- : Number.isNaN(t)
- ? "any"
- : "number";
-}
-const M_ = {
- boolean: { read: (t) => t === "true", write: (t) => String(t) },
- object: { read: (t) => JSON.parse(t), write: (t) => JSON.stringify(t) },
- number: { read: (t) => Number.parseFloat(t), write: (t) => String(t) },
- any: { read: (t) => t, write: (t) => String(t) },
- string: { read: (t) => t, write: (t) => String(t) },
- map: {
- read: (t) => new Map(JSON.parse(t)),
- write: (t) => JSON.stringify(Array.from(t.entries())),
- },
- set: {
- read: (t) => new Set(JSON.parse(t)),
- write: (t) => JSON.stringify(Array.from(t)),
- },
- date: { read: (t) => new Date(t), write: (t) => t.toISOString() },
- },
- Cm = "vueuse-storage";
-function RL(t, e, n, r = {}) {
- var o;
- const {
- flush: i = "pre",
- deep: s = !0,
- listenToStorageChanges: l = !0,
- writeDefaults: a = !0,
- mergeDefaults: u = !1,
- shallow: c,
- window: d = Ri,
- eventFilter: f,
- onError: p = (C) => {
- console.error(C);
- },
- initOnMounted: m,
- } = r,
- y = (c ? bu : Q)(typeof e == "function" ? e() : e);
- if (!n)
- try {
- n = __("getDefaultStorage", () => {
- var C;
- return (C = Ri) == null ? void 0 : C.localStorage;
- })();
- } catch (C) {
- p(C);
- }
- if (!n) return y;
- const v = Er(e),
- w = C_(v),
- S = (o = r.serializer) != null ? o : M_[w],
- { pause: E, resume: h } = m_(y, () => b(y.value), {
- flush: i,
- deep: s,
- eventFilter: f,
- });
- return (
- d &&
- l &&
- Uy(() => {
- Nd(d, "storage", k), Nd(d, Cm, x), m && k();
- }),
- m || k(),
- y
- );
- function b(C) {
- try {
- if (C == null) n.removeItem(t);
- else {
- const _ = S.write(C),
- T = n.getItem(t);
- T !== _ &&
- (n.setItem(t, _),
- d &&
- d.dispatchEvent(
- new CustomEvent(Cm, {
- detail: {
- key: t,
- oldValue: T,
- newValue: _,
- storageArea: n,
- },
- })
- ));
- }
- } catch (_) {
- p(_);
- }
- }
- function g(C) {
- const _ = C ? C.newValue : n.getItem(t);
- if (_ == null) return a && v != null && n.setItem(t, S.write(v)), v;
- if (!C && u) {
- const T = S.read(_);
- return typeof u == "function"
- ? u(T, v)
- : w === "object" && !Array.isArray(T)
- ? B(B({}, v), T)
- : T;
- } else return typeof _ != "string" ? _ : S.read(_);
- }
- function x(C) {
- k(C.detail);
- }
- function k(C) {
- if (!(C && C.storageArea !== n)) {
- if (C && C.key == null) {
- y.value = v;
- return;
- }
- if (!(C && C.key !== t)) {
- E();
- try {
- (C == null ? void 0 : C.newValue) !== S.write(y.value) &&
- (y.value = g(C));
- } catch (_) {
- p(_);
- } finally {
- C ? bt(h) : h();
- }
- }
- }
- }
-}
-function E_(t = {}) {
- const { controls: e = !1, interval: n = "requestAnimationFrame" } = t,
- r = Q(new Date()),
- o = () => (r.value = new Date()),
- i =
- n === "requestAnimationFrame"
- ? w_(o, { immediate: !0 })
- : g_(o, n, { immediate: !0 });
- return e ? B({ now: r }, i) : r;
-}
-const T_ = [
- { max: 6e4, value: 1e3, name: "second" },
- { max: 276e4, value: 6e4, name: "minute" },
- { max: 72e6, value: 36e5, name: "hour" },
- { max: 5184e5, value: 864e5, name: "day" },
- { max: 24192e5, value: 6048e5, name: "week" },
- { max: 28512e6, value: 2592e6, name: "month" },
- { max: Number.POSITIVE_INFINITY, value: 31536e6, name: "year" },
- ],
- A_ = {
- justNow: "just now",
- past: (t) => (t.match(/\d/) ? `${t} ago` : t),
- future: (t) => (t.match(/\d/) ? `in ${t}` : t),
- month: (t, e) =>
- t === 1
- ? e
- ? "last month"
- : "next month"
- : `${t} month${t > 1 ? "s" : ""}`,
- year: (t, e) =>
- t === 1
- ? e
- ? "last year"
- : "next year"
- : `${t} year${t > 1 ? "s" : ""}`,
- day: (t, e) =>
- t === 1
- ? e
- ? "yesterday"
- : "tomorrow"
- : `${t} day${t > 1 ? "s" : ""}`,
- week: (t, e) =>
- t === 1
- ? e
- ? "last week"
- : "next week"
- : `${t} week${t > 1 ? "s" : ""}`,
- hour: (t) => `${t} hour${t > 1 ? "s" : ""}`,
- minute: (t) => `${t} minute${t > 1 ? "s" : ""}`,
- second: (t) => `${t} second${t > 1 ? "s" : ""}`,
- invalid: "",
- };
-function O_(t) {
- return t.toISOString().slice(0, 10);
-}
-function PL(t, e = {}) {
- const { controls: n = !1, updateInterval: r = 3e4 } = e,
- l = E_({ interval: r, controls: !0 }),
- { now: o } = l,
- i = tt(l, ["now"]),
- s = z(() => R_(new Date(Er(t)), e, Er(o)));
- return n ? B({ timeAgo: s }, i) : s;
-}
-function R_(t, e = {}, n = Date.now()) {
- var r;
- const {
- max: o,
- messages: i = A_,
- fullDateFormatter: s = O_,
- units: l = T_,
- showSecond: a = !1,
- rounding: u = "round",
- } = e,
- c = typeof u == "number" ? (v) => +v.toFixed(u) : Math[u],
- d = +n - +t,
- f = Math.abs(d);
- function p(v, w) {
- return c(Math.abs(v) / w.value);
- }
- function m(v, w) {
- const S = p(v, w),
- E = v > 0,
- h = y(w.name, S, E);
- return y(E ? "past" : "future", h, E);
- }
- function y(v, w, S) {
- const E = i[v];
- return typeof E == "function"
- ? E(w, S)
- : E.replace("{0}", w.toString());
- }
- if (f < 6e4 && !a) return i.justNow;
- if (typeof o == "number" && f > o) return s(new Date(t));
- if (typeof o == "string") {
- const v = (r = l.find((w) => w.name === o)) == null ? void 0 : r.max;
- if (v && f > v) return s(new Date(t));
- }
- for (const [v, w] of l.entries()) {
- if (p(d, w) <= 0 && l[v - 1]) return m(d, l[v - 1]);
- if (f < w.max) return m(d, w);
- }
- return i.invalid;
-}
-function P_(t = {}) {
- const {
- window: e = Ri,
- initialWidth: n = Number.POSITIVE_INFINITY,
- initialHeight: r = Number.POSITIVE_INFINITY,
- listenOrientation: o = !0,
- includeScrollbar: i = !0,
- } = t,
- s = Q(n),
- l = Q(r),
- a = () => {
- e &&
- (i
- ? ((s.value = e.innerWidth), (l.value = e.innerHeight))
- : ((s.value = e.document.documentElement.clientWidth),
- (l.value = e.document.documentElement.clientHeight)));
- };
- if ((a(), Uy(a), Nd("resize", a, { passive: !0 }), o)) {
- const u = x_("(orientation: portrait)");
- at(u, () => a());
- }
- return { width: s, height: l };
-}
-const I_ = {
- name: "Dropdown",
- props: {
- button: { type: Object, default: null },
- options: { type: Array, default: () => [] },
- placement: { type: String, default: "left" },
- },
- components: {
- Menu: u8,
- MenuButton: c8,
- MenuItems: d8,
- MenuItem: f8,
- Button: Oi,
- FeatherIcon: _r,
- Popover: tl,
- },
- methods: {
- normalizeDropdownItem(t) {
- let e = t.onClick || null;
- return (
- !e &&
- t.route &&
- this.$router &&
- (e = () => this.$router.push(t.route)),
- {
- label: t.label,
- icon: t.icon,
- group: t.group,
- component: t.component,
- onClick: e,
- }
- );
- },
- filterOptions(t) {
- return (t || [])
- .filter(Boolean)
- .filter((e) => (e.condition ? e.condition() : !0))
- .map((e) => this.normalizeDropdownItem(e));
- },
- },
- computed: {
- groups() {
- var e;
- return (
- (e = this.options[0]) != null && e.group
- ? this.options
- : [{ group: "", items: this.options }]
- ).map((n, r) => ({
- key: r,
- group: n.group,
- hideLabel: n.hideLabel || !1,
- items: this.filterOptions(n.items),
- }));
- },
- dropdownTransition() {
- return {
- enterActiveClass: "transition duration-100 ease-out",
- enterFromClass: "transform scale-95 opacity-0",
- enterToClass: "transform scale-100 opacity-100",
- leaveActiveClass: "transition duration-75 ease-in",
- leaveFromClass: "transform scale-100 opacity-100",
- leaveToClass: "transform scale-95 opacity-0",
- };
- },
- popoverPlacement() {
- return this.placement === "left"
- ? "bottom-start"
- : this.placement === "right"
- ? "bottom-end"
- : this.placement === "center"
- ? "bottom-center"
- : "bottom";
- },
- },
- },
- N_ = {
- key: 0,
- class: "flex h-7 items-center px-2 text-sm font-medium text-gray-500",
- },
- D_ = ["onClick"],
- j_ = { class: "whitespace-nowrap" };
-function L_(t, e, n, r, o, i) {
- const s = Je("Button"),
- l = Je("MenuButton"),
- a = Je("FeatherIcon"),
- u = Je("MenuItem"),
- c = Je("MenuItems"),
- d = Je("Popover"),
- f = Je("Menu");
- return (
- N(),
- Te(
- f,
- { as: "div", class: "relative inline-block text-left" },
- {
- default: Ce(({ open: p }) => [
- ve(
- d,
- {
- transition: i.dropdownTransition,
- show: p,
- placement: i.popoverPlacement,
- },
- {
- target: Ce(() => [
- ve(
- l,
- { as: "div" },
- {
- default: Ce(() => [
- t.$slots.default
- ? xe(
- t.$slots,
- "default",
- Et(
- pt(
- { key: 0 },
- { open: p }
- )
- )
- )
- : (N(),
- Te(
- s,
- pt(
- {
- key: 1,
- active: p,
- },
- n.button
- ),
- {
- default: Ce(() => {
- var m;
- return [
- lr(
- We(
- n.button
- ? ((m =
- n.button) ==
- null
- ? void 0
- : m.label) ||
- null
- : "Options"
- ),
- 1
- ),
- ];
- }),
- _: 2,
- },
- 1040,
- ["active"]
- )),
- ]),
- _: 2,
- },
- 1024
- ),
- ]),
- body: Ce(() => [
- ve(
- c,
- {
- class: be([
- "mt-2 min-w-40 divide-y divide-gray-100 rounded-lg bg-white shadow-2xl ring-1 ring-black ring-opacity-5 focus:outline-none",
- {
- "left-0 origin-top-left":
- n.placement == "left",
- "right-0 origin-top-right":
- n.placement == "right",
- "inset-x-0 origin-top":
- n.placement == "center",
- },
- ]),
- },
- {
- default: Ce(() => [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- i.groups,
- (m) => (
- N(),
- W(
- "div",
- {
- key: m.key,
- class: "p-1.5",
- },
- [
- m.group &&
- !m.hideLabel
- ? (N(),
- W(
- "div",
- N_,
- We(
- m.group
- ),
- 1
- ))
- : Re(
- "",
- !0
- ),
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- m.items,
- (y) => (
- N(),
- Te(
- u,
- {
- key: y.label,
- },
- {
- default:
- Ce(
- ({
- active: v,
- }) => [
- y.component
- ? (N(),
- Te(
- Bn(
- y.component
- ),
- {
- key: 0,
- active: v,
- },
- null,
- 8,
- [
- "active",
- ]
- ))
- : (N(),
- W(
- "button",
- {
- key: 1,
- class: be(
- [
- v
- ? "bg-gray-100"
- : "text-gray-800",
- "group flex h-7 w-full items-center rounded px-2 text-base",
- ]
- ),
- onClick:
- y.onClick,
- },
- [
- y.icon &&
- typeof y.icon ==
- "string"
- ? (N(),
- Te(
- a,
- {
- key: 0,
- name: y.icon,
- class: "mr-2 h-4 w-4 flex-shrink-0 text-gray-700",
- "aria-hidden":
- "true",
- },
- null,
- 8,
- [
- "name",
- ]
- ))
- : y.icon
- ? (N(),
- Te(
- Bn(
- y.icon
- ),
- {
- key: 1,
- class: "mr-2 h-4 w-4 flex-shrink-0 text-gray-700",
- }
- ))
- : Re(
- "",
- !0
- ),
- V(
- "span",
- j_,
- We(
- y.label
- ),
- 1
- ),
- ],
- 10,
- D_
- )),
- ]
- ),
- _: 2,
- },
- 1024
- )
- )
- ),
- 128
- )),
- ]
- )
- )
- ),
- 128
- )),
- ]),
- _: 1,
- },
- 8,
- ["class"]
- ),
- ]),
- _: 2,
- },
- 1032,
- ["transition", "show", "placement"]
- ),
- ]),
- _: 3,
- }
- )
- );
-}
-const $_ = Le(I_, [["render", L_]]),
- B_ = { class: "flex min-w-0 items-center" },
- z_ = V(
- "svg",
- {
- class: "w-4 text-gray-600",
- xmlns: "http://www.w3.org/2000/svg",
- width: "24",
- height: "24",
- viewBox: "0 0 24 24",
- fill: "none",
- stroke: "currentColor",
- "stroke-width": "2",
- "stroke-linecap": "round",
- "stroke-linejoin": "round",
- },
- [
- V("circle", { cx: "12", cy: "12", r: "1" }),
- V("circle", { cx: "19", cy: "12", r: "1" }),
- V("circle", { cx: "5", cy: "12", r: "1" }),
- ],
- -1
- ),
- H_ = V(
- "span",
- { class: "ml-1 mr-0.5 text-base text-gray-500", "aria-hidden": "true" },
- " / ",
- -1
- ),
- F_ = {
- class: "flex min-w-0 items-center overflow-hidden text-ellipsis whitespace-nowrap",
- },
- V_ = {
- key: 0,
- class: "mx-0.5 text-base text-gray-500",
- "aria-hidden": "true",
- },
- IL = Oe({
- __name: "Breadcrumbs",
- props: { items: {} },
- setup(t) {
- const e = t,
- n = G0(),
- { width: r } = P_(),
- o = z(() => (e.items || []).filter(Boolean)),
- i = z(() =>
- r.value > 640
- ? []
- : o.value.slice(0, -2).map((a) => {
- let u = a.onClick
- ? a.onClick
- : () => n.push(a.route);
- return ge(B({}, a), {
- icon: null,
- label: a.label,
- onClick: u,
- });
- })
- ),
- s = z(() => (r.value > 640 ? o.value : o.value.slice(-2)));
- return (l, a) => (
- N(),
- W("div", B_, [
- i.value.length
- ? (N(),
- W(
- Ne,
- { key: 0 },
- [
- ve(
- $_,
- { class: "h-7", options: i.value },
- {
- default: Ce(() => [
- ve(
- Oi,
- { variant: "ghost" },
- {
- icon: Ce(() => [z_]),
- _: 1,
- }
- ),
- ]),
- _: 1,
- },
- 8,
- ["options"]
- ),
- H_,
- ],
- 64
- ))
- : Re("", !0),
- V("div", F_, [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- s.value,
- (u, c) => (
- N(),
- W(
- Ne,
- { key: u.label },
- [
- (N(),
- Te(
- Bn(
- u.route
- ? "router-link"
- : "button"
- ),
- pt(
- {
- class: [
- "flex items-center rounded px-0.5 py-1 text-lg font-medium focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400",
- [
- c ==
- s.value.length -
- 1
- ? "text-gray-900"
- : "text-gray-600 hover:text-gray-700",
- ],
- ],
- },
- u.route
- ? { to: u.route }
- : { onClick: u.onClick }
- ),
- {
- default: Ce(() => [
- xe(l.$slots, "prefix", {
- item: u,
- }),
- V(
- "span",
- null,
- We(u.label),
- 1
- ),
- ]),
- _: 2,
- },
- 1040,
- ["class"]
- )),
- c != s.value.length - 1
- ? (N(), W("span", V_, " / "))
- : Re("", !0),
- ],
- 64
- )
- )
- ),
- 128
- )),
- ]),
- ])
- );
- },
- });
-let W_ = 0;
-function U_() {
- return ++W_;
-}
-function Ky() {
- return "frappe-ui-" + U_();
-}
-const K_ = ["disabled", "id", "checked"],
- q_ = ["for"],
- Lu = Oe({
- __name: "Checkbox",
- props: {
- size: { default: "sm" },
- label: {},
- checked: { type: Boolean },
- disabled: { type: Boolean },
- padding: { type: Boolean, default: !1 },
- modelValue: { type: Boolean },
- id: {},
- },
- setup(t) {
- var s;
- const e = t,
- n = Js(),
- r = (s = e.id) != null ? s : Ky(),
- o = z(() => [
- { sm: "text-base font-medium", md: "text-lg font-medium" }[
- e.size
- ],
- e.disabled ? "text-gray-500" : "text-gray-800",
- "select-none",
- ]),
- i = z(() => {
- let l = e.disabled
- ? "border-gray-300 bg-gray-50 text-gray-400"
- : "border-gray-500 text-gray-900 hover:border-gray-600 focus:ring-offset-0 focus:border-gray-900 active:border-gray-700 transition",
- a = e.disabled
- ? ""
- : e.padding
- ? "focus:ring-0"
- : "hover:shadow-sm focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400 active:bg-gray-100",
- u = { sm: "w-3.5 h-3.5", md: "w-4 h-4" }[e.size];
- return [l, a, u];
- });
- return (l, a) => (
- N(),
- W(
- "div",
- {
- class: be([
- "inline-flex items-center space-x-2 rounded transition",
- {
- "px-2.5 py-1.5": l.padding && l.size === "sm",
- "px-3 py-2": l.padding && l.size === "md",
- "focus-within:bg-gray-100 focus-within:ring-2 focus-within:ring-gray-400 hover:bg-gray-200 active:bg-gray-300":
- l.padding && !l.disabled,
- },
- ]),
- },
- [
- V(
- "input",
- pt(
- {
- class: ["rounded-sm", i.value],
- type: "checkbox",
- disabled: l.disabled,
- id: ne(r),
- checked: !!l.modelValue,
- onChange:
- a[0] ||
- (a[0] = (u) =>
- l.$emit(
- "update:modelValue",
- u.target.checked
- )),
- },
- ne(n)
- ),
- null,
- 16,
- K_
- ),
- l.label
- ? (N(),
- W(
- "label",
- {
- key: 0,
- class: be(["block", o.value]),
- for: ne(r),
- },
- We(l.label),
- 11,
- q_
- ))
- : Re("", !0),
- ],
- 2
- )
- );
- },
- });
-function $u(t, e, n) {
- var r;
- return function () {
- var o = this,
- i = arguments,
- s = function () {
- (r = void 0), n || t.apply(o, i);
- },
- l = n && !r;
- clearTimeout(r), (r = window.setTimeout(s, e)), l && t.apply(o, i);
- };
-}
-const J_ = {
- name: "Input",
- inheritAttrs: !1,
- expose: ["getInputValue"],
- components: { FeatherIcon: _r },
- props: {
- label: { type: String },
- type: {
- type: String,
- default: "text",
- validator(t) {
- let e = [
- "text",
- "number",
- "checkbox",
- "textarea",
- "select",
- "email",
- "password",
- "date",
- ].includes(t);
- return (
- e ||
- console.warn(
- `Invalid value "${t}" for "type" prop for Input`
- ),
- e
- );
- },
- },
- modelValue: { type: [String, Number, Boolean, Object, Array] },
- inputClass: { type: [String, Array, Object] },
- debounce: { type: Number },
- options: { type: Array },
- disabled: { type: Boolean },
- rows: { type: Number, default: 3 },
- placeholder: { type: String },
- iconLeft: { type: String },
- },
- emits: ["input", "change", "update:modelValue"],
- methods: {
- focus() {
- this.$refs.input.focus();
- },
- blur() {
- this.$refs.input.blur();
- },
- getInputValue(t) {
- let e = t ? t.target : this.$refs.input,
- n = e.value;
- return this.type == "checkbox" && (n = e.checked), n;
- },
- },
- computed: {
- passedInputValue() {
- return "value" in this.$attrs
- ? this.$attrs.value
- : this.modelValue || null;
- },
- inputAttributes() {
- let t = {},
- e = (n) => {
- this.$emit("input", this.getInputValue(n));
- };
- return (
- this.debounce && (e = $u(e, this.debounce)),
- this.type == "checkbox" &&
- (t.checked = this.passedInputValue),
- Object.assign(t, this.$attrs, {
- onInput: e,
- onChange: (n) => {
- this.$emit("change", this.getInputValue(n)),
- this.$emit(
- "update:modelValue",
- this.getInputValue(n)
- );
- },
- })
- );
- },
- selectOptions() {
- return this.options
- .map((t) =>
- typeof t == "string" ? { label: t, value: t } : t
- )
- .filter(Boolean);
- },
- isNormalInput() {
- return [
- "text",
- "number",
- "checkbox",
- "email",
- "password",
- "date",
- ].includes(this.type);
- },
- },
- },
- G_ = { key: 0, class: "mb-2 block text-sm leading-4 text-gray-700" },
- Y_ = ["type", "disabled", "placeholder", "value"],
- Q_ = ["placeholder", "value", "disabled", "rows"],
- X_ = ["disabled"],
- Z_ = ["value", "disabled", "selected"],
- eC = { key: 1, class: "ml-2 inline-block text-base leading-4" };
-function tC(t, e, n, r, o, i) {
- const s = Je("FeatherIcon");
- return (
- N(),
- W(
- "label",
- {
- class: be([
- n.type == "checkbox" ? "flex" : "block",
- t.$attrs.class,
- ]),
- },
- [
- n.label && n.type != "checkbox"
- ? (N(), W("span", G_, We(n.label), 1))
- : Re("", !0),
- V(
- "div",
- {
- class: be([
- "relative flex",
- {
- "items-center":
- i.isNormalInput || n.type == "select",
- },
- ]),
- },
- [
- n.iconLeft && n.type != "checkbox"
- ? (N(),
- Te(
- s,
- {
- key: 0,
- name: n.iconLeft,
- class: be([
- "absolute mx-2 h-4 w-4 text-gray-600",
- { "mt-2": n.type == "textarea" },
- ]),
- },
- null,
- 8,
- ["name", "class"]
- ))
- : Re("", !0),
- i.isNormalInput
- ? (N(),
- W(
- "input",
- pt({ key: 1 }, i.inputAttributes, {
- class: [
- "border-gray-400 placeholder-gray-500",
- [
- {
- "form-input block w-full":
- n.type != "checkbox",
- "form-checkbox":
- n.type == "checkbox",
- "pl-8":
- n.iconLeft &&
- n.type != "checkbox",
- },
- n.inputClass,
- ],
- ],
- ref: "input",
- type: n.type || "text",
- disabled: n.disabled,
- placeholder: n.placeholder,
- value: i.passedInputValue,
- }),
- null,
- 16,
- Y_
- ))
- : Re("", !0),
- n.type === "textarea"
- ? (N(),
- W(
- "textarea",
- pt({ key: 2 }, i.inputAttributes, {
- placeholder: n.placeholder,
- class: [
- "placeholder-gray-500",
- [
- "form-textarea block w-full resize-none",
- n.inputClass,
- { "pl-8": n.iconLeft },
- ],
- ],
- ref: "input",
- value: i.passedInputValue,
- disabled: n.disabled,
- rows: n.rows,
- }),
- null,
- 16,
- Q_
- ))
- : Re("", !0),
- n.type === "select"
- ? (N(),
- W(
- "select",
- pt({ key: 3 }, i.inputAttributes, {
- class: [
- "form-select block w-full",
- { "pl-8": n.iconLeft },
- ],
- ref: "input",
- disabled: n.disabled,
- }),
- [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- i.selectOptions,
- (l) => (
- N(),
- W(
- "option",
- {
- key: l.value,
- value: l.value,
- disabled:
- l.disabled ||
- !1,
- selected:
- i.passedInputValue ===
- l.value,
- },
- We(l.label),
- 9,
- Z_
- )
- )
- ),
- 128
- )),
- ],
- 16,
- X_
- ))
- : Re("", !0),
- ],
- 2
- ),
- n.label && n.type == "checkbox"
- ? (N(), W("span", eC, We(n.label), 1))
- : Re("", !0),
- ],
- 2
- )
- );
-}
-const nC = Le(J_, [["render", tC]]),
- rC = {
- name: "DatePicker",
- props: [
- "modelValue",
- "placeholder",
- "readonly",
- "formatValue",
- "inputClass",
- ],
- emits: ["update:modelValue"],
- components: { Input: nC, FeatherIcon: _r, Popover: tl },
- data() {
- return { currentYear: null, currentMonth: null };
- },
- created() {
- this.selectCurrentMonthYear();
- },
- computed: {
- today() {
- return this.getDate();
- },
- datesAsWeeks() {
- let t = [],
- e = this.dates.slice();
- for (; e.length; ) {
- let n = e.splice(0, 7);
- t.push(n);
- }
- return t;
- },
- dates() {
- if (!(this.currentYear && this.currentMonth)) return [];
- let t = this.currentMonth - 1,
- e = this.currentYear,
- n = this.getDate(e, t, 1),
- r = this.getDate(e, t + 1, 0),
- o = n.getDay(),
- i = 6 - r.getDay(),
- s = this.getDatesAfter(n, -o),
- l = this.getDatesAfter(r, i),
- a = this.getDaysInMonth(t, e),
- u = this.getDatesAfter(n, a - 1),
- c = [...s, n, ...u, ...l];
- if (c.length < 42) {
- const d = this.getDatesAfter(c.at(-1), 42 - c.length);
- c = c.concat(...d);
- }
- return c;
- },
- formatMonth() {
- return this.getDate(
- this.currentYear,
- this.currentMonth - 1,
- 1
- ).toLocaleString("en-US", { month: "short", year: "numeric" });
- },
- },
- methods: {
- selectDate(t) {
- this.$emit("update:modelValue", this.toValue(t));
- },
- selectCurrentMonthYear() {
- let t = this.modelValue
- ? this.getDate(this.modelValue)
- : this.getDate();
- (this.currentYear = t.getFullYear()),
- (this.currentMonth = t.getMonth() + 1);
- },
- prevMonth() {
- this.changeMonth(-1);
- },
- nextMonth() {
- this.changeMonth(1);
- },
- changeMonth(t) {
- (this.currentMonth = this.currentMonth + t),
- this.currentMonth < 1 &&
- ((this.currentMonth = 12),
- (this.currentYear = this.currentYear - 1)),
- this.currentMonth > 12 &&
- ((this.currentMonth = 1),
- (this.currentYear = this.currentYear + 1));
- },
- getDatesAfter(t, e) {
- let n = 1;
- e < 0 && ((n = -1), (e = Math.abs(e)));
- let r = [];
- for (; e; )
- (t = this.getDate(
- t.getFullYear(),
- t.getMonth(),
- t.getDate() + n
- )),
- r.push(t),
- e--;
- return n === -1 ? r.reverse() : r;
- },
- getDaysInMonth(t, e) {
- let r = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][t];
- return t === 1 && this.isLeapYear(e) ? 29 : r;
- },
- isLeapYear(t) {
- return t % 400 === 0 ? !0 : t % 100 === 0 ? !1 : t % 4 === 0;
- },
- toValue(t) {
- return t
- ? (t.setHours(0, -t.getTimezoneOffset(), 0, 0),
- t.toISOString().slice(0, 10))
- : "";
- },
- getDate(...t) {
- return new Date(...t);
- },
- },
- },
- oC = { class: "mt-1 select-none p-3 text-left" },
- iC = { class: "flex items-center justify-between" },
- sC = { class: "text-base font-medium text-blue-500" },
- lC = { class: "flex" },
- aC = {
- class: "grid h-5 w-5 cursor-pointer place-items-center rounded-md hover:bg-gray-100",
- },
- uC = {
- class: "ml-2 grid h-5 w-5 cursor-pointer place-items-center rounded-md hover:bg-gray-100",
- },
- cC = { class: "mt-2 text-sm" },
- dC = { class: "grid w-full grid-cols-7 place-items-center text-gray-600" },
- fC = { class: "grid w-full grid-cols-7 place-items-center gap-1" },
- hC = ["onClick"],
- pC = { class: "mt-2 flex w-full justify-end" },
- mC = ["onClick"];
-function gC(t, e, n, r, o, i) {
- const s = Je("Input"),
- l = Je("FeatherIcon"),
- a = Je("Popover");
- return (
- N(),
- Te(
- a,
- { onOpen: i.selectCurrentMonthYear, transition: "default" },
- {
- target: Ce(({ togglePopover: u }) => [
- ve(
- s,
- {
- type: "text",
- "icon-left": "calendar",
- class: be(n.inputClass),
- value:
- n.modelValue && n.formatValue
- ? n.formatValue(n.modelValue)
- : n.modelValue || "",
- placeholder: n.placeholder,
- onFocus: (c) => (n.readonly ? null : u()),
- readonly: "",
- },
- null,
- 8,
- ["class", "value", "placeholder", "onFocus"]
- ),
- ]),
- "body-main": Ce(({ togglePopover: u }) => [
- V("div", oC, [
- V("div", iC, [
- V("span", sC, We(i.formatMonth), 1),
- V("span", lC, [
- V("div", aC, [
- ve(
- l,
- {
- onClick: i.prevMonth,
- name: "chevron-left",
- class: "h-4 w-4",
- },
- null,
- 8,
- ["onClick"]
- ),
- ]),
- V("div", uC, [
- ve(
- l,
- {
- onClick: i.nextMonth,
- name: "chevron-right",
- class: "h-4 w-4",
- },
- null,
- 8,
- ["onClick"]
- ),
- ]),
- ]),
- ]),
- V("div", cC, [
- V("div", dC, [
- (N(),
- W(
- Ne,
- null,
- Rt(
- ["S", "M", "T", "W", "T", "F", "S"],
- (c, d) =>
- V(
- "div",
- {
- class: "grid h-6 w-6 place-items-center gap-1 text-center",
- key: d,
- },
- We(c),
- 1
- )
- ),
- 64
- )),
- ]),
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- i.datesAsWeeks,
- (c, d) => (
- N(),
- W("div", { key: d, class: "mt-1" }, [
- V("div", fC, [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- c,
- (f) => (
- N(),
- W(
- "div",
- {
- key: i.toValue(
- f
- ),
- class: be([
- "grid h-6 w-6 cursor-pointer place-items-center rounded-md hover:bg-blue-100 hover:text-blue-700",
- {
- "text-gray-600":
- f.getMonth() !==
- o.currentMonth -
- 1,
- "text-blue-500":
- i.toValue(
- f
- ) ===
- i.toValue(
- i.today
- ),
- "bg-blue-100 font-semibold text-blue-500":
- i.toValue(
- f
- ) ===
- n.modelValue,
- },
- ]),
- onClick:
- () => {
- i.selectDate(
- f
- ),
- u();
- },
- },
- We(f.getDate()),
- 11,
- hC
- )
- )
- ),
- 128
- )),
- ]),
- ])
- )
- ),
- 128
- )),
- ]),
- V("div", pC, [
- V(
- "div",
- {
- class: "cursor-pointer rounded-md px-2 py-1 text-sm hover:bg-gray-100",
- onClick: () => {
- i.selectDate(""), u();
- },
- },
- " Clear ",
- 8,
- mC
- ),
- ]),
- ]),
- ]),
- _: 1,
- },
- 8,
- ["onOpen"]
- )
- );
-}
-const NL = Le(rC, [["render", gC]]),
- yC = {
- name: "Dialog",
- props: {
- modelValue: { type: Boolean, required: !0 },
- options: {
- type: Object,
- default() {
- return {};
- },
- },
- },
- emits: ["update:modelValue", "close", "after-leave"],
- components: {
- HDialog: Zk,
- DialogPanel: e8,
- DialogTitle: t8,
- TransitionChild: Cy,
- TransitionRoot: My,
- Button: Oi,
- FeatherIcon: _r,
- },
- data() {
- return { dialogActions: [] };
- },
- watch: {
- "options.actions": {
- handler(t) {
- t &&
- (this.dialogActions = t.map((e) => {
- let n = Q(!1);
- return ge(B({}, e), {
- loading: n,
- onClick: e.onClick
- ? () =>
- pr(this, null, function* () {
- n.value = !0;
- try {
- yield e.onClick();
- } finally {
- n.value = !1;
- }
- })
- : this.close,
- });
- }));
- },
- immediate: !0,
- },
- },
- methods: {
- close() {
- this.open = !1;
- },
- },
- computed: {
- open: {
- get() {
- return this.modelValue;
- },
- set(t) {
- this.$emit("update:modelValue", t),
- t || this.$emit("close");
- },
- },
- icon() {
- var e;
- if (!((e = this.options) != null && e.icon)) return null;
- let t = this.options.icon;
- return typeof t == "string" && (t = { name: t }), t;
- },
- dialogPositionClasses() {
- var e;
- let t =
- ((e = this.options) == null ? void 0 : e.position) ||
- "center";
- return {
- "justify-center": t === "center",
- "pt-[20vh]": t === "top",
- };
- },
- },
- },
- vC = ["data-dialog"],
- bC = { class: "bg-white px-4 pb-6 pt-5 sm:px-6" },
- wC = { class: "flex" },
- xC = { class: "flex-1" },
- kC = { class: "mb-6 flex items-center justify-between" },
- SC = { class: "flex items-center space-x-2" },
- _C = { class: "text-2xl font-semibold leading-6 text-gray-900" },
- CC = V(
- "svg",
- {
- width: "16",
- height: "16",
- viewBox: "0 0 16 16",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg",
- },
- [
- V("path", {
- "fill-rule": "evenodd",
- "clip-rule": "evenodd",
- d: "M12.8567 3.85355C13.052 3.65829 13.052 3.34171 12.8567 3.14645C12.6615 2.95118 12.3449 2.95118 12.1496 3.14645L8.00201 7.29405L3.85441 3.14645C3.65914 2.95118 3.34256 2.95118 3.1473 3.14645C2.95204 3.34171 2.95204 3.65829 3.1473 3.85355L7.29491 8.00116L3.14645 12.1496C2.95118 12.3449 2.95118 12.6615 3.14645 12.8567C3.34171 13.052 3.65829 13.052 3.85355 12.8567L8.00201 8.70827L12.1505 12.8567C12.3457 13.052 12.6623 13.052 12.8576 12.8567C13.0528 12.6615 13.0528 12.3449 12.8576 12.1496L8.70912 8.00116L12.8567 3.85355Z",
- fill: "#383838",
- }),
- ],
- -1
- ),
- MC = { key: 0, class: "text-p-base text-gray-700" },
- EC = { key: 0, class: "px-4 pb-7 pt-4 sm:px-6" },
- TC = { class: "space-y-2" };
-function AC(t, e, n, r, o, i) {
- const s = Je("TransitionChild"),
- l = Je("FeatherIcon"),
- a = Je("DialogTitle"),
- u = Je("Button"),
- c = Je("DialogPanel"),
- d = Je("HDialog"),
- f = Je("TransitionRoot");
- return (
- N(),
- Te(
- f,
- {
- as: "template",
- show: i.open,
- onAfterLeave: e[0] || (e[0] = (p) => t.$emit("after-leave")),
- },
- {
- default: Ce(() => [
- ve(
- d,
- {
- as: "div",
- class: "fixed inset-0 z-10 overflow-y-auto",
- onClose: i.close,
- },
- {
- default: Ce(() => [
- V(
- "div",
- {
- class: be([
- "flex min-h-screen flex-col items-center px-4 py-4 text-center",
- i.dialogPositionClasses,
- ]),
- },
- [
- ve(
- s,
- {
- as: "template",
- enter: "ease-out duration-150",
- "enter-from": "opacity-0",
- "enter-to": "opacity-100",
- leave: "ease-in duration-150",
- "leave-from": "opacity-100",
- "leave-to": "opacity-0",
- },
- {
- default: Ce(() => [
- V(
- "div",
- {
- class: "fixed inset-0 bg-black-overlay-200 transition-opacity",
- "data-dialog":
- n.options.title,
- },
- null,
- 8,
- vC
- ),
- ]),
- _: 1,
- }
- ),
- ve(
- s,
- {
- as: "template",
- enter: "ease-out duration-150",
- "enter-from":
- "opacity-50 translate-y-2 scale-95",
- "enter-to":
- "opacity-100 translate-y-0 scale-100",
- leave: "ease-in duration-150",
- "leave-from":
- "opacity-100 translate-y-0 scale-100",
- "leave-to":
- "opacity-50 translate-y-4 translate-y-4 scale-95",
- },
- {
- default: Ce(() => [
- ve(
- c,
- {
- class: be([
- "my-8 inline-block w-full transform overflow-hidden rounded-xl bg-white text-left align-middle shadow-xl transition-all",
- {
- "max-w-7xl":
- n
- .options
- .size ===
- "7xl",
- "max-w-6xl":
- n
- .options
- .size ===
- "6xl",
- "max-w-5xl":
- n
- .options
- .size ===
- "5xl",
- "max-w-4xl":
- n
- .options
- .size ===
- "4xl",
- "max-w-3xl":
- n
- .options
- .size ===
- "3xl",
- "max-w-2xl":
- n
- .options
- .size ===
- "2xl",
- "max-w-xl":
- n
- .options
- .size ===
- "xl",
- "max-w-lg":
- n
- .options
- .size ===
- "lg" ||
- !n
- .options
- .size,
- "max-w-md":
- n
- .options
- .size ===
- "md",
- "max-w-sm":
- n
- .options
- .size ===
- "sm",
- "max-w-xs":
- n
- .options
- .size ===
- "xs",
- },
- ]),
- },
- {
- default: Ce(() => [
- xe(
- t.$slots,
- "body",
- {},
- () => [
- xe(
- t.$slots,
- "body-main",
- {},
- () => [
- V(
- "div",
- bC,
- [
- V(
- "div",
- wC,
- [
- V(
- "div",
- xC,
- [
- V(
- "div",
- kC,
- [
- V(
- "div",
- SC,
- [
- i.icon
- ? (N(),
- W(
- "div",
- {
- key: 0,
- class: be(
- [
- "flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-full",
- {
- "bg-gray-100":
- !i
- .icon
- .appearance,
- "bg-yellow-100":
- i
- .icon
- .appearance ===
- "warning",
- "bg-blue-100":
- i
- .icon
- .appearance ===
- "info",
- "bg-red-100":
- i
- .icon
- .appearance ===
- "danger",
- "bg-green-100":
- i
- .icon
- .appearance ===
- "success",
- },
- ]
- ),
- },
- [
- ve(
- l,
- {
- name: i
- .icon
- .name,
- class: be(
- [
- "h-4 w-4",
- {
- "text-gray-600":
- !i
- .icon
- .appearance,
- "text-yellow-600":
- i
- .icon
- .appearance ===
- "warning",
- "text-blue-600":
- i
- .icon
- .appearance ===
- "info",
- "text-red-600":
- i
- .icon
- .appearance ===
- "danger",
- "text-green-600":
- i
- .icon
- .appearance ===
- "success",
- },
- ]
- ),
- "aria-hidden":
- "true",
- },
- null,
- 8,
- [
- "name",
- "class",
- ]
- ),
- ],
- 2
- ))
- : Re(
- "",
- !0
- ),
- ve(
- a,
- {
- as: "header",
- },
- {
- default:
- Ce(
- () => [
- xe(
- t.$slots,
- "body-title",
- {},
- () => [
- V(
- "h3",
- _C,
- We(
- n
- .options
- .title ||
- "Untitled"
- ),
- 1
- ),
- ]
- ),
- ]
- ),
- _: 3,
- }
- ),
- ]
- ),
- ve(
- u,
- {
- variant:
- "ghost",
- onClick:
- i.close,
- },
- {
- icon: Ce(
- () => [
- CC,
- ]
- ),
- _: 1,
- },
- 8,
- [
- "onClick",
- ]
- ),
- ]
- ),
- xe(
- t.$slots,
- "body-content",
- {},
- () => [
- n
- .options
- .message
- ? (N(),
- W(
- "p",
- MC,
- We(
- n
- .options
- .message
- ),
- 1
- ))
- : Re(
- "",
- !0
- ),
- ]
- ),
- ]
- ),
- ]
- ),
- ]
- ),
- ]
- ),
- o
- .dialogActions
- .length ||
- t.$slots
- .actions
- ? (N(),
- W(
- "div",
- EC,
- [
- xe(
- t.$slots,
- "actions",
- Et(
- Lt(
- {
- close: i.close,
- }
- )
- ),
- () => [
- V(
- "div",
- TC,
- [
- (N(
- !0
- ),
- W(
- Ne,
- null,
- Rt(
- o.dialogActions,
- (
- p
- ) => (
- N(),
- Te(
- u,
- pt(
- {
- class: "w-full",
- key: p.label,
- },
- p
- ),
- {
- default:
- Ce(
- () => [
- lr(
- We(
- p.label
- ),
- 1
- ),
- ]
- ),
- _: 2,
- },
- 1040
- )
- )
- ),
- 128
- )),
- ]
- ),
- ]
- ),
- ]
- ))
- : Re(
- "",
- !0
- ),
- ]
- ),
- ]),
- _: 3,
- },
- 8,
- ["class"]
- ),
- ]),
- _: 3,
- }
- ),
- ],
- 2
- ),
- ]),
- _: 3,
- },
- 8,
- ["onClose"]
- ),
- ]),
- _: 3,
- },
- 8,
- ["show"]
- )
- );
-}
-const DL = Le(yC, [["render", AC]]),
- OC = {
- name: "ErrorMessage",
- props: ["message"],
- computed: {
- errorMessage() {
- return this.message
- ? this.message instanceof Error
- ? this.message.messages || this.message.message
- : this.message
- : "";
- },
- },
- },
- RC = ["innerHTML"];
-function PC(t, e, n, r, o, i) {
- return n.message
- ? (N(),
- W(
- "div",
- {
- key: 0,
- class: "whitespace-pre-line text-sm text-red-600",
- role: "alert",
- innerHTML: i.errorMessage,
- },
- null,
- 8,
- RC
- ))
- : Re("", !0);
-}
-const jL = Le(OC, [["render", PC]]);
-class IC {
- constructor() {
- sc(this, "listeners");
- sc(this, "failed");
- (this.listeners = {}), (this.failed = !1);
- }
- on(e, n) {
- (this.listeners[e] = this.listeners[e] || []),
- this.listeners[e].push(n);
- }
- trigger(e, n) {
- (this.listeners[e] || []).forEach((o) => {
- o.call(this, n);
- });
- }
- upload(e, n) {
- return new Promise((r, o) => {
- let i = new XMLHttpRequest();
- i.upload.addEventListener("loadstart", () => {
- this.trigger("start");
- }),
- i.upload.addEventListener("progress", (a) => {
- a.lengthComputable &&
- this.trigger("progress", {
- uploaded: a.loaded,
- total: a.total,
- });
- }),
- i.upload.addEventListener("load", () => {
- this.trigger("finish");
- }),
- i.addEventListener("error", () => {
- this.trigger("error"), o();
- }),
- (i.onreadystatechange = () => {
- if (i.readyState == XMLHttpRequest.DONE) {
- let a;
- if (i.status === 200) {
- let u = null;
- try {
- u = JSON.parse(i.responseText);
- } catch (d) {
- u = i.responseText;
- }
- let c = u.message || u;
- r(c);
- } else if (i.status === 403)
- a = JSON.parse(i.responseText);
- else {
- this.failed = !0;
- try {
- a = JSON.parse(i.responseText);
- } catch (u) {}
- }
- a && a.exc && console.error(JSON.parse(a.exc)[0]), o(a);
- }
- });
- const s = n.upload_endpoint || "/api/method/upload_file";
- i.open("POST", s, !0),
- i.setRequestHeader("Accept", "application/json"),
- window.csrf_token &&
- window.csrf_token !== "{{ csrf_token }}" &&
- i.setRequestHeader(
- "X-Frappe-CSRF-Token",
- window.csrf_token
- );
- let l = new FormData();
- e && l.append("file", e, e.name),
- l.append("is_private", n.private ? "1" : "0"),
- l.append("folder", n.folder || "Home"),
- n.file_url && l.append("file_url", n.file_url),
- n.doctype && l.append("doctype", n.doctype),
- n.docname && l.append("docname", n.docname),
- n.fieldname && l.append("fieldname", n.fieldname),
- n.method && l.append("method", n.method),
- n.type && l.append("type", n.type),
- i.send(l);
- });
- }
-}
-const NC = {
- name: "FileUploader",
- props: ["fileTypes", "uploadArgs", "validateFile"],
- data() {
- return {
- uploader: null,
- uploading: !1,
- uploaded: 0,
- error: null,
- message: "",
- total: 0,
- file: null,
- finishedUploading: !1,
- };
- },
- computed: {
- progress() {
- let t = Math.floor((this.uploaded / this.total) * 100);
- return isNaN(t) ? 0 : t;
- },
- success() {
- return this.finishedUploading && !this.error;
- },
- },
- methods: {
- openFileSelector() {
- this.$refs.input.click();
- },
- onFileAdd(t) {
- return pr(this, null, function* () {
- if (
- ((this.error = null),
- (this.file = t.target.files[0]),
- this.file && this.validateFile)
- )
- try {
- let e = yield this.validateFile(this.file);
- e && (this.error = e);
- } catch (e) {
- this.error = e;
- }
- this.error || this.uploadFile(this.file);
- });
- },
- uploadFile(t) {
- return pr(this, null, function* () {
- (this.error = null),
- (this.uploaded = 0),
- (this.total = 0),
- (this.uploader = new IC()),
- this.uploader.on("start", () => {
- this.uploading = !0;
- }),
- this.uploader.on("progress", (e) => {
- (this.uploaded = e.uploaded),
- (this.total = e.total);
- }),
- this.uploader.on("error", () => {
- (this.uploading = !1),
- (this.error = "Error Uploading File");
- }),
- this.uploader.on("finish", () => {
- (this.uploading = !1),
- (this.finishedUploading = !0);
- }),
- this.uploader
- .upload(t, this.uploadArgs || {})
- .then((e) => {
- this.$emit("success", e);
- })
- .catch((e) => {
- this.uploading = !1;
- let n = "Error Uploading File";
- e != null && e._server_messages
- ? (n = JSON.parse(
- JSON.parse(e._server_messages)[0]
- ).message)
- : e != null &&
- e.exc &&
- (n = JSON.parse(e.exc)[0]
- .split(
- `
-`
- )
- .slice(-2, -1)[0]),
- (this.error = n),
- this.$emit("failure", e);
- });
- });
- },
- },
- },
- DC = ["accept"];
-function jC(t, e, n, r, o, i) {
- return (
- N(),
- W("div", null, [
- V(
- "input",
- {
- ref: "input",
- type: "file",
- accept: n.fileTypes,
- class: "hidden",
- onChange:
- e[0] ||
- (e[0] = (...s) => i.onFileAdd && i.onFileAdd(...s)),
- },
- null,
- 40,
- DC
- ),
- xe(
- t.$slots,
- "default",
- Et(
- Lt({
- file: o.file,
- uploading: o.uploading,
- progress: i.progress,
- uploaded: o.uploaded,
- message: o.message,
- error: o.error,
- total: o.total,
- success: i.success,
- openFileSelector: i.openFileSelector,
- })
- )
- ),
- ])
- );
-}
-const LL = Le(NC, [["render", jC]]),
- LC = { class: "relative flex items-center" },
- $C = ["type", "placeholder", "disabled", "id", "value"],
- BC = Oe({
- __name: "TextInput",
- props: {
- type: { default: "text" },
- size: { default: "sm" },
- variant: { default: "subtle" },
- placeholder: {},
- disabled: { type: Boolean },
- id: {},
- modelValue: {},
- debounce: {},
- },
- emits: ["update:modelValue"],
- setup(t, { expose: e, emit: n }) {
- const r = t,
- o = n,
- i = zf(),
- s = Js(),
- l = Q(null);
- e({ el: l });
- const a = z(() => (r.disabled ? "text-gray-600" : "text-gray-800")),
- u = z(() => {
- let m = {
- sm: "text-base rounded h-7",
- md: "text-base rounded h-8",
- lg: "text-lg rounded-md h-10",
- xl: "text-xl rounded-md h-10",
- }[r.size],
- y = {
- sm: [
- "py-1.5",
- i.prefix ? "pl-8" : "pl-2",
- i.suffix ? "pr-8" : "pr-2",
- ],
- md: [
- "py-1.5",
- i.prefix ? "pl-9" : "pl-2.5",
- i.suffix ? "pr-9" : "pr-2.5",
- ],
- lg: [
- "py-1.5",
- i.prefix ? "pl-10" : "pl-3",
- i.suffix ? "pr-10" : "pr-3",
- ],
- xl: [
- "py-1.5",
- i.prefix ? "pl-10" : "pl-3",
- i.suffix ? "pr-10" : "pr-3",
- ],
- }[r.size],
- v = r.disabled ? "disabled" : r.variant,
- w = {
- subtle: "border border-gray-100 bg-gray-100 placeholder-gray-500 hover:border-gray-200 hover:bg-gray-200 focus:bg-white focus:border-gray-500 focus:shadow-sm focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- outline:
- "border border-gray-300 bg-white placeholder-gray-500 hover:border-gray-400 hover:shadow-sm focus:bg-white focus:border-gray-500 focus:shadow-sm focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- disabled: [
- "border bg-gray-50 placeholder-gray-400",
- r.variant === "outline"
- ? "border-gray-300"
- : "border-transparent",
- ],
- }[v];
- return [m, y, w, a.value, "transition-colors w-full"];
- });
- let c = z(
- () =>
- ({ sm: "pl-2", md: "pl-2.5", lg: "pl-3", xl: "pl-3" }[
- r.size
- ])
- ),
- d = z(
- () =>
- ({ sm: "pr-2", md: "pr-2.5", lg: "pr-3", xl: "pr-3" }[
- r.size
- ])
- ),
- f = (m) => {
- o("update:modelValue", m);
- };
- r.debounce && (f = $u(f, r.debounce));
- let p = (m) => {
- f(m.target.value);
- };
- return (m, y) => (
- N(),
- W("div", LC, [
- m.$slots.prefix
- ? (N(),
- W(
- "div",
- {
- key: 0,
- class: be([
- "absolute inset-y-0 left-0 flex items-center",
- a.value,
- ne(c),
- ]),
- },
- [xe(m.$slots, "prefix")],
- 2
- ))
- : Re("", !0),
- V(
- "input",
- pt(
- {
- ref_key: "inputRef",
- ref: l,
- type: m.type,
- placeholder: m.placeholder,
- class: u.value,
- disabled: m.disabled,
- id: m.id,
- value: m.modelValue,
- onInput:
- y[0] ||
- (y[0] = (...v) => ne(p) && ne(p)(...v)),
- onChange:
- y[1] ||
- (y[1] = (...v) => ne(p) && ne(p)(...v)),
- },
- ne(s)
- ),
- null,
- 16,
- $C
- ),
- m.$slots.suffix
- ? (N(),
- W(
- "div",
- {
- key: 1,
- class: be([
- "absolute inset-y-0 right-0 flex items-center",
- a.value,
- ne(d),
- ]),
- },
- [xe(m.$slots, "suffix")],
- 2
- ))
- : Re("", !0),
- ])
- );
- },
- }),
- zC = { class: "relative flex items-center" },
- HC = ["disabled", "id", "value"],
- FC = ["value", "disabled", "selected"],
- VC = Oe({
- __name: "Select",
- props: {
- size: { default: "sm" },
- variant: { default: "subtle" },
- placeholder: {},
- disabled: { type: Boolean },
- id: {},
- modelValue: {},
- options: {},
- },
- emits: ["update:modelValue"],
- setup(t, { emit: e }) {
- const n = t,
- r = e,
- o = zf(),
- i = Js();
- function s(d) {
- r("update:modelValue", d.target.value);
- }
- const l = z(() => {
- var d;
- return (
- ((d = n.options) == null
- ? void 0
- : d
- .map((f) =>
- typeof f == "string"
- ? { label: f, value: f }
- : f
- )
- .filter(Boolean)) || []
- );
- }),
- a = z(() => (n.disabled ? "text-gray-500" : "text-gray-800")),
- u = z(() => {
- let d = {
- sm: "text-base rounded h-7",
- md: "text-base rounded h-8",
- lg: "text-lg rounded-md h-10",
- xl: "text-xl rounded-md h-10",
- }[n.size],
- f = {
- sm: ["py-0", o.prefix ? "pl-8" : "pl-2"],
- md: ["py-0", o.prefix ? "pl-9" : "pl-2.5"],
- lg: ["py-0", o.prefix ? "pl-10" : "pl-3"],
- xl: ["py-0", o.prefix ? "pl-10" : "pl-3"],
- }[n.size],
- p = n.disabled ? "disabled" : n.variant,
- m = {
- subtle: "border border-gray-100 bg-gray-100 hover:border-gray-200 hover:bg-gray-200 focus:border-gray-500 focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- outline:
- "border border-gray-300 bg-white hover:border-gray-400 focus:border-gray-500 focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- ghost: "bg-transparent border-transparent hover:bg-gray-200 focus:bg-gray-200 focus:border-gray-500 focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- disabled: [
- "border",
- n.variant !== "ghost" ? "bg-gray-50" : "",
- n.variant === "outline"
- ? "border-gray-300"
- : "border-transparent",
- ],
- }[p];
- return [d, f, m, a.value, "transition-colors w-full"];
- });
- let c = z(
- () =>
- ({ sm: "pl-2", md: "pl-2.5", lg: "pl-3", xl: "pl-3" }[
- n.size
- ])
- );
- return (d, f) => (
- N(),
- W("div", zC, [
- d.$slots.prefix
- ? (N(),
- W(
- "div",
- {
- key: 0,
- class: be([
- "absolute inset-y-0 left-0 flex items-center",
- a.value,
- ne(c),
- ]),
- },
- [xe(d.$slots, "prefix")],
- 2
- ))
- : Re("", !0),
- V(
- "select",
- pt(
- {
- class: u.value,
- disabled: d.disabled,
- id: d.id,
- value: d.modelValue,
- onChange: s,
- },
- ne(i)
- ),
- [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- l.value,
- (p) => (
- N(),
- W(
- "option",
- {
- key: p.value,
- value: p.value,
- disabled: p.disabled || !1,
- selected:
- d.modelValue === p.value,
- },
- We(p.label),
- 9,
- FC
- )
- )
- ),
- 128
- )),
- ],
- 16,
- HC
- ),
- ])
- );
- },
- }),
- WC = ["placeholder", "disabled", "id", "value", "rows"],
- UC = Oe({
- __name: "Textarea",
- props: {
- size: { default: "sm" },
- variant: { default: "subtle" },
- placeholder: {},
- disabled: { type: Boolean },
- id: {},
- modelValue: {},
- debounce: {},
- rows: { default: 3 },
- },
- emits: ["update:modelValue"],
- setup(t, { emit: e }) {
- const n = t,
- r = e,
- o = Js(),
- i = z(() => {
- let a = {
- sm: "text-base rounded",
- md: "text-base rounded",
- lg: "text-lg rounded-md",
- xl: "text-xl rounded-md",
- }[n.size],
- u = {
- sm: ["py-1.5 px-2"],
- md: ["py-1.5 px-2.5"],
- lg: ["py-1.5 px-3"],
- xl: ["py-1.5 px-3"],
- }[n.size],
- c = n.disabled ? "disabled" : n.variant,
- d = {
- subtle: "border border-gray-100 bg-gray-100 placeholder-gray-500 hover:border-gray-200 hover:bg-gray-200 focus:bg-white focus:border-gray-500 focus:shadow-sm focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- outline:
- "border border-gray-300 bg-white placeholder-gray-500 hover:border-gray-400 hover:shadow-sm focus:bg-white focus:border-gray-500 focus:shadow-sm focus:ring-0 focus-visible:ring-2 focus-visible:ring-gray-400",
- disabled: [
- "border bg-gray-50 placeholder-gray-400",
- n.variant === "outline"
- ? "border-gray-300"
- : "border-transparent",
- ],
- }[c];
- return [
- a,
- u,
- d,
- n.disabled ? "text-gray-600" : "text-gray-800",
- "transition-colors w-full block",
- ];
- });
- let s = (a) => {
- r("update:modelValue", a);
- };
- n.debounce && (s = $u(s, n.debounce));
- let l = (a) => {
- s(a.target.value);
- };
- return (a, u) => (
- N(),
- W(
- "textarea",
- pt(
- {
- placeholder: a.placeholder,
- class: i.value,
- disabled: a.disabled,
- id: a.id,
- value: a.modelValue,
- rows: a.rows,
- onInput:
- u[0] || (u[0] = (...c) => ne(l) && ne(l)(...c)),
- onChange:
- u[1] || (u[1] = (...c) => ne(l) && ne(l)(...c)),
- },
- ne(o)
- ),
- null,
- 16,
- WC
- )
- );
- },
- }),
- KC = ["for"],
- qC = { inheritAttrs: !1 },
- $L = Oe(
- ge(B({}, qC), {
- __name: "FormControl",
- props: {
- label: {},
- description: {},
- type: { default: "text" },
- size: { default: "sm" },
- },
- setup(t) {
- const e = Ky(),
- n = t,
- r = Js(),
- o = z(() => {
- let l = {};
- for (let a in r)
- a !== "class" && a !== "style" && (l[a] = r[a]);
- return l;
- }),
- i = z(() => [
- { sm: "text-xs", md: "text-base" }[n.size],
- "text-gray-600",
- ]),
- s = z(() => [
- { sm: "text-xs", md: "text-base" }[n.size],
- "text-gray-600",
- ]);
- return (l, a) =>
- l.type != "checkbox"
- ? (N(),
- W(
- "div",
- {
- key: 0,
- class: be(["space-y-1.5", ne(r).class]),
- },
- [
- l.label
- ? (N(),
- W(
- "label",
- {
- key: 0,
- class: be([
- "block",
- i.value,
- ]),
- for: ne(e),
- },
- We(l.label),
- 11,
- KC
- ))
- : Re("", !0),
- l.type === "select"
- ? (N(),
- Te(
- VC,
- pt(
- { key: 1, id: ne(e) },
- ge(B({}, o.value), {
- size: l.size,
- })
- ),
- hc({ _: 2 }, [
- l.$slots.prefix
- ? {
- name: "prefix",
- fn: Ce(() => [
- xe(
- l.$slots,
- "prefix"
- ),
- ]),
- key: "0",
- }
- : void 0,
- ]),
- 1040,
- ["id"]
- ))
- : l.type === "autocomplete"
- ? (N(),
- Te(
- n_,
- Et(
- pt(
- { key: 2 },
- B({}, o.value)
- )
- ),
- hc({ _: 2 }, [
- l.$slots.prefix
- ? {
- name: "prefix",
- fn: Ce(() => [
- xe(
- l.$slots,
- "prefix"
- ),
- ]),
- key: "0",
- }
- : void 0,
- l.$slots["item-prefix"]
- ? {
- name: "item-prefix",
- fn: Ce((u) => [
- xe(
- l.$slots,
- "item-prefix",
- Et(
- Lt(
- u
- )
- )
- ),
- ]),
- key: "1",
- }
- : void 0,
- ]),
- 1040
- ))
- : l.type === "textarea"
- ? (N(),
- Te(
- UC,
- pt(
- { key: 3, id: ne(e) },
- ge(B({}, o.value), {
- size: l.size,
- })
- ),
- null,
- 16,
- ["id"]
- ))
- : (N(),
- Te(
- BC,
- pt(
- { key: 4, id: ne(e) },
- ge(B({}, o.value), {
- type: l.type,
- size: l.size,
- })
- ),
- hc({ _: 2 }, [
- l.$slots.prefix
- ? {
- name: "prefix",
- fn: Ce(() => [
- xe(
- l.$slots,
- "prefix"
- ),
- ]),
- key: "0",
- }
- : void 0,
- l.$slots.suffix
- ? {
- name: "suffix",
- fn: Ce(() => [
- xe(
- l.$slots,
- "suffix"
- ),
- ]),
- key: "1",
- }
- : void 0,
- ]),
- 1040,
- ["id"]
- )),
- xe(l.$slots, "description", {}, () => [
- l.description
- ? (N(),
- W(
- "p",
- {
- key: 0,
- class: be(s.value),
- },
- We(l.description),
- 3
- ))
- : Re("", !0),
- ]),
- ],
- 2
- ))
- : (N(),
- Te(
- Lu,
- pt(
- { key: 1, id: ne(e) },
- ge(B({}, o.value), {
- label: l.label,
- size: l.size,
- class: ne(r).class,
- })
- ),
- null,
- 16,
- ["id"]
- ));
- },
- })
- ),
- BL = {
- __name: "Tabs",
- props: {
- tabs: { type: Array, required: !0 },
- modelValue: { type: Number, default: 0 },
- options: { type: Object, default: () => ({ indicatorLeft: 20 }) },
- },
- emits: ["update:modelValue"],
- setup(t, { emit: e }) {
- var d, f;
- const n = t,
- r = e,
- o = z({
- get: () => n.modelValue,
- set: (p) => r("update:modelValue", p),
- }),
- i = Q([]),
- s = Q(null),
- l = Q((d = n.tabs) == null ? void 0 : d.length),
- a = Q((f = n.options) == null ? void 0 : f.indicatorLeft),
- u = Q("");
- function c(p) {
- p >= l.value && (p = l.value - 1);
- const m = i.value[p].el;
- (s.value.style.width = `${m.offsetWidth}px`),
- (a.value = m.offsetLeft);
- }
- return (
- at(o, (p) => {
- p >= l.value && (o.value = l.value - 1), bt(() => c(p));
- }),
- Ze(() => {
- c(o.value),
- bt(() => {
- u.value = "transition-all duration-300 ease-in-out";
- });
- }),
- (p, m) => (
- N(),
- Te(
- ne(g8),
- {
- as: "div",
- class: "flex flex-1 flex-col",
- defaultIndex: o.value,
- selectedIndex: o.value,
- onChange: m[0] || (m[0] = (y) => (o.value = y)),
- },
- {
- default: Ce(() => [
- ve(
- ne(y8),
- {
- class: "relative flex items-center gap-6 border-b pl-5",
- },
- {
- default: Ce(() => [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- t.tabs,
- (y, v) => (
- N(),
- Te(
- ne(v8),
- {
- ref_for: !0,
- ref_key:
- "tabRef",
- ref: i,
- as: "template",
- key: v,
- class: "focus:outline-none focus:transition-none focus-visible:rounded focus-visible:ring-2 focus-visible:ring-gray-400",
- },
- {
- default: Ce(
- ({
- selected:
- w,
- }) => [
- xe(
- p.$slots,
- "tab",
- Et(
- Lt(
- {
- tab: y,
- selected:
- w,
- }
- )
- ),
- () => [
- V(
- "button",
- {
- class: be(
- [
- "-mb-px flex items-center gap-2 border-b border-transparent py-2.5 text-base text-gray-600 duration-300 ease-in-out hover:border-gray-400 hover:text-gray-900",
- {
- "text-gray-900":
- w,
- },
- ]
- ),
- },
- [
- y.icon
- ? (N(),
- Te(
- Bn(
- y.icon
- ),
- {
- key: 0,
- class: "h-5",
- }
- ))
- : Re(
- "",
- !0
- ),
- lr(
- " " +
- We(
- y.label
- ),
- 1
- ),
- ],
- 2
- ),
- ]
- ),
- ]
- ),
- _: 2,
- },
- 1024
- )
- )
- ),
- 128
- )),
- V(
- "div",
- {
- ref_key: "indicator",
- ref: s,
- class: be([
- "absolute -bottom-px h-px bg-gray-900",
- u.value,
- ]),
- style: ao({
- left: `${a.value}px`,
- }),
- },
- null,
- 6
- ),
- ]),
- _: 3,
- }
- ),
- ve(
- ne(b8),
- { class: "flex flex-1 overflow-hidden" },
- {
- default: Ce(() => [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- t.tabs,
- (y, v) => (
- N(),
- Te(
- ne(w8),
- {
- class: "flex flex-1 flex-col overflow-y-auto focus:outline-none",
- key: v,
- },
- {
- default: Ce(
- () => [
- xe(
- p.$slots,
- "default",
- Et(
- Lt(
- {
- tab: y,
- }
- )
- )
- ),
- ]
- ),
- _: 2,
- },
- 1024
- )
- )
- ),
- 128
- )),
- ]),
- _: 3,
- }
- ),
- ]),
- _: 3,
- },
- 8,
- ["defaultIndex", "selectedIndex"]
- )
- )
- );
- },
- };
-function Ft(t) {
- this.content = t;
-}
-Ft.prototype = {
- constructor: Ft,
- find: function (t) {
- for (var e = 0; e < this.content.length; e += 2)
- if (this.content[e] === t) return e;
- return -1;
- },
- get: function (t) {
- var e = this.find(t);
- return e == -1 ? void 0 : this.content[e + 1];
- },
- update: function (t, e, n) {
- var r = n && n != t ? this.remove(n) : this,
- o = r.find(t),
- i = r.content.slice();
- return (
- o == -1 ? i.push(n || t, e) : ((i[o + 1] = e), n && (i[o] = n)),
- new Ft(i)
- );
- },
- remove: function (t) {
- var e = this.find(t);
- if (e == -1) return this;
- var n = this.content.slice();
- return n.splice(e, 2), new Ft(n);
- },
- addToStart: function (t, e) {
- return new Ft([t, e].concat(this.remove(t).content));
- },
- addToEnd: function (t, e) {
- var n = this.remove(t).content.slice();
- return n.push(t, e), new Ft(n);
- },
- addBefore: function (t, e, n) {
- var r = this.remove(e),
- o = r.content.slice(),
- i = r.find(t);
- return o.splice(i == -1 ? o.length : i, 0, e, n), new Ft(o);
- },
- forEach: function (t) {
- for (var e = 0; e < this.content.length; e += 2)
- t(this.content[e], this.content[e + 1]);
- },
- prepend: function (t) {
- return (
- (t = Ft.from(t)),
- t.size ? new Ft(t.content.concat(this.subtract(t).content)) : this
- );
- },
- append: function (t) {
- return (
- (t = Ft.from(t)),
- t.size ? new Ft(this.subtract(t).content.concat(t.content)) : this
- );
- },
- subtract: function (t) {
- var e = this;
- t = Ft.from(t);
- for (var n = 0; n < t.content.length; n += 2)
- e = e.remove(t.content[n]);
- return e;
- },
- toObject: function () {
- var t = {};
- return (
- this.forEach(function (e, n) {
- t[e] = n;
- }),
- t
- );
- },
- get size() {
- return this.content.length >> 1;
- },
-};
-Ft.from = function (t) {
- if (t instanceof Ft) return t;
- var e = [];
- if (t) for (var n in t) e.push(n, t[n]);
- return new Ft(e);
-};
-function qy(t, e, n) {
- for (let r = 0; ; r++) {
- if (r == t.childCount || r == e.childCount)
- return t.childCount == e.childCount ? null : n;
- let o = t.child(r),
- i = e.child(r);
- if (o == i) {
- n += o.nodeSize;
- continue;
- }
- if (!o.sameMarkup(i)) return n;
- if (o.isText && o.text != i.text) {
- for (let s = 0; o.text[s] == i.text[s]; s++) n++;
- return n;
- }
- if (o.content.size || i.content.size) {
- let s = qy(o.content, i.content, n + 1);
- if (s != null) return s;
- }
- n += o.nodeSize;
- }
-}
-function Jy(t, e, n, r) {
- for (let o = t.childCount, i = e.childCount; ; ) {
- if (o == 0 || i == 0) return o == i ? null : { a: n, b: r };
- let s = t.child(--o),
- l = e.child(--i),
- a = s.nodeSize;
- if (s == l) {
- (n -= a), (r -= a);
- continue;
- }
- if (!s.sameMarkup(l)) return { a: n, b: r };
- if (s.isText && s.text != l.text) {
- let u = 0,
- c = Math.min(s.text.length, l.text.length);
- for (
- ;
- u < c &&
- s.text[s.text.length - u - 1] == l.text[l.text.length - u - 1];
-
- )
- u++, n--, r--;
- return { a: n, b: r };
- }
- if (s.content.size || l.content.size) {
- let u = Jy(s.content, l.content, n - 1, r - 1);
- if (u) return u;
- }
- (n -= a), (r -= a);
- }
-}
-class J {
- constructor(e, n) {
- if (((this.content = e), (this.size = n || 0), n == null))
- for (let r = 0; r < e.length; r++) this.size += e[r].nodeSize;
- }
- nodesBetween(e, n, r, o = 0, i) {
- for (let s = 0, l = 0; l < n; s++) {
- let a = this.content[s],
- u = l + a.nodeSize;
- if (u > e && r(a, o + l, i || null, s) !== !1 && a.content.size) {
- let c = l + 1;
- a.nodesBetween(
- Math.max(0, e - c),
- Math.min(a.content.size, n - c),
- r,
- o + c
- );
- }
- l = u;
- }
- }
- descendants(e) {
- this.nodesBetween(0, this.size, e);
- }
- textBetween(e, n, r, o) {
- let i = "",
- s = !0;
- return (
- this.nodesBetween(
- e,
- n,
- (l, a) => {
- let u = l.isText
- ? l.text.slice(Math.max(e, a) - a, n - a)
- : l.isLeaf
- ? o
- ? typeof o == "function"
- ? o(l)
- : o
- : l.type.spec.leafText
- ? l.type.spec.leafText(l)
- : ""
- : "";
- l.isBlock &&
- ((l.isLeaf && u) || l.isTextblock) &&
- r &&
- (s ? (s = !1) : (i += r)),
- (i += u);
- },
- 0
- ),
- i
- );
- }
- append(e) {
- if (!e.size) return this;
- if (!this.size) return e;
- let n = this.lastChild,
- r = e.firstChild,
- o = this.content.slice(),
- i = 0;
- for (
- n.isText &&
- n.sameMarkup(r) &&
- ((o[o.length - 1] = n.withText(n.text + r.text)), (i = 1));
- i < e.content.length;
- i++
- )
- o.push(e.content[i]);
- return new J(o, this.size + e.size);
- }
- cut(e, n = this.size) {
- if (e == 0 && n == this.size) return this;
- let r = [],
- o = 0;
- if (n > e)
- for (let i = 0, s = 0; s < n; i++) {
- let l = this.content[i],
- a = s + l.nodeSize;
- a > e &&
- ((s < e || a > n) &&
- (l.isText
- ? (l = l.cut(
- Math.max(0, e - s),
- Math.min(l.text.length, n - s)
- ))
- : (l = l.cut(
- Math.max(0, e - s - 1),
- Math.min(l.content.size, n - s - 1)
- ))),
- r.push(l),
- (o += l.nodeSize)),
- (s = a);
- }
- return new J(r, o);
- }
- cutByIndex(e, n) {
- return e == n
- ? J.empty
- : e == 0 && n == this.content.length
- ? this
- : new J(this.content.slice(e, n));
- }
- replaceChild(e, n) {
- let r = this.content[e];
- if (r == n) return this;
- let o = this.content.slice(),
- i = this.size + n.nodeSize - r.nodeSize;
- return (o[e] = n), new J(o, i);
- }
- addToStart(e) {
- return new J([e].concat(this.content), this.size + e.nodeSize);
- }
- addToEnd(e) {
- return new J(this.content.concat(e), this.size + e.nodeSize);
- }
- eq(e) {
- if (this.content.length != e.content.length) return !1;
- for (let n = 0; n < this.content.length; n++)
- if (!this.content[n].eq(e.content[n])) return !1;
- return !0;
- }
- get firstChild() {
- return this.content.length ? this.content[0] : null;
- }
- get lastChild() {
- return this.content.length
- ? this.content[this.content.length - 1]
- : null;
- }
- get childCount() {
- return this.content.length;
- }
- child(e) {
- let n = this.content[e];
- if (!n)
- throw new RangeError("Index " + e + " out of range for " + this);
- return n;
- }
- maybeChild(e) {
- return this.content[e] || null;
- }
- forEach(e) {
- for (let n = 0, r = 0; n < this.content.length; n++) {
- let o = this.content[n];
- e(o, r, n), (r += o.nodeSize);
- }
- }
- findDiffStart(e, n = 0) {
- return qy(this, e, n);
- }
- findDiffEnd(e, n = this.size, r = e.size) {
- return Jy(this, e, n, r);
- }
- findIndex(e, n = -1) {
- if (e == 0) return Ml(0, e);
- if (e == this.size) return Ml(this.content.length, e);
- if (e > this.size || e < 0)
- throw new RangeError(`Position ${e} outside of fragment (${this})`);
- for (let r = 0, o = 0; ; r++) {
- let i = this.child(r),
- s = o + i.nodeSize;
- if (s >= e) return s == e || n > 0 ? Ml(r + 1, s) : Ml(r, o);
- o = s;
- }
- }
- toString() {
- return "<" + this.toStringInner() + ">";
- }
- toStringInner() {
- return this.content.join(", ");
- }
- toJSON() {
- return this.content.length ? this.content.map((e) => e.toJSON()) : null;
- }
- static fromJSON(e, n) {
- if (!n) return J.empty;
- if (!Array.isArray(n))
- throw new RangeError("Invalid input for Fragment.fromJSON");
- return new J(n.map(e.nodeFromJSON));
- }
- static fromArray(e) {
- if (!e.length) return J.empty;
- let n,
- r = 0;
- for (let o = 0; o < e.length; o++) {
- let i = e[o];
- (r += i.nodeSize),
- o && i.isText && e[o - 1].sameMarkup(i)
- ? (n || (n = e.slice(0, o)),
- (n[n.length - 1] = i.withText(
- n[n.length - 1].text + i.text
- )))
- : n && n.push(i);
- }
- return new J(n || e, r);
- }
- static from(e) {
- if (!e) return J.empty;
- if (e instanceof J) return e;
- if (Array.isArray(e)) return this.fromArray(e);
- if (e.attrs) return new J([e], e.nodeSize);
- throw new RangeError(
- "Can not convert " +
- e +
- " to a Fragment" +
- (e.nodesBetween
- ? " (looks like multiple versions of prosemirror-model were loaded)"
- : "")
- );
- }
-}
-J.empty = new J([], 0);
-const Mc = { index: 0, offset: 0 };
-function Ml(t, e) {
- return (Mc.index = t), (Mc.offset = e), Mc;
-}
-function xa(t, e) {
- if (t === e) return !0;
- if (!(t && typeof t == "object") || !(e && typeof e == "object")) return !1;
- let n = Array.isArray(t);
- if (Array.isArray(e) != n) return !1;
- if (n) {
- if (t.length != e.length) return !1;
- for (let r = 0; r < t.length; r++) if (!xa(t[r], e[r])) return !1;
- } else {
- for (let r in t) if (!(r in e) || !xa(t[r], e[r])) return !1;
- for (let r in e) if (!(r in t)) return !1;
- }
- return !0;
-}
-let ot = class Dd {
- constructor(e, n) {
- (this.type = e), (this.attrs = n);
- }
- addToSet(e) {
- let n,
- r = !1;
- for (let o = 0; o < e.length; o++) {
- let i = e[o];
- if (this.eq(i)) return e;
- if (this.type.excludes(i.type)) n || (n = e.slice(0, o));
- else {
- if (i.type.excludes(this.type)) return e;
- !r &&
- i.type.rank > this.type.rank &&
- (n || (n = e.slice(0, o)), n.push(this), (r = !0)),
- n && n.push(i);
- }
- }
- return n || (n = e.slice()), r || n.push(this), n;
- }
- removeFromSet(e) {
- for (let n = 0; n < e.length; n++)
- if (this.eq(e[n])) return e.slice(0, n).concat(e.slice(n + 1));
- return e;
- }
- isInSet(e) {
- for (let n = 0; n < e.length; n++) if (this.eq(e[n])) return !0;
- return !1;
- }
- eq(e) {
- return this == e || (this.type == e.type && xa(this.attrs, e.attrs));
- }
- toJSON() {
- let e = { type: this.type.name };
- for (let n in this.attrs) {
- e.attrs = this.attrs;
- break;
- }
- return e;
- }
- static fromJSON(e, n) {
- if (!n) throw new RangeError("Invalid input for Mark.fromJSON");
- let r = e.marks[n.type];
- if (!r)
- throw new RangeError(
- `There is no mark type ${n.type} in this schema`
- );
- return r.create(n.attrs);
- }
- static sameSet(e, n) {
- if (e == n) return !0;
- if (e.length != n.length) return !1;
- for (let r = 0; r < e.length; r++) if (!e[r].eq(n[r])) return !1;
- return !0;
- }
- static setFrom(e) {
- if (!e || (Array.isArray(e) && e.length == 0)) return Dd.none;
- if (e instanceof Dd) return [e];
- let n = e.slice();
- return n.sort((r, o) => r.type.rank - o.type.rank), n;
- }
-};
-ot.none = [];
-class ka extends Error {}
-class le {
- constructor(e, n, r) {
- (this.content = e), (this.openStart = n), (this.openEnd = r);
- }
- get size() {
- return this.content.size - this.openStart - this.openEnd;
- }
- insertAt(e, n) {
- let r = Yy(this.content, e + this.openStart, n);
- return r && new le(r, this.openStart, this.openEnd);
- }
- removeBetween(e, n) {
- return new le(
- Gy(this.content, e + this.openStart, n + this.openStart),
- this.openStart,
- this.openEnd
- );
- }
- eq(e) {
- return (
- this.content.eq(e.content) &&
- this.openStart == e.openStart &&
- this.openEnd == e.openEnd
- );
- }
- toString() {
- return this.content + "(" + this.openStart + "," + this.openEnd + ")";
- }
- toJSON() {
- if (!this.content.size) return null;
- let e = { content: this.content.toJSON() };
- return (
- this.openStart > 0 && (e.openStart = this.openStart),
- this.openEnd > 0 && (e.openEnd = this.openEnd),
- e
- );
- }
- static fromJSON(e, n) {
- if (!n) return le.empty;
- let r = n.openStart || 0,
- o = n.openEnd || 0;
- if (typeof r != "number" || typeof o != "number")
- throw new RangeError("Invalid input for Slice.fromJSON");
- return new le(J.fromJSON(e, n.content), r, o);
- }
- static maxOpen(e, n = !0) {
- let r = 0,
- o = 0;
- for (
- let i = e.firstChild;
- i && !i.isLeaf && (n || !i.type.spec.isolating);
- i = i.firstChild
- )
- r++;
- for (
- let i = e.lastChild;
- i && !i.isLeaf && (n || !i.type.spec.isolating);
- i = i.lastChild
- )
- o++;
- return new le(e, r, o);
- }
-}
-le.empty = new le(J.empty, 0, 0);
-function Gy(t, e, n) {
- let { index: r, offset: o } = t.findIndex(e),
- i = t.maybeChild(r),
- { index: s, offset: l } = t.findIndex(n);
- if (o == e || i.isText) {
- if (l != n && !t.child(s).isText)
- throw new RangeError("Removing non-flat range");
- return t.cut(0, e).append(t.cut(n));
- }
- if (r != s) throw new RangeError("Removing non-flat range");
- return t.replaceChild(r, i.copy(Gy(i.content, e - o - 1, n - o - 1)));
-}
-function Yy(t, e, n, r) {
- let { index: o, offset: i } = t.findIndex(e),
- s = t.maybeChild(o);
- if (i == e || s.isText)
- return r && !r.canReplace(o, o, n)
- ? null
- : t.cut(0, e).append(n).append(t.cut(e));
- let l = Yy(s.content, e - i - 1, n);
- return l && t.replaceChild(o, s.copy(l));
-}
-function JC(t, e, n) {
- if (n.openStart > t.depth)
- throw new ka("Inserted content deeper than insertion position");
- if (t.depth - n.openStart != e.depth - n.openEnd)
- throw new ka("Inconsistent open depths");
- return Qy(t, e, n, 0);
-}
-function Qy(t, e, n, r) {
- let o = t.index(r),
- i = t.node(r);
- if (o == e.index(r) && r < t.depth - n.openStart) {
- let s = Qy(t, e, n, r + 1);
- return i.copy(i.content.replaceChild(o, s));
- } else if (n.content.size)
- if (!n.openStart && !n.openEnd && t.depth == r && e.depth == r) {
- let s = t.parent,
- l = s.content;
- return No(
- s,
- l
- .cut(0, t.parentOffset)
- .append(n.content)
- .append(l.cut(e.parentOffset))
- );
- } else {
- let { start: s, end: l } = GC(n, t);
- return No(i, Zy(t, s, l, e, r));
- }
- else return No(i, Sa(t, e, r));
-}
-function Xy(t, e) {
- if (!e.type.compatibleContent(t.type))
- throw new ka("Cannot join " + e.type.name + " onto " + t.type.name);
-}
-function jd(t, e, n) {
- let r = t.node(n);
- return Xy(r, e.node(n)), r;
-}
-function Io(t, e) {
- let n = e.length - 1;
- n >= 0 && t.isText && t.sameMarkup(e[n])
- ? (e[n] = t.withText(e[n].text + t.text))
- : e.push(t);
-}
-function ps(t, e, n, r) {
- let o = (e || t).node(n),
- i = 0,
- s = e ? e.index(n) : o.childCount;
- t &&
- ((i = t.index(n)),
- t.depth > n ? i++ : t.textOffset && (Io(t.nodeAfter, r), i++));
- for (let l = i; l < s; l++) Io(o.child(l), r);
- e && e.depth == n && e.textOffset && Io(e.nodeBefore, r);
-}
-function No(t, e) {
- return t.type.checkContent(e), t.copy(e);
-}
-function Zy(t, e, n, r, o) {
- let i = t.depth > o && jd(t, e, o + 1),
- s = r.depth > o && jd(n, r, o + 1),
- l = [];
- return (
- ps(null, t, o, l),
- i && s && e.index(o) == n.index(o)
- ? (Xy(i, s), Io(No(i, Zy(t, e, n, r, o + 1)), l))
- : (i && Io(No(i, Sa(t, e, o + 1)), l),
- ps(e, n, o, l),
- s && Io(No(s, Sa(n, r, o + 1)), l)),
- ps(r, null, o, l),
- new J(l)
- );
-}
-function Sa(t, e, n) {
- let r = [];
- if ((ps(null, t, n, r), t.depth > n)) {
- let o = jd(t, e, n + 1);
- Io(No(o, Sa(t, e, n + 1)), r);
- }
- return ps(e, null, n, r), new J(r);
-}
-function GC(t, e) {
- let n = e.depth - t.openStart,
- o = e.node(n).copy(t.content);
- for (let i = n - 1; i >= 0; i--) o = e.node(i).copy(J.from(o));
- return {
- start: o.resolveNoCache(t.openStart + n),
- end: o.resolveNoCache(o.content.size - t.openEnd - n),
- };
-}
-class Ns {
- constructor(e, n, r) {
- (this.pos = e),
- (this.path = n),
- (this.parentOffset = r),
- (this.depth = n.length / 3 - 1);
- }
- resolveDepth(e) {
- return e == null ? this.depth : e < 0 ? this.depth + e : e;
- }
- get parent() {
- return this.node(this.depth);
- }
- get doc() {
- return this.node(0);
- }
- node(e) {
- return this.path[this.resolveDepth(e) * 3];
- }
- index(e) {
- return this.path[this.resolveDepth(e) * 3 + 1];
- }
- indexAfter(e) {
- return (
- (e = this.resolveDepth(e)),
- this.index(e) + (e == this.depth && !this.textOffset ? 0 : 1)
- );
- }
- start(e) {
- return (
- (e = this.resolveDepth(e)), e == 0 ? 0 : this.path[e * 3 - 1] + 1
- );
- }
- end(e) {
- return (
- (e = this.resolveDepth(e)),
- this.start(e) + this.node(e).content.size
- );
- }
- before(e) {
- if (((e = this.resolveDepth(e)), !e))
- throw new RangeError(
- "There is no position before the top-level node"
- );
- return e == this.depth + 1 ? this.pos : this.path[e * 3 - 1];
- }
- after(e) {
- if (((e = this.resolveDepth(e)), !e))
- throw new RangeError(
- "There is no position after the top-level node"
- );
- return e == this.depth + 1
- ? this.pos
- : this.path[e * 3 - 1] + this.path[e * 3].nodeSize;
- }
- get textOffset() {
- return this.pos - this.path[this.path.length - 1];
- }
- get nodeAfter() {
- let e = this.parent,
- n = this.index(this.depth);
- if (n == e.childCount) return null;
- let r = this.pos - this.path[this.path.length - 1],
- o = e.child(n);
- return r ? e.child(n).cut(r) : o;
- }
- get nodeBefore() {
- let e = this.index(this.depth),
- n = this.pos - this.path[this.path.length - 1];
- return n
- ? this.parent.child(e).cut(0, n)
- : e == 0
- ? null
- : this.parent.child(e - 1);
- }
- posAtIndex(e, n) {
- n = this.resolveDepth(n);
- let r = this.path[n * 3],
- o = n == 0 ? 0 : this.path[n * 3 - 1] + 1;
- for (let i = 0; i < e; i++) o += r.child(i).nodeSize;
- return o;
- }
- marks() {
- let e = this.parent,
- n = this.index();
- if (e.content.size == 0) return ot.none;
- if (this.textOffset) return e.child(n).marks;
- let r = e.maybeChild(n - 1),
- o = e.maybeChild(n);
- if (!r) {
- let l = r;
- (r = o), (o = l);
- }
- let i = r.marks;
- for (var s = 0; s < i.length; s++)
- i[s].type.spec.inclusive === !1 &&
- (!o || !i[s].isInSet(o.marks)) &&
- (i = i[s--].removeFromSet(i));
- return i;
- }
- marksAcross(e) {
- let n = this.parent.maybeChild(this.index());
- if (!n || !n.isInline) return null;
- let r = n.marks,
- o = e.parent.maybeChild(e.index());
- for (var i = 0; i < r.length; i++)
- r[i].type.spec.inclusive === !1 &&
- (!o || !r[i].isInSet(o.marks)) &&
- (r = r[i--].removeFromSet(r));
- return r;
- }
- sharedDepth(e) {
- for (let n = this.depth; n > 0; n--)
- if (this.start(n) <= e && this.end(n) >= e) return n;
- return 0;
- }
- blockRange(e = this, n) {
- if (e.pos < this.pos) return e.blockRange(this);
- for (
- let r =
- this.depth -
- (this.parent.inlineContent || this.pos == e.pos ? 1 : 0);
- r >= 0;
- r--
- )
- if (e.pos <= this.end(r) && (!n || n(this.node(r))))
- return new _a(this, e, r);
- return null;
- }
- sameParent(e) {
- return this.pos - this.parentOffset == e.pos - e.parentOffset;
- }
- max(e) {
- return e.pos > this.pos ? e : this;
- }
- min(e) {
- return e.pos < this.pos ? e : this;
- }
- toString() {
- let e = "";
- for (let n = 1; n <= this.depth; n++)
- e +=
- (e ? "/" : "") +
- this.node(n).type.name +
- "_" +
- this.index(n - 1);
- return e + ":" + this.parentOffset;
- }
- static resolve(e, n) {
- if (!(n >= 0 && n <= e.content.size))
- throw new RangeError("Position " + n + " out of range");
- let r = [],
- o = 0,
- i = n;
- for (let s = e; ; ) {
- let { index: l, offset: a } = s.content.findIndex(i),
- u = i - a;
- if ((r.push(s, l, o + a), !u || ((s = s.child(l)), s.isText)))
- break;
- (i = u - 1), (o += a + 1);
- }
- return new Ns(n, r, i);
- }
- static resolveCached(e, n) {
- for (let o = 0; o < Ec.length; o++) {
- let i = Ec[o];
- if (i.pos == n && i.doc == e) return i;
- }
- let r = (Ec[Tc] = Ns.resolve(e, n));
- return (Tc = (Tc + 1) % YC), r;
- }
-}
-let Ec = [],
- Tc = 0,
- YC = 12;
-class _a {
- constructor(e, n, r) {
- (this.$from = e), (this.$to = n), (this.depth = r);
- }
- get start() {
- return this.$from.before(this.depth + 1);
- }
- get end() {
- return this.$to.after(this.depth + 1);
- }
- get parent() {
- return this.$from.node(this.depth);
- }
- get startIndex() {
- return this.$from.index(this.depth);
- }
- get endIndex() {
- return this.$to.indexAfter(this.depth);
- }
-}
-const QC = Object.create(null);
-let Do = class Ld {
- constructor(e, n, r, o = ot.none) {
- (this.type = e),
- (this.attrs = n),
- (this.marks = o),
- (this.content = r || J.empty);
- }
- get nodeSize() {
- return this.isLeaf ? 1 : 2 + this.content.size;
- }
- get childCount() {
- return this.content.childCount;
- }
- child(e) {
- return this.content.child(e);
- }
- maybeChild(e) {
- return this.content.maybeChild(e);
- }
- forEach(e) {
- this.content.forEach(e);
- }
- nodesBetween(e, n, r, o = 0) {
- this.content.nodesBetween(e, n, r, o, this);
- }
- descendants(e) {
- this.nodesBetween(0, this.content.size, e);
- }
- get textContent() {
- return this.isLeaf && this.type.spec.leafText
- ? this.type.spec.leafText(this)
- : this.textBetween(0, this.content.size, "");
- }
- textBetween(e, n, r, o) {
- return this.content.textBetween(e, n, r, o);
- }
- get firstChild() {
- return this.content.firstChild;
- }
- get lastChild() {
- return this.content.lastChild;
- }
- eq(e) {
- return this == e || (this.sameMarkup(e) && this.content.eq(e.content));
- }
- sameMarkup(e) {
- return this.hasMarkup(e.type, e.attrs, e.marks);
- }
- hasMarkup(e, n, r) {
- return (
- this.type == e &&
- xa(this.attrs, n || e.defaultAttrs || QC) &&
- ot.sameSet(this.marks, r || ot.none)
- );
- }
- copy(e = null) {
- return e == this.content
- ? this
- : new Ld(this.type, this.attrs, e, this.marks);
- }
- mark(e) {
- return e == this.marks
- ? this
- : new Ld(this.type, this.attrs, this.content, e);
- }
- cut(e, n = this.content.size) {
- return e == 0 && n == this.content.size
- ? this
- : this.copy(this.content.cut(e, n));
- }
- slice(e, n = this.content.size, r = !1) {
- if (e == n) return le.empty;
- let o = this.resolve(e),
- i = this.resolve(n),
- s = r ? 0 : o.sharedDepth(n),
- l = o.start(s),
- u = o.node(s).content.cut(o.pos - l, i.pos - l);
- return new le(u, o.depth - s, i.depth - s);
- }
- replace(e, n, r) {
- return JC(this.resolve(e), this.resolve(n), r);
- }
- nodeAt(e) {
- for (let n = this; ; ) {
- let { index: r, offset: o } = n.content.findIndex(e);
- if (((n = n.maybeChild(r)), !n)) return null;
- if (o == e || n.isText) return n;
- e -= o + 1;
- }
- }
- childAfter(e) {
- let { index: n, offset: r } = this.content.findIndex(e);
- return { node: this.content.maybeChild(n), index: n, offset: r };
- }
- childBefore(e) {
- if (e == 0) return { node: null, index: 0, offset: 0 };
- let { index: n, offset: r } = this.content.findIndex(e);
- if (r < e) return { node: this.content.child(n), index: n, offset: r };
- let o = this.content.child(n - 1);
- return { node: o, index: n - 1, offset: r - o.nodeSize };
- }
- resolve(e) {
- return Ns.resolveCached(this, e);
- }
- resolveNoCache(e) {
- return Ns.resolve(this, e);
- }
- rangeHasMark(e, n, r) {
- let o = !1;
- return (
- n > e &&
- this.nodesBetween(
- e,
- n,
- (i) => (r.isInSet(i.marks) && (o = !0), !o)
- ),
- o
- );
- }
- get isBlock() {
- return this.type.isBlock;
- }
- get isTextblock() {
- return this.type.isTextblock;
- }
- get inlineContent() {
- return this.type.inlineContent;
- }
- get isInline() {
- return this.type.isInline;
- }
- get isText() {
- return this.type.isText;
- }
- get isLeaf() {
- return this.type.isLeaf;
- }
- get isAtom() {
- return this.type.isAtom;
- }
- toString() {
- if (this.type.spec.toDebugString)
- return this.type.spec.toDebugString(this);
- let e = this.type.name;
- return (
- this.content.size &&
- (e += "(" + this.content.toStringInner() + ")"),
- ev(this.marks, e)
- );
- }
- contentMatchAt(e) {
- let n = this.type.contentMatch.matchFragment(this.content, 0, e);
- if (!n)
- throw new Error(
- "Called contentMatchAt on a node with invalid content"
- );
- return n;
- }
- canReplace(e, n, r = J.empty, o = 0, i = r.childCount) {
- let s = this.contentMatchAt(e).matchFragment(r, o, i),
- l = s && s.matchFragment(this.content, n);
- if (!l || !l.validEnd) return !1;
- for (let a = o; a < i; a++)
- if (!this.type.allowsMarks(r.child(a).marks)) return !1;
- return !0;
- }
- canReplaceWith(e, n, r, o) {
- if (o && !this.type.allowsMarks(o)) return !1;
- let i = this.contentMatchAt(e).matchType(r),
- s = i && i.matchFragment(this.content, n);
- return s ? s.validEnd : !1;
- }
- canAppend(e) {
- return e.content.size
- ? this.canReplace(this.childCount, this.childCount, e.content)
- : this.type.compatibleContent(e.type);
- }
- check() {
- this.type.checkContent(this.content);
- let e = ot.none;
- for (let n = 0; n < this.marks.length; n++)
- e = this.marks[n].addToSet(e);
- if (!ot.sameSet(e, this.marks))
- throw new RangeError(
- `Invalid collection of marks for node ${
- this.type.name
- }: ${this.marks.map((n) => n.type.name)}`
- );
- this.content.forEach((n) => n.check());
- }
- toJSON() {
- let e = { type: this.type.name };
- for (let n in this.attrs) {
- e.attrs = this.attrs;
- break;
- }
- return (
- this.content.size && (e.content = this.content.toJSON()),
- this.marks.length && (e.marks = this.marks.map((n) => n.toJSON())),
- e
- );
- }
- static fromJSON(e, n) {
- if (!n) throw new RangeError("Invalid input for Node.fromJSON");
- let r = null;
- if (n.marks) {
- if (!Array.isArray(n.marks))
- throw new RangeError("Invalid mark data for Node.fromJSON");
- r = n.marks.map(e.markFromJSON);
- }
- if (n.type == "text") {
- if (typeof n.text != "string")
- throw new RangeError("Invalid text node in JSON");
- return e.text(n.text, r);
- }
- let o = J.fromJSON(e, n.content);
- return e.nodeType(n.type).create(n.attrs, o, r);
- }
-};
-Do.prototype.text = void 0;
-class Ca extends Do {
- constructor(e, n, r, o) {
- if ((super(e, n, null, o), !r))
- throw new RangeError("Empty text nodes are not allowed");
- this.text = r;
- }
- toString() {
- return this.type.spec.toDebugString
- ? this.type.spec.toDebugString(this)
- : ev(this.marks, JSON.stringify(this.text));
- }
- get textContent() {
- return this.text;
- }
- textBetween(e, n) {
- return this.text.slice(e, n);
- }
- get nodeSize() {
- return this.text.length;
- }
- mark(e) {
- return e == this.marks
- ? this
- : new Ca(this.type, this.attrs, this.text, e);
- }
- withText(e) {
- return e == this.text
- ? this
- : new Ca(this.type, this.attrs, e, this.marks);
- }
- cut(e = 0, n = this.text.length) {
- return e == 0 && n == this.text.length
- ? this
- : this.withText(this.text.slice(e, n));
- }
- eq(e) {
- return this.sameMarkup(e) && this.text == e.text;
- }
- toJSON() {
- let e = super.toJSON();
- return (e.text = this.text), e;
- }
-}
-function ev(t, e) {
- for (let n = t.length - 1; n >= 0; n--) e = t[n].type.name + "(" + e + ")";
- return e;
-}
-class zo {
- constructor(e) {
- (this.validEnd = e), (this.next = []), (this.wrapCache = []);
- }
- static parse(e, n) {
- let r = new XC(e, n);
- if (r.next == null) return zo.empty;
- let o = tv(r);
- r.next && r.err("Unexpected trailing text");
- let i = iM(oM(o));
- return sM(i, r), i;
- }
- matchType(e) {
- for (let n = 0; n < this.next.length; n++)
- if (this.next[n].type == e) return this.next[n].next;
- return null;
- }
- matchFragment(e, n = 0, r = e.childCount) {
- let o = this;
- for (let i = n; o && i < r; i++) o = o.matchType(e.child(i).type);
- return o;
- }
- get inlineContent() {
- return this.next.length != 0 && this.next[0].type.isInline;
- }
- get defaultType() {
- for (let e = 0; e < this.next.length; e++) {
- let { type: n } = this.next[e];
- if (!(n.isText || n.hasRequiredAttrs())) return n;
- }
- return null;
- }
- compatible(e) {
- for (let n = 0; n < this.next.length; n++)
- for (let r = 0; r < e.next.length; r++)
- if (this.next[n].type == e.next[r].type) return !0;
- return !1;
- }
- fillBefore(e, n = !1, r = 0) {
- let o = [this];
- function i(s, l) {
- let a = s.matchFragment(e, r);
- if (a && (!n || a.validEnd))
- return J.from(l.map((u) => u.createAndFill()));
- for (let u = 0; u < s.next.length; u++) {
- let { type: c, next: d } = s.next[u];
- if (!(c.isText || c.hasRequiredAttrs()) && o.indexOf(d) == -1) {
- o.push(d);
- let f = i(d, l.concat(c));
- if (f) return f;
- }
- }
- return null;
- }
- return i(this, []);
- }
- findWrapping(e) {
- for (let r = 0; r < this.wrapCache.length; r += 2)
- if (this.wrapCache[r] == e) return this.wrapCache[r + 1];
- let n = this.computeWrapping(e);
- return this.wrapCache.push(e, n), n;
- }
- computeWrapping(e) {
- let n = Object.create(null),
- r = [{ match: this, type: null, via: null }];
- for (; r.length; ) {
- let o = r.shift(),
- i = o.match;
- if (i.matchType(e)) {
- let s = [];
- for (let l = o; l.type; l = l.via) s.push(l.type);
- return s.reverse();
- }
- for (let s = 0; s < i.next.length; s++) {
- let { type: l, next: a } = i.next[s];
- !l.isLeaf &&
- !l.hasRequiredAttrs() &&
- !(l.name in n) &&
- (!o.type || a.validEnd) &&
- (r.push({ match: l.contentMatch, type: l, via: o }),
- (n[l.name] = !0));
- }
- }
- return null;
- }
- get edgeCount() {
- return this.next.length;
- }
- edge(e) {
- if (e >= this.next.length)
- throw new RangeError(
- `There's no ${e}th edge in this content match`
- );
- return this.next[e];
- }
- toString() {
- let e = [];
- function n(r) {
- e.push(r);
- for (let o = 0; o < r.next.length; o++)
- e.indexOf(r.next[o].next) == -1 && n(r.next[o].next);
- }
- return (
- n(this),
- e.map((r, o) => {
- let i = o + (r.validEnd ? "*" : " ") + " ";
- for (let s = 0; s < r.next.length; s++)
- i +=
- (s ? ", " : "") +
- r.next[s].type.name +
- "->" +
- e.indexOf(r.next[s].next);
- return i;
- }).join(`
-`)
- );
- }
-}
-zo.empty = new zo(!0);
-class XC {
- constructor(e, n) {
- (this.string = e),
- (this.nodeTypes = n),
- (this.inline = null),
- (this.pos = 0),
- (this.tokens = e.split(/\s*(?=\b|\W|$)/)),
- this.tokens[this.tokens.length - 1] == "" && this.tokens.pop(),
- this.tokens[0] == "" && this.tokens.shift();
- }
- get next() {
- return this.tokens[this.pos];
- }
- eat(e) {
- return this.next == e && (this.pos++ || !0);
- }
- err(e) {
- throw new SyntaxError(
- e + " (in content expression '" + this.string + "')"
- );
- }
-}
-function tv(t) {
- let e = [];
- do e.push(ZC(t));
- while (t.eat("|"));
- return e.length == 1 ? e[0] : { type: "choice", exprs: e };
-}
-function ZC(t) {
- let e = [];
- do e.push(eM(t));
- while (t.next && t.next != ")" && t.next != "|");
- return e.length == 1 ? e[0] : { type: "seq", exprs: e };
-}
-function eM(t) {
- let e = rM(t);
- for (;;)
- if (t.eat("+")) e = { type: "plus", expr: e };
- else if (t.eat("*")) e = { type: "star", expr: e };
- else if (t.eat("?")) e = { type: "opt", expr: e };
- else if (t.eat("{")) e = tM(t, e);
- else break;
- return e;
-}
-function Mm(t) {
- /\D/.test(t.next) && t.err("Expected number, got '" + t.next + "'");
- let e = Number(t.next);
- return t.pos++, e;
-}
-function tM(t, e) {
- let n = Mm(t),
- r = n;
- return (
- t.eat(",") && (t.next != "}" ? (r = Mm(t)) : (r = -1)),
- t.eat("}") || t.err("Unclosed braced range"),
- { type: "range", min: n, max: r, expr: e }
- );
-}
-function nM(t, e) {
- let n = t.nodeTypes,
- r = n[e];
- if (r) return [r];
- let o = [];
- for (let i in n) {
- let s = n[i];
- s.groups.indexOf(e) > -1 && o.push(s);
- }
- return o.length == 0 && t.err("No node type or group '" + e + "' found"), o;
-}
-function rM(t) {
- if (t.eat("(")) {
- let e = tv(t);
- return t.eat(")") || t.err("Missing closing paren"), e;
- } else if (/\W/.test(t.next)) t.err("Unexpected token '" + t.next + "'");
- else {
- let e = nM(t, t.next).map(
- (n) => (
- t.inline == null
- ? (t.inline = n.isInline)
- : t.inline != n.isInline &&
- t.err("Mixing inline and block content"),
- { type: "name", value: n }
- )
- );
- return t.pos++, e.length == 1 ? e[0] : { type: "choice", exprs: e };
- }
-}
-function oM(t) {
- let e = [[]];
- return o(i(t, 0), n()), e;
- function n() {
- return e.push([]) - 1;
- }
- function r(s, l, a) {
- let u = { term: a, to: l };
- return e[s].push(u), u;
- }
- function o(s, l) {
- s.forEach((a) => (a.to = l));
- }
- function i(s, l) {
- if (s.type == "choice")
- return s.exprs.reduce((a, u) => a.concat(i(u, l)), []);
- if (s.type == "seq")
- for (let a = 0; ; a++) {
- let u = i(s.exprs[a], l);
- if (a == s.exprs.length - 1) return u;
- o(u, (l = n()));
- }
- else if (s.type == "star") {
- let a = n();
- return r(l, a), o(i(s.expr, a), a), [r(a)];
- } else if (s.type == "plus") {
- let a = n();
- return o(i(s.expr, l), a), o(i(s.expr, a), a), [r(a)];
- } else {
- if (s.type == "opt") return [r(l)].concat(i(s.expr, l));
- if (s.type == "range") {
- let a = l;
- for (let u = 0; u < s.min; u++) {
- let c = n();
- o(i(s.expr, a), c), (a = c);
- }
- if (s.max == -1) o(i(s.expr, a), a);
- else
- for (let u = s.min; u < s.max; u++) {
- let c = n();
- r(a, c), o(i(s.expr, a), c), (a = c);
- }
- return [r(a)];
- } else {
- if (s.type == "name") return [r(l, void 0, s.value)];
- throw new Error("Unknown expr type");
- }
- }
- }
-}
-function nv(t, e) {
- return e - t;
-}
-function Em(t, e) {
- let n = [];
- return r(e), n.sort(nv);
- function r(o) {
- let i = t[o];
- if (i.length == 1 && !i[0].term) return r(i[0].to);
- n.push(o);
- for (let s = 0; s < i.length; s++) {
- let { term: l, to: a } = i[s];
- !l && n.indexOf(a) == -1 && r(a);
- }
- }
-}
-function iM(t) {
- let e = Object.create(null);
- return n(Em(t, 0));
- function n(r) {
- let o = [];
- r.forEach((s) => {
- t[s].forEach(({ term: l, to: a }) => {
- if (!l) return;
- let u;
- for (let c = 0; c < o.length; c++)
- o[c][0] == l && (u = o[c][1]);
- Em(t, a).forEach((c) => {
- u || o.push([l, (u = [])]), u.indexOf(c) == -1 && u.push(c);
- });
- });
- });
- let i = (e[r.join(",")] = new zo(r.indexOf(t.length - 1) > -1));
- for (let s = 0; s < o.length; s++) {
- let l = o[s][1].sort(nv);
- i.next.push({ type: o[s][0], next: e[l.join(",")] || n(l) });
- }
- return i;
- }
-}
-function sM(t, e) {
- for (let n = 0, r = [t]; n < r.length; n++) {
- let o = r[n],
- i = !o.validEnd,
- s = [];
- for (let l = 0; l < o.next.length; l++) {
- let { type: a, next: u } = o.next[l];
- s.push(a.name),
- i && !(a.isText || a.hasRequiredAttrs()) && (i = !1),
- r.indexOf(u) == -1 && r.push(u);
- }
- i &&
- e.err(
- "Only non-generatable nodes (" +
- s.join(", ") +
- ") in a required position (see https://prosemirror.net/docs/guide/#generatable)"
- );
- }
-}
-function rv(t) {
- let e = Object.create(null);
- for (let n in t) {
- let r = t[n];
- if (!r.hasDefault) return null;
- e[n] = r.default;
- }
- return e;
-}
-function ov(t, e) {
- let n = Object.create(null);
- for (let r in t) {
- let o = e && e[r];
- if (o === void 0) {
- let i = t[r];
- if (i.hasDefault) o = i.default;
- else throw new RangeError("No value supplied for attribute " + r);
- }
- n[r] = o;
- }
- return n;
-}
-function iv(t) {
- let e = Object.create(null);
- if (t) for (let n in t) e[n] = new lM(t[n]);
- return e;
-}
-let Tm = class sv {
- constructor(e, n, r) {
- (this.name = e),
- (this.schema = n),
- (this.spec = r),
- (this.markSet = null),
- (this.groups = r.group ? r.group.split(" ") : []),
- (this.attrs = iv(r.attrs)),
- (this.defaultAttrs = rv(this.attrs)),
- (this.contentMatch = null),
- (this.inlineContent = null),
- (this.isBlock = !(r.inline || e == "text")),
- (this.isText = e == "text");
- }
- get isInline() {
- return !this.isBlock;
- }
- get isTextblock() {
- return this.isBlock && this.inlineContent;
- }
- get isLeaf() {
- return this.contentMatch == zo.empty;
- }
- get isAtom() {
- return this.isLeaf || !!this.spec.atom;
- }
- get whitespace() {
- return this.spec.whitespace || (this.spec.code ? "pre" : "normal");
- }
- hasRequiredAttrs() {
- for (let e in this.attrs) if (this.attrs[e].isRequired) return !0;
- return !1;
- }
- compatibleContent(e) {
- return this == e || this.contentMatch.compatible(e.contentMatch);
- }
- computeAttrs(e) {
- return !e && this.defaultAttrs ? this.defaultAttrs : ov(this.attrs, e);
- }
- create(e = null, n, r) {
- if (this.isText)
- throw new Error("NodeType.create can't construct text nodes");
- return new Do(this, this.computeAttrs(e), J.from(n), ot.setFrom(r));
- }
- createChecked(e = null, n, r) {
- return (
- (n = J.from(n)),
- this.checkContent(n),
- new Do(this, this.computeAttrs(e), n, ot.setFrom(r))
- );
- }
- createAndFill(e = null, n, r) {
- if (((e = this.computeAttrs(e)), (n = J.from(n)), n.size)) {
- let s = this.contentMatch.fillBefore(n);
- if (!s) return null;
- n = s.append(n);
- }
- let o = this.contentMatch.matchFragment(n),
- i = o && o.fillBefore(J.empty, !0);
- return i ? new Do(this, e, n.append(i), ot.setFrom(r)) : null;
- }
- validContent(e) {
- let n = this.contentMatch.matchFragment(e);
- if (!n || !n.validEnd) return !1;
- for (let r = 0; r < e.childCount; r++)
- if (!this.allowsMarks(e.child(r).marks)) return !1;
- return !0;
- }
- checkContent(e) {
- if (!this.validContent(e))
- throw new RangeError(
- `Invalid content for node ${this.name}: ${e
- .toString()
- .slice(0, 50)}`
- );
- }
- allowsMarkType(e) {
- return this.markSet == null || this.markSet.indexOf(e) > -1;
- }
- allowsMarks(e) {
- if (this.markSet == null) return !0;
- for (let n = 0; n < e.length; n++)
- if (!this.allowsMarkType(e[n].type)) return !1;
- return !0;
- }
- allowedMarks(e) {
- if (this.markSet == null) return e;
- let n;
- for (let r = 0; r < e.length; r++)
- this.allowsMarkType(e[r].type)
- ? n && n.push(e[r])
- : n || (n = e.slice(0, r));
- return n ? (n.length ? n : ot.none) : e;
- }
- static compile(e, n) {
- let r = Object.create(null);
- e.forEach((i, s) => (r[i] = new sv(i, n, s)));
- let o = n.spec.topNode || "doc";
- if (!r[o])
- throw new RangeError(
- "Schema is missing its top node type ('" + o + "')"
- );
- if (!r.text) throw new RangeError("Every schema needs a 'text' type");
- for (let i in r.text.attrs)
- throw new RangeError(
- "The text node type should not have attributes"
- );
- return r;
- }
-};
-class lM {
- constructor(e) {
- (this.hasDefault = Object.prototype.hasOwnProperty.call(e, "default")),
- (this.default = e.default);
- }
- get isRequired() {
- return !this.hasDefault;
- }
-}
-class Bu {
- constructor(e, n, r, o) {
- (this.name = e),
- (this.rank = n),
- (this.schema = r),
- (this.spec = o),
- (this.attrs = iv(o.attrs)),
- (this.excluded = null);
- let i = rv(this.attrs);
- this.instance = i ? new ot(this, i) : null;
- }
- create(e = null) {
- return !e && this.instance
- ? this.instance
- : new ot(this, ov(this.attrs, e));
- }
- static compile(e, n) {
- let r = Object.create(null),
- o = 0;
- return e.forEach((i, s) => (r[i] = new Bu(i, o++, n, s))), r;
- }
- removeFromSet(e) {
- for (var n = 0; n < e.length; n++)
- e[n].type == this &&
- ((e = e.slice(0, n).concat(e.slice(n + 1))), n--);
- return e;
- }
- isInSet(e) {
- for (let n = 0; n < e.length; n++) if (e[n].type == this) return e[n];
- }
- excludes(e) {
- return this.excluded.indexOf(e) > -1;
- }
-}
-class aM {
- constructor(e) {
- this.cached = Object.create(null);
- let n = (this.spec = {});
- for (let o in e) n[o] = e[o];
- (n.nodes = Ft.from(e.nodes)),
- (n.marks = Ft.from(e.marks || {})),
- (this.nodes = Tm.compile(this.spec.nodes, this)),
- (this.marks = Bu.compile(this.spec.marks, this));
- let r = Object.create(null);
- for (let o in this.nodes) {
- if (o in this.marks)
- throw new RangeError(o + " can not be both a node and a mark");
- let i = this.nodes[o],
- s = i.spec.content || "",
- l = i.spec.marks;
- (i.contentMatch = r[s] || (r[s] = zo.parse(s, this.nodes))),
- (i.inlineContent = i.contentMatch.inlineContent),
- (i.markSet =
- l == "_"
- ? null
- : l
- ? Am(this, l.split(" "))
- : l == "" || !i.inlineContent
- ? []
- : null);
- }
- for (let o in this.marks) {
- let i = this.marks[o],
- s = i.spec.excludes;
- i.excluded =
- s == null ? [i] : s == "" ? [] : Am(this, s.split(" "));
- }
- (this.nodeFromJSON = this.nodeFromJSON.bind(this)),
- (this.markFromJSON = this.markFromJSON.bind(this)),
- (this.topNodeType = this.nodes[this.spec.topNode || "doc"]),
- (this.cached.wrappings = Object.create(null));
- }
- node(e, n = null, r, o) {
- if (typeof e == "string") e = this.nodeType(e);
- else if (e instanceof Tm) {
- if (e.schema != this)
- throw new RangeError(
- "Node type from different schema used (" + e.name + ")"
- );
- } else throw new RangeError("Invalid node type: " + e);
- return e.createChecked(n, r, o);
- }
- text(e, n) {
- let r = this.nodes.text;
- return new Ca(r, r.defaultAttrs, e, ot.setFrom(n));
- }
- mark(e, n) {
- return typeof e == "string" && (e = this.marks[e]), e.create(n);
- }
- nodeFromJSON(e) {
- return Do.fromJSON(this, e);
- }
- markFromJSON(e) {
- return ot.fromJSON(this, e);
- }
- nodeType(e) {
- let n = this.nodes[e];
- if (!n) throw new RangeError("Unknown node type: " + e);
- return n;
- }
-}
-function Am(t, e) {
- let n = [];
- for (let r = 0; r < e.length; r++) {
- let o = e[r],
- i = t.marks[o],
- s = i;
- if (i) n.push(i);
- else
- for (let l in t.marks) {
- let a = t.marks[l];
- (o == "_" ||
- (a.spec.group &&
- a.spec.group.split(" ").indexOf(o) > -1)) &&
- n.push((s = a));
- }
- if (!s) throw new SyntaxError("Unknown mark type: '" + e[r] + "'");
- }
- return n;
-}
-let zu = class $d {
- constructor(e, n) {
- (this.schema = e),
- (this.rules = n),
- (this.tags = []),
- (this.styles = []),
- n.forEach((r) => {
- r.tag ? this.tags.push(r) : r.style && this.styles.push(r);
- }),
- (this.normalizeLists = !this.tags.some((r) => {
- if (!/^(ul|ol)\b/.test(r.tag) || !r.node) return !1;
- let o = e.nodes[r.node];
- return o.contentMatch.matchType(o);
- }));
- }
- parse(e, n = {}) {
- let r = new Rm(this, n, !1);
- return r.addAll(e, n.from, n.to), r.finish();
- }
- parseSlice(e, n = {}) {
- let r = new Rm(this, n, !0);
- return r.addAll(e, n.from, n.to), le.maxOpen(r.finish());
- }
- matchTag(e, n, r) {
- for (
- let o = r ? this.tags.indexOf(r) + 1 : 0;
- o < this.tags.length;
- o++
- ) {
- let i = this.tags[o];
- if (
- dM(e, i.tag) &&
- (i.namespace === void 0 || e.namespaceURI == i.namespace) &&
- (!i.context || n.matchesContext(i.context))
- ) {
- if (i.getAttrs) {
- let s = i.getAttrs(e);
- if (s === !1) continue;
- i.attrs = s || void 0;
- }
- return i;
- }
- }
- }
- matchStyle(e, n, r, o) {
- for (
- let i = o ? this.styles.indexOf(o) + 1 : 0;
- i < this.styles.length;
- i++
- ) {
- let s = this.styles[i],
- l = s.style;
- if (
- !(
- l.indexOf(e) != 0 ||
- (s.context && !r.matchesContext(s.context)) ||
- (l.length > e.length &&
- (l.charCodeAt(e.length) != 61 ||
- l.slice(e.length + 1) != n))
- )
- ) {
- if (s.getAttrs) {
- let a = s.getAttrs(n);
- if (a === !1) continue;
- s.attrs = a || void 0;
- }
- return s;
- }
- }
- }
- static schemaRules(e) {
- let n = [];
- function r(o) {
- let i = o.priority == null ? 50 : o.priority,
- s = 0;
- for (; s < n.length; s++) {
- let l = n[s];
- if ((l.priority == null ? 50 : l.priority) < i) break;
- }
- n.splice(s, 0, o);
- }
- for (let o in e.marks) {
- let i = e.marks[o].spec.parseDOM;
- i &&
- i.forEach((s) => {
- r((s = Pm(s))),
- s.mark || s.ignore || s.clearMark || (s.mark = o);
- });
- }
- for (let o in e.nodes) {
- let i = e.nodes[o].spec.parseDOM;
- i &&
- i.forEach((s) => {
- r((s = Pm(s))),
- s.node || s.ignore || s.mark || (s.node = o);
- });
- }
- return n;
- }
- static fromSchema(e) {
- return (
- e.cached.domParser ||
- (e.cached.domParser = new $d(e, $d.schemaRules(e)))
- );
- }
-};
-const lv = {
- address: !0,
- article: !0,
- aside: !0,
- blockquote: !0,
- canvas: !0,
- dd: !0,
- div: !0,
- dl: !0,
- fieldset: !0,
- figcaption: !0,
- figure: !0,
- footer: !0,
- form: !0,
- h1: !0,
- h2: !0,
- h3: !0,
- h4: !0,
- h5: !0,
- h6: !0,
- header: !0,
- hgroup: !0,
- hr: !0,
- li: !0,
- noscript: !0,
- ol: !0,
- output: !0,
- p: !0,
- pre: !0,
- section: !0,
- table: !0,
- tfoot: !0,
- ul: !0,
- },
- uM = {
- head: !0,
- noscript: !0,
- object: !0,
- script: !0,
- style: !0,
- title: !0,
- },
- av = { ol: !0, ul: !0 },
- Ma = 1,
- Ea = 2,
- ms = 4;
-function Om(t, e, n) {
- return e != null
- ? (e ? Ma : 0) | (e === "full" ? Ea : 0)
- : t && t.whitespace == "pre"
- ? Ma | Ea
- : n & ~ms;
-}
-class El {
- constructor(e, n, r, o, i, s, l) {
- (this.type = e),
- (this.attrs = n),
- (this.marks = r),
- (this.pendingMarks = o),
- (this.solid = i),
- (this.options = l),
- (this.content = []),
- (this.activeMarks = ot.none),
- (this.stashMarks = []),
- (this.match = s || (l & ms ? null : e.contentMatch));
- }
- findWrapping(e) {
- if (!this.match) {
- if (!this.type) return [];
- let n = this.type.contentMatch.fillBefore(J.from(e));
- if (n) this.match = this.type.contentMatch.matchFragment(n);
- else {
- let r = this.type.contentMatch,
- o;
- return (o = r.findWrapping(e.type))
- ? ((this.match = r), o)
- : null;
- }
- }
- return this.match.findWrapping(e.type);
- }
- finish(e) {
- if (!(this.options & Ma)) {
- let r = this.content[this.content.length - 1],
- o;
- if (r && r.isText && (o = /[ \t\r\n\u000c]+$/.exec(r.text))) {
- let i = r;
- r.text.length == o[0].length
- ? this.content.pop()
- : (this.content[this.content.length - 1] = i.withText(
- i.text.slice(0, i.text.length - o[0].length)
- ));
- }
- }
- let n = J.from(this.content);
- return (
- !e &&
- this.match &&
- (n = n.append(this.match.fillBefore(J.empty, !0))),
- this.type ? this.type.create(this.attrs, n, this.marks) : n
- );
- }
- popFromStashMark(e) {
- for (let n = this.stashMarks.length - 1; n >= 0; n--)
- if (e.eq(this.stashMarks[n]))
- return this.stashMarks.splice(n, 1)[0];
- }
- applyPending(e) {
- for (let n = 0, r = this.pendingMarks; n < r.length; n++) {
- let o = r[n];
- (this.type ? this.type.allowsMarkType(o.type) : hM(o.type, e)) &&
- !o.isInSet(this.activeMarks) &&
- ((this.activeMarks = o.addToSet(this.activeMarks)),
- (this.pendingMarks = o.removeFromSet(this.pendingMarks)));
- }
- }
- inlineContext(e) {
- return this.type
- ? this.type.inlineContent
- : this.content.length
- ? this.content[0].isInline
- : e.parentNode &&
- !lv.hasOwnProperty(e.parentNode.nodeName.toLowerCase());
- }
-}
-class Rm {
- constructor(e, n, r) {
- (this.parser = e),
- (this.options = n),
- (this.isOpen = r),
- (this.open = 0);
- let o = n.topNode,
- i,
- s = Om(null, n.preserveWhitespace, 0) | (r ? ms : 0);
- o
- ? (i = new El(
- o.type,
- o.attrs,
- ot.none,
- ot.none,
- !0,
- n.topMatch || o.type.contentMatch,
- s
- ))
- : r
- ? (i = new El(null, null, ot.none, ot.none, !0, null, s))
- : (i = new El(
- e.schema.topNodeType,
- null,
- ot.none,
- ot.none,
- !0,
- null,
- s
- )),
- (this.nodes = [i]),
- (this.find = n.findPositions),
- (this.needsBlock = !1);
- }
- get top() {
- return this.nodes[this.open];
- }
- addDOM(e) {
- e.nodeType == 3
- ? this.addTextNode(e)
- : e.nodeType == 1 && this.addElement(e);
- }
- withStyleRules(e, n) {
- let r = e.getAttribute("style");
- if (!r) return n();
- let o = this.readStyles(fM(r));
- if (!o) return;
- let [i, s] = o,
- l = this.top;
- for (let a = 0; a < s.length; a++) this.removePendingMark(s[a], l);
- for (let a = 0; a < i.length; a++) this.addPendingMark(i[a]);
- n();
- for (let a = 0; a < i.length; a++) this.removePendingMark(i[a], l);
- for (let a = 0; a < s.length; a++) this.addPendingMark(s[a]);
- }
- addTextNode(e) {
- let n = e.nodeValue,
- r = this.top;
- if (
- r.options & Ea ||
- r.inlineContext(e) ||
- /[^ \t\r\n\u000c]/.test(n)
- ) {
- if (r.options & Ma)
- r.options & Ea
- ? (n = n.replace(
- /\r\n?/g,
- `
-`
- ))
- : (n = n.replace(/\r?\n|\r/g, " "));
- else if (
- ((n = n.replace(/[ \t\r\n\u000c]+/g, " ")),
- /^[ \t\r\n\u000c]/.test(n) &&
- this.open == this.nodes.length - 1)
- ) {
- let o = r.content[r.content.length - 1],
- i = e.previousSibling;
- (!o ||
- (i && i.nodeName == "BR") ||
- (o.isText && /[ \t\r\n\u000c]$/.test(o.text))) &&
- (n = n.slice(1));
- }
- n && this.insertNode(this.parser.schema.text(n)),
- this.findInText(e);
- } else this.findInside(e);
- }
- addElement(e, n) {
- let r = e.nodeName.toLowerCase(),
- o;
- av.hasOwnProperty(r) && this.parser.normalizeLists && cM(e);
- let i =
- (this.options.ruleFromNode && this.options.ruleFromNode(e)) ||
- (o = this.parser.matchTag(e, this, n));
- if (i ? i.ignore : uM.hasOwnProperty(r))
- this.findInside(e), this.ignoreFallback(e);
- else if (!i || i.skip || i.closeParent) {
- i && i.closeParent
- ? (this.open = Math.max(0, this.open - 1))
- : i && i.skip.nodeType && (e = i.skip);
- let s,
- l = this.top,
- a = this.needsBlock;
- if (lv.hasOwnProperty(r))
- l.content.length &&
- l.content[0].isInline &&
- this.open &&
- (this.open--, (l = this.top)),
- (s = !0),
- l.type || (this.needsBlock = !0);
- else if (!e.firstChild) {
- this.leafFallback(e);
- return;
- }
- i && i.skip
- ? this.addAll(e)
- : this.withStyleRules(e, () => this.addAll(e)),
- s && this.sync(l),
- (this.needsBlock = a);
- } else
- this.withStyleRules(e, () => {
- this.addElementByRule(e, i, i.consuming === !1 ? o : void 0);
- });
- }
- leafFallback(e) {
- e.nodeName == "BR" &&
- this.top.type &&
- this.top.type.inlineContent &&
- this.addTextNode(
- e.ownerDocument.createTextNode(`
-`)
- );
- }
- ignoreFallback(e) {
- e.nodeName == "BR" &&
- (!this.top.type || !this.top.type.inlineContent) &&
- this.findPlace(this.parser.schema.text("-"));
- }
- readStyles(e) {
- let n = ot.none,
- r = ot.none;
- for (let o = 0; o < e.length; o += 2)
- for (let i = void 0; ; ) {
- let s = this.parser.matchStyle(e[o], e[o + 1], this, i);
- if (!s) break;
- if (s.ignore) return null;
- if (
- (s.clearMark
- ? this.top.pendingMarks
- .concat(this.top.activeMarks)
- .forEach((l) => {
- s.clearMark(l) && (r = l.addToSet(r));
- })
- : (n = this.parser.schema.marks[s.mark]
- .create(s.attrs)
- .addToSet(n)),
- s.consuming === !1)
- )
- i = s;
- else break;
- }
- return [n, r];
- }
- addElementByRule(e, n, r) {
- let o, i, s;
- n.node
- ? ((i = this.parser.schema.nodes[n.node]),
- i.isLeaf
- ? this.insertNode(i.create(n.attrs)) || this.leafFallback(e)
- : (o = this.enter(
- i,
- n.attrs || null,
- n.preserveWhitespace
- )))
- : ((s = this.parser.schema.marks[n.mark].create(n.attrs)),
- this.addPendingMark(s));
- let l = this.top;
- if (i && i.isLeaf) this.findInside(e);
- else if (r) this.addElement(e, r);
- else if (n.getContent)
- this.findInside(e),
- n
- .getContent(e, this.parser.schema)
- .forEach((a) => this.insertNode(a));
- else {
- let a = e;
- typeof n.contentElement == "string"
- ? (a = e.querySelector(n.contentElement))
- : typeof n.contentElement == "function"
- ? (a = n.contentElement(e))
- : n.contentElement && (a = n.contentElement),
- this.findAround(e, a, !0),
- this.addAll(a);
- }
- o && this.sync(l) && this.open--, s && this.removePendingMark(s, l);
- }
- addAll(e, n, r) {
- let o = n || 0;
- for (
- let i = n ? e.childNodes[n] : e.firstChild,
- s = r == null ? null : e.childNodes[r];
- i != s;
- i = i.nextSibling, ++o
- )
- this.findAtPoint(e, o), this.addDOM(i);
- this.findAtPoint(e, o);
- }
- findPlace(e) {
- let n, r;
- for (let o = this.open; o >= 0; o--) {
- let i = this.nodes[o],
- s = i.findWrapping(e);
- if (
- (s &&
- (!n || n.length > s.length) &&
- ((n = s), (r = i), !s.length)) ||
- i.solid
- )
- break;
- }
- if (!n) return !1;
- this.sync(r);
- for (let o = 0; o < n.length; o++) this.enterInner(n[o], null, !1);
- return !0;
- }
- insertNode(e) {
- if (e.isInline && this.needsBlock && !this.top.type) {
- let n = this.textblockFromContext();
- n && this.enterInner(n);
- }
- if (this.findPlace(e)) {
- this.closeExtra();
- let n = this.top;
- n.applyPending(e.type),
- n.match && (n.match = n.match.matchType(e.type));
- let r = n.activeMarks;
- for (let o = 0; o < e.marks.length; o++)
- (!n.type || n.type.allowsMarkType(e.marks[o].type)) &&
- (r = e.marks[o].addToSet(r));
- return n.content.push(e.mark(r)), !0;
- }
- return !1;
- }
- enter(e, n, r) {
- let o = this.findPlace(e.create(n));
- return o && this.enterInner(e, n, !0, r), o;
- }
- enterInner(e, n = null, r = !1, o) {
- this.closeExtra();
- let i = this.top;
- i.applyPending(e), (i.match = i.match && i.match.matchType(e));
- let s = Om(e, o, i.options);
- i.options & ms && i.content.length == 0 && (s |= ms),
- this.nodes.push(
- new El(e, n, i.activeMarks, i.pendingMarks, r, null, s)
- ),
- this.open++;
- }
- closeExtra(e = !1) {
- let n = this.nodes.length - 1;
- if (n > this.open) {
- for (; n > this.open; n--)
- this.nodes[n - 1].content.push(this.nodes[n].finish(e));
- this.nodes.length = this.open + 1;
- }
- }
- finish() {
- return (
- (this.open = 0),
- this.closeExtra(this.isOpen),
- this.nodes[0].finish(this.isOpen || this.options.topOpen)
- );
- }
- sync(e) {
- for (let n = this.open; n >= 0; n--)
- if (this.nodes[n] == e) return (this.open = n), !0;
- return !1;
- }
- get currentPos() {
- this.closeExtra();
- let e = 0;
- for (let n = this.open; n >= 0; n--) {
- let r = this.nodes[n].content;
- for (let o = r.length - 1; o >= 0; o--) e += r[o].nodeSize;
- n && e++;
- }
- return e;
- }
- findAtPoint(e, n) {
- if (this.find)
- for (let r = 0; r < this.find.length; r++)
- this.find[r].node == e &&
- this.find[r].offset == n &&
- (this.find[r].pos = this.currentPos);
- }
- findInside(e) {
- if (this.find)
- for (let n = 0; n < this.find.length; n++)
- this.find[n].pos == null &&
- e.nodeType == 1 &&
- e.contains(this.find[n].node) &&
- (this.find[n].pos = this.currentPos);
- }
- findAround(e, n, r) {
- if (e != n && this.find)
- for (let o = 0; o < this.find.length; o++)
- this.find[o].pos == null &&
- e.nodeType == 1 &&
- e.contains(this.find[o].node) &&
- n.compareDocumentPosition(this.find[o].node) &
- (r ? 2 : 4) &&
- (this.find[o].pos = this.currentPos);
- }
- findInText(e) {
- if (this.find)
- for (let n = 0; n < this.find.length; n++)
- this.find[n].node == e &&
- (this.find[n].pos =
- this.currentPos -
- (e.nodeValue.length - this.find[n].offset));
- }
- matchesContext(e) {
- if (e.indexOf("|") > -1)
- return e.split(/\s*\|\s*/).some(this.matchesContext, this);
- let n = e.split("/"),
- r = this.options.context,
- o = !this.isOpen && (!r || r.parent.type == this.nodes[0].type),
- i = -(r ? r.depth + 1 : 0) + (o ? 0 : 1),
- s = (l, a) => {
- for (; l >= 0; l--) {
- let u = n[l];
- if (u == "") {
- if (l == n.length - 1 || l == 0) continue;
- for (; a >= i; a--) if (s(l - 1, a)) return !0;
- return !1;
- } else {
- let c =
- a > 0 || (a == 0 && o)
- ? this.nodes[a].type
- : r && a >= i
- ? r.node(a - i).type
- : null;
- if (!c || (c.name != u && c.groups.indexOf(u) == -1))
- return !1;
- a--;
- }
- }
- return !0;
- };
- return s(n.length - 1, this.open);
- }
- textblockFromContext() {
- let e = this.options.context;
- if (e)
- for (let n = e.depth; n >= 0; n--) {
- let r = e.node(n).contentMatchAt(e.indexAfter(n)).defaultType;
- if (r && r.isTextblock && r.defaultAttrs) return r;
- }
- for (let n in this.parser.schema.nodes) {
- let r = this.parser.schema.nodes[n];
- if (r.isTextblock && r.defaultAttrs) return r;
- }
- }
- addPendingMark(e) {
- let n = pM(e, this.top.pendingMarks);
- n && this.top.stashMarks.push(n),
- (this.top.pendingMarks = e.addToSet(this.top.pendingMarks));
- }
- removePendingMark(e, n) {
- for (let r = this.open; r >= 0; r--) {
- let o = this.nodes[r];
- if (o.pendingMarks.lastIndexOf(e) > -1)
- o.pendingMarks = e.removeFromSet(o.pendingMarks);
- else {
- o.activeMarks = e.removeFromSet(o.activeMarks);
- let s = o.popFromStashMark(e);
- s &&
- o.type &&
- o.type.allowsMarkType(s.type) &&
- (o.activeMarks = s.addToSet(o.activeMarks));
- }
- if (o == n) break;
- }
- }
-}
-function cM(t) {
- for (let e = t.firstChild, n = null; e; e = e.nextSibling) {
- let r = e.nodeType == 1 ? e.nodeName.toLowerCase() : null;
- r && av.hasOwnProperty(r) && n
- ? (n.appendChild(e), (e = n))
- : r == "li"
- ? (n = e)
- : r && (n = null);
- }
-}
-function dM(t, e) {
- return (
- t.matches ||
- t.msMatchesSelector ||
- t.webkitMatchesSelector ||
- t.mozMatchesSelector
- ).call(t, e);
-}
-function fM(t) {
- let e = /\s*([\w-]+)\s*:\s*([^;]+)/g,
- n,
- r = [];
- for (; (n = e.exec(t)); ) r.push(n[1], n[2].trim());
- return r;
-}
-function Pm(t) {
- let e = {};
- for (let n in t) e[n] = t[n];
- return e;
-}
-function hM(t, e) {
- let n = e.schema.nodes;
- for (let r in n) {
- let o = n[r];
- if (!o.allowsMarkType(t)) continue;
- let i = [],
- s = (l) => {
- i.push(l);
- for (let a = 0; a < l.edgeCount; a++) {
- let { type: u, next: c } = l.edge(a);
- if (u == e || (i.indexOf(c) < 0 && s(c))) return !0;
- }
- };
- if (s(o.contentMatch)) return !0;
- }
-}
-function pM(t, e) {
- for (let n = 0; n < e.length; n++) if (t.eq(e[n])) return e[n];
-}
-class tr {
- constructor(e, n) {
- (this.nodes = e), (this.marks = n);
- }
- serializeFragment(e, n = {}, r) {
- r || (r = Ac(n).createDocumentFragment());
- let o = r,
- i = [];
- return (
- e.forEach((s) => {
- if (i.length || s.marks.length) {
- let l = 0,
- a = 0;
- for (; l < i.length && a < s.marks.length; ) {
- let u = s.marks[a];
- if (!this.marks[u.type.name]) {
- a++;
- continue;
- }
- if (!u.eq(i[l][0]) || u.type.spec.spanning === !1)
- break;
- l++, a++;
- }
- for (; l < i.length; ) o = i.pop()[1];
- for (; a < s.marks.length; ) {
- let u = s.marks[a++],
- c = this.serializeMark(u, s.isInline, n);
- c &&
- (i.push([u, o]),
- o.appendChild(c.dom),
- (o = c.contentDOM || c.dom));
- }
- }
- o.appendChild(this.serializeNodeInner(s, n));
- }),
- r
- );
- }
- serializeNodeInner(e, n) {
- let { dom: r, contentDOM: o } = tr.renderSpec(
- Ac(n),
- this.nodes[e.type.name](e)
- );
- if (o) {
- if (e.isLeaf)
- throw new RangeError(
- "Content hole not allowed in a leaf node spec"
- );
- this.serializeFragment(e.content, n, o);
- }
- return r;
- }
- serializeNode(e, n = {}) {
- let r = this.serializeNodeInner(e, n);
- for (let o = e.marks.length - 1; o >= 0; o--) {
- let i = this.serializeMark(e.marks[o], e.isInline, n);
- i && ((i.contentDOM || i.dom).appendChild(r), (r = i.dom));
- }
- return r;
- }
- serializeMark(e, n, r = {}) {
- let o = this.marks[e.type.name];
- return o && tr.renderSpec(Ac(r), o(e, n));
- }
- static renderSpec(e, n, r = null) {
- if (typeof n == "string") return { dom: e.createTextNode(n) };
- if (n.nodeType != null) return { dom: n };
- if (n.dom && n.dom.nodeType != null) return n;
- let o = n[0],
- i = o.indexOf(" ");
- i > 0 && ((r = o.slice(0, i)), (o = o.slice(i + 1)));
- let s,
- l = r ? e.createElementNS(r, o) : e.createElement(o),
- a = n[1],
- u = 1;
- if (
- a &&
- typeof a == "object" &&
- a.nodeType == null &&
- !Array.isArray(a)
- ) {
- u = 2;
- for (let c in a)
- if (a[c] != null) {
- let d = c.indexOf(" ");
- d > 0
- ? l.setAttributeNS(c.slice(0, d), c.slice(d + 1), a[c])
- : l.setAttribute(c, a[c]);
- }
- }
- for (let c = u; c < n.length; c++) {
- let d = n[c];
- if (d === 0) {
- if (c < n.length - 1 || c > u)
- throw new RangeError(
- "Content hole must be the only child of its parent node"
- );
- return { dom: l, contentDOM: l };
- } else {
- let { dom: f, contentDOM: p } = tr.renderSpec(e, d, r);
- if ((l.appendChild(f), p)) {
- if (s) throw new RangeError("Multiple content holes");
- s = p;
- }
- }
- }
- return { dom: l, contentDOM: s };
- }
- static fromSchema(e) {
- return (
- e.cached.domSerializer ||
- (e.cached.domSerializer = new tr(
- this.nodesFromSchema(e),
- this.marksFromSchema(e)
- ))
- );
- }
- static nodesFromSchema(e) {
- let n = Im(e.nodes);
- return n.text || (n.text = (r) => r.text), n;
- }
- static marksFromSchema(e) {
- return Im(e.marks);
- }
-}
-function Im(t) {
- let e = {};
- for (let n in t) {
- let r = t[n].spec.toDOM;
- r && (e[n] = r);
- }
- return e;
-}
-function Ac(t) {
- return t.document || window.document;
-}
-const uv = 65535,
- cv = Math.pow(2, 16);
-function mM(t, e) {
- return t + e * cv;
-}
-function Nm(t) {
- return t & uv;
-}
-function gM(t) {
- return (t - (t & uv)) / cv;
-}
-const dv = 1,
- fv = 2,
- ql = 4,
- hv = 8;
-class Bd {
- constructor(e, n, r) {
- (this.pos = e), (this.delInfo = n), (this.recover = r);
- }
- get deleted() {
- return (this.delInfo & hv) > 0;
- }
- get deletedBefore() {
- return (this.delInfo & (dv | ql)) > 0;
- }
- get deletedAfter() {
- return (this.delInfo & (fv | ql)) > 0;
- }
- get deletedAcross() {
- return (this.delInfo & ql) > 0;
- }
-}
-class gn {
- constructor(e, n = !1) {
- if (((this.ranges = e), (this.inverted = n), !e.length && gn.empty))
- return gn.empty;
- }
- recover(e) {
- let n = 0,
- r = Nm(e);
- if (!this.inverted)
- for (let o = 0; o < r; o++)
- n += this.ranges[o * 3 + 2] - this.ranges[o * 3 + 1];
- return this.ranges[r * 3] + n + gM(e);
- }
- mapResult(e, n = 1) {
- return this._map(e, n, !1);
- }
- map(e, n = 1) {
- return this._map(e, n, !0);
- }
- _map(e, n, r) {
- let o = 0,
- i = this.inverted ? 2 : 1,
- s = this.inverted ? 1 : 2;
- for (let l = 0; l < this.ranges.length; l += 3) {
- let a = this.ranges[l] - (this.inverted ? o : 0);
- if (a > e) break;
- let u = this.ranges[l + i],
- c = this.ranges[l + s],
- d = a + u;
- if (e <= d) {
- let f = u ? (e == a ? -1 : e == d ? 1 : n) : n,
- p = a + o + (f < 0 ? 0 : c);
- if (r) return p;
- let m = e == (n < 0 ? a : d) ? null : mM(l / 3, e - a),
- y = e == a ? fv : e == d ? dv : ql;
- return (n < 0 ? e != a : e != d) && (y |= hv), new Bd(p, y, m);
- }
- o += c - u;
- }
- return r ? e + o : new Bd(e + o, 0, null);
- }
- touches(e, n) {
- let r = 0,
- o = Nm(n),
- i = this.inverted ? 2 : 1,
- s = this.inverted ? 1 : 2;
- for (let l = 0; l < this.ranges.length; l += 3) {
- let a = this.ranges[l] - (this.inverted ? r : 0);
- if (a > e) break;
- let u = this.ranges[l + i],
- c = a + u;
- if (e <= c && l == o * 3) return !0;
- r += this.ranges[l + s] - u;
- }
- return !1;
- }
- forEach(e) {
- let n = this.inverted ? 2 : 1,
- r = this.inverted ? 1 : 2;
- for (let o = 0, i = 0; o < this.ranges.length; o += 3) {
- let s = this.ranges[o],
- l = s - (this.inverted ? i : 0),
- a = s + (this.inverted ? 0 : i),
- u = this.ranges[o + n],
- c = this.ranges[o + r];
- e(l, l + u, a, a + c), (i += c - u);
- }
- }
- invert() {
- return new gn(this.ranges, !this.inverted);
- }
- toString() {
- return (this.inverted ? "-" : "") + JSON.stringify(this.ranges);
- }
- static offset(e) {
- return e == 0 ? gn.empty : new gn(e < 0 ? [0, -e, 0] : [0, 0, e]);
- }
-}
-gn.empty = new gn([]);
-class mi {
- constructor(e = [], n, r = 0, o = e.length) {
- (this.maps = e), (this.mirror = n), (this.from = r), (this.to = o);
- }
- slice(e = 0, n = this.maps.length) {
- return new mi(this.maps, this.mirror, e, n);
- }
- copy() {
- return new mi(
- this.maps.slice(),
- this.mirror && this.mirror.slice(),
- this.from,
- this.to
- );
- }
- appendMap(e, n) {
- (this.to = this.maps.push(e)),
- n != null && this.setMirror(this.maps.length - 1, n);
- }
- appendMapping(e) {
- for (let n = 0, r = this.maps.length; n < e.maps.length; n++) {
- let o = e.getMirror(n);
- this.appendMap(e.maps[n], o != null && o < n ? r + o : void 0);
- }
- }
- getMirror(e) {
- if (this.mirror) {
- for (let n = 0; n < this.mirror.length; n++)
- if (this.mirror[n] == e)
- return this.mirror[n + (n % 2 ? -1 : 1)];
- }
- }
- setMirror(e, n) {
- this.mirror || (this.mirror = []), this.mirror.push(e, n);
- }
- appendMappingInverted(e) {
- for (
- let n = e.maps.length - 1, r = this.maps.length + e.maps.length;
- n >= 0;
- n--
- ) {
- let o = e.getMirror(n);
- this.appendMap(
- e.maps[n].invert(),
- o != null && o > n ? r - o - 1 : void 0
- );
- }
- }
- invert() {
- let e = new mi();
- return e.appendMappingInverted(this), e;
- }
- map(e, n = 1) {
- if (this.mirror) return this._map(e, n, !0);
- for (let r = this.from; r < this.to; r++) e = this.maps[r].map(e, n);
- return e;
- }
- mapResult(e, n = 1) {
- return this._map(e, n, !1);
- }
- _map(e, n, r) {
- let o = 0;
- for (let i = this.from; i < this.to; i++) {
- let s = this.maps[i],
- l = s.mapResult(e, n);
- if (l.recover != null) {
- let a = this.getMirror(i);
- if (a != null && a > i && a < this.to) {
- (i = a), (e = this.maps[a].recover(l.recover));
- continue;
- }
- }
- (o |= l.delInfo), (e = l.pos);
- }
- return r ? e : new Bd(e, o, null);
- }
-}
-const Oc = Object.create(null);
-class Qt {
- getMap() {
- return gn.empty;
- }
- merge(e) {
- return null;
- }
- static fromJSON(e, n) {
- if (!n || !n.stepType)
- throw new RangeError("Invalid input for Step.fromJSON");
- let r = Oc[n.stepType];
- if (!r) throw new RangeError(`No step type ${n.stepType} defined`);
- return r.fromJSON(e, n);
- }
- static jsonID(e, n) {
- if (e in Oc) throw new RangeError("Duplicate use of step JSON ID " + e);
- return (Oc[e] = n), (n.prototype.jsonID = e), n;
- }
-}
-class At {
- constructor(e, n) {
- (this.doc = e), (this.failed = n);
- }
- static ok(e) {
- return new At(e, null);
- }
- static fail(e) {
- return new At(null, e);
- }
- static fromReplace(e, n, r, o) {
- try {
- return At.ok(e.replace(n, r, o));
- } catch (i) {
- if (i instanceof ka) return At.fail(i.message);
- throw i;
- }
- }
-}
-function ch(t, e, n) {
- let r = [];
- for (let o = 0; o < t.childCount; o++) {
- let i = t.child(o);
- i.content.size && (i = i.copy(ch(i.content, e, i))),
- i.isInline && (i = e(i, n, o)),
- r.push(i);
- }
- return J.fromArray(r);
-}
-class Gr extends Qt {
- constructor(e, n, r) {
- super(), (this.from = e), (this.to = n), (this.mark = r);
- }
- apply(e) {
- let n = e.slice(this.from, this.to),
- r = e.resolve(this.from),
- o = r.node(r.sharedDepth(this.to)),
- i = new le(
- ch(
- n.content,
- (s, l) =>
- !s.isAtom || !l.type.allowsMarkType(this.mark.type)
- ? s
- : s.mark(this.mark.addToSet(s.marks)),
- o
- ),
- n.openStart,
- n.openEnd
- );
- return At.fromReplace(e, this.from, this.to, i);
- }
- invert() {
- return new nr(this.from, this.to, this.mark);
- }
- map(e) {
- let n = e.mapResult(this.from, 1),
- r = e.mapResult(this.to, -1);
- return (n.deleted && r.deleted) || n.pos >= r.pos
- ? null
- : new Gr(n.pos, r.pos, this.mark);
- }
- merge(e) {
- return e instanceof Gr &&
- e.mark.eq(this.mark) &&
- this.from <= e.to &&
- this.to >= e.from
- ? new Gr(
- Math.min(this.from, e.from),
- Math.max(this.to, e.to),
- this.mark
- )
- : null;
- }
- toJSON() {
- return {
- stepType: "addMark",
- mark: this.mark.toJSON(),
- from: this.from,
- to: this.to,
- };
- }
- static fromJSON(e, n) {
- if (typeof n.from != "number" || typeof n.to != "number")
- throw new RangeError("Invalid input for AddMarkStep.fromJSON");
- return new Gr(n.from, n.to, e.markFromJSON(n.mark));
- }
-}
-Qt.jsonID("addMark", Gr);
-class nr extends Qt {
- constructor(e, n, r) {
- super(), (this.from = e), (this.to = n), (this.mark = r);
- }
- apply(e) {
- let n = e.slice(this.from, this.to),
- r = new le(
- ch(
- n.content,
- (o) => o.mark(this.mark.removeFromSet(o.marks)),
- e
- ),
- n.openStart,
- n.openEnd
- );
- return At.fromReplace(e, this.from, this.to, r);
- }
- invert() {
- return new Gr(this.from, this.to, this.mark);
- }
- map(e) {
- let n = e.mapResult(this.from, 1),
- r = e.mapResult(this.to, -1);
- return (n.deleted && r.deleted) || n.pos >= r.pos
- ? null
- : new nr(n.pos, r.pos, this.mark);
- }
- merge(e) {
- return e instanceof nr &&
- e.mark.eq(this.mark) &&
- this.from <= e.to &&
- this.to >= e.from
- ? new nr(
- Math.min(this.from, e.from),
- Math.max(this.to, e.to),
- this.mark
- )
- : null;
- }
- toJSON() {
- return {
- stepType: "removeMark",
- mark: this.mark.toJSON(),
- from: this.from,
- to: this.to,
- };
- }
- static fromJSON(e, n) {
- if (typeof n.from != "number" || typeof n.to != "number")
- throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");
- return new nr(n.from, n.to, e.markFromJSON(n.mark));
- }
-}
-Qt.jsonID("removeMark", nr);
-class Yr extends Qt {
- constructor(e, n) {
- super(), (this.pos = e), (this.mark = n);
- }
- apply(e) {
- let n = e.nodeAt(this.pos);
- if (!n) return At.fail("No node at mark step's position");
- let r = n.type.create(n.attrs, null, this.mark.addToSet(n.marks));
- return At.fromReplace(
- e,
- this.pos,
- this.pos + 1,
- new le(J.from(r), 0, n.isLeaf ? 0 : 1)
- );
- }
- invert(e) {
- let n = e.nodeAt(this.pos);
- if (n) {
- let r = this.mark.addToSet(n.marks);
- if (r.length == n.marks.length) {
- for (let o = 0; o < n.marks.length; o++)
- if (!n.marks[o].isInSet(r))
- return new Yr(this.pos, n.marks[o]);
- return new Yr(this.pos, this.mark);
- }
- }
- return new Pi(this.pos, this.mark);
- }
- map(e) {
- let n = e.mapResult(this.pos, 1);
- return n.deletedAfter ? null : new Yr(n.pos, this.mark);
- }
- toJSON() {
- return {
- stepType: "addNodeMark",
- pos: this.pos,
- mark: this.mark.toJSON(),
- };
- }
- static fromJSON(e, n) {
- if (typeof n.pos != "number")
- throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");
- return new Yr(n.pos, e.markFromJSON(n.mark));
- }
-}
-Qt.jsonID("addNodeMark", Yr);
-class Pi extends Qt {
- constructor(e, n) {
- super(), (this.pos = e), (this.mark = n);
- }
- apply(e) {
- let n = e.nodeAt(this.pos);
- if (!n) return At.fail("No node at mark step's position");
- let r = n.type.create(n.attrs, null, this.mark.removeFromSet(n.marks));
- return At.fromReplace(
- e,
- this.pos,
- this.pos + 1,
- new le(J.from(r), 0, n.isLeaf ? 0 : 1)
- );
- }
- invert(e) {
- let n = e.nodeAt(this.pos);
- return !n || !this.mark.isInSet(n.marks)
- ? this
- : new Yr(this.pos, this.mark);
- }
- map(e) {
- let n = e.mapResult(this.pos, 1);
- return n.deletedAfter ? null : new Pi(n.pos, this.mark);
- }
- toJSON() {
- return {
- stepType: "removeNodeMark",
- pos: this.pos,
- mark: this.mark.toJSON(),
- };
- }
- static fromJSON(e, n) {
- if (typeof n.pos != "number")
- throw new RangeError(
- "Invalid input for RemoveNodeMarkStep.fromJSON"
- );
- return new Pi(n.pos, e.markFromJSON(n.mark));
- }
-}
-Qt.jsonID("removeNodeMark", Pi);
-class jt extends Qt {
- constructor(e, n, r, o = !1) {
- super(),
- (this.from = e),
- (this.to = n),
- (this.slice = r),
- (this.structure = o);
- }
- apply(e) {
- return this.structure && zd(e, this.from, this.to)
- ? At.fail("Structure replace would overwrite content")
- : At.fromReplace(e, this.from, this.to, this.slice);
- }
- getMap() {
- return new gn([this.from, this.to - this.from, this.slice.size]);
- }
- invert(e) {
- return new jt(
- this.from,
- this.from + this.slice.size,
- e.slice(this.from, this.to)
- );
- }
- map(e) {
- let n = e.mapResult(this.from, 1),
- r = e.mapResult(this.to, -1);
- return n.deletedAcross && r.deletedAcross
- ? null
- : new jt(n.pos, Math.max(n.pos, r.pos), this.slice);
- }
- merge(e) {
- if (!(e instanceof jt) || e.structure || this.structure) return null;
- if (
- this.from + this.slice.size == e.from &&
- !this.slice.openEnd &&
- !e.slice.openStart
- ) {
- let n =
- this.slice.size + e.slice.size == 0
- ? le.empty
- : new le(
- this.slice.content.append(e.slice.content),
- this.slice.openStart,
- e.slice.openEnd
- );
- return new jt(
- this.from,
- this.to + (e.to - e.from),
- n,
- this.structure
- );
- } else if (
- e.to == this.from &&
- !this.slice.openStart &&
- !e.slice.openEnd
- ) {
- let n =
- this.slice.size + e.slice.size == 0
- ? le.empty
- : new le(
- e.slice.content.append(this.slice.content),
- e.slice.openStart,
- this.slice.openEnd
- );
- return new jt(e.from, this.to, n, this.structure);
- } else return null;
- }
- toJSON() {
- let e = { stepType: "replace", from: this.from, to: this.to };
- return (
- this.slice.size && (e.slice = this.slice.toJSON()),
- this.structure && (e.structure = !0),
- e
- );
- }
- static fromJSON(e, n) {
- if (typeof n.from != "number" || typeof n.to != "number")
- throw new RangeError("Invalid input for ReplaceStep.fromJSON");
- return new jt(n.from, n.to, le.fromJSON(e, n.slice), !!n.structure);
- }
-}
-Qt.jsonID("replace", jt);
-class $t extends Qt {
- constructor(e, n, r, o, i, s, l = !1) {
- super(),
- (this.from = e),
- (this.to = n),
- (this.gapFrom = r),
- (this.gapTo = o),
- (this.slice = i),
- (this.insert = s),
- (this.structure = l);
- }
- apply(e) {
- if (
- this.structure &&
- (zd(e, this.from, this.gapFrom) || zd(e, this.gapTo, this.to))
- )
- return At.fail("Structure gap-replace would overwrite content");
- let n = e.slice(this.gapFrom, this.gapTo);
- if (n.openStart || n.openEnd) return At.fail("Gap is not a flat range");
- let r = this.slice.insertAt(this.insert, n.content);
- return r
- ? At.fromReplace(e, this.from, this.to, r)
- : At.fail("Content does not fit in gap");
- }
- getMap() {
- return new gn([
- this.from,
- this.gapFrom - this.from,
- this.insert,
- this.gapTo,
- this.to - this.gapTo,
- this.slice.size - this.insert,
- ]);
- }
- invert(e) {
- let n = this.gapTo - this.gapFrom;
- return new $t(
- this.from,
- this.from + this.slice.size + n,
- this.from + this.insert,
- this.from + this.insert + n,
- e
- .slice(this.from, this.to)
- .removeBetween(
- this.gapFrom - this.from,
- this.gapTo - this.from
- ),
- this.gapFrom - this.from,
- this.structure
- );
- }
- map(e) {
- let n = e.mapResult(this.from, 1),
- r = e.mapResult(this.to, -1),
- o = e.map(this.gapFrom, -1),
- i = e.map(this.gapTo, 1);
- return (n.deletedAcross && r.deletedAcross) || o < n.pos || i > r.pos
- ? null
- : new $t(
- n.pos,
- r.pos,
- o,
- i,
- this.slice,
- this.insert,
- this.structure
- );
- }
- toJSON() {
- let e = {
- stepType: "replaceAround",
- from: this.from,
- to: this.to,
- gapFrom: this.gapFrom,
- gapTo: this.gapTo,
- insert: this.insert,
- };
- return (
- this.slice.size && (e.slice = this.slice.toJSON()),
- this.structure && (e.structure = !0),
- e
- );
- }
- static fromJSON(e, n) {
- if (
- typeof n.from != "number" ||
- typeof n.to != "number" ||
- typeof n.gapFrom != "number" ||
- typeof n.gapTo != "number" ||
- typeof n.insert != "number"
- )
- throw new RangeError(
- "Invalid input for ReplaceAroundStep.fromJSON"
- );
- return new $t(
- n.from,
- n.to,
- n.gapFrom,
- n.gapTo,
- le.fromJSON(e, n.slice),
- n.insert,
- !!n.structure
- );
- }
-}
-Qt.jsonID("replaceAround", $t);
-function zd(t, e, n) {
- let r = t.resolve(e),
- o = n - e,
- i = r.depth;
- for (; o > 0 && i > 0 && r.indexAfter(i) == r.node(i).childCount; )
- i--, o--;
- if (o > 0) {
- let s = r.node(i).maybeChild(r.indexAfter(i));
- for (; o > 0; ) {
- if (!s || s.isLeaf) return !0;
- (s = s.firstChild), o--;
- }
- }
- return !1;
-}
-function yM(t, e, n, r) {
- let o = [],
- i = [],
- s,
- l;
- t.doc.nodesBetween(e, n, (a, u, c) => {
- if (!a.isInline) return;
- let d = a.marks;
- if (!r.isInSet(d) && c.type.allowsMarkType(r.type)) {
- let f = Math.max(u, e),
- p = Math.min(u + a.nodeSize, n),
- m = r.addToSet(d);
- for (let y = 0; y < d.length; y++)
- d[y].isInSet(m) ||
- (s && s.to == f && s.mark.eq(d[y])
- ? (s.to = p)
- : o.push((s = new nr(f, p, d[y]))));
- l && l.to == f ? (l.to = p) : i.push((l = new Gr(f, p, r)));
- }
- }),
- o.forEach((a) => t.step(a)),
- i.forEach((a) => t.step(a));
-}
-function vM(t, e, n, r) {
- let o = [],
- i = 0;
- t.doc.nodesBetween(e, n, (s, l) => {
- if (!s.isInline) return;
- i++;
- let a = null;
- if (r instanceof Bu) {
- let u = s.marks,
- c;
- for (; (c = r.isInSet(u)); )
- (a || (a = [])).push(c), (u = c.removeFromSet(u));
- } else r ? r.isInSet(s.marks) && (a = [r]) : (a = s.marks);
- if (a && a.length) {
- let u = Math.min(l + s.nodeSize, n);
- for (let c = 0; c < a.length; c++) {
- let d = a[c],
- f;
- for (let p = 0; p < o.length; p++) {
- let m = o[p];
- m.step == i - 1 && d.eq(o[p].style) && (f = m);
- }
- f
- ? ((f.to = u), (f.step = i))
- : o.push({
- style: d,
- from: Math.max(l, e),
- to: u,
- step: i,
- });
- }
- }
- }),
- o.forEach((s) => t.step(new nr(s.from, s.to, s.style)));
-}
-function bM(t, e, n, r = n.contentMatch) {
- let o = t.doc.nodeAt(e),
- i = [],
- s = e + 1;
- for (let l = 0; l < o.childCount; l++) {
- let a = o.child(l),
- u = s + a.nodeSize,
- c = r.matchType(a.type);
- if (!c) i.push(new jt(s, u, le.empty));
- else {
- r = c;
- for (let d = 0; d < a.marks.length; d++)
- n.allowsMarkType(a.marks[d].type) ||
- t.step(new nr(s, u, a.marks[d]));
- if (a.isText && !n.spec.code) {
- let d,
- f = /\r?\n|\r/g,
- p;
- for (; (d = f.exec(a.text)); )
- p ||
- (p = new le(
- J.from(n.schema.text(" ", n.allowedMarks(a.marks))),
- 0,
- 0
- )),
- i.push(
- new jt(s + d.index, s + d.index + d[0].length, p)
- );
- }
- }
- s = u;
- }
- if (!r.validEnd) {
- let l = r.fillBefore(J.empty, !0);
- t.replace(s, s, new le(l, 0, 0));
- }
- for (let l = i.length - 1; l >= 0; l--) t.step(i[l]);
-}
-function wM(t, e, n) {
- return (
- (e == 0 || t.canReplace(e, t.childCount)) &&
- (n == t.childCount || t.canReplace(0, n))
- );
-}
-function Hi(t) {
- let n = t.parent.content.cutByIndex(t.startIndex, t.endIndex);
- for (let r = t.depth; ; --r) {
- let o = t.$from.node(r),
- i = t.$from.index(r),
- s = t.$to.indexAfter(r);
- if (r < t.depth && o.canReplace(i, s, n)) return r;
- if (r == 0 || o.type.spec.isolating || !wM(o, i, s)) break;
- }
- return null;
-}
-function xM(t, e, n) {
- let { $from: r, $to: o, depth: i } = e,
- s = r.before(i + 1),
- l = o.after(i + 1),
- a = s,
- u = l,
- c = J.empty,
- d = 0;
- for (let m = i, y = !1; m > n; m--)
- y || r.index(m) > 0
- ? ((y = !0), (c = J.from(r.node(m).copy(c))), d++)
- : a--;
- let f = J.empty,
- p = 0;
- for (let m = i, y = !1; m > n; m--)
- y || o.after(m + 1) < o.end(m)
- ? ((y = !0), (f = J.from(o.node(m).copy(f))), p++)
- : u++;
- t.step(new $t(a, u, s, l, new le(c.append(f), d, p), c.size - d, !0));
-}
-function dh(t, e, n = null, r = t) {
- let o = kM(t, e),
- i = o && SM(r, e);
- return i ? o.map(Dm).concat({ type: e, attrs: n }).concat(i.map(Dm)) : null;
-}
-function Dm(t) {
- return { type: t, attrs: null };
-}
-function kM(t, e) {
- let { parent: n, startIndex: r, endIndex: o } = t,
- i = n.contentMatchAt(r).findWrapping(e);
- if (!i) return null;
- let s = i.length ? i[0] : e;
- return n.canReplaceWith(r, o, s) ? i : null;
-}
-function SM(t, e) {
- let { parent: n, startIndex: r, endIndex: o } = t,
- i = n.child(r),
- s = e.contentMatch.findWrapping(i.type);
- if (!s) return null;
- let a = (s.length ? s[s.length - 1] : e).contentMatch;
- for (let u = r; a && u < o; u++) a = a.matchType(n.child(u).type);
- return !a || !a.validEnd ? null : s;
-}
-function _M(t, e, n) {
- let r = J.empty;
- for (let s = n.length - 1; s >= 0; s--) {
- if (r.size) {
- let l = n[s].type.contentMatch.matchFragment(r);
- if (!l || !l.validEnd)
- throw new RangeError(
- "Wrapper type given to Transform.wrap does not form valid content of its parent wrapper"
- );
- }
- r = J.from(n[s].type.create(n[s].attrs, r));
- }
- let o = e.start,
- i = e.end;
- t.step(new $t(o, i, o, i, new le(r, 0, 0), n.length, !0));
-}
-function CM(t, e, n, r, o) {
- if (!r.isTextblock)
- throw new RangeError(
- "Type given to setBlockType should be a textblock"
- );
- let i = t.steps.length;
- t.doc.nodesBetween(e, n, (s, l) => {
- if (
- s.isTextblock &&
- !s.hasMarkup(r, o) &&
- MM(t.doc, t.mapping.slice(i).map(l), r)
- ) {
- t.clearIncompatible(t.mapping.slice(i).map(l, 1), r);
- let a = t.mapping.slice(i),
- u = a.map(l, 1),
- c = a.map(l + s.nodeSize, 1);
- return (
- t.step(
- new $t(
- u,
- c,
- u + 1,
- c - 1,
- new le(J.from(r.create(o, null, s.marks)), 0, 0),
- 1,
- !0
- )
- ),
- !1
- );
- }
- });
-}
-function MM(t, e, n) {
- let r = t.resolve(e),
- o = r.index();
- return r.parent.canReplaceWith(o, o + 1, n);
-}
-function EM(t, e, n, r, o) {
- let i = t.doc.nodeAt(e);
- if (!i) throw new RangeError("No node at given position");
- n || (n = i.type);
- let s = n.create(r, null, o || i.marks);
- if (i.isLeaf) return t.replaceWith(e, e + i.nodeSize, s);
- if (!n.validContent(i.content))
- throw new RangeError("Invalid content for node type " + n.name);
- t.step(
- new $t(
- e,
- e + i.nodeSize,
- e + 1,
- e + i.nodeSize - 1,
- new le(J.from(s), 0, 0),
- 1,
- !0
- )
- );
-}
-function gi(t, e, n = 1, r) {
- let o = t.resolve(e),
- i = o.depth - n,
- s = (r && r[r.length - 1]) || o.parent;
- if (
- i < 0 ||
- o.parent.type.spec.isolating ||
- !o.parent.canReplace(o.index(), o.parent.childCount) ||
- !s.type.validContent(
- o.parent.content.cutByIndex(o.index(), o.parent.childCount)
- )
- )
- return !1;
- for (let u = o.depth - 1, c = n - 2; u > i; u--, c--) {
- let d = o.node(u),
- f = o.index(u);
- if (d.type.spec.isolating) return !1;
- let p = d.content.cutByIndex(f, d.childCount),
- m = r && r[c + 1];
- m && (p = p.replaceChild(0, m.type.create(m.attrs)));
- let y = (r && r[c]) || d;
- if (!d.canReplace(f + 1, d.childCount) || !y.type.validContent(p))
- return !1;
- }
- let l = o.indexAfter(i),
- a = r && r[0];
- return o.node(i).canReplaceWith(l, l, a ? a.type : o.node(i + 1).type);
-}
-function TM(t, e, n = 1, r) {
- let o = t.doc.resolve(e),
- i = J.empty,
- s = J.empty;
- for (let l = o.depth, a = o.depth - n, u = n - 1; l > a; l--, u--) {
- i = J.from(o.node(l).copy(i));
- let c = r && r[u];
- s = J.from(c ? c.type.create(c.attrs, s) : o.node(l).copy(s));
- }
- t.step(new jt(e, e, new le(i.append(s), n, n), !0));
-}
-function fo(t, e) {
- let n = t.resolve(e),
- r = n.index();
- return pv(n.nodeBefore, n.nodeAfter) && n.parent.canReplace(r, r + 1);
-}
-function pv(t, e) {
- return !!(t && e && !t.isLeaf && t.canAppend(e));
-}
-function Hu(t, e, n = -1) {
- let r = t.resolve(e);
- for (let o = r.depth; ; o--) {
- let i,
- s,
- l = r.index(o);
- if (
- (o == r.depth
- ? ((i = r.nodeBefore), (s = r.nodeAfter))
- : n > 0
- ? ((i = r.node(o + 1)), l++, (s = r.node(o).maybeChild(l)))
- : ((i = r.node(o).maybeChild(l - 1)), (s = r.node(o + 1))),
- i && !i.isTextblock && pv(i, s) && r.node(o).canReplace(l, l + 1))
- )
- return e;
- if (o == 0) break;
- e = n < 0 ? r.before(o) : r.after(o);
- }
-}
-function AM(t, e, n) {
- let r = new jt(e - n, e + n, le.empty, !0);
- t.step(r);
-}
-function OM(t, e, n) {
- let r = t.resolve(e);
- if (r.parent.canReplaceWith(r.index(), r.index(), n)) return e;
- if (r.parentOffset == 0)
- for (let o = r.depth - 1; o >= 0; o--) {
- let i = r.index(o);
- if (r.node(o).canReplaceWith(i, i, n)) return r.before(o + 1);
- if (i > 0) return null;
- }
- if (r.parentOffset == r.parent.content.size)
- for (let o = r.depth - 1; o >= 0; o--) {
- let i = r.indexAfter(o);
- if (r.node(o).canReplaceWith(i, i, n)) return r.after(o + 1);
- if (i < r.node(o).childCount) return null;
- }
- return null;
-}
-function mv(t, e, n) {
- let r = t.resolve(e);
- if (!n.content.size) return e;
- let o = n.content;
- for (let i = 0; i < n.openStart; i++) o = o.firstChild.content;
- for (let i = 1; i <= (n.openStart == 0 && n.size ? 2 : 1); i++)
- for (let s = r.depth; s >= 0; s--) {
- let l =
- s == r.depth
- ? 0
- : r.pos <= (r.start(s + 1) + r.end(s + 1)) / 2
- ? -1
- : 1,
- a = r.index(s) + (l > 0 ? 1 : 0),
- u = r.node(s),
- c = !1;
- if (i == 1) c = u.canReplace(a, a, o);
- else {
- let d = u.contentMatchAt(a).findWrapping(o.firstChild.type);
- c = d && u.canReplaceWith(a, a, d[0]);
- }
- if (c)
- return l == 0
- ? r.pos
- : l < 0
- ? r.before(s + 1)
- : r.after(s + 1);
- }
- return null;
-}
-function Fu(t, e, n = e, r = le.empty) {
- if (e == n && !r.size) return null;
- let o = t.resolve(e),
- i = t.resolve(n);
- return gv(o, i, r) ? new jt(e, n, r) : new RM(o, i, r).fit();
-}
-function gv(t, e, n) {
- return (
- !n.openStart &&
- !n.openEnd &&
- t.start() == e.start() &&
- t.parent.canReplace(t.index(), e.index(), n.content)
- );
-}
-class RM {
- constructor(e, n, r) {
- (this.$from = e),
- (this.$to = n),
- (this.unplaced = r),
- (this.frontier = []),
- (this.placed = J.empty);
- for (let o = 0; o <= e.depth; o++) {
- let i = e.node(o);
- this.frontier.push({
- type: i.type,
- match: i.contentMatchAt(e.indexAfter(o)),
- });
- }
- for (let o = e.depth; o > 0; o--)
- this.placed = J.from(e.node(o).copy(this.placed));
- }
- get depth() {
- return this.frontier.length - 1;
- }
- fit() {
- for (; this.unplaced.size; ) {
- let u = this.findFittable();
- u ? this.placeNodes(u) : this.openMore() || this.dropNode();
- }
- let e = this.mustMoveInline(),
- n = this.placed.size - this.depth - this.$from.depth,
- r = this.$from,
- o = this.close(e < 0 ? this.$to : r.doc.resolve(e));
- if (!o) return null;
- let i = this.placed,
- s = r.depth,
- l = o.depth;
- for (; s && l && i.childCount == 1; )
- (i = i.firstChild.content), s--, l--;
- let a = new le(i, s, l);
- return e > -1
- ? new $t(r.pos, e, this.$to.pos, this.$to.end(), a, n)
- : a.size || r.pos != this.$to.pos
- ? new jt(r.pos, o.pos, a)
- : null;
- }
- findFittable() {
- let e = this.unplaced.openStart;
- for (
- let n = this.unplaced.content, r = 0, o = this.unplaced.openEnd;
- r < e;
- r++
- ) {
- let i = n.firstChild;
- if (
- (n.childCount > 1 && (o = 0), i.type.spec.isolating && o <= r)
- ) {
- e = r;
- break;
- }
- n = i.content;
- }
- for (let n = 1; n <= 2; n++)
- for (let r = n == 1 ? e : this.unplaced.openStart; r >= 0; r--) {
- let o,
- i = null;
- r
- ? ((i = Rc(this.unplaced.content, r - 1).firstChild),
- (o = i.content))
- : (o = this.unplaced.content);
- let s = o.firstChild;
- for (let l = this.depth; l >= 0; l--) {
- let { type: a, match: u } = this.frontier[l],
- c,
- d = null;
- if (
- n == 1 &&
- (s
- ? u.matchType(s.type) ||
- (d = u.fillBefore(J.from(s), !1))
- : i && a.compatibleContent(i.type))
- )
- return {
- sliceDepth: r,
- frontierDepth: l,
- parent: i,
- inject: d,
- };
- if (n == 2 && s && (c = u.findWrapping(s.type)))
- return {
- sliceDepth: r,
- frontierDepth: l,
- parent: i,
- wrap: c,
- };
- if (i && u.matchType(i.type)) break;
- }
- }
- }
- openMore() {
- let { content: e, openStart: n, openEnd: r } = this.unplaced,
- o = Rc(e, n);
- return !o.childCount || o.firstChild.isLeaf
- ? !1
- : ((this.unplaced = new le(
- e,
- n + 1,
- Math.max(r, o.size + n >= e.size - r ? n + 1 : 0)
- )),
- !0);
- }
- dropNode() {
- let { content: e, openStart: n, openEnd: r } = this.unplaced,
- o = Rc(e, n);
- if (o.childCount <= 1 && n > 0) {
- let i = e.size - n <= n + o.size;
- this.unplaced = new le(ts(e, n - 1, 1), n - 1, i ? n - 1 : r);
- } else this.unplaced = new le(ts(e, n, 1), n, r);
- }
- placeNodes({
- sliceDepth: e,
- frontierDepth: n,
- parent: r,
- inject: o,
- wrap: i,
- }) {
- for (; this.depth > n; ) this.closeFrontierNode();
- if (i) for (let y = 0; y < i.length; y++) this.openFrontierNode(i[y]);
- let s = this.unplaced,
- l = r ? r.content : s.content,
- a = s.openStart - e,
- u = 0,
- c = [],
- { match: d, type: f } = this.frontier[n];
- if (o) {
- for (let y = 0; y < o.childCount; y++) c.push(o.child(y));
- d = d.matchFragment(o);
- }
- let p = l.size + e - (s.content.size - s.openEnd);
- for (; u < l.childCount; ) {
- let y = l.child(u),
- v = d.matchType(y.type);
- if (!v) break;
- u++,
- (u > 1 || a == 0 || y.content.size) &&
- ((d = v),
- c.push(
- yv(
- y.mark(f.allowedMarks(y.marks)),
- u == 1 ? a : 0,
- u == l.childCount ? p : -1
- )
- ));
- }
- let m = u == l.childCount;
- m || (p = -1),
- (this.placed = ns(this.placed, n, J.from(c))),
- (this.frontier[n].match = d),
- m &&
- p < 0 &&
- r &&
- r.type == this.frontier[this.depth].type &&
- this.frontier.length > 1 &&
- this.closeFrontierNode();
- for (let y = 0, v = l; y < p; y++) {
- let w = v.lastChild;
- this.frontier.push({
- type: w.type,
- match: w.contentMatchAt(w.childCount),
- }),
- (v = w.content);
- }
- this.unplaced = m
- ? e == 0
- ? le.empty
- : new le(
- ts(s.content, e - 1, 1),
- e - 1,
- p < 0 ? s.openEnd : e - 1
- )
- : new le(ts(s.content, e, u), s.openStart, s.openEnd);
- }
- mustMoveInline() {
- if (!this.$to.parent.isTextblock) return -1;
- let e = this.frontier[this.depth],
- n;
- if (
- !e.type.isTextblock ||
- !Pc(this.$to, this.$to.depth, e.type, e.match, !1) ||
- (this.$to.depth == this.depth &&
- (n = this.findCloseLevel(this.$to)) &&
- n.depth == this.depth)
- )
- return -1;
- let { depth: r } = this.$to,
- o = this.$to.after(r);
- for (; r > 1 && o == this.$to.end(--r); ) ++o;
- return o;
- }
- findCloseLevel(e) {
- e: for (let n = Math.min(this.depth, e.depth); n >= 0; n--) {
- let { match: r, type: o } = this.frontier[n],
- i = n < e.depth && e.end(n + 1) == e.pos + (e.depth - (n + 1)),
- s = Pc(e, n, o, r, i);
- if (s) {
- for (let l = n - 1; l >= 0; l--) {
- let { match: a, type: u } = this.frontier[l],
- c = Pc(e, l, u, a, !0);
- if (!c || c.childCount) continue e;
- }
- return {
- depth: n,
- fit: s,
- move: i ? e.doc.resolve(e.after(n + 1)) : e,
- };
- }
- }
- }
- close(e) {
- let n = this.findCloseLevel(e);
- if (!n) return null;
- for (; this.depth > n.depth; ) this.closeFrontierNode();
- n.fit.childCount && (this.placed = ns(this.placed, n.depth, n.fit)),
- (e = n.move);
- for (let r = n.depth + 1; r <= e.depth; r++) {
- let o = e.node(r),
- i = o.type.contentMatch.fillBefore(o.content, !0, e.index(r));
- this.openFrontierNode(o.type, o.attrs, i);
- }
- return e;
- }
- openFrontierNode(e, n = null, r) {
- let o = this.frontier[this.depth];
- (o.match = o.match.matchType(e)),
- (this.placed = ns(this.placed, this.depth, J.from(e.create(n, r)))),
- this.frontier.push({ type: e, match: e.contentMatch });
- }
- closeFrontierNode() {
- let n = this.frontier.pop().match.fillBefore(J.empty, !0);
- n.childCount &&
- (this.placed = ns(this.placed, this.frontier.length, n));
- }
-}
-function ts(t, e, n) {
- return e == 0
- ? t.cutByIndex(n, t.childCount)
- : t.replaceChild(
- 0,
- t.firstChild.copy(ts(t.firstChild.content, e - 1, n))
- );
-}
-function ns(t, e, n) {
- return e == 0
- ? t.append(n)
- : t.replaceChild(
- t.childCount - 1,
- t.lastChild.copy(ns(t.lastChild.content, e - 1, n))
- );
-}
-function Rc(t, e) {
- for (let n = 0; n < e; n++) t = t.firstChild.content;
- return t;
-}
-function yv(t, e, n) {
- if (e <= 0) return t;
- let r = t.content;
- return (
- e > 1 &&
- (r = r.replaceChild(
- 0,
- yv(r.firstChild, e - 1, r.childCount == 1 ? n - 1 : 0)
- )),
- e > 0 &&
- ((r = t.type.contentMatch.fillBefore(r).append(r)),
- n <= 0 &&
- (r = r.append(
- t.type.contentMatch.matchFragment(r).fillBefore(J.empty, !0)
- ))),
- t.copy(r)
- );
-}
-function Pc(t, e, n, r, o) {
- let i = t.node(e),
- s = o ? t.indexAfter(e) : t.index(e);
- if (s == i.childCount && !n.compatibleContent(i.type)) return null;
- let l = r.fillBefore(i.content, !0, s);
- return l && !PM(n, i.content, s) ? l : null;
-}
-function PM(t, e, n) {
- for (let r = n; r < e.childCount; r++)
- if (!t.allowsMarks(e.child(r).marks)) return !0;
- return !1;
-}
-function IM(t) {
- return t.spec.defining || t.spec.definingForContent;
-}
-function NM(t, e, n, r) {
- if (!r.size) return t.deleteRange(e, n);
- let o = t.doc.resolve(e),
- i = t.doc.resolve(n);
- if (gv(o, i, r)) return t.step(new jt(e, n, r));
- let s = bv(o, t.doc.resolve(n));
- s[s.length - 1] == 0 && s.pop();
- let l = -(o.depth + 1);
- s.unshift(l);
- for (let f = o.depth, p = o.pos - 1; f > 0; f--, p--) {
- let m = o.node(f).type.spec;
- if (m.defining || m.definingAsContext || m.isolating) break;
- s.indexOf(f) > -1 ? (l = f) : o.before(f) == p && s.splice(1, 0, -f);
- }
- let a = s.indexOf(l),
- u = [],
- c = r.openStart;
- for (let f = r.content, p = 0; ; p++) {
- let m = f.firstChild;
- if ((u.push(m), p == r.openStart)) break;
- f = m.content;
- }
- for (let f = c - 1; f >= 0; f--) {
- let p = u[f],
- m = IM(p.type);
- if (m && !p.sameMarkup(o.node(Math.abs(l) - 1))) c = f;
- else if (m || !p.type.isTextblock) break;
- }
- for (let f = r.openStart; f >= 0; f--) {
- let p = (f + c + 1) % (r.openStart + 1),
- m = u[p];
- if (m)
- for (let y = 0; y < s.length; y++) {
- let v = s[(y + a) % s.length],
- w = !0;
- v < 0 && ((w = !1), (v = -v));
- let S = o.node(v - 1),
- E = o.index(v - 1);
- if (S.canReplaceWith(E, E, m.type, m.marks))
- return t.replace(
- o.before(v),
- w ? i.after(v) : n,
- new le(vv(r.content, 0, r.openStart, p), p, r.openEnd)
- );
- }
- }
- let d = t.steps.length;
- for (
- let f = s.length - 1;
- f >= 0 && (t.replace(e, n, r), !(t.steps.length > d));
- f--
- ) {
- let p = s[f];
- p < 0 || ((e = o.before(p)), (n = i.after(p)));
- }
-}
-function vv(t, e, n, r, o) {
- if (e < n) {
- let i = t.firstChild;
- t = t.replaceChild(0, i.copy(vv(i.content, e + 1, n, r, i)));
- }
- if (e > r) {
- let i = o.contentMatchAt(0),
- s = i.fillBefore(t).append(t);
- t = s.append(i.matchFragment(s).fillBefore(J.empty, !0));
- }
- return t;
-}
-function DM(t, e, n, r) {
- if (!r.isInline && e == n && t.doc.resolve(e).parent.content.size) {
- let o = OM(t.doc, e, r.type);
- o != null && (e = n = o);
- }
- t.replaceRange(e, n, new le(J.from(r), 0, 0));
-}
-function jM(t, e, n) {
- let r = t.doc.resolve(e),
- o = t.doc.resolve(n),
- i = bv(r, o);
- for (let s = 0; s < i.length; s++) {
- let l = i[s],
- a = s == i.length - 1;
- if ((a && l == 0) || r.node(l).type.contentMatch.validEnd)
- return t.delete(r.start(l), o.end(l));
- if (
- l > 0 &&
- (a || r.node(l - 1).canReplace(r.index(l - 1), o.indexAfter(l - 1)))
- )
- return t.delete(r.before(l), o.after(l));
- }
- for (let s = 1; s <= r.depth && s <= o.depth; s++)
- if (
- e - r.start(s) == r.depth - s &&
- n > r.end(s) &&
- o.end(s) - n != o.depth - s
- )
- return t.delete(r.before(s), n);
- t.delete(e, n);
-}
-function bv(t, e) {
- let n = [],
- r = Math.min(t.depth, e.depth);
- for (let o = r; o >= 0; o--) {
- let i = t.start(o);
- if (
- i < t.pos - (t.depth - o) ||
- e.end(o) > e.pos + (e.depth - o) ||
- t.node(o).type.spec.isolating ||
- e.node(o).type.spec.isolating
- )
- break;
- (i == e.start(o) ||
- (o == t.depth &&
- o == e.depth &&
- t.parent.inlineContent &&
- e.parent.inlineContent &&
- o &&
- e.start(o - 1) == i - 1)) &&
- n.push(o);
- }
- return n;
-}
-class yi extends Qt {
- constructor(e, n, r) {
- super(), (this.pos = e), (this.attr = n), (this.value = r);
- }
- apply(e) {
- let n = e.nodeAt(this.pos);
- if (!n) return At.fail("No node at attribute step's position");
- let r = Object.create(null);
- for (let i in n.attrs) r[i] = n.attrs[i];
- r[this.attr] = this.value;
- let o = n.type.create(r, null, n.marks);
- return At.fromReplace(
- e,
- this.pos,
- this.pos + 1,
- new le(J.from(o), 0, n.isLeaf ? 0 : 1)
- );
- }
- getMap() {
- return gn.empty;
- }
- invert(e) {
- return new yi(this.pos, this.attr, e.nodeAt(this.pos).attrs[this.attr]);
- }
- map(e) {
- let n = e.mapResult(this.pos, 1);
- return n.deletedAfter ? null : new yi(n.pos, this.attr, this.value);
- }
- toJSON() {
- return {
- stepType: "attr",
- pos: this.pos,
- attr: this.attr,
- value: this.value,
- };
- }
- static fromJSON(e, n) {
- if (typeof n.pos != "number" || typeof n.attr != "string")
- throw new RangeError("Invalid input for AttrStep.fromJSON");
- return new yi(n.pos, n.attr, n.value);
- }
-}
-Qt.jsonID("attr", yi);
-class Ds extends Qt {
- constructor(e, n) {
- super(), (this.attr = e), (this.value = n);
- }
- apply(e) {
- let n = Object.create(null);
- for (let o in e.attrs) n[o] = e.attrs[o];
- n[this.attr] = this.value;
- let r = e.type.create(n, e.content, e.marks);
- return At.ok(r);
- }
- getMap() {
- return gn.empty;
- }
- invert(e) {
- return new Ds(this.attr, e.attrs[this.attr]);
- }
- map(e) {
- return this;
- }
- toJSON() {
- return { stepType: "docAttr", attr: this.attr, value: this.value };
- }
- static fromJSON(e, n) {
- if (typeof n.attr != "string")
- throw new RangeError("Invalid input for DocAttrStep.fromJSON");
- return new Ds(n.attr, n.value);
- }
-}
-Qt.jsonID("docAttr", Ds);
-let Ii = class extends Error {};
-Ii = function t(e) {
- let n = Error.call(this, e);
- return (n.__proto__ = t.prototype), n;
-};
-Ii.prototype = Object.create(Error.prototype);
-Ii.prototype.constructor = Ii;
-Ii.prototype.name = "TransformError";
-class fh {
- constructor(e) {
- (this.doc = e),
- (this.steps = []),
- (this.docs = []),
- (this.mapping = new mi());
- }
- get before() {
- return this.docs.length ? this.docs[0] : this.doc;
- }
- step(e) {
- let n = this.maybeStep(e);
- if (n.failed) throw new Ii(n.failed);
- return this;
- }
- maybeStep(e) {
- let n = e.apply(this.doc);
- return n.failed || this.addStep(e, n.doc), n;
- }
- get docChanged() {
- return this.steps.length > 0;
- }
- addStep(e, n) {
- this.docs.push(this.doc),
- this.steps.push(e),
- this.mapping.appendMap(e.getMap()),
- (this.doc = n);
- }
- replace(e, n = e, r = le.empty) {
- let o = Fu(this.doc, e, n, r);
- return o && this.step(o), this;
- }
- replaceWith(e, n, r) {
- return this.replace(e, n, new le(J.from(r), 0, 0));
- }
- delete(e, n) {
- return this.replace(e, n, le.empty);
- }
- insert(e, n) {
- return this.replaceWith(e, e, n);
- }
- replaceRange(e, n, r) {
- return NM(this, e, n, r), this;
- }
- replaceRangeWith(e, n, r) {
- return DM(this, e, n, r), this;
- }
- deleteRange(e, n) {
- return jM(this, e, n), this;
- }
- lift(e, n) {
- return xM(this, e, n), this;
- }
- join(e, n = 1) {
- return AM(this, e, n), this;
- }
- wrap(e, n) {
- return _M(this, e, n), this;
- }
- setBlockType(e, n = e, r, o = null) {
- return CM(this, e, n, r, o), this;
- }
- setNodeMarkup(e, n, r = null, o) {
- return EM(this, e, n, r, o), this;
- }
- setNodeAttribute(e, n, r) {
- return this.step(new yi(e, n, r)), this;
- }
- setDocAttribute(e, n) {
- return this.step(new Ds(e, n)), this;
- }
- addNodeMark(e, n) {
- return this.step(new Yr(e, n)), this;
- }
- removeNodeMark(e, n) {
- if (!(n instanceof ot)) {
- let r = this.doc.nodeAt(e);
- if (!r) throw new RangeError("No node at position " + e);
- if (((n = n.isInSet(r.marks)), !n)) return this;
- }
- return this.step(new Pi(e, n)), this;
- }
- split(e, n = 1, r) {
- return TM(this, e, n, r), this;
- }
- addMark(e, n, r) {
- return yM(this, e, n, r), this;
- }
- removeMark(e, n, r) {
- return vM(this, e, n, r), this;
- }
- clearIncompatible(e, n, r) {
- return bM(this, e, n, r), this;
- }
-}
-const Ic = Object.create(null);
-class Me {
- constructor(e, n, r) {
- (this.$anchor = e),
- (this.$head = n),
- (this.ranges = r || [new wv(e.min(n), e.max(n))]);
- }
- get anchor() {
- return this.$anchor.pos;
- }
- get head() {
- return this.$head.pos;
- }
- get from() {
- return this.$from.pos;
- }
- get to() {
- return this.$to.pos;
- }
- get $from() {
- return this.ranges[0].$from;
- }
- get $to() {
- return this.ranges[0].$to;
- }
- get empty() {
- let e = this.ranges;
- for (let n = 0; n < e.length; n++)
- if (e[n].$from.pos != e[n].$to.pos) return !1;
- return !0;
- }
- content() {
- return this.$from.doc.slice(this.from, this.to, !0);
- }
- replace(e, n = le.empty) {
- let r = n.content.lastChild,
- o = null;
- for (let l = 0; l < n.openEnd; l++) (o = r), (r = r.lastChild);
- let i = e.steps.length,
- s = this.ranges;
- for (let l = 0; l < s.length; l++) {
- let { $from: a, $to: u } = s[l],
- c = e.mapping.slice(i);
- e.replaceRange(c.map(a.pos), c.map(u.pos), l ? le.empty : n),
- l == 0 &&
- $m(e, i, (r ? r.isInline : o && o.isTextblock) ? -1 : 1);
- }
- }
- replaceWith(e, n) {
- let r = e.steps.length,
- o = this.ranges;
- for (let i = 0; i < o.length; i++) {
- let { $from: s, $to: l } = o[i],
- a = e.mapping.slice(r),
- u = a.map(s.pos),
- c = a.map(l.pos);
- i
- ? e.deleteRange(u, c)
- : (e.replaceRangeWith(u, c, n), $m(e, r, n.isInline ? -1 : 1));
- }
- }
- static findFrom(e, n, r = !1) {
- let o = e.parent.inlineContent
- ? new Se(e)
- : ni(e.node(0), e.parent, e.pos, e.index(), n, r);
- if (o) return o;
- for (let i = e.depth - 1; i >= 0; i--) {
- let s =
- n < 0
- ? ni(
- e.node(0),
- e.node(i),
- e.before(i + 1),
- e.index(i),
- n,
- r
- )
- : ni(
- e.node(0),
- e.node(i),
- e.after(i + 1),
- e.index(i) + 1,
- n,
- r
- );
- if (s) return s;
- }
- return null;
- }
- static near(e, n = 1) {
- return this.findFrom(e, n) || this.findFrom(e, -n) || new zn(e.node(0));
- }
- static atStart(e) {
- return ni(e, e, 0, 0, 1) || new zn(e);
- }
- static atEnd(e) {
- return ni(e, e, e.content.size, e.childCount, -1) || new zn(e);
- }
- static fromJSON(e, n) {
- if (!n || !n.type)
- throw new RangeError("Invalid input for Selection.fromJSON");
- let r = Ic[n.type];
- if (!r) throw new RangeError(`No selection type ${n.type} defined`);
- return r.fromJSON(e, n);
- }
- static jsonID(e, n) {
- if (e in Ic)
- throw new RangeError("Duplicate use of selection JSON ID " + e);
- return (Ic[e] = n), (n.prototype.jsonID = e), n;
- }
- getBookmark() {
- return Se.between(this.$anchor, this.$head).getBookmark();
- }
-}
-Me.prototype.visible = !0;
-class wv {
- constructor(e, n) {
- (this.$from = e), (this.$to = n);
- }
-}
-let jm = !1;
-function Lm(t) {
- !jm &&
- !t.parent.inlineContent &&
- ((jm = !0),
- console.warn(
- "TextSelection endpoint not pointing into a node with inline content (" +
- t.parent.type.name +
- ")"
- ));
-}
-class Se extends Me {
- constructor(e, n = e) {
- Lm(e), Lm(n), super(e, n);
- }
- get $cursor() {
- return this.$anchor.pos == this.$head.pos ? this.$head : null;
- }
- map(e, n) {
- let r = e.resolve(n.map(this.head));
- if (!r.parent.inlineContent) return Me.near(r);
- let o = e.resolve(n.map(this.anchor));
- return new Se(o.parent.inlineContent ? o : r, r);
- }
- replace(e, n = le.empty) {
- if ((super.replace(e, n), n == le.empty)) {
- let r = this.$from.marksAcross(this.$to);
- r && e.ensureMarks(r);
- }
- }
- eq(e) {
- return (
- e instanceof Se && e.anchor == this.anchor && e.head == this.head
- );
- }
- getBookmark() {
- return new Vu(this.anchor, this.head);
- }
- toJSON() {
- return { type: "text", anchor: this.anchor, head: this.head };
- }
- static fromJSON(e, n) {
- if (typeof n.anchor != "number" || typeof n.head != "number")
- throw new RangeError("Invalid input for TextSelection.fromJSON");
- return new Se(e.resolve(n.anchor), e.resolve(n.head));
- }
- static create(e, n, r = n) {
- let o = e.resolve(n);
- return new this(o, r == n ? o : e.resolve(r));
- }
- static between(e, n, r) {
- let o = e.pos - n.pos;
- if (((!r || o) && (r = o >= 0 ? 1 : -1), !n.parent.inlineContent)) {
- let i = Me.findFrom(n, r, !0) || Me.findFrom(n, -r, !0);
- if (i) n = i.$head;
- else return Me.near(n, r);
- }
- return (
- e.parent.inlineContent ||
- (o == 0
- ? (e = n)
- : ((e = (Me.findFrom(e, -r, !0) || Me.findFrom(e, r, !0))
- .$anchor),
- e.pos < n.pos != o < 0 && (e = n))),
- new Se(e, n)
- );
- }
-}
-Me.jsonID("text", Se);
-class Vu {
- constructor(e, n) {
- (this.anchor = e), (this.head = n);
- }
- map(e) {
- return new Vu(e.map(this.anchor), e.map(this.head));
- }
- resolve(e) {
- return Se.between(e.resolve(this.anchor), e.resolve(this.head));
- }
-}
-class we extends Me {
- constructor(e) {
- let n = e.nodeAfter,
- r = e.node(0).resolve(e.pos + n.nodeSize);
- super(e, r), (this.node = n);
- }
- map(e, n) {
- let { deleted: r, pos: o } = n.mapResult(this.anchor),
- i = e.resolve(o);
- return r ? Me.near(i) : new we(i);
- }
- content() {
- return new le(J.from(this.node), 0, 0);
- }
- eq(e) {
- return e instanceof we && e.anchor == this.anchor;
- }
- toJSON() {
- return { type: "node", anchor: this.anchor };
- }
- getBookmark() {
- return new hh(this.anchor);
- }
- static fromJSON(e, n) {
- if (typeof n.anchor != "number")
- throw new RangeError("Invalid input for NodeSelection.fromJSON");
- return new we(e.resolve(n.anchor));
- }
- static create(e, n) {
- return new we(e.resolve(n));
- }
- static isSelectable(e) {
- return !e.isText && e.type.spec.selectable !== !1;
- }
-}
-we.prototype.visible = !1;
-Me.jsonID("node", we);
-class hh {
- constructor(e) {
- this.anchor = e;
- }
- map(e) {
- let { deleted: n, pos: r } = e.mapResult(this.anchor);
- return n ? new Vu(r, r) : new hh(r);
- }
- resolve(e) {
- let n = e.resolve(this.anchor),
- r = n.nodeAfter;
- return r && we.isSelectable(r) ? new we(n) : Me.near(n);
- }
-}
-class zn extends Me {
- constructor(e) {
- super(e.resolve(0), e.resolve(e.content.size));
- }
- replace(e, n = le.empty) {
- if (n == le.empty) {
- e.delete(0, e.doc.content.size);
- let r = Me.atStart(e.doc);
- r.eq(e.selection) || e.setSelection(r);
- } else super.replace(e, n);
- }
- toJSON() {
- return { type: "all" };
- }
- static fromJSON(e) {
- return new zn(e);
- }
- map(e) {
- return new zn(e);
- }
- eq(e) {
- return e instanceof zn;
- }
- getBookmark() {
- return LM;
- }
-}
-Me.jsonID("all", zn);
-const LM = {
- map() {
- return this;
- },
- resolve(t) {
- return new zn(t);
- },
-};
-function ni(t, e, n, r, o, i = !1) {
- if (e.inlineContent) return Se.create(t, n);
- for (
- let s = r - (o > 0 ? 0 : 1);
- o > 0 ? s < e.childCount : s >= 0;
- s += o
- ) {
- let l = e.child(s);
- if (l.isAtom) {
- if (!i && we.isSelectable(l))
- return we.create(t, n - (o < 0 ? l.nodeSize : 0));
- } else {
- let a = ni(t, l, n + o, o < 0 ? l.childCount : 0, o, i);
- if (a) return a;
- }
- n += l.nodeSize * o;
- }
- return null;
-}
-function $m(t, e, n) {
- let r = t.steps.length - 1;
- if (r < e) return;
- let o = t.steps[r];
- if (!(o instanceof jt || o instanceof $t)) return;
- let i = t.mapping.maps[r],
- s;
- i.forEach((l, a, u, c) => {
- s == null && (s = c);
- }),
- t.setSelection(Me.near(t.doc.resolve(s), n));
-}
-const Bm = 1,
- Tl = 2,
- zm = 4;
-class $M extends fh {
- constructor(e) {
- super(e.doc),
- (this.curSelectionFor = 0),
- (this.updated = 0),
- (this.meta = Object.create(null)),
- (this.time = Date.now()),
- (this.curSelection = e.selection),
- (this.storedMarks = e.storedMarks);
- }
- get selection() {
- return (
- this.curSelectionFor < this.steps.length &&
- ((this.curSelection = this.curSelection.map(
- this.doc,
- this.mapping.slice(this.curSelectionFor)
- )),
- (this.curSelectionFor = this.steps.length)),
- this.curSelection
- );
- }
- setSelection(e) {
- if (e.$from.doc != this.doc)
- throw new RangeError(
- "Selection passed to setSelection must point at the current document"
- );
- return (
- (this.curSelection = e),
- (this.curSelectionFor = this.steps.length),
- (this.updated = (this.updated | Bm) & ~Tl),
- (this.storedMarks = null),
- this
- );
- }
- get selectionSet() {
- return (this.updated & Bm) > 0;
- }
- setStoredMarks(e) {
- return (this.storedMarks = e), (this.updated |= Tl), this;
- }
- ensureMarks(e) {
- return (
- ot.sameSet(this.storedMarks || this.selection.$from.marks(), e) ||
- this.setStoredMarks(e),
- this
- );
- }
- addStoredMark(e) {
- return this.ensureMarks(
- e.addToSet(this.storedMarks || this.selection.$head.marks())
- );
- }
- removeStoredMark(e) {
- return this.ensureMarks(
- e.removeFromSet(this.storedMarks || this.selection.$head.marks())
- );
- }
- get storedMarksSet() {
- return (this.updated & Tl) > 0;
- }
- addStep(e, n) {
- super.addStep(e, n),
- (this.updated = this.updated & ~Tl),
- (this.storedMarks = null);
- }
- setTime(e) {
- return (this.time = e), this;
- }
- replaceSelection(e) {
- return this.selection.replace(this, e), this;
- }
- replaceSelectionWith(e, n = !0) {
- let r = this.selection;
- return (
- n &&
- (e = e.mark(
- this.storedMarks ||
- (r.empty
- ? r.$from.marks()
- : r.$from.marksAcross(r.$to) || ot.none)
- )),
- r.replaceWith(this, e),
- this
- );
- }
- deleteSelection() {
- return this.selection.replace(this), this;
- }
- insertText(e, n, r) {
- let o = this.doc.type.schema;
- if (n == null)
- return e
- ? this.replaceSelectionWith(o.text(e), !0)
- : this.deleteSelection();
- {
- if ((r == null && (r = n), (r = r == null ? n : r), !e))
- return this.deleteRange(n, r);
- let i = this.storedMarks;
- if (!i) {
- let s = this.doc.resolve(n);
- i = r == n ? s.marks() : s.marksAcross(this.doc.resolve(r));
- }
- return (
- this.replaceRangeWith(n, r, o.text(e, i)),
- this.selection.empty ||
- this.setSelection(Me.near(this.selection.$to)),
- this
- );
- }
- }
- setMeta(e, n) {
- return (this.meta[typeof e == "string" ? e : e.key] = n), this;
- }
- getMeta(e) {
- return this.meta[typeof e == "string" ? e : e.key];
- }
- get isGeneric() {
- for (let e in this.meta) return !1;
- return !0;
- }
- scrollIntoView() {
- return (this.updated |= zm), this;
- }
- get scrolledIntoView() {
- return (this.updated & zm) > 0;
- }
-}
-function Hm(t, e) {
- return !e || !t ? t : t.bind(e);
-}
-class rs {
- constructor(e, n, r) {
- (this.name = e),
- (this.init = Hm(n.init, r)),
- (this.apply = Hm(n.apply, r));
- }
-}
-const BM = [
- new rs("doc", {
- init(t) {
- return t.doc || t.schema.topNodeType.createAndFill();
- },
- apply(t) {
- return t.doc;
- },
- }),
- new rs("selection", {
- init(t, e) {
- return t.selection || Me.atStart(e.doc);
- },
- apply(t) {
- return t.selection;
- },
- }),
- new rs("storedMarks", {
- init(t) {
- return t.storedMarks || null;
- },
- apply(t, e, n, r) {
- return r.selection.$cursor ? t.storedMarks : null;
- },
- }),
- new rs("scrollToSelection", {
- init() {
- return 0;
- },
- apply(t, e) {
- return t.scrolledIntoView ? e + 1 : e;
- },
- }),
-];
-class Nc {
- constructor(e, n) {
- (this.schema = e),
- (this.plugins = []),
- (this.pluginsByKey = Object.create(null)),
- (this.fields = BM.slice()),
- n &&
- n.forEach((r) => {
- if (this.pluginsByKey[r.key])
- throw new RangeError(
- "Adding different instances of a keyed plugin (" +
- r.key +
- ")"
- );
- this.plugins.push(r),
- (this.pluginsByKey[r.key] = r),
- r.spec.state &&
- this.fields.push(new rs(r.key, r.spec.state, r));
- });
- }
-}
-class ai {
- constructor(e) {
- this.config = e;
- }
- get schema() {
- return this.config.schema;
- }
- get plugins() {
- return this.config.plugins;
- }
- apply(e) {
- return this.applyTransaction(e).state;
- }
- filterTransaction(e, n = -1) {
- for (let r = 0; r < this.config.plugins.length; r++)
- if (r != n) {
- let o = this.config.plugins[r];
- if (
- o.spec.filterTransaction &&
- !o.spec.filterTransaction.call(o, e, this)
- )
- return !1;
- }
- return !0;
- }
- applyTransaction(e) {
- if (!this.filterTransaction(e))
- return { state: this, transactions: [] };
- let n = [e],
- r = this.applyInner(e),
- o = null;
- for (;;) {
- let i = !1;
- for (let s = 0; s < this.config.plugins.length; s++) {
- let l = this.config.plugins[s];
- if (l.spec.appendTransaction) {
- let a = o ? o[s].n : 0,
- u = o ? o[s].state : this,
- c =
- a < n.length &&
- l.spec.appendTransaction.call(
- l,
- a ? n.slice(a) : n,
- u,
- r
- );
- if (c && r.filterTransaction(c, s)) {
- if ((c.setMeta("appendedTransaction", e), !o)) {
- o = [];
- for (let d = 0; d < this.config.plugins.length; d++)
- o.push(
- d < s
- ? { state: r, n: n.length }
- : { state: this, n: 0 }
- );
- }
- n.push(c), (r = r.applyInner(c)), (i = !0);
- }
- o && (o[s] = { state: r, n: n.length });
- }
- }
- if (!i) return { state: r, transactions: n };
- }
- }
- applyInner(e) {
- if (!e.before.eq(this.doc))
- throw new RangeError("Applying a mismatched transaction");
- let n = new ai(this.config),
- r = this.config.fields;
- for (let o = 0; o < r.length; o++) {
- let i = r[o];
- n[i.name] = i.apply(e, this[i.name], this, n);
- }
- return n;
- }
- get tr() {
- return new $M(this);
- }
- static create(e) {
- let n = new Nc(e.doc ? e.doc.type.schema : e.schema, e.plugins),
- r = new ai(n);
- for (let o = 0; o < n.fields.length; o++)
- r[n.fields[o].name] = n.fields[o].init(e, r);
- return r;
- }
- reconfigure(e) {
- let n = new Nc(this.schema, e.plugins),
- r = n.fields,
- o = new ai(n);
- for (let i = 0; i < r.length; i++) {
- let s = r[i].name;
- o[s] = this.hasOwnProperty(s) ? this[s] : r[i].init(e, o);
- }
- return o;
- }
- toJSON(e) {
- let n = { doc: this.doc.toJSON(), selection: this.selection.toJSON() };
- if (
- (this.storedMarks &&
- (n.storedMarks = this.storedMarks.map((r) => r.toJSON())),
- e && typeof e == "object")
- )
- for (let r in e) {
- if (r == "doc" || r == "selection")
- throw new RangeError(
- "The JSON fields `doc` and `selection` are reserved"
- );
- let o = e[r],
- i = o.spec.state;
- i && i.toJSON && (n[r] = i.toJSON.call(o, this[o.key]));
- }
- return n;
- }
- static fromJSON(e, n, r) {
- if (!n) throw new RangeError("Invalid input for EditorState.fromJSON");
- if (!e.schema)
- throw new RangeError("Required config field 'schema' missing");
- let o = new Nc(e.schema, e.plugins),
- i = new ai(o);
- return (
- o.fields.forEach((s) => {
- if (s.name == "doc") i.doc = Do.fromJSON(e.schema, n.doc);
- else if (s.name == "selection")
- i.selection = Me.fromJSON(i.doc, n.selection);
- else if (s.name == "storedMarks")
- n.storedMarks &&
- (i.storedMarks = n.storedMarks.map(
- e.schema.markFromJSON
- ));
- else {
- if (r)
- for (let l in r) {
- let a = r[l],
- u = a.spec.state;
- if (
- a.key == s.name &&
- u &&
- u.fromJSON &&
- Object.prototype.hasOwnProperty.call(n, l)
- ) {
- i[s.name] = u.fromJSON.call(a, e, n[l], i);
- return;
- }
- }
- i[s.name] = s.init(e, i);
- }
- }),
- i
- );
- }
-}
-function xv(t, e, n) {
- for (let r in t) {
- let o = t[r];
- o instanceof Function
- ? (o = o.bind(e))
- : r == "handleDOMEvents" && (o = xv(o, e, {})),
- (n[r] = o);
- }
- return n;
-}
-class kt {
- constructor(e) {
- (this.spec = e),
- (this.props = {}),
- e.props && xv(e.props, this, this.props),
- (this.key = e.key ? e.key.key : kv("plugin"));
- }
- getState(e) {
- return e[this.key];
- }
-}
-const Dc = Object.create(null);
-function kv(t) {
- return t in Dc ? t + "$" + ++Dc[t] : ((Dc[t] = 0), t + "$");
-}
-class Dt {
- constructor(e = "key") {
- this.key = kv(e);
- }
- get(e) {
- return e.config.pluginsByKey[this.key];
- }
- getState(e) {
- return e[this.key];
- }
-}
-const en = function (t) {
- for (var e = 0; ; e++) if (((t = t.previousSibling), !t)) return e;
- },
- js = function (t) {
- let e = t.assignedSlot || t.parentNode;
- return e && e.nodeType == 11 ? e.host : e;
- };
-let Fm = null;
-const wr = function (t, e, n) {
- let r = Fm || (Fm = document.createRange());
- return (
- r.setEnd(t, n == null ? t.nodeValue.length : n),
- r.setStart(t, e || 0),
- r
- );
- },
- Ho = function (t, e, n, r) {
- return n && (Vm(t, e, n, r, -1) || Vm(t, e, n, r, 1));
- },
- zM = /^(img|br|input|textarea|hr)$/i;
-function Vm(t, e, n, r, o) {
- for (;;) {
- if (t == n && e == r) return !0;
- if (e == (o < 0 ? 0 : Zn(t))) {
- let i = t.parentNode;
- if (
- !i ||
- i.nodeType != 1 ||
- ph(t) ||
- zM.test(t.nodeName) ||
- t.contentEditable == "false"
- )
- return !1;
- (e = en(t) + (o < 0 ? 0 : 1)), (t = i);
- } else if (t.nodeType == 1) {
- if (
- ((t = t.childNodes[e + (o < 0 ? -1 : 0)]),
- t.contentEditable == "false")
- )
- return !1;
- e = o < 0 ? Zn(t) : 0;
- } else return !1;
- }
-}
-function Zn(t) {
- return t.nodeType == 3 ? t.nodeValue.length : t.childNodes.length;
-}
-function HM(t, e, n) {
- for (let r = e == 0, o = e == Zn(t); r || o; ) {
- if (t == n) return !0;
- let i = en(t);
- if (((t = t.parentNode), !t)) return !1;
- (r = r && i == 0), (o = o && i == Zn(t));
- }
-}
-function ph(t) {
- let e;
- for (let n = t; n && !(e = n.pmViewDesc); n = n.parentNode);
- return e && e.node && e.node.isBlock && (e.dom == t || e.contentDOM == t);
-}
-const Wu = function (t) {
- return (
- t.focusNode &&
- Ho(t.focusNode, t.focusOffset, t.anchorNode, t.anchorOffset)
- );
-};
-function So(t, e) {
- let n = document.createEvent("Event");
- return (
- n.initEvent("keydown", !0, !0), (n.keyCode = t), (n.key = n.code = e), n
- );
-}
-function FM(t) {
- let e = t.activeElement;
- for (; e && e.shadowRoot; ) e = e.shadowRoot.activeElement;
- return e;
-}
-function VM(t, e, n) {
- if (t.caretPositionFromPoint)
- try {
- let r = t.caretPositionFromPoint(e, n);
- if (r) return { node: r.offsetNode, offset: r.offset };
- } catch (r) {}
- if (t.caretRangeFromPoint) {
- let r = t.caretRangeFromPoint(e, n);
- if (r) return { node: r.startContainer, offset: r.startOffset };
- }
-}
-const ur = typeof navigator != "undefined" ? navigator : null,
- Wm = typeof document != "undefined" ? document : null,
- ho = (ur && ur.userAgent) || "",
- Hd = /Edge\/(\d+)/.exec(ho),
- Sv = /MSIE \d/.exec(ho),
- Fd = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ho),
- cn = !!(Sv || Fd || Hd),
- to = Sv ? document.documentMode : Fd ? +Fd[1] : Hd ? +Hd[1] : 0,
- Vn = !cn && /gecko\/(\d+)/i.test(ho);
-Vn && +(/Firefox\/(\d+)/.exec(ho) || [0, 0])[1];
-const Vd = !cn && /Chrome\/(\d+)/.exec(ho),
- Kt = !!Vd,
- WM = Vd ? +Vd[1] : 0,
- nn = !cn && !!ur && /Apple Computer/.test(ur.vendor),
- Ni = nn && (/Mobile\/\w+/.test(ho) || (!!ur && ur.maxTouchPoints > 2)),
- Sn = Ni || (ur ? /Mac/.test(ur.platform) : !1),
- UM = ur ? /Win/.test(ur.platform) : !1,
- Dn = /Android \d/.test(ho),
- nl = !!Wm && "webkitFontSmoothing" in Wm.documentElement.style,
- KM = nl
- ? +(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent) || [0, 0])[1]
- : 0;
-function qM(t) {
- return {
- left: 0,
- right: t.documentElement.clientWidth,
- top: 0,
- bottom: t.documentElement.clientHeight,
- };
-}
-function gr(t, e) {
- return typeof t == "number" ? t : t[e];
-}
-function JM(t) {
- let e = t.getBoundingClientRect(),
- n = e.width / t.offsetWidth || 1,
- r = e.height / t.offsetHeight || 1;
- return {
- left: e.left,
- right: e.left + t.clientWidth * n,
- top: e.top,
- bottom: e.top + t.clientHeight * r,
- };
-}
-function Um(t, e, n) {
- let r = t.someProp("scrollThreshold") || 0,
- o = t.someProp("scrollMargin") || 5,
- i = t.dom.ownerDocument;
- for (let s = n || t.dom; s; s = js(s)) {
- if (s.nodeType != 1) continue;
- let l = s,
- a = l == i.body,
- u = a ? qM(i) : JM(l),
- c = 0,
- d = 0;
- if (
- (e.top < u.top + gr(r, "top")
- ? (d = -(u.top - e.top + gr(o, "top")))
- : e.bottom > u.bottom - gr(r, "bottom") &&
- (d =
- e.bottom - e.top > u.bottom - u.top
- ? e.top + gr(o, "top") - u.top
- : e.bottom - u.bottom + gr(o, "bottom")),
- e.left < u.left + gr(r, "left")
- ? (c = -(u.left - e.left + gr(o, "left")))
- : e.right > u.right - gr(r, "right") &&
- (c = e.right - u.right + gr(o, "right")),
- c || d)
- )
- if (a) i.defaultView.scrollBy(c, d);
- else {
- let f = l.scrollLeft,
- p = l.scrollTop;
- d && (l.scrollTop += d), c && (l.scrollLeft += c);
- let m = l.scrollLeft - f,
- y = l.scrollTop - p;
- e = {
- left: e.left - m,
- top: e.top - y,
- right: e.right - m,
- bottom: e.bottom - y,
- };
- }
- if (a || /^(fixed|sticky)$/.test(getComputedStyle(s).position)) break;
- }
-}
-function GM(t) {
- let e = t.dom.getBoundingClientRect(),
- n = Math.max(0, e.top),
- r,
- o;
- for (
- let i = (e.left + e.right) / 2, s = n + 1;
- s < Math.min(innerHeight, e.bottom);
- s += 5
- ) {
- let l = t.root.elementFromPoint(i, s);
- if (!l || l == t.dom || !t.dom.contains(l)) continue;
- let a = l.getBoundingClientRect();
- if (a.top >= n - 20) {
- (r = l), (o = a.top);
- break;
- }
- }
- return { refDOM: r, refTop: o, stack: _v(t.dom) };
-}
-function _v(t) {
- let e = [],
- n = t.ownerDocument;
- for (
- let r = t;
- r && (e.push({ dom: r, top: r.scrollTop, left: r.scrollLeft }), t != n);
- r = js(r)
- );
- return e;
-}
-function YM({ refDOM: t, refTop: e, stack: n }) {
- let r = t ? t.getBoundingClientRect().top : 0;
- Cv(n, r == 0 ? 0 : r - e);
-}
-function Cv(t, e) {
- for (let n = 0; n < t.length; n++) {
- let { dom: r, top: o, left: i } = t[n];
- r.scrollTop != o + e && (r.scrollTop = o + e),
- r.scrollLeft != i && (r.scrollLeft = i);
- }
-}
-let Qo = null;
-function QM(t) {
- if (t.setActive) return t.setActive();
- if (Qo) return t.focus(Qo);
- let e = _v(t);
- t.focus(
- Qo == null
- ? {
- get preventScroll() {
- return (Qo = { preventScroll: !0 }), !0;
- },
- }
- : void 0
- ),
- Qo || ((Qo = !1), Cv(e, 0));
-}
-function Mv(t, e) {
- let n,
- r = 2e8,
- o,
- i = 0,
- s = e.top,
- l = e.top,
- a,
- u;
- for (let c = t.firstChild, d = 0; c; c = c.nextSibling, d++) {
- let f;
- if (c.nodeType == 1) f = c.getClientRects();
- else if (c.nodeType == 3) f = wr(c).getClientRects();
- else continue;
- for (let p = 0; p < f.length; p++) {
- let m = f[p];
- if (m.top <= s && m.bottom >= l) {
- (s = Math.max(m.bottom, s)), (l = Math.min(m.top, l));
- let y =
- m.left > e.left
- ? m.left - e.left
- : m.right < e.left
- ? e.left - m.right
- : 0;
- if (y < r) {
- (n = c),
- (r = y),
- (o =
- y && n.nodeType == 3
- ? {
- left:
- m.right < e.left ? m.right : m.left,
- top: e.top,
- }
- : e),
- c.nodeType == 1 &&
- y &&
- (i =
- d + (e.left >= (m.left + m.right) / 2 ? 1 : 0));
- continue;
- }
- } else
- m.top > e.top &&
- !a &&
- m.left <= e.left &&
- m.right >= e.left &&
- ((a = c),
- (u = {
- left: Math.max(m.left, Math.min(m.right, e.left)),
- top: m.top,
- }));
- !n &&
- ((e.left >= m.right && e.top >= m.top) ||
- (e.left >= m.left && e.top >= m.bottom)) &&
- (i = d + 1);
- }
- }
- return (
- !n && a && ((n = a), (o = u), (r = 0)),
- n && n.nodeType == 3
- ? XM(n, o)
- : !n || (r && n.nodeType == 1)
- ? { node: t, offset: i }
- : Mv(n, o)
- );
-}
-function XM(t, e) {
- let n = t.nodeValue.length,
- r = document.createRange();
- for (let o = 0; o < n; o++) {
- r.setEnd(t, o + 1), r.setStart(t, o);
- let i = Dr(r, 1);
- if (i.top != i.bottom && mh(e, i))
- return {
- node: t,
- offset: o + (e.left >= (i.left + i.right) / 2 ? 1 : 0),
- };
- }
- return { node: t, offset: 0 };
-}
-function mh(t, e) {
- return (
- t.left >= e.left - 1 &&
- t.left <= e.right + 1 &&
- t.top >= e.top - 1 &&
- t.top <= e.bottom + 1
- );
-}
-function ZM(t, e) {
- let n = t.parentNode;
- return n &&
- /^li$/i.test(n.nodeName) &&
- e.left < t.getBoundingClientRect().left
- ? n
- : t;
-}
-function eE(t, e, n) {
- let { node: r, offset: o } = Mv(e, n),
- i = -1;
- if (r.nodeType == 1 && !r.firstChild) {
- let s = r.getBoundingClientRect();
- i = s.left != s.right && n.left > (s.left + s.right) / 2 ? 1 : -1;
- }
- return t.docView.posFromDOM(r, o, i);
-}
-function tE(t, e, n, r) {
- let o = -1;
- for (let i = e, s = !1; i != t.dom; ) {
- let l = t.docView.nearestDesc(i, !0);
- if (!l) return null;
- if (
- l.dom.nodeType == 1 &&
- ((l.node.isBlock && l.parent && !s) || !l.contentDOM)
- ) {
- let a = l.dom.getBoundingClientRect();
- if (
- (l.node.isBlock &&
- l.parent &&
- !s &&
- ((s = !0),
- a.left > r.left || a.top > r.top
- ? (o = l.posBefore)
- : (a.right < r.left || a.bottom < r.top) &&
- (o = l.posAfter)),
- !l.contentDOM && o < 0 && !l.node.isText)
- )
- return (
- l.node.isBlock
- ? r.top < (a.top + a.bottom) / 2
- : r.left < (a.left + a.right) / 2
- )
- ? l.posBefore
- : l.posAfter;
- }
- i = l.dom.parentNode;
- }
- return o > -1 ? o : t.docView.posFromDOM(e, n, -1);
-}
-function Ev(t, e, n) {
- let r = t.childNodes.length;
- if (r && n.top < n.bottom)
- for (
- let o = Math.max(
- 0,
- Math.min(
- r - 1,
- Math.floor((r * (e.top - n.top)) / (n.bottom - n.top)) -
- 2
- )
- ),
- i = o;
- ;
-
- ) {
- let s = t.childNodes[i];
- if (s.nodeType == 1) {
- let l = s.getClientRects();
- for (let a = 0; a < l.length; a++) {
- let u = l[a];
- if (mh(e, u)) return Ev(s, e, u);
- }
- }
- if ((i = (i + 1) % r) == o) break;
- }
- return t;
-}
-function nE(t, e) {
- let n = t.dom.ownerDocument,
- r,
- o = 0,
- i = VM(n, e.left, e.top);
- i && ({ node: r, offset: o } = i);
- let s = (t.root.elementFromPoint ? t.root : n).elementFromPoint(
- e.left,
- e.top
- ),
- l;
- if (!s || !t.dom.contains(s.nodeType != 1 ? s.parentNode : s)) {
- let u = t.dom.getBoundingClientRect();
- if (!mh(e, u) || ((s = Ev(t.dom, e, u)), !s)) return null;
- }
- if (nn) for (let u = s; r && u; u = js(u)) u.draggable && (r = void 0);
- if (((s = ZM(s, e)), r)) {
- if (
- Vn &&
- r.nodeType == 1 &&
- ((o = Math.min(o, r.childNodes.length)), o < r.childNodes.length)
- ) {
- let c = r.childNodes[o],
- d;
- c.nodeName == "IMG" &&
- (d = c.getBoundingClientRect()).right <= e.left &&
- d.bottom > e.top &&
- o++;
- }
- let u;
- nl &&
- o &&
- r.nodeType == 1 &&
- (u = r.childNodes[o - 1]).nodeType == 1 &&
- u.contentEditable == "false" &&
- u.getBoundingClientRect().top >= e.top &&
- o--,
- r == t.dom &&
- o == r.childNodes.length - 1 &&
- r.lastChild.nodeType == 1 &&
- e.top > r.lastChild.getBoundingClientRect().bottom
- ? (l = t.state.doc.content.size)
- : (o == 0 ||
- r.nodeType != 1 ||
- r.childNodes[o - 1].nodeName != "BR") &&
- (l = tE(t, r, o, e));
- }
- l == null && (l = eE(t, s, e));
- let a = t.docView.nearestDesc(s, !0);
- return { pos: l, inside: a ? a.posAtStart - a.border : -1 };
-}
-function Km(t) {
- return t.top < t.bottom || t.left < t.right;
-}
-function Dr(t, e) {
- let n = t.getClientRects();
- if (n.length) {
- let r = n[e < 0 ? 0 : n.length - 1];
- if (Km(r)) return r;
- }
- return Array.prototype.find.call(n, Km) || t.getBoundingClientRect();
-}
-const rE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;
-function Tv(t, e, n) {
- let {
- node: r,
- offset: o,
- atom: i,
- } = t.docView.domFromPos(e, n < 0 ? -1 : 1),
- s = nl || Vn;
- if (r.nodeType == 3)
- if (
- s &&
- (rE.test(r.nodeValue) || (n < 0 ? !o : o == r.nodeValue.length))
- ) {
- let a = Dr(wr(r, o, o), n);
- if (
- Vn &&
- o &&
- /\s/.test(r.nodeValue[o - 1]) &&
- o < r.nodeValue.length
- ) {
- let u = Dr(wr(r, o - 1, o - 1), -1);
- if (u.top == a.top) {
- let c = Dr(wr(r, o, o + 1), -1);
- if (c.top != a.top) return Qi(c, c.left < u.left);
- }
- }
- return a;
- } else {
- let a = o,
- u = o,
- c = n < 0 ? 1 : -1;
- return (
- n < 0 && !o
- ? (u++, (c = -1))
- : n >= 0 && o == r.nodeValue.length
- ? (a--, (c = 1))
- : n < 0
- ? a--
- : u++,
- Qi(Dr(wr(r, a, u), c), c < 0)
- );
- }
- if (!t.state.doc.resolve(e - (i || 0)).parent.inlineContent) {
- if (i == null && o && (n < 0 || o == Zn(r))) {
- let a = r.childNodes[o - 1];
- if (a.nodeType == 1) return jc(a.getBoundingClientRect(), !1);
- }
- if (i == null && o < Zn(r)) {
- let a = r.childNodes[o];
- if (a.nodeType == 1) return jc(a.getBoundingClientRect(), !0);
- }
- return jc(r.getBoundingClientRect(), n >= 0);
- }
- if (i == null && o && (n < 0 || o == Zn(r))) {
- let a = r.childNodes[o - 1],
- u =
- a.nodeType == 3
- ? wr(a, Zn(a) - (s ? 0 : 1))
- : a.nodeType == 1 && (a.nodeName != "BR" || !a.nextSibling)
- ? a
- : null;
- if (u) return Qi(Dr(u, 1), !1);
- }
- if (i == null && o < Zn(r)) {
- let a = r.childNodes[o];
- for (; a.pmViewDesc && a.pmViewDesc.ignoreForCoords; )
- a = a.nextSibling;
- let u = a
- ? a.nodeType == 3
- ? wr(a, 0, s ? 0 : 1)
- : a.nodeType == 1
- ? a
- : null
- : null;
- if (u) return Qi(Dr(u, -1), !0);
- }
- return Qi(Dr(r.nodeType == 3 ? wr(r) : r, -n), n >= 0);
-}
-function Qi(t, e) {
- if (t.width == 0) return t;
- let n = e ? t.left : t.right;
- return { top: t.top, bottom: t.bottom, left: n, right: n };
-}
-function jc(t, e) {
- if (t.height == 0) return t;
- let n = e ? t.top : t.bottom;
- return { top: n, bottom: n, left: t.left, right: t.right };
-}
-function Av(t, e, n) {
- let r = t.state,
- o = t.root.activeElement;
- r != e && t.updateState(e), o != t.dom && t.focus();
- try {
- return n();
- } finally {
- r != e && t.updateState(r), o != t.dom && o && o.focus();
- }
-}
-function oE(t, e, n) {
- let r = e.selection,
- o = n == "up" ? r.$from : r.$to;
- return Av(t, e, () => {
- let { node: i } = t.docView.domFromPos(o.pos, n == "up" ? -1 : 1);
- for (;;) {
- let l = t.docView.nearestDesc(i, !0);
- if (!l) break;
- if (l.node.isBlock) {
- i = l.contentDOM || l.dom;
- break;
- }
- i = l.dom.parentNode;
- }
- let s = Tv(t, o.pos, 1);
- for (let l = i.firstChild; l; l = l.nextSibling) {
- let a;
- if (l.nodeType == 1) a = l.getClientRects();
- else if (l.nodeType == 3)
- a = wr(l, 0, l.nodeValue.length).getClientRects();
- else continue;
- for (let u = 0; u < a.length; u++) {
- let c = a[u];
- if (
- c.bottom > c.top + 1 &&
- (n == "up"
- ? s.top - c.top > (c.bottom - s.top) * 2
- : c.bottom - s.bottom > (s.bottom - c.top) * 2)
- )
- return !1;
- }
- }
- return !0;
- });
-}
-const iE = /[\u0590-\u08ac]/;
-function sE(t, e, n) {
- let { $head: r } = e.selection;
- if (!r.parent.isTextblock) return !1;
- let o = r.parentOffset,
- i = !o,
- s = o == r.parent.content.size,
- l = t.domSelection();
- return !iE.test(r.parent.textContent) || !l.modify
- ? n == "left" || n == "backward"
- ? i
- : s
- : Av(t, e, () => {
- let {
- focusNode: a,
- focusOffset: u,
- anchorNode: c,
- anchorOffset: d,
- } = t.domSelectionRange(),
- f = l.caretBidiLevel;
- l.modify("move", n, "character");
- let p = r.depth ? t.docView.domAfterPos(r.before()) : t.dom,
- { focusNode: m, focusOffset: y } = t.domSelectionRange(),
- v =
- (m &&
- !p.contains(m.nodeType == 1 ? m : m.parentNode)) ||
- (a == m && u == y);
- try {
- l.collapse(c, d),
- a && (a != c || u != d) && l.extend && l.extend(a, u);
- } catch (w) {}
- return f != null && (l.caretBidiLevel = f), v;
- });
-}
-let qm = null,
- Jm = null,
- Gm = !1;
-function lE(t, e, n) {
- return qm == e && Jm == n
- ? Gm
- : ((qm = e),
- (Jm = n),
- (Gm = n == "up" || n == "down" ? oE(t, e, n) : sE(t, e, n)));
-}
-const On = 0,
- Ym = 1,
- Eo = 2,
- cr = 3;
-class rl {
- constructor(e, n, r, o) {
- (this.parent = e),
- (this.children = n),
- (this.dom = r),
- (this.contentDOM = o),
- (this.dirty = On),
- (r.pmViewDesc = this);
- }
- matchesWidget(e) {
- return !1;
- }
- matchesMark(e) {
- return !1;
- }
- matchesNode(e, n, r) {
- return !1;
- }
- matchesHack(e) {
- return !1;
- }
- parseRule() {
- return null;
- }
- stopEvent(e) {
- return !1;
- }
- get size() {
- let e = 0;
- for (let n = 0; n < this.children.length; n++)
- e += this.children[n].size;
- return e;
- }
- get border() {
- return 0;
- }
- destroy() {
- (this.parent = void 0),
- this.dom.pmViewDesc == this && (this.dom.pmViewDesc = void 0);
- for (let e = 0; e < this.children.length; e++)
- this.children[e].destroy();
- }
- posBeforeChild(e) {
- for (let n = 0, r = this.posAtStart; ; n++) {
- let o = this.children[n];
- if (o == e) return r;
- r += o.size;
- }
- }
- get posBefore() {
- return this.parent.posBeforeChild(this);
- }
- get posAtStart() {
- return this.parent ? this.parent.posBeforeChild(this) + this.border : 0;
- }
- get posAfter() {
- return this.posBefore + this.size;
- }
- get posAtEnd() {
- return this.posAtStart + this.size - 2 * this.border;
- }
- localPosFromDOM(e, n, r) {
- if (
- this.contentDOM &&
- this.contentDOM.contains(e.nodeType == 1 ? e : e.parentNode)
- )
- if (r < 0) {
- let i, s;
- if (e == this.contentDOM) i = e.childNodes[n - 1];
- else {
- for (; e.parentNode != this.contentDOM; ) e = e.parentNode;
- i = e.previousSibling;
- }
- for (; i && !((s = i.pmViewDesc) && s.parent == this); )
- i = i.previousSibling;
- return i ? this.posBeforeChild(s) + s.size : this.posAtStart;
- } else {
- let i, s;
- if (e == this.contentDOM) i = e.childNodes[n];
- else {
- for (; e.parentNode != this.contentDOM; ) e = e.parentNode;
- i = e.nextSibling;
- }
- for (; i && !((s = i.pmViewDesc) && s.parent == this); )
- i = i.nextSibling;
- return i ? this.posBeforeChild(s) : this.posAtEnd;
- }
- let o;
- if (e == this.dom && this.contentDOM) o = n > en(this.contentDOM);
- else if (
- this.contentDOM &&
- this.contentDOM != this.dom &&
- this.dom.contains(this.contentDOM)
- )
- o = e.compareDocumentPosition(this.contentDOM) & 2;
- else if (this.dom.firstChild) {
- if (n == 0)
- for (let i = e; ; i = i.parentNode) {
- if (i == this.dom) {
- o = !1;
- break;
- }
- if (i.previousSibling) break;
- }
- if (o == null && n == e.childNodes.length)
- for (let i = e; ; i = i.parentNode) {
- if (i == this.dom) {
- o = !0;
- break;
- }
- if (i.nextSibling) break;
- }
- }
- return (o == null ? r > 0 : o) ? this.posAtEnd : this.posAtStart;
- }
- nearestDesc(e, n = !1) {
- for (let r = !0, o = e; o; o = o.parentNode) {
- let i = this.getDesc(o),
- s;
- if (i && (!n || i.node))
- if (
- r &&
- (s = i.nodeDOM) &&
- !(s.nodeType == 1
- ? s.contains(e.nodeType == 1 ? e : e.parentNode)
- : s == e)
- )
- r = !1;
- else return i;
- }
- }
- getDesc(e) {
- let n = e.pmViewDesc;
- for (let r = n; r; r = r.parent) if (r == this) return n;
- }
- posFromDOM(e, n, r) {
- for (let o = e; o; o = o.parentNode) {
- let i = this.getDesc(o);
- if (i) return i.localPosFromDOM(e, n, r);
- }
- return -1;
- }
- descAt(e) {
- for (let n = 0, r = 0; n < this.children.length; n++) {
- let o = this.children[n],
- i = r + o.size;
- if (r == e && i != r) {
- for (; !o.border && o.children.length; ) o = o.children[0];
- return o;
- }
- if (e < i) return o.descAt(e - r - o.border);
- r = i;
- }
- }
- domFromPos(e, n) {
- if (!this.contentDOM) return { node: this.dom, offset: 0, atom: e + 1 };
- let r = 0,
- o = 0;
- for (let i = 0; r < this.children.length; r++) {
- let s = this.children[r],
- l = i + s.size;
- if (l > e || s instanceof Rv) {
- o = e - i;
- break;
- }
- i = l;
- }
- if (o)
- return this.children[r].domFromPos(o - this.children[r].border, n);
- for (
- let i;
- r &&
- !(i = this.children[r - 1]).size &&
- i instanceof Ov &&
- i.side >= 0;
- r--
- );
- if (n <= 0) {
- let i,
- s = !0;
- for (
- ;
- (i = r ? this.children[r - 1] : null),
- !(!i || i.dom.parentNode == this.contentDOM);
- r--, s = !1
- );
- return i && n && s && !i.border && !i.domAtom
- ? i.domFromPos(i.size, n)
- : { node: this.contentDOM, offset: i ? en(i.dom) + 1 : 0 };
- } else {
- let i,
- s = !0;
- for (
- ;
- (i = r < this.children.length ? this.children[r] : null),
- !(!i || i.dom.parentNode == this.contentDOM);
- r++, s = !1
- );
- return i && s && !i.border && !i.domAtom
- ? i.domFromPos(0, n)
- : {
- node: this.contentDOM,
- offset: i
- ? en(i.dom)
- : this.contentDOM.childNodes.length,
- };
- }
- }
- parseRange(e, n, r = 0) {
- if (this.children.length == 0)
- return {
- node: this.contentDOM,
- from: e,
- to: n,
- fromOffset: 0,
- toOffset: this.contentDOM.childNodes.length,
- };
- let o = -1,
- i = -1;
- for (let s = r, l = 0; ; l++) {
- let a = this.children[l],
- u = s + a.size;
- if (o == -1 && e <= u) {
- let c = s + a.border;
- if (
- e >= c &&
- n <= u - a.border &&
- a.node &&
- a.contentDOM &&
- this.contentDOM.contains(a.contentDOM)
- )
- return a.parseRange(e, n, c);
- e = s;
- for (let d = l; d > 0; d--) {
- let f = this.children[d - 1];
- if (
- f.size &&
- f.dom.parentNode == this.contentDOM &&
- !f.emptyChildAt(1)
- ) {
- o = en(f.dom) + 1;
- break;
- }
- e -= f.size;
- }
- o == -1 && (o = 0);
- }
- if (o > -1 && (u > n || l == this.children.length - 1)) {
- n = u;
- for (let c = l + 1; c < this.children.length; c++) {
- let d = this.children[c];
- if (
- d.size &&
- d.dom.parentNode == this.contentDOM &&
- !d.emptyChildAt(-1)
- ) {
- i = en(d.dom);
- break;
- }
- n += d.size;
- }
- i == -1 && (i = this.contentDOM.childNodes.length);
- break;
- }
- s = u;
- }
- return {
- node: this.contentDOM,
- from: e,
- to: n,
- fromOffset: o,
- toOffset: i,
- };
- }
- emptyChildAt(e) {
- if (this.border || !this.contentDOM || !this.children.length) return !1;
- let n = this.children[e < 0 ? 0 : this.children.length - 1];
- return n.size == 0 || n.emptyChildAt(e);
- }
- domAfterPos(e) {
- let { node: n, offset: r } = this.domFromPos(e, 0);
- if (n.nodeType != 1 || r == n.childNodes.length)
- throw new RangeError("No node after pos " + e);
- return n.childNodes[r];
- }
- setSelection(e, n, r, o = !1) {
- let i = Math.min(e, n),
- s = Math.max(e, n);
- for (let f = 0, p = 0; f < this.children.length; f++) {
- let m = this.children[f],
- y = p + m.size;
- if (i > p && s < y)
- return m.setSelection(e - p - m.border, n - p - m.border, r, o);
- p = y;
- }
- let l = this.domFromPos(e, e ? -1 : 1),
- a = n == e ? l : this.domFromPos(n, n ? -1 : 1),
- u = r.getSelection(),
- c = !1;
- if ((Vn || nn) && e == n) {
- let { node: f, offset: p } = l;
- if (f.nodeType == 3) {
- if (
- ((c = !!(
- p &&
- f.nodeValue[p - 1] ==
- `
-`
- )),
- c && p == f.nodeValue.length)
- )
- for (let m = f, y; m; m = m.parentNode) {
- if ((y = m.nextSibling)) {
- y.nodeName == "BR" &&
- (l = a =
- { node: y.parentNode, offset: en(y) + 1 });
- break;
- }
- let v = m.pmViewDesc;
- if (v && v.node && v.node.isBlock) break;
- }
- } else {
- let m = f.childNodes[p - 1];
- c = m && (m.nodeName == "BR" || m.contentEditable == "false");
- }
- }
- if (
- Vn &&
- u.focusNode &&
- u.focusNode != a.node &&
- u.focusNode.nodeType == 1
- ) {
- let f = u.focusNode.childNodes[u.focusOffset];
- f && f.contentEditable == "false" && (o = !0);
- }
- if (
- !(o || (c && nn)) &&
- Ho(l.node, l.offset, u.anchorNode, u.anchorOffset) &&
- Ho(a.node, a.offset, u.focusNode, u.focusOffset)
- )
- return;
- let d = !1;
- if ((u.extend || e == n) && !c) {
- u.collapse(l.node, l.offset);
- try {
- e != n && u.extend(a.node, a.offset), (d = !0);
- } catch (f) {}
- }
- if (!d) {
- if (e > n) {
- let p = l;
- (l = a), (a = p);
- }
- let f = document.createRange();
- f.setEnd(a.node, a.offset),
- f.setStart(l.node, l.offset),
- u.removeAllRanges(),
- u.addRange(f);
- }
- }
- ignoreMutation(e) {
- return !this.contentDOM && e.type != "selection";
- }
- get contentLost() {
- return (
- this.contentDOM &&
- this.contentDOM != this.dom &&
- !this.dom.contains(this.contentDOM)
- );
- }
- markDirty(e, n) {
- for (let r = 0, o = 0; o < this.children.length; o++) {
- let i = this.children[o],
- s = r + i.size;
- if (r == s ? e <= s && n >= r : e < s && n > r) {
- let l = r + i.border,
- a = s - i.border;
- if (e >= l && n <= a) {
- (this.dirty = e == r || n == s ? Eo : Ym),
- e == l &&
- n == a &&
- (i.contentLost || i.dom.parentNode != this.contentDOM)
- ? (i.dirty = cr)
- : i.markDirty(e - l, n - l);
- return;
- } else
- i.dirty =
- i.dom == i.contentDOM &&
- i.dom.parentNode == this.contentDOM &&
- !i.children.length
- ? Eo
- : cr;
- }
- r = s;
- }
- this.dirty = Eo;
- }
- markParentsDirty() {
- let e = 1;
- for (let n = this.parent; n; n = n.parent, e++) {
- let r = e == 1 ? Eo : Ym;
- n.dirty < r && (n.dirty = r);
- }
- }
- get domAtom() {
- return !1;
- }
- get ignoreForCoords() {
- return !1;
- }
-}
-class Ov extends rl {
- constructor(e, n, r, o) {
- let i,
- s = n.type.toDOM;
- if (
- (typeof s == "function" &&
- (s = s(r, () => {
- if (!i) return o;
- if (i.parent) return i.parent.posBeforeChild(i);
- })),
- !n.type.spec.raw)
- ) {
- if (s.nodeType != 1) {
- let l = document.createElement("span");
- l.appendChild(s), (s = l);
- }
- (s.contentEditable = "false"),
- s.classList.add("ProseMirror-widget");
- }
- super(e, [], s, null), (this.widget = n), (this.widget = n), (i = this);
- }
- matchesWidget(e) {
- return this.dirty == On && e.type.eq(this.widget.type);
- }
- parseRule() {
- return { ignore: !0 };
- }
- stopEvent(e) {
- let n = this.widget.spec.stopEvent;
- return n ? n(e) : !1;
- }
- ignoreMutation(e) {
- return e.type != "selection" || this.widget.spec.ignoreSelection;
- }
- destroy() {
- this.widget.type.destroy(this.dom), super.destroy();
- }
- get domAtom() {
- return !0;
- }
- get side() {
- return this.widget.type.side;
- }
-}
-class aE extends rl {
- constructor(e, n, r, o) {
- super(e, [], n, null), (this.textDOM = r), (this.text = o);
- }
- get size() {
- return this.text.length;
- }
- localPosFromDOM(e, n) {
- return e != this.textDOM
- ? this.posAtStart + (n ? this.size : 0)
- : this.posAtStart + n;
- }
- domFromPos(e) {
- return { node: this.textDOM, offset: e };
- }
- ignoreMutation(e) {
- return e.type === "characterData" && e.target.nodeValue == e.oldValue;
- }
-}
-class Fo extends rl {
- constructor(e, n, r, o) {
- super(e, [], r, o), (this.mark = n);
- }
- static create(e, n, r, o) {
- let i = o.nodeViews[n.type.name],
- s = i && i(n, o, r);
- return (
- (!s || !s.dom) &&
- (s = tr.renderSpec(document, n.type.spec.toDOM(n, r))),
- new Fo(e, n, s.dom, s.contentDOM || s.dom)
- );
- }
- parseRule() {
- return this.dirty & cr || this.mark.type.spec.reparseInView
- ? null
- : {
- mark: this.mark.type.name,
- attrs: this.mark.attrs,
- contentElement: this.contentDOM,
- };
- }
- matchesMark(e) {
- return this.dirty != cr && this.mark.eq(e);
- }
- markDirty(e, n) {
- if ((super.markDirty(e, n), this.dirty != On)) {
- let r = this.parent;
- for (; !r.node; ) r = r.parent;
- r.dirty < this.dirty && (r.dirty = this.dirty), (this.dirty = On);
- }
- }
- slice(e, n, r) {
- let o = Fo.create(this.parent, this.mark, !0, r),
- i = this.children,
- s = this.size;
- n < s && (i = Kd(i, n, s, r)), e > 0 && (i = Kd(i, 0, e, r));
- for (let l = 0; l < i.length; l++) i[l].parent = o;
- return (o.children = i), o;
- }
-}
-class no extends rl {
- constructor(e, n, r, o, i, s, l, a, u) {
- super(e, [], i, s),
- (this.node = n),
- (this.outerDeco = r),
- (this.innerDeco = o),
- (this.nodeDOM = l);
- }
- static create(e, n, r, o, i, s) {
- let l = i.nodeViews[n.type.name],
- a,
- u =
- l &&
- l(
- n,
- i,
- () => {
- if (!a) return s;
- if (a.parent) return a.parent.posBeforeChild(a);
- },
- r,
- o
- ),
- c = u && u.dom,
- d = u && u.contentDOM;
- if (n.isText) {
- if (!c) c = document.createTextNode(n.text);
- else if (c.nodeType != 3)
- throw new RangeError(
- "Text must be rendered as a DOM text node"
- );
- } else
- c ||
- ({ dom: c, contentDOM: d } = tr.renderSpec(
- document,
- n.type.spec.toDOM(n)
- ));
- !d &&
- !n.isText &&
- c.nodeName != "BR" &&
- (c.hasAttribute("contenteditable") || (c.contentEditable = "false"),
- n.type.spec.draggable && (c.draggable = !0));
- let f = c;
- return (
- (c = Nv(c, r, n)),
- u
- ? (a = new uE(e, n, r, o, c, d || null, f, u, i, s + 1))
- : n.isText
- ? new Uu(e, n, r, o, c, f, i)
- : new no(e, n, r, o, c, d || null, f, i, s + 1)
- );
- }
- parseRule() {
- if (this.node.type.spec.reparseInView) return null;
- let e = { node: this.node.type.name, attrs: this.node.attrs };
- if (
- (this.node.type.whitespace == "pre" &&
- (e.preserveWhitespace = "full"),
- !this.contentDOM)
- )
- e.getContent = () => this.node.content;
- else if (!this.contentLost) e.contentElement = this.contentDOM;
- else {
- for (let n = this.children.length - 1; n >= 0; n--) {
- let r = this.children[n];
- if (this.dom.contains(r.dom.parentNode)) {
- e.contentElement = r.dom.parentNode;
- break;
- }
- }
- e.contentElement || (e.getContent = () => J.empty);
- }
- return e;
- }
- matchesNode(e, n, r) {
- return (
- this.dirty == On &&
- e.eq(this.node) &&
- Ud(n, this.outerDeco) &&
- r.eq(this.innerDeco)
- );
- }
- get size() {
- return this.node.nodeSize;
- }
- get border() {
- return this.node.isLeaf ? 0 : 1;
- }
- updateChildren(e, n) {
- let r = this.node.inlineContent,
- o = n,
- i = e.composing ? this.localCompositionInfo(e, n) : null,
- s = i && i.pos > -1 ? i : null,
- l = i && i.pos < 0,
- a = new dE(this, s && s.node, e);
- pE(
- this.node,
- this.innerDeco,
- (u, c, d) => {
- u.spec.marks
- ? a.syncToMarks(u.spec.marks, r, e)
- : u.type.side >= 0 &&
- !d &&
- a.syncToMarks(
- c == this.node.childCount
- ? ot.none
- : this.node.child(c).marks,
- r,
- e
- ),
- a.placeWidget(u, e, o);
- },
- (u, c, d, f) => {
- a.syncToMarks(u.marks, r, e);
- let p;
- a.findNodeMatch(u, c, d, f) ||
- (l &&
- e.state.selection.from > o &&
- e.state.selection.to < o + u.nodeSize &&
- (p = a.findIndexWithChild(i.node)) > -1 &&
- a.updateNodeAt(u, c, d, p, e)) ||
- a.updateNextNode(u, c, d, e, f, o) ||
- a.addNode(u, c, d, e, o),
- (o += u.nodeSize);
- }
- ),
- a.syncToMarks([], r, e),
- this.node.isTextblock && a.addTextblockHacks(),
- a.destroyRest(),
- (a.changed || this.dirty == Eo) &&
- (s && this.protectLocalComposition(e, s),
- Pv(this.contentDOM, this.children, e),
- Ni && mE(this.dom));
- }
- localCompositionInfo(e, n) {
- let { from: r, to: o } = e.state.selection;
- if (
- !(e.state.selection instanceof Se) ||
- r < n ||
- o > n + this.node.content.size
- )
- return null;
- let i = e.domSelectionRange(),
- s = gE(i.focusNode, i.focusOffset);
- if (!s || !this.dom.contains(s.parentNode)) return null;
- if (this.node.inlineContent) {
- let l = s.nodeValue,
- a = yE(this.node.content, l, r - n, o - n);
- return a < 0 ? null : { node: s, pos: a, text: l };
- } else return { node: s, pos: -1, text: "" };
- }
- protectLocalComposition(e, { node: n, pos: r, text: o }) {
- if (this.getDesc(n)) return;
- let i = n;
- for (; i.parentNode != this.contentDOM; i = i.parentNode) {
- for (; i.previousSibling; )
- i.parentNode.removeChild(i.previousSibling);
- for (; i.nextSibling; ) i.parentNode.removeChild(i.nextSibling);
- i.pmViewDesc && (i.pmViewDesc = void 0);
- }
- let s = new aE(this, i, n, o);
- e.input.compositionNodes.push(s),
- (this.children = Kd(this.children, r, r + o.length, e, s));
- }
- update(e, n, r, o) {
- return this.dirty == cr || !e.sameMarkup(this.node)
- ? !1
- : (this.updateInner(e, n, r, o), !0);
- }
- updateInner(e, n, r, o) {
- this.updateOuterDeco(n),
- (this.node = e),
- (this.innerDeco = r),
- this.contentDOM && this.updateChildren(o, this.posAtStart),
- (this.dirty = On);
- }
- updateOuterDeco(e) {
- if (Ud(e, this.outerDeco)) return;
- let n = this.nodeDOM.nodeType != 1,
- r = this.dom;
- (this.dom = Iv(
- this.dom,
- this.nodeDOM,
- Wd(this.outerDeco, this.node, n),
- Wd(e, this.node, n)
- )),
- this.dom != r &&
- ((r.pmViewDesc = void 0), (this.dom.pmViewDesc = this)),
- (this.outerDeco = e);
- }
- selectNode() {
- this.nodeDOM.nodeType == 1 &&
- this.nodeDOM.classList.add("ProseMirror-selectednode"),
- (this.contentDOM || !this.node.type.spec.draggable) &&
- (this.dom.draggable = !0);
- }
- deselectNode() {
- this.nodeDOM.nodeType == 1 &&
- this.nodeDOM.classList.remove("ProseMirror-selectednode"),
- (this.contentDOM || !this.node.type.spec.draggable) &&
- this.dom.removeAttribute("draggable");
- }
- get domAtom() {
- return this.node.isAtom;
- }
-}
-function Qm(t, e, n, r, o) {
- Nv(r, e, t);
- let i = new no(void 0, t, e, n, r, r, r, o, 0);
- return i.contentDOM && i.updateChildren(o, 0), i;
-}
-class Uu extends no {
- constructor(e, n, r, o, i, s, l) {
- super(e, n, r, o, i, null, s, l, 0);
- }
- parseRule() {
- let e = this.nodeDOM.parentNode;
- for (; e && e != this.dom && !e.pmIsDeco; ) e = e.parentNode;
- return { skip: e || !0 };
- }
- update(e, n, r, o) {
- return this.dirty == cr ||
- (this.dirty != On && !this.inParent()) ||
- !e.sameMarkup(this.node)
- ? !1
- : (this.updateOuterDeco(n),
- (this.dirty != On || e.text != this.node.text) &&
- e.text != this.nodeDOM.nodeValue &&
- ((this.nodeDOM.nodeValue = e.text),
- o.trackWrites == this.nodeDOM && (o.trackWrites = null)),
- (this.node = e),
- (this.dirty = On),
- !0);
- }
- inParent() {
- let e = this.parent.contentDOM;
- for (let n = this.nodeDOM; n; n = n.parentNode) if (n == e) return !0;
- return !1;
- }
- domFromPos(e) {
- return { node: this.nodeDOM, offset: e };
- }
- localPosFromDOM(e, n, r) {
- return e == this.nodeDOM
- ? this.posAtStart + Math.min(n, this.node.text.length)
- : super.localPosFromDOM(e, n, r);
- }
- ignoreMutation(e) {
- return e.type != "characterData" && e.type != "selection";
- }
- slice(e, n, r) {
- let o = this.node.cut(e, n),
- i = document.createTextNode(o.text);
- return new Uu(this.parent, o, this.outerDeco, this.innerDeco, i, i, r);
- }
- markDirty(e, n) {
- super.markDirty(e, n),
- this.dom != this.nodeDOM &&
- (e == 0 || n == this.nodeDOM.nodeValue.length) &&
- (this.dirty = cr);
- }
- get domAtom() {
- return !1;
- }
-}
-class Rv extends rl {
- parseRule() {
- return { ignore: !0 };
- }
- matchesHack(e) {
- return this.dirty == On && this.dom.nodeName == e;
- }
- get domAtom() {
- return !0;
- }
- get ignoreForCoords() {
- return this.dom.nodeName == "IMG";
- }
-}
-class uE extends no {
- constructor(e, n, r, o, i, s, l, a, u, c) {
- super(e, n, r, o, i, s, l, u, c), (this.spec = a);
- }
- update(e, n, r, o) {
- if (this.dirty == cr) return !1;
- if (this.spec.update) {
- let i = this.spec.update(e, n, r);
- return i && this.updateInner(e, n, r, o), i;
- } else
- return !this.contentDOM && !e.isLeaf
- ? !1
- : super.update(e, n, r, o);
- }
- selectNode() {
- this.spec.selectNode ? this.spec.selectNode() : super.selectNode();
- }
- deselectNode() {
- this.spec.deselectNode
- ? this.spec.deselectNode()
- : super.deselectNode();
- }
- setSelection(e, n, r, o) {
- this.spec.setSelection
- ? this.spec.setSelection(e, n, r)
- : super.setSelection(e, n, r, o);
- }
- destroy() {
- this.spec.destroy && this.spec.destroy(), super.destroy();
- }
- stopEvent(e) {
- return this.spec.stopEvent ? this.spec.stopEvent(e) : !1;
- }
- ignoreMutation(e) {
- return this.spec.ignoreMutation
- ? this.spec.ignoreMutation(e)
- : super.ignoreMutation(e);
- }
-}
-function Pv(t, e, n) {
- let r = t.firstChild,
- o = !1;
- for (let i = 0; i < e.length; i++) {
- let s = e[i],
- l = s.dom;
- if (l.parentNode == t) {
- for (; l != r; ) (r = Xm(r)), (o = !0);
- r = r.nextSibling;
- } else (o = !0), t.insertBefore(l, r);
- if (s instanceof Fo) {
- let a = r ? r.previousSibling : t.lastChild;
- Pv(s.contentDOM, s.children, n),
- (r = a ? a.nextSibling : t.firstChild);
- }
- }
- for (; r; ) (r = Xm(r)), (o = !0);
- o && n.trackWrites == t && (n.trackWrites = null);
-}
-const gs = function (t) {
- t && (this.nodeName = t);
-};
-gs.prototype = Object.create(null);
-const To = [new gs()];
-function Wd(t, e, n) {
- if (t.length == 0) return To;
- let r = n ? To[0] : new gs(),
- o = [r];
- for (let i = 0; i < t.length; i++) {
- let s = t[i].type.attrs;
- if (s) {
- s.nodeName && o.push((r = new gs(s.nodeName)));
- for (let l in s) {
- let a = s[l];
- a != null &&
- (n &&
- o.length == 1 &&
- o.push((r = new gs(e.isInline ? "span" : "div"))),
- l == "class"
- ? (r.class = (r.class ? r.class + " " : "") + a)
- : l == "style"
- ? (r.style = (r.style ? r.style + ";" : "") + a)
- : l != "nodeName" && (r[l] = a));
- }
- }
- }
- return o;
-}
-function Iv(t, e, n, r) {
- if (n == To && r == To) return e;
- let o = e;
- for (let i = 0; i < r.length; i++) {
- let s = r[i],
- l = n[i];
- if (i) {
- let a;
- (l &&
- l.nodeName == s.nodeName &&
- o != t &&
- (a = o.parentNode) &&
- a.nodeName.toLowerCase() == s.nodeName) ||
- ((a = document.createElement(s.nodeName)),
- (a.pmIsDeco = !0),
- a.appendChild(o),
- (l = To[0])),
- (o = a);
- }
- cE(o, l || To[0], s);
- }
- return o;
-}
-function cE(t, e, n) {
- for (let r in e)
- r != "class" &&
- r != "style" &&
- r != "nodeName" &&
- !(r in n) &&
- t.removeAttribute(r);
- for (let r in n)
- r != "class" &&
- r != "style" &&
- r != "nodeName" &&
- n[r] != e[r] &&
- t.setAttribute(r, n[r]);
- if (e.class != n.class) {
- let r = e.class ? e.class.split(" ").filter(Boolean) : [],
- o = n.class ? n.class.split(" ").filter(Boolean) : [];
- for (let i = 0; i < r.length; i++)
- o.indexOf(r[i]) == -1 && t.classList.remove(r[i]);
- for (let i = 0; i < o.length; i++)
- r.indexOf(o[i]) == -1 && t.classList.add(o[i]);
- t.classList.length == 0 && t.removeAttribute("class");
- }
- if (e.style != n.style) {
- if (e.style) {
- let r =
- /\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,
- o;
- for (; (o = r.exec(e.style)); ) t.style.removeProperty(o[1]);
- }
- n.style && (t.style.cssText += n.style);
- }
-}
-function Nv(t, e, n) {
- return Iv(t, t, To, Wd(e, n, t.nodeType != 1));
-}
-function Ud(t, e) {
- if (t.length != e.length) return !1;
- for (let n = 0; n < t.length; n++) if (!t[n].type.eq(e[n].type)) return !1;
- return !0;
-}
-function Xm(t) {
- let e = t.nextSibling;
- return t.parentNode.removeChild(t), e;
-}
-class dE {
- constructor(e, n, r) {
- (this.lock = n),
- (this.view = r),
- (this.index = 0),
- (this.stack = []),
- (this.changed = !1),
- (this.top = e),
- (this.preMatch = fE(e.node.content, e));
- }
- destroyBetween(e, n) {
- if (e != n) {
- for (let r = e; r < n; r++) this.top.children[r].destroy();
- this.top.children.splice(e, n - e), (this.changed = !0);
- }
- }
- destroyRest() {
- this.destroyBetween(this.index, this.top.children.length);
- }
- syncToMarks(e, n, r) {
- let o = 0,
- i = this.stack.length >> 1,
- s = Math.min(i, e.length);
- for (
- ;
- o < s &&
- (o == i - 1 ? this.top : this.stack[(o + 1) << 1]).matchesMark(
- e[o]
- ) &&
- e[o].type.spec.spanning !== !1;
-
- )
- o++;
- for (; o < i; )
- this.destroyRest(),
- (this.top.dirty = On),
- (this.index = this.stack.pop()),
- (this.top = this.stack.pop()),
- i--;
- for (; i < e.length; ) {
- this.stack.push(this.top, this.index + 1);
- let l = -1;
- for (
- let a = this.index;
- a < Math.min(this.index + 3, this.top.children.length);
- a++
- ) {
- let u = this.top.children[a];
- if (u.matchesMark(e[i]) && !this.isLocked(u.dom)) {
- l = a;
- break;
- }
- }
- if (l > -1)
- l > this.index &&
- ((this.changed = !0), this.destroyBetween(this.index, l)),
- (this.top = this.top.children[this.index]);
- else {
- let a = Fo.create(this.top, e[i], n, r);
- this.top.children.splice(this.index, 0, a),
- (this.top = a),
- (this.changed = !0);
- }
- (this.index = 0), i++;
- }
- }
- findNodeMatch(e, n, r, o) {
- let i = -1,
- s;
- if (
- o >= this.preMatch.index &&
- (s = this.preMatch.matches[o - this.preMatch.index]).parent ==
- this.top &&
- s.matchesNode(e, n, r)
- )
- i = this.top.children.indexOf(s, this.index);
- else
- for (
- let l = this.index,
- a = Math.min(this.top.children.length, l + 5);
- l < a;
- l++
- ) {
- let u = this.top.children[l];
- if (u.matchesNode(e, n, r) && !this.preMatch.matched.has(u)) {
- i = l;
- break;
- }
- }
- return i < 0
- ? !1
- : (this.destroyBetween(this.index, i), this.index++, !0);
- }
- updateNodeAt(e, n, r, o, i) {
- let s = this.top.children[o];
- return (
- s.dirty == cr && s.dom == s.contentDOM && (s.dirty = Eo),
- s.update(e, n, r, i)
- ? (this.destroyBetween(this.index, o), this.index++, !0)
- : !1
- );
- }
- findIndexWithChild(e) {
- for (;;) {
- let n = e.parentNode;
- if (!n) return -1;
- if (n == this.top.contentDOM) {
- let r = e.pmViewDesc;
- if (r) {
- for (let o = this.index; o < this.top.children.length; o++)
- if (this.top.children[o] == r) return o;
- }
- return -1;
- }
- e = n;
- }
- }
- updateNextNode(e, n, r, o, i, s) {
- for (let l = this.index; l < this.top.children.length; l++) {
- let a = this.top.children[l];
- if (a instanceof no) {
- let u = this.preMatch.matched.get(a);
- if (u != null && u != i) return !1;
- let c = a.dom,
- d,
- f =
- this.isLocked(c) &&
- !(
- e.isText &&
- a.node &&
- a.node.isText &&
- a.nodeDOM.nodeValue == e.text &&
- a.dirty != cr &&
- Ud(n, a.outerDeco)
- );
- if (!f && a.update(e, n, r, o))
- return (
- this.destroyBetween(this.index, l),
- a.dom != c && (this.changed = !0),
- this.index++,
- !0
- );
- if (!f && (d = this.recreateWrapper(a, e, n, r, o, s)))
- return (
- (this.top.children[this.index] = d),
- d.contentDOM &&
- ((d.dirty = Eo),
- d.updateChildren(o, s + 1),
- (d.dirty = On)),
- (this.changed = !0),
- this.index++,
- !0
- );
- break;
- }
- }
- return !1;
- }
- recreateWrapper(e, n, r, o, i, s) {
- if (
- e.dirty ||
- n.isAtom ||
- !e.children.length ||
- !e.node.content.eq(n.content)
- )
- return null;
- let l = no.create(this.top, n, r, o, i, s);
- if (l.contentDOM) {
- (l.children = e.children), (e.children = []);
- for (let a of l.children) a.parent = l;
- }
- return e.destroy(), l;
- }
- addNode(e, n, r, o, i) {
- let s = no.create(this.top, e, n, r, o, i);
- s.contentDOM && s.updateChildren(o, i + 1),
- this.top.children.splice(this.index++, 0, s),
- (this.changed = !0);
- }
- placeWidget(e, n, r) {
- let o =
- this.index < this.top.children.length
- ? this.top.children[this.index]
- : null;
- if (
- o &&
- o.matchesWidget(e) &&
- (e == o.widget || !o.widget.type.toDOM.parentNode)
- )
- this.index++;
- else {
- let i = new Ov(this.top, e, n, r);
- this.top.children.splice(this.index++, 0, i), (this.changed = !0);
- }
- }
- addTextblockHacks() {
- let e = this.top.children[this.index - 1],
- n = this.top;
- for (; e instanceof Fo; )
- (n = e), (e = n.children[n.children.length - 1]);
- (!e ||
- !(e instanceof Uu) ||
- /\n$/.test(e.node.text) ||
- (this.view.requiresGeckoHackNode && /\s$/.test(e.node.text))) &&
- ((nn || Kt) &&
- e &&
- e.dom.contentEditable == "false" &&
- this.addHackNode("IMG", n),
- this.addHackNode("BR", this.top));
- }
- addHackNode(e, n) {
- if (
- n == this.top &&
- this.index < n.children.length &&
- n.children[this.index].matchesHack(e)
- )
- this.index++;
- else {
- let r = document.createElement(e);
- e == "IMG" &&
- ((r.className = "ProseMirror-separator"), (r.alt = "")),
- e == "BR" && (r.className = "ProseMirror-trailingBreak");
- let o = new Rv(this.top, [], r, null);
- n != this.top
- ? n.children.push(o)
- : n.children.splice(this.index++, 0, o),
- (this.changed = !0);
- }
- }
- isLocked(e) {
- return (
- this.lock &&
- (e == this.lock ||
- (e.nodeType == 1 && e.contains(this.lock.parentNode)))
- );
- }
-}
-function fE(t, e) {
- let n = e,
- r = n.children.length,
- o = t.childCount,
- i = new Map(),
- s = [];
- e: for (; o > 0; ) {
- let l;
- for (;;)
- if (r) {
- let u = n.children[r - 1];
- if (u instanceof Fo) (n = u), (r = u.children.length);
- else {
- (l = u), r--;
- break;
- }
- } else {
- if (n == e) break e;
- (r = n.parent.children.indexOf(n)), (n = n.parent);
- }
- let a = l.node;
- if (a) {
- if (a != t.child(o - 1)) break;
- --o, i.set(l, o), s.push(l);
- }
- }
- return { index: o, matched: i, matches: s.reverse() };
-}
-function hE(t, e) {
- return t.type.side - e.type.side;
-}
-function pE(t, e, n, r) {
- let o = e.locals(t),
- i = 0;
- if (o.length == 0) {
- for (let u = 0; u < t.childCount; u++) {
- let c = t.child(u);
- r(c, o, e.forChild(i, c), u), (i += c.nodeSize);
- }
- return;
- }
- let s = 0,
- l = [],
- a = null;
- for (let u = 0; ; ) {
- let c, d;
- for (; s < o.length && o[s].to == i; ) {
- let v = o[s++];
- v.widget && (c ? (d || (d = [c])).push(v) : (c = v));
- }
- if (c)
- if (d) {
- d.sort(hE);
- for (let v = 0; v < d.length; v++) n(d[v], u, !!a);
- } else n(c, u, !!a);
- let f, p;
- if (a) (p = -1), (f = a), (a = null);
- else if (u < t.childCount) (p = u), (f = t.child(u++));
- else break;
- for (let v = 0; v < l.length; v++) l[v].to <= i && l.splice(v--, 1);
- for (; s < o.length && o[s].from <= i && o[s].to > i; ) l.push(o[s++]);
- let m = i + f.nodeSize;
- if (f.isText) {
- let v = m;
- s < o.length && o[s].from < v && (v = o[s].from);
- for (let w = 0; w < l.length; w++) l[w].to < v && (v = l[w].to);
- v < m &&
- ((a = f.cut(v - i)), (f = f.cut(0, v - i)), (m = v), (p = -1));
- } else for (; s < o.length && o[s].to < m; ) s++;
- let y =
- f.isInline && !f.isLeaf ? l.filter((v) => !v.inline) : l.slice();
- r(f, y, e.forChild(i, f), p), (i = m);
- }
-}
-function mE(t) {
- if (t.nodeName == "UL" || t.nodeName == "OL") {
- let e = t.style.cssText;
- (t.style.cssText = e + "; list-style: square !important"),
- window.getComputedStyle(t).listStyle,
- (t.style.cssText = e);
- }
-}
-function gE(t, e) {
- for (;;) {
- if (t.nodeType == 3) return t;
- if (t.nodeType == 1 && e > 0) {
- if (t.childNodes.length > e && t.childNodes[e].nodeType == 3)
- return t.childNodes[e];
- (t = t.childNodes[e - 1]), (e = Zn(t));
- } else if (t.nodeType == 1 && e < t.childNodes.length)
- (t = t.childNodes[e]), (e = 0);
- else return null;
- }
-}
-function yE(t, e, n, r) {
- for (let o = 0, i = 0; o < t.childCount && i <= r; ) {
- let s = t.child(o++),
- l = i;
- if (((i += s.nodeSize), !s.isText)) continue;
- let a = s.text;
- for (; o < t.childCount; ) {
- let u = t.child(o++);
- if (((i += u.nodeSize), !u.isText)) break;
- a += u.text;
- }
- if (i >= n) {
- if (i >= r && a.slice(r - e.length - l, r - l) == e)
- return r - e.length;
- let u = l < r ? a.lastIndexOf(e, r - l - 1) : -1;
- if (u >= 0 && u + e.length + l >= n) return l + u;
- if (
- n == r &&
- a.length >= r + e.length - l &&
- a.slice(r - l, r - l + e.length) == e
- )
- return r;
- }
- }
- return -1;
-}
-function Kd(t, e, n, r, o) {
- let i = [];
- for (let s = 0, l = 0; s < t.length; s++) {
- let a = t[s],
- u = l,
- c = (l += a.size);
- u >= n || c <= e
- ? i.push(a)
- : (u < e && i.push(a.slice(0, e - u, r)),
- o && (i.push(o), (o = void 0)),
- c > n && i.push(a.slice(n - u, a.size, r)));
- }
- return i;
-}
-function gh(t, e = null) {
- let n = t.domSelectionRange(),
- r = t.state.doc;
- if (!n.focusNode) return null;
- let o = t.docView.nearestDesc(n.focusNode),
- i = o && o.size == 0,
- s = t.docView.posFromDOM(n.focusNode, n.focusOffset, 1);
- if (s < 0) return null;
- let l = r.resolve(s),
- a,
- u;
- if (Wu(n)) {
- for (a = l; o && !o.node; ) o = o.parent;
- let c = o.node;
- if (
- o &&
- c.isAtom &&
- we.isSelectable(c) &&
- o.parent &&
- !(c.isInline && HM(n.focusNode, n.focusOffset, o.dom))
- ) {
- let d = o.posBefore;
- u = new we(s == d ? l : r.resolve(d));
- }
- } else {
- let c = t.docView.posFromDOM(n.anchorNode, n.anchorOffset, 1);
- if (c < 0) return null;
- a = r.resolve(c);
- }
- if (!u) {
- let c =
- e == "pointer" || (t.state.selection.head < l.pos && !i) ? 1 : -1;
- u = yh(t, a, l, c);
- }
- return u;
-}
-function Dv(t) {
- return t.editable
- ? t.hasFocus()
- : Lv(t) &&
- document.activeElement &&
- document.activeElement.contains(t.dom);
-}
-function Cr(t, e = !1) {
- let n = t.state.selection;
- if ((jv(t, n), !!Dv(t))) {
- if (!e && t.input.mouseDown && t.input.mouseDown.allowDefault && Kt) {
- let r = t.domSelectionRange(),
- o = t.domObserver.currentSelection;
- if (
- r.anchorNode &&
- o.anchorNode &&
- Ho(r.anchorNode, r.anchorOffset, o.anchorNode, o.anchorOffset)
- ) {
- (t.input.mouseDown.delayedSelectionSync = !0),
- t.domObserver.setCurSelection();
- return;
- }
- }
- if ((t.domObserver.disconnectSelection(), t.cursorWrapper)) bE(t);
- else {
- let { anchor: r, head: o } = n,
- i,
- s;
- Zm &&
- !(n instanceof Se) &&
- (n.$from.parent.inlineContent || (i = eg(t, n.from)),
- !n.empty && !n.$from.parent.inlineContent && (s = eg(t, n.to))),
- t.docView.setSelection(r, o, t.root, e),
- Zm && (i && tg(i), s && tg(s)),
- n.visible
- ? t.dom.classList.remove("ProseMirror-hideselection")
- : (t.dom.classList.add("ProseMirror-hideselection"),
- "onselectionchange" in document && vE(t));
- }
- t.domObserver.setCurSelection(), t.domObserver.connectSelection();
- }
-}
-const Zm = nn || (Kt && WM < 63);
-function eg(t, e) {
- let { node: n, offset: r } = t.docView.domFromPos(e, 0),
- o = r < n.childNodes.length ? n.childNodes[r] : null,
- i = r ? n.childNodes[r - 1] : null;
- if (nn && o && o.contentEditable == "false") return Lc(o);
- if (
- (!o || o.contentEditable == "false") &&
- (!i || i.contentEditable == "false")
- ) {
- if (o) return Lc(o);
- if (i) return Lc(i);
- }
-}
-function Lc(t) {
- return (
- (t.contentEditable = "true"),
- nn && t.draggable && ((t.draggable = !1), (t.wasDraggable = !0)),
- t
- );
-}
-function tg(t) {
- (t.contentEditable = "false"),
- t.wasDraggable && ((t.draggable = !0), (t.wasDraggable = null));
-}
-function vE(t) {
- let e = t.dom.ownerDocument;
- e.removeEventListener("selectionchange", t.input.hideSelectionGuard);
- let n = t.domSelectionRange(),
- r = n.anchorNode,
- o = n.anchorOffset;
- e.addEventListener(
- "selectionchange",
- (t.input.hideSelectionGuard = () => {
- (n.anchorNode != r || n.anchorOffset != o) &&
- (e.removeEventListener(
- "selectionchange",
- t.input.hideSelectionGuard
- ),
- setTimeout(() => {
- (!Dv(t) || t.state.selection.visible) &&
- t.dom.classList.remove("ProseMirror-hideselection");
- }, 20));
- })
- );
-}
-function bE(t) {
- let e = t.domSelection(),
- n = document.createRange(),
- r = t.cursorWrapper.dom,
- o = r.nodeName == "IMG";
- o ? n.setEnd(r.parentNode, en(r) + 1) : n.setEnd(r, 0),
- n.collapse(!1),
- e.removeAllRanges(),
- e.addRange(n),
- !o &&
- !t.state.selection.visible &&
- cn &&
- to <= 11 &&
- ((r.disabled = !0), (r.disabled = !1));
-}
-function jv(t, e) {
- if (e instanceof we) {
- let n = t.docView.descAt(e.from);
- n != t.lastSelectedViewDesc &&
- (ng(t), n && n.selectNode(), (t.lastSelectedViewDesc = n));
- } else ng(t);
-}
-function ng(t) {
- t.lastSelectedViewDesc &&
- (t.lastSelectedViewDesc.parent && t.lastSelectedViewDesc.deselectNode(),
- (t.lastSelectedViewDesc = void 0));
-}
-function yh(t, e, n, r) {
- return (
- t.someProp("createSelectionBetween", (o) => o(t, e, n)) ||
- Se.between(e, n, r)
- );
-}
-function rg(t) {
- return t.editable && !t.hasFocus() ? !1 : Lv(t);
-}
-function Lv(t) {
- let e = t.domSelectionRange();
- if (!e.anchorNode) return !1;
- try {
- return (
- t.dom.contains(
- e.anchorNode.nodeType == 3
- ? e.anchorNode.parentNode
- : e.anchorNode
- ) &&
- (t.editable ||
- t.dom.contains(
- e.focusNode.nodeType == 3
- ? e.focusNode.parentNode
- : e.focusNode
- ))
- );
- } catch (n) {
- return !1;
- }
-}
-function wE(t) {
- let e = t.docView.domFromPos(t.state.selection.anchor, 0),
- n = t.domSelectionRange();
- return Ho(e.node, e.offset, n.anchorNode, n.anchorOffset);
-}
-function qd(t, e) {
- let { $anchor: n, $head: r } = t.selection,
- o = e > 0 ? n.max(r) : n.min(r),
- i = o.parent.inlineContent
- ? o.depth
- ? t.doc.resolve(e > 0 ? o.after() : o.before())
- : null
- : o;
- return i && Me.findFrom(i, e);
-}
-function Hr(t, e) {
- return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()), !0;
-}
-function og(t, e, n) {
- let r = t.state.selection;
- if (r instanceof Se)
- if (n.indexOf("s") > -1) {
- let { $head: o } = r,
- i = o.textOffset ? null : e < 0 ? o.nodeBefore : o.nodeAfter;
- if (!i || i.isText || !i.isLeaf) return !1;
- let s = t.state.doc.resolve(o.pos + i.nodeSize * (e < 0 ? -1 : 1));
- return Hr(t, new Se(r.$anchor, s));
- } else if (r.empty) {
- if (t.endOfTextblock(e > 0 ? "forward" : "backward")) {
- let o = qd(t.state, e);
- return o && o instanceof we ? Hr(t, o) : !1;
- } else if (!(Sn && n.indexOf("m") > -1)) {
- let o = r.$head,
- i = o.textOffset
- ? null
- : e < 0
- ? o.nodeBefore
- : o.nodeAfter,
- s;
- if (!i || i.isText) return !1;
- let l = e < 0 ? o.pos - i.nodeSize : o.pos;
- return i.isAtom || ((s = t.docView.descAt(l)) && !s.contentDOM)
- ? we.isSelectable(i)
- ? Hr(
- t,
- new we(
- e < 0
- ? t.state.doc.resolve(
- o.pos - i.nodeSize
- )
- : o
- )
- )
- : nl
- ? Hr(
- t,
- new Se(
- t.state.doc.resolve(
- e < 0 ? l : l + i.nodeSize
- )
- )
- )
- : !1
- : !1;
- }
- } else return !1;
- else {
- if (r instanceof we && r.node.isInline)
- return Hr(t, new Se(e > 0 ? r.$to : r.$from));
- {
- let o = qd(t.state, e);
- return o ? Hr(t, o) : !1;
- }
- }
-}
-function Ta(t) {
- return t.nodeType == 3 ? t.nodeValue.length : t.childNodes.length;
-}
-function ys(t, e) {
- let n = t.pmViewDesc;
- return n && n.size == 0 && (e < 0 || t.nextSibling || t.nodeName != "BR");
-}
-function Xo(t, e) {
- return e < 0 ? xE(t) : kE(t);
-}
-function xE(t) {
- let e = t.domSelectionRange(),
- n = e.focusNode,
- r = e.focusOffset;
- if (!n) return;
- let o,
- i,
- s = !1;
- for (
- Vn &&
- n.nodeType == 1 &&
- r < Ta(n) &&
- ys(n.childNodes[r], -1) &&
- (s = !0);
- ;
-
- )
- if (r > 0) {
- if (n.nodeType != 1) break;
- {
- let l = n.childNodes[r - 1];
- if (ys(l, -1)) (o = n), (i = --r);
- else if (l.nodeType == 3) (n = l), (r = n.nodeValue.length);
- else break;
- }
- } else {
- if ($v(n)) break;
- {
- let l = n.previousSibling;
- for (; l && ys(l, -1); )
- (o = n.parentNode), (i = en(l)), (l = l.previousSibling);
- if (l) (n = l), (r = Ta(n));
- else {
- if (((n = n.parentNode), n == t.dom)) break;
- r = 0;
- }
- }
- }
- s ? Jd(t, n, r) : o && Jd(t, o, i);
-}
-function kE(t) {
- let e = t.domSelectionRange(),
- n = e.focusNode,
- r = e.focusOffset;
- if (!n) return;
- let o = Ta(n),
- i,
- s;
- for (;;)
- if (r < o) {
- if (n.nodeType != 1) break;
- let l = n.childNodes[r];
- if (ys(l, 1)) (i = n), (s = ++r);
- else break;
- } else {
- if ($v(n)) break;
- {
- let l = n.nextSibling;
- for (; l && ys(l, 1); )
- (i = l.parentNode), (s = en(l) + 1), (l = l.nextSibling);
- if (l) (n = l), (r = 0), (o = Ta(n));
- else {
- if (((n = n.parentNode), n == t.dom)) break;
- r = o = 0;
- }
- }
- }
- i && Jd(t, i, s);
-}
-function $v(t) {
- let e = t.pmViewDesc;
- return e && e.node && e.node.isBlock;
-}
-function SE(t, e) {
- for (; t && e == t.childNodes.length && !ph(t); )
- (e = en(t) + 1), (t = t.parentNode);
- for (; t && e < t.childNodes.length; ) {
- let n = t.childNodes[e];
- if (n.nodeType == 3) return n;
- if (n.nodeType == 1 && n.contentEditable == "false") break;
- (t = n), (e = 0);
- }
-}
-function _E(t, e) {
- for (; t && !e && !ph(t); ) (e = en(t)), (t = t.parentNode);
- for (; t && e; ) {
- let n = t.childNodes[e - 1];
- if (n.nodeType == 3) return n;
- if (n.nodeType == 1 && n.contentEditable == "false") break;
- (t = n), (e = t.childNodes.length);
- }
-}
-function Jd(t, e, n) {
- if (e.nodeType != 3) {
- let i, s;
- (s = SE(e, n))
- ? ((e = s), (n = 0))
- : (i = _E(e, n)) && ((e = i), (n = i.nodeValue.length));
- }
- let r = t.domSelection();
- if (Wu(r)) {
- let i = document.createRange();
- i.setEnd(e, n), i.setStart(e, n), r.removeAllRanges(), r.addRange(i);
- } else r.extend && r.extend(e, n);
- t.domObserver.setCurSelection();
- let { state: o } = t;
- setTimeout(() => {
- t.state == o && Cr(t);
- }, 50);
-}
-function ig(t, e) {
- let n = t.state.doc.resolve(e);
- if (!(Kt || UM) && n.parent.inlineContent) {
- let o = t.coordsAtPos(e);
- if (e > n.start()) {
- let i = t.coordsAtPos(e - 1),
- s = (i.top + i.bottom) / 2;
- if (s > o.top && s < o.bottom && Math.abs(i.left - o.left) > 1)
- return i.left < o.left ? "ltr" : "rtl";
- }
- if (e < n.end()) {
- let i = t.coordsAtPos(e + 1),
- s = (i.top + i.bottom) / 2;
- if (s > o.top && s < o.bottom && Math.abs(i.left - o.left) > 1)
- return i.left > o.left ? "ltr" : "rtl";
- }
- }
- return getComputedStyle(t.dom).direction == "rtl" ? "rtl" : "ltr";
-}
-function sg(t, e, n) {
- let r = t.state.selection;
- if (
- (r instanceof Se && !r.empty) ||
- n.indexOf("s") > -1 ||
- (Sn && n.indexOf("m") > -1)
- )
- return !1;
- let { $from: o, $to: i } = r;
- if (!o.parent.inlineContent || t.endOfTextblock(e < 0 ? "up" : "down")) {
- let s = qd(t.state, e);
- if (s && s instanceof we) return Hr(t, s);
- }
- if (!o.parent.inlineContent) {
- let s = e < 0 ? o : i,
- l = r instanceof zn ? Me.near(s, e) : Me.findFrom(s, e);
- return l ? Hr(t, l) : !1;
- }
- return !1;
-}
-function lg(t, e) {
- if (!(t.state.selection instanceof Se)) return !0;
- let { $head: n, $anchor: r, empty: o } = t.state.selection;
- if (!n.sameParent(r)) return !0;
- if (!o) return !1;
- if (t.endOfTextblock(e > 0 ? "forward" : "backward")) return !0;
- let i = !n.textOffset && (e < 0 ? n.nodeBefore : n.nodeAfter);
- if (i && !i.isText) {
- let s = t.state.tr;
- return (
- e < 0
- ? s.delete(n.pos - i.nodeSize, n.pos)
- : s.delete(n.pos, n.pos + i.nodeSize),
- t.dispatch(s),
- !0
- );
- }
- return !1;
-}
-function ag(t, e, n) {
- t.domObserver.stop(), (e.contentEditable = n), t.domObserver.start();
-}
-function CE(t) {
- if (!nn || t.state.selection.$head.parentOffset > 0) return !1;
- let { focusNode: e, focusOffset: n } = t.domSelectionRange();
- if (
- e &&
- e.nodeType == 1 &&
- n == 0 &&
- e.firstChild &&
- e.firstChild.contentEditable == "false"
- ) {
- let r = e.firstChild;
- ag(t, r, "true"), setTimeout(() => ag(t, r, "false"), 20);
- }
- return !1;
-}
-function ME(t) {
- let e = "";
- return (
- t.ctrlKey && (e += "c"),
- t.metaKey && (e += "m"),
- t.altKey && (e += "a"),
- t.shiftKey && (e += "s"),
- e
- );
-}
-function EE(t, e) {
- let n = e.keyCode,
- r = ME(e);
- if (n == 8 || (Sn && n == 72 && r == "c")) return lg(t, -1) || Xo(t, -1);
- if ((n == 46 && !e.shiftKey) || (Sn && n == 68 && r == "c"))
- return lg(t, 1) || Xo(t, 1);
- if (n == 13 || n == 27) return !0;
- if (n == 37 || (Sn && n == 66 && r == "c")) {
- let o =
- n == 37 ? (ig(t, t.state.selection.from) == "ltr" ? -1 : 1) : -1;
- return og(t, o, r) || Xo(t, o);
- } else if (n == 39 || (Sn && n == 70 && r == "c")) {
- let o = n == 39 ? (ig(t, t.state.selection.from) == "ltr" ? 1 : -1) : 1;
- return og(t, o, r) || Xo(t, o);
- } else {
- if (n == 38 || (Sn && n == 80 && r == "c"))
- return sg(t, -1, r) || Xo(t, -1);
- if (n == 40 || (Sn && n == 78 && r == "c"))
- return CE(t) || sg(t, 1, r) || Xo(t, 1);
- if (r == (Sn ? "m" : "c") && (n == 66 || n == 73 || n == 89 || n == 90))
- return !0;
- }
- return !1;
-}
-function Bv(t, e) {
- t.someProp("transformCopied", (p) => {
- e = p(e, t);
- });
- let n = [],
- { content: r, openStart: o, openEnd: i } = e;
- for (
- ;
- o > 1 && i > 1 && r.childCount == 1 && r.firstChild.childCount == 1;
-
- ) {
- o--, i--;
- let p = r.firstChild;
- n.push(p.type.name, p.attrs != p.type.defaultAttrs ? p.attrs : null),
- (r = p.content);
- }
- let s = t.someProp("clipboardSerializer") || tr.fromSchema(t.state.schema),
- l = Uv(),
- a = l.createElement("div");
- a.appendChild(s.serializeFragment(r, { document: l }));
- let u = a.firstChild,
- c,
- d = 0;
- for (; u && u.nodeType == 1 && (c = Wv[u.nodeName.toLowerCase()]); ) {
- for (let p = c.length - 1; p >= 0; p--) {
- let m = l.createElement(c[p]);
- for (; a.firstChild; ) m.appendChild(a.firstChild);
- a.appendChild(m), d++;
- }
- u = a.firstChild;
- }
- u &&
- u.nodeType == 1 &&
- u.setAttribute(
- "data-pm-slice",
- `${o} ${i}${d ? ` -${d}` : ""} ${JSON.stringify(n)}`
- );
- let f =
- t.someProp("clipboardTextSerializer", (p) => p(e, t)) ||
- e.content.textBetween(
- 0,
- e.content.size,
- `
-
-`
- );
- return { dom: a, text: f };
-}
-function zv(t, e, n, r, o) {
- let i = o.parent.type.spec.code,
- s,
- l;
- if (!n && !e) return null;
- let a = e && (r || i || !n);
- if (a) {
- if (
- (t.someProp("transformPastedText", (f) => {
- e = f(e, i || r, t);
- }),
- i)
- )
- return e
- ? new le(
- J.from(
- t.state.schema.text(
- e.replace(
- /\r\n?/g,
- `
-`
- )
- )
- ),
- 0,
- 0
- )
- : le.empty;
- let d = t.someProp("clipboardTextParser", (f) => f(e, o, r, t));
- if (d) l = d;
- else {
- let f = o.marks(),
- { schema: p } = t.state,
- m = tr.fromSchema(p);
- (s = document.createElement("div")),
- e.split(/(?:\r\n?|\n)+/).forEach((y) => {
- let v = s.appendChild(document.createElement("p"));
- y && v.appendChild(m.serializeNode(p.text(y, f)));
- });
- }
- } else
- t.someProp("transformPastedHTML", (d) => {
- n = d(n, t);
- }),
- (s = OE(n)),
- nl && RE(s);
- let u = s && s.querySelector("[data-pm-slice]"),
- c =
- u &&
- /^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(
- u.getAttribute("data-pm-slice") || ""
- );
- if (c && c[3])
- for (let d = +c[3]; d > 0; d--) {
- let f = s.firstChild;
- for (; f && f.nodeType != 1; ) f = f.nextSibling;
- if (!f) break;
- s = f;
- }
- if (
- (l ||
- (l = (
- t.someProp("clipboardParser") ||
- t.someProp("domParser") ||
- zu.fromSchema(t.state.schema)
- ).parseSlice(s, {
- preserveWhitespace: !!(a || c),
- context: o,
- ruleFromNode(f) {
- return f.nodeName == "BR" &&
- !f.nextSibling &&
- f.parentNode &&
- !TE.test(f.parentNode.nodeName)
- ? { ignore: !0 }
- : null;
- },
- })),
- c)
- )
- l = PE(ug(l, +c[1], +c[2]), c[4]);
- else if (
- ((l = le.maxOpen(AE(l.content, o), !0)), l.openStart || l.openEnd)
- ) {
- let d = 0,
- f = 0;
- for (
- let p = l.content.firstChild;
- d < l.openStart && !p.type.spec.isolating;
- d++, p = p.firstChild
- );
- for (
- let p = l.content.lastChild;
- f < l.openEnd && !p.type.spec.isolating;
- f++, p = p.lastChild
- );
- l = ug(l, d, f);
- }
- return (
- t.someProp("transformPasted", (d) => {
- l = d(l, t);
- }),
- l
- );
-}
-const TE =
- /^(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)$/i;
-function AE(t, e) {
- if (t.childCount < 2) return t;
- for (let n = e.depth; n >= 0; n--) {
- let o = e.node(n).contentMatchAt(e.index(n)),
- i,
- s = [];
- if (
- (t.forEach((l) => {
- if (!s) return;
- let a = o.findWrapping(l.type),
- u;
- if (!a) return (s = null);
- if (
- (u =
- s.length && i.length && Fv(a, i, l, s[s.length - 1], 0))
- )
- s[s.length - 1] = u;
- else {
- s.length &&
- (s[s.length - 1] = Vv(s[s.length - 1], i.length));
- let c = Hv(l, a);
- s.push(c), (o = o.matchType(c.type)), (i = a);
- }
- }),
- s)
- )
- return J.from(s);
- }
- return t;
-}
-function Hv(t, e, n = 0) {
- for (let r = e.length - 1; r >= n; r--) t = e[r].create(null, J.from(t));
- return t;
-}
-function Fv(t, e, n, r, o) {
- if (o < t.length && o < e.length && t[o] == e[o]) {
- let i = Fv(t, e, n, r.lastChild, o + 1);
- if (i) return r.copy(r.content.replaceChild(r.childCount - 1, i));
- if (
- r
- .contentMatchAt(r.childCount)
- .matchType(o == t.length - 1 ? n.type : t[o + 1])
- )
- return r.copy(r.content.append(J.from(Hv(n, t, o + 1))));
- }
-}
-function Vv(t, e) {
- if (e == 0) return t;
- let n = t.content.replaceChild(t.childCount - 1, Vv(t.lastChild, e - 1)),
- r = t.contentMatchAt(t.childCount).fillBefore(J.empty, !0);
- return t.copy(n.append(r));
-}
-function Gd(t, e, n, r, o, i) {
- let s = e < 0 ? t.firstChild : t.lastChild,
- l = s.content;
- return (
- t.childCount > 1 && (i = 0),
- o < r - 1 && (l = Gd(l, e, n, r, o + 1, i)),
- o >= n &&
- (l =
- e < 0
- ? s
- .contentMatchAt(0)
- .fillBefore(l, i <= o)
- .append(l)
- : l.append(
- s
- .contentMatchAt(s.childCount)
- .fillBefore(J.empty, !0)
- )),
- t.replaceChild(e < 0 ? 0 : t.childCount - 1, s.copy(l))
- );
-}
-function ug(t, e, n) {
- return (
- e < t.openStart &&
- (t = new le(
- Gd(t.content, -1, e, t.openStart, 0, t.openEnd),
- e,
- t.openEnd
- )),
- n < t.openEnd &&
- (t = new le(Gd(t.content, 1, n, t.openEnd, 0, 0), t.openStart, n)),
- t
- );
-}
-const Wv = {
- thead: ["table"],
- tbody: ["table"],
- tfoot: ["table"],
- caption: ["table"],
- colgroup: ["table"],
- col: ["table", "colgroup"],
- tr: ["table", "tbody"],
- td: ["table", "tbody", "tr"],
- th: ["table", "tbody", "tr"],
-};
-let cg = null;
-function Uv() {
- return cg || (cg = document.implementation.createHTMLDocument("title"));
-}
-function OE(t) {
- let e = /^(\s*]*>)*/.exec(t);
- e && (t = t.slice(e[0].length));
- let n = Uv().createElement("div"),
- r = /<([a-z][^>\s]+)/i.exec(t),
- o;
- if (
- ((o = r && Wv[r[1].toLowerCase()]) &&
- (t =
- o.map((i) => "<" + i + ">").join("") +
- t +
- o
- .map((i) => "" + i + ">")
- .reverse()
- .join("")),
- (n.innerHTML = t),
- o)
- )
- for (let i = 0; i < o.length; i++) n = n.querySelector(o[i]) || n;
- return n;
-}
-function RE(t) {
- let e = t.querySelectorAll(
- Kt ? "span:not([class]):not([style])" : "span.Apple-converted-space"
- );
- for (let n = 0; n < e.length; n++) {
- let r = e[n];
- r.childNodes.length == 1 &&
- r.textContent == " " &&
- r.parentNode &&
- r.parentNode.replaceChild(t.ownerDocument.createTextNode(" "), r);
- }
-}
-function PE(t, e) {
- if (!t.size) return t;
- let n = t.content.firstChild.type.schema,
- r;
- try {
- r = JSON.parse(e);
- } catch (l) {
- return t;
- }
- let { content: o, openStart: i, openEnd: s } = t;
- for (let l = r.length - 2; l >= 0; l -= 2) {
- let a = n.nodes[r[l]];
- if (!a || a.hasRequiredAttrs()) break;
- (o = J.from(a.create(r[l + 1], o))), i++, s++;
- }
- return new le(o, i, s);
-}
-const rn = {},
- on = {},
- IE = { touchstart: !0, touchmove: !0 };
-class NE {
- constructor() {
- (this.shiftKey = !1),
- (this.mouseDown = null),
- (this.lastKeyCode = null),
- (this.lastKeyCodeTime = 0),
- (this.lastClick = { time: 0, x: 0, y: 0, type: "" }),
- (this.lastSelectionOrigin = null),
- (this.lastSelectionTime = 0),
- (this.lastIOSEnter = 0),
- (this.lastIOSEnterFallbackTimeout = -1),
- (this.lastFocus = 0),
- (this.lastTouch = 0),
- (this.lastAndroidDelete = 0),
- (this.composing = !1),
- (this.composingTimeout = -1),
- (this.compositionNodes = []),
- (this.compositionEndedAt = -2e8),
- (this.compositionID = 1),
- (this.compositionPendingChanges = 0),
- (this.domChangeCount = 0),
- (this.eventHandlers = Object.create(null)),
- (this.hideSelectionGuard = null);
- }
-}
-function DE(t) {
- for (let e in rn) {
- let n = rn[e];
- t.dom.addEventListener(
- e,
- (t.input.eventHandlers[e] = (r) => {
- LE(t, r) &&
- !vh(t, r) &&
- (t.editable || !(r.type in on)) &&
- n(t, r);
- }),
- IE[e] ? { passive: !0 } : void 0
- );
- }
- nn && t.dom.addEventListener("input", () => null), Yd(t);
-}
-function Qr(t, e) {
- (t.input.lastSelectionOrigin = e), (t.input.lastSelectionTime = Date.now());
-}
-function jE(t) {
- t.domObserver.stop();
- for (let e in t.input.eventHandlers)
- t.dom.removeEventListener(e, t.input.eventHandlers[e]);
- clearTimeout(t.input.composingTimeout),
- clearTimeout(t.input.lastIOSEnterFallbackTimeout);
-}
-function Yd(t) {
- t.someProp("handleDOMEvents", (e) => {
- for (let n in e)
- t.input.eventHandlers[n] ||
- t.dom.addEventListener(
- n,
- (t.input.eventHandlers[n] = (r) => vh(t, r))
- );
- });
-}
-function vh(t, e) {
- return t.someProp("handleDOMEvents", (n) => {
- let r = n[e.type];
- return r ? r(t, e) || e.defaultPrevented : !1;
- });
-}
-function LE(t, e) {
- if (!e.bubbles) return !0;
- if (e.defaultPrevented) return !1;
- for (let n = e.target; n != t.dom; n = n.parentNode)
- if (
- !n ||
- n.nodeType == 11 ||
- (n.pmViewDesc && n.pmViewDesc.stopEvent(e))
- )
- return !1;
- return !0;
-}
-function $E(t, e) {
- !vh(t, e) &&
- rn[e.type] &&
- (t.editable || !(e.type in on)) &&
- rn[e.type](t, e);
-}
-on.keydown = (t, e) => {
- let n = e;
- if (
- ((t.input.shiftKey = n.keyCode == 16 || n.shiftKey),
- !qv(t, n) &&
- ((t.input.lastKeyCode = n.keyCode),
- (t.input.lastKeyCodeTime = Date.now()),
- !(Dn && Kt && n.keyCode == 13)))
- )
- if (
- (n.keyCode != 229 && t.domObserver.forceFlush(),
- Ni && n.keyCode == 13 && !n.ctrlKey && !n.altKey && !n.metaKey)
- ) {
- let r = Date.now();
- (t.input.lastIOSEnter = r),
- (t.input.lastIOSEnterFallbackTimeout = setTimeout(() => {
- t.input.lastIOSEnter == r &&
- (t.someProp("handleKeyDown", (o) =>
- o(t, So(13, "Enter"))
- ),
- (t.input.lastIOSEnter = 0));
- }, 200));
- } else
- t.someProp("handleKeyDown", (r) => r(t, n)) || EE(t, n)
- ? n.preventDefault()
- : Qr(t, "key");
-};
-on.keyup = (t, e) => {
- e.keyCode == 16 && (t.input.shiftKey = !1);
-};
-on.keypress = (t, e) => {
- let n = e;
- if (
- qv(t, n) ||
- !n.charCode ||
- (n.ctrlKey && !n.altKey) ||
- (Sn && n.metaKey)
- )
- return;
- if (t.someProp("handleKeyPress", (o) => o(t, n))) {
- n.preventDefault();
- return;
- }
- let r = t.state.selection;
- if (!(r instanceof Se) || !r.$from.sameParent(r.$to)) {
- let o = String.fromCharCode(n.charCode);
- !/[\r\n]/.test(o) &&
- !t.someProp("handleTextInput", (i) =>
- i(t, r.$from.pos, r.$to.pos, o)
- ) &&
- t.dispatch(t.state.tr.insertText(o).scrollIntoView()),
- n.preventDefault();
- }
-};
-function Ku(t) {
- return { left: t.clientX, top: t.clientY };
-}
-function BE(t, e) {
- let n = e.x - t.clientX,
- r = e.y - t.clientY;
- return n * n + r * r < 100;
-}
-function bh(t, e, n, r, o) {
- if (r == -1) return !1;
- let i = t.state.doc.resolve(r);
- for (let s = i.depth + 1; s > 0; s--)
- if (
- t.someProp(e, (l) =>
- s > i.depth
- ? l(t, n, i.nodeAfter, i.before(s), o, !0)
- : l(t, n, i.node(s), i.before(s), o, !1)
- )
- )
- return !0;
- return !1;
-}
-function vi(t, e, n) {
- t.focused || t.focus();
- let r = t.state.tr.setSelection(e);
- n == "pointer" && r.setMeta("pointer", !0), t.dispatch(r);
-}
-function zE(t, e) {
- if (e == -1) return !1;
- let n = t.state.doc.resolve(e),
- r = n.nodeAfter;
- return r && r.isAtom && we.isSelectable(r)
- ? (vi(t, new we(n), "pointer"), !0)
- : !1;
-}
-function HE(t, e) {
- if (e == -1) return !1;
- let n = t.state.selection,
- r,
- o;
- n instanceof we && (r = n.node);
- let i = t.state.doc.resolve(e);
- for (let s = i.depth + 1; s > 0; s--) {
- let l = s > i.depth ? i.nodeAfter : i.node(s);
- if (we.isSelectable(l)) {
- r &&
- n.$from.depth > 0 &&
- s >= n.$from.depth &&
- i.before(n.$from.depth + 1) == n.$from.pos
- ? (o = i.before(n.$from.depth))
- : (o = i.before(s));
- break;
- }
- }
- return o != null ? (vi(t, we.create(t.state.doc, o), "pointer"), !0) : !1;
-}
-function FE(t, e, n, r, o) {
- return (
- bh(t, "handleClickOn", e, n, r) ||
- t.someProp("handleClick", (i) => i(t, e, r)) ||
- (o ? HE(t, n) : zE(t, n))
- );
-}
-function VE(t, e, n, r) {
- return (
- bh(t, "handleDoubleClickOn", e, n, r) ||
- t.someProp("handleDoubleClick", (o) => o(t, e, r))
- );
-}
-function WE(t, e, n, r) {
- return (
- bh(t, "handleTripleClickOn", e, n, r) ||
- t.someProp("handleTripleClick", (o) => o(t, e, r)) ||
- UE(t, n, r)
- );
-}
-function UE(t, e, n) {
- if (n.button != 0) return !1;
- let r = t.state.doc;
- if (e == -1)
- return r.inlineContent
- ? (vi(t, Se.create(r, 0, r.content.size), "pointer"), !0)
- : !1;
- let o = r.resolve(e);
- for (let i = o.depth + 1; i > 0; i--) {
- let s = i > o.depth ? o.nodeAfter : o.node(i),
- l = o.before(i);
- if (s.inlineContent)
- vi(t, Se.create(r, l + 1, l + 1 + s.content.size), "pointer");
- else if (we.isSelectable(s)) vi(t, we.create(r, l), "pointer");
- else continue;
- return !0;
- }
-}
-function wh(t) {
- return Aa(t);
-}
-const Kv = Sn ? "metaKey" : "ctrlKey";
-rn.mousedown = (t, e) => {
- let n = e;
- t.input.shiftKey = n.shiftKey;
- let r = wh(t),
- o = Date.now(),
- i = "singleClick";
- o - t.input.lastClick.time < 500 &&
- BE(n, t.input.lastClick) &&
- !n[Kv] &&
- (t.input.lastClick.type == "singleClick"
- ? (i = "doubleClick")
- : t.input.lastClick.type == "doubleClick" && (i = "tripleClick")),
- (t.input.lastClick = { time: o, x: n.clientX, y: n.clientY, type: i });
- let s = t.posAtCoords(Ku(n));
- s &&
- (i == "singleClick"
- ? (t.input.mouseDown && t.input.mouseDown.done(),
- (t.input.mouseDown = new KE(t, s, n, !!r)))
- : (i == "doubleClick" ? VE : WE)(t, s.pos, s.inside, n)
- ? n.preventDefault()
- : Qr(t, "pointer"));
-};
-class KE {
- constructor(e, n, r, o) {
- (this.view = e),
- (this.pos = n),
- (this.event = r),
- (this.flushed = o),
- (this.delayedSelectionSync = !1),
- (this.mightDrag = null),
- (this.startDoc = e.state.doc),
- (this.selectNode = !!r[Kv]),
- (this.allowDefault = r.shiftKey);
- let i, s;
- if (n.inside > -1) (i = e.state.doc.nodeAt(n.inside)), (s = n.inside);
- else {
- let c = e.state.doc.resolve(n.pos);
- (i = c.parent), (s = c.depth ? c.before() : 0);
- }
- const l = o ? null : r.target,
- a = l ? e.docView.nearestDesc(l, !0) : null;
- this.target = a ? a.dom : null;
- let { selection: u } = e.state;
- ((r.button == 0 &&
- i.type.spec.draggable &&
- i.type.spec.selectable !== !1) ||
- (u instanceof we && u.from <= s && u.to > s)) &&
- (this.mightDrag = {
- node: i,
- pos: s,
- addAttr: !!(this.target && !this.target.draggable),
- setUneditable: !!(
- this.target &&
- Vn &&
- !this.target.hasAttribute("contentEditable")
- ),
- }),
- this.target &&
- this.mightDrag &&
- (this.mightDrag.addAttr || this.mightDrag.setUneditable) &&
- (this.view.domObserver.stop(),
- this.mightDrag.addAttr && (this.target.draggable = !0),
- this.mightDrag.setUneditable &&
- setTimeout(() => {
- this.view.input.mouseDown == this &&
- this.target.setAttribute(
- "contentEditable",
- "false"
- );
- }, 20),
- this.view.domObserver.start()),
- e.root.addEventListener("mouseup", (this.up = this.up.bind(this))),
- e.root.addEventListener(
- "mousemove",
- (this.move = this.move.bind(this))
- ),
- Qr(e, "pointer");
- }
- done() {
- this.view.root.removeEventListener("mouseup", this.up),
- this.view.root.removeEventListener("mousemove", this.move),
- this.mightDrag &&
- this.target &&
- (this.view.domObserver.stop(),
- this.mightDrag.addAttr &&
- this.target.removeAttribute("draggable"),
- this.mightDrag.setUneditable &&
- this.target.removeAttribute("contentEditable"),
- this.view.domObserver.start()),
- this.delayedSelectionSync && setTimeout(() => Cr(this.view)),
- (this.view.input.mouseDown = null);
- }
- up(e) {
- if ((this.done(), !this.view.dom.contains(e.target))) return;
- let n = this.pos;
- this.view.state.doc != this.startDoc &&
- (n = this.view.posAtCoords(Ku(e))),
- this.updateAllowDefault(e),
- this.allowDefault || !n
- ? Qr(this.view, "pointer")
- : FE(this.view, n.pos, n.inside, e, this.selectNode)
- ? e.preventDefault()
- : e.button == 0 &&
- (this.flushed ||
- (nn && this.mightDrag && !this.mightDrag.node.isAtom) ||
- (Kt &&
- !this.view.state.selection.visible &&
- Math.min(
- Math.abs(
- n.pos - this.view.state.selection.from
- ),
- Math.abs(n.pos - this.view.state.selection.to)
- ) <= 2))
- ? (vi(
- this.view,
- Me.near(this.view.state.doc.resolve(n.pos)),
- "pointer"
- ),
- e.preventDefault())
- : Qr(this.view, "pointer");
- }
- move(e) {
- this.updateAllowDefault(e),
- Qr(this.view, "pointer"),
- e.buttons == 0 && this.done();
- }
- updateAllowDefault(e) {
- !this.allowDefault &&
- (Math.abs(this.event.x - e.clientX) > 4 ||
- Math.abs(this.event.y - e.clientY) > 4) &&
- (this.allowDefault = !0);
- }
-}
-rn.touchstart = (t) => {
- (t.input.lastTouch = Date.now()), wh(t), Qr(t, "pointer");
-};
-rn.touchmove = (t) => {
- (t.input.lastTouch = Date.now()), Qr(t, "pointer");
-};
-rn.contextmenu = (t) => wh(t);
-function qv(t, e) {
- return t.composing
- ? !0
- : nn && Math.abs(e.timeStamp - t.input.compositionEndedAt) < 500
- ? ((t.input.compositionEndedAt = -2e8), !0)
- : !1;
-}
-const qE = Dn ? 5e3 : -1;
-on.compositionstart = on.compositionupdate = (t) => {
- if (!t.composing) {
- t.domObserver.flush();
- let { state: e } = t,
- n = e.selection.$from;
- if (
- e.selection.empty &&
- (e.storedMarks ||
- (!n.textOffset &&
- n.parentOffset &&
- n.nodeBefore.marks.some(
- (r) => r.type.spec.inclusive === !1
- )))
- )
- (t.markCursor = t.state.storedMarks || n.marks()),
- Aa(t, !0),
- (t.markCursor = null);
- else if (
- (Aa(t),
- Vn &&
- e.selection.empty &&
- n.parentOffset &&
- !n.textOffset &&
- n.nodeBefore.marks.length)
- ) {
- let r = t.domSelectionRange();
- for (
- let o = r.focusNode, i = r.focusOffset;
- o && o.nodeType == 1 && i != 0;
-
- ) {
- let s = i < 0 ? o.lastChild : o.childNodes[i - 1];
- if (!s) break;
- if (s.nodeType == 3) {
- t.domSelection().collapse(s, s.nodeValue.length);
- break;
- } else (o = s), (i = -1);
- }
- }
- t.input.composing = !0;
- }
- Jv(t, qE);
-};
-on.compositionend = (t, e) => {
- t.composing &&
- ((t.input.composing = !1),
- (t.input.compositionEndedAt = e.timeStamp),
- (t.input.compositionPendingChanges = t.domObserver.pendingRecords()
- .length
- ? t.input.compositionID
- : 0),
- t.input.compositionPendingChanges &&
- Promise.resolve().then(() => t.domObserver.flush()),
- t.input.compositionID++,
- Jv(t, 20));
-};
-function Jv(t, e) {
- clearTimeout(t.input.composingTimeout),
- e > -1 && (t.input.composingTimeout = setTimeout(() => Aa(t), e));
-}
-function Gv(t) {
- for (
- t.composing &&
- ((t.input.composing = !1), (t.input.compositionEndedAt = JE()));
- t.input.compositionNodes.length > 0;
-
- )
- t.input.compositionNodes.pop().markParentsDirty();
-}
-function JE() {
- let t = document.createEvent("Event");
- return t.initEvent("event", !0, !0), t.timeStamp;
-}
-function Aa(t, e = !1) {
- if (!(Dn && t.domObserver.flushingSoon >= 0)) {
- if (
- (t.domObserver.forceFlush(),
- Gv(t),
- e || (t.docView && t.docView.dirty))
- ) {
- let n = gh(t);
- return (
- n && !n.eq(t.state.selection)
- ? t.dispatch(t.state.tr.setSelection(n))
- : t.updateState(t.state),
- !0
- );
- }
- return !1;
- }
-}
-function GE(t, e) {
- if (!t.dom.parentNode) return;
- let n = t.dom.parentNode.appendChild(document.createElement("div"));
- n.appendChild(e),
- (n.style.cssText = "position: fixed; left: -10000px; top: 10px");
- let r = getSelection(),
- o = document.createRange();
- o.selectNodeContents(e),
- t.dom.blur(),
- r.removeAllRanges(),
- r.addRange(o),
- setTimeout(() => {
- n.parentNode && n.parentNode.removeChild(n), t.focus();
- }, 50);
-}
-const Ls = (cn && to < 15) || (Ni && KM < 604);
-rn.copy = on.cut = (t, e) => {
- let n = e,
- r = t.state.selection,
- o = n.type == "cut";
- if (r.empty) return;
- let i = Ls ? null : n.clipboardData,
- s = r.content(),
- { dom: l, text: a } = Bv(t, s);
- i
- ? (n.preventDefault(),
- i.clearData(),
- i.setData("text/html", l.innerHTML),
- i.setData("text/plain", a))
- : GE(t, l),
- o &&
- t.dispatch(
- t.state.tr
- .deleteSelection()
- .scrollIntoView()
- .setMeta("uiEvent", "cut")
- );
-};
-function YE(t) {
- return t.openStart == 0 && t.openEnd == 0 && t.content.childCount == 1
- ? t.content.firstChild
- : null;
-}
-function QE(t, e) {
- if (!t.dom.parentNode) return;
- let n = t.input.shiftKey || t.state.selection.$from.parent.type.spec.code,
- r = t.dom.parentNode.appendChild(
- document.createElement(n ? "textarea" : "div")
- );
- n || (r.contentEditable = "true"),
- (r.style.cssText = "position: fixed; left: -10000px; top: 10px"),
- r.focus();
- let o = t.input.shiftKey && t.input.lastKeyCode != 45;
- setTimeout(() => {
- t.focus(),
- r.parentNode && r.parentNode.removeChild(r),
- n
- ? $s(t, r.value, null, o, e)
- : $s(t, r.textContent, r.innerHTML, o, e);
- }, 50);
-}
-function $s(t, e, n, r, o) {
- let i = zv(t, e, n, r, t.state.selection.$from);
- if (t.someProp("handlePaste", (a) => a(t, o, i || le.empty))) return !0;
- if (!i) return !1;
- let s = YE(i),
- l = s
- ? t.state.tr.replaceSelectionWith(s, r)
- : t.state.tr.replaceSelection(i);
- return (
- t.dispatch(
- l.scrollIntoView().setMeta("paste", !0).setMeta("uiEvent", "paste")
- ),
- !0
- );
-}
-function Yv(t) {
- let e = t.getData("text/plain") || t.getData("Text");
- if (e) return e;
- let n = t.getData("text/uri-list");
- return n ? n.replace(/\r?\n/g, " ") : "";
-}
-on.paste = (t, e) => {
- let n = e;
- if (t.composing && !Dn) return;
- let r = Ls ? null : n.clipboardData,
- o = t.input.shiftKey && t.input.lastKeyCode != 45;
- r && $s(t, Yv(r), r.getData("text/html"), o, n)
- ? n.preventDefault()
- : QE(t, n);
-};
-class Qv {
- constructor(e, n, r) {
- (this.slice = e), (this.move = n), (this.node = r);
- }
-}
-const Xv = Sn ? "altKey" : "ctrlKey";
-rn.dragstart = (t, e) => {
- let n = e,
- r = t.input.mouseDown;
- if ((r && r.done(), !n.dataTransfer)) return;
- let o = t.state.selection,
- i = o.empty ? null : t.posAtCoords(Ku(n)),
- s;
- if (
- !(i && i.pos >= o.from && i.pos <= (o instanceof we ? o.to - 1 : o.to))
- ) {
- if (r && r.mightDrag) s = we.create(t.state.doc, r.mightDrag.pos);
- else if (n.target && n.target.nodeType == 1) {
- let c = t.docView.nearestDesc(n.target, !0);
- c &&
- c.node.type.spec.draggable &&
- c != t.docView &&
- (s = we.create(t.state.doc, c.posBefore));
- }
- }
- let l = (s || t.state.selection).content(),
- { dom: a, text: u } = Bv(t, l);
- n.dataTransfer.clearData(),
- n.dataTransfer.setData(Ls ? "Text" : "text/html", a.innerHTML),
- (n.dataTransfer.effectAllowed = "copyMove"),
- Ls || n.dataTransfer.setData("text/plain", u),
- (t.dragging = new Qv(l, !n[Xv], s));
-};
-rn.dragend = (t) => {
- let e = t.dragging;
- window.setTimeout(() => {
- t.dragging == e && (t.dragging = null);
- }, 50);
-};
-on.dragover = on.dragenter = (t, e) => e.preventDefault();
-on.drop = (t, e) => {
- let n = e,
- r = t.dragging;
- if (((t.dragging = null), !n.dataTransfer)) return;
- let o = t.posAtCoords(Ku(n));
- if (!o) return;
- let i = t.state.doc.resolve(o.pos),
- s = r && r.slice;
- s
- ? t.someProp("transformPasted", (m) => {
- s = m(s, t);
- })
- : (s = zv(
- t,
- Yv(n.dataTransfer),
- Ls ? null : n.dataTransfer.getData("text/html"),
- !1,
- i
- ));
- let l = !!(r && !n[Xv]);
- if (t.someProp("handleDrop", (m) => m(t, n, s || le.empty, l))) {
- n.preventDefault();
- return;
- }
- if (!s) return;
- n.preventDefault();
- let a = s ? mv(t.state.doc, i.pos, s) : i.pos;
- a == null && (a = i.pos);
- let u = t.state.tr;
- if (l) {
- let { node: m } = r;
- m ? m.replace(u) : u.deleteSelection();
- }
- let c = u.mapping.map(a),
- d = s.openStart == 0 && s.openEnd == 0 && s.content.childCount == 1,
- f = u.doc;
- if (
- (d
- ? u.replaceRangeWith(c, c, s.content.firstChild)
- : u.replaceRange(c, c, s),
- u.doc.eq(f))
- )
- return;
- let p = u.doc.resolve(c);
- if (
- d &&
- we.isSelectable(s.content.firstChild) &&
- p.nodeAfter &&
- p.nodeAfter.sameMarkup(s.content.firstChild)
- )
- u.setSelection(new we(p));
- else {
- let m = u.mapping.map(a);
- u.mapping.maps[u.mapping.maps.length - 1].forEach(
- (y, v, w, S) => (m = S)
- ),
- u.setSelection(yh(t, p, u.doc.resolve(m)));
- }
- t.focus(), t.dispatch(u.setMeta("uiEvent", "drop"));
-};
-rn.focus = (t) => {
- (t.input.lastFocus = Date.now()),
- t.focused ||
- (t.domObserver.stop(),
- t.dom.classList.add("ProseMirror-focused"),
- t.domObserver.start(),
- (t.focused = !0),
- setTimeout(() => {
- t.docView &&
- t.hasFocus() &&
- !t.domObserver.currentSelection.eq(t.domSelectionRange()) &&
- Cr(t);
- }, 20));
-};
-rn.blur = (t, e) => {
- let n = e;
- t.focused &&
- (t.domObserver.stop(),
- t.dom.classList.remove("ProseMirror-focused"),
- t.domObserver.start(),
- n.relatedTarget &&
- t.dom.contains(n.relatedTarget) &&
- t.domObserver.currentSelection.clear(),
- (t.focused = !1));
-};
-rn.beforeinput = (t, e) => {
- if (Kt && Dn && e.inputType == "deleteContentBackward") {
- t.domObserver.flushSoon();
- let { domChangeCount: r } = t.input;
- setTimeout(() => {
- if (
- t.input.domChangeCount != r ||
- (t.dom.blur(),
- t.focus(),
- t.someProp("handleKeyDown", (i) => i(t, So(8, "Backspace"))))
- )
- return;
- let { $cursor: o } = t.state.selection;
- o &&
- o.pos > 0 &&
- t.dispatch(
- t.state.tr.delete(o.pos - 1, o.pos).scrollIntoView()
- );
- }, 50);
- }
-};
-for (let t in on) rn[t] = on[t];
-function Bs(t, e) {
- if (t == e) return !0;
- for (let n in t) if (t[n] !== e[n]) return !1;
- for (let n in e) if (!(n in t)) return !1;
- return !0;
-}
-class Oa {
- constructor(e, n) {
- (this.toDOM = e),
- (this.spec = n || jo),
- (this.side = this.spec.side || 0);
- }
- map(e, n, r, o) {
- let { pos: i, deleted: s } = e.mapResult(
- n.from + o,
- this.side < 0 ? -1 : 1
- );
- return s ? null : new qt(i - r, i - r, this);
- }
- valid() {
- return !0;
- }
- eq(e) {
- return (
- this == e ||
- (e instanceof Oa &&
- ((this.spec.key && this.spec.key == e.spec.key) ||
- (this.toDOM == e.toDOM && Bs(this.spec, e.spec))))
- );
- }
- destroy(e) {
- this.spec.destroy && this.spec.destroy(e);
- }
-}
-class ro {
- constructor(e, n) {
- (this.attrs = e), (this.spec = n || jo);
- }
- map(e, n, r, o) {
- let i = e.map(n.from + o, this.spec.inclusiveStart ? -1 : 1) - r,
- s = e.map(n.to + o, this.spec.inclusiveEnd ? 1 : -1) - r;
- return i >= s ? null : new qt(i, s, this);
- }
- valid(e, n) {
- return n.from < n.to;
- }
- eq(e) {
- return (
- this == e ||
- (e instanceof ro &&
- Bs(this.attrs, e.attrs) &&
- Bs(this.spec, e.spec))
- );
- }
- static is(e) {
- return e.type instanceof ro;
- }
- destroy() {}
-}
-class xh {
- constructor(e, n) {
- (this.attrs = e), (this.spec = n || jo);
- }
- map(e, n, r, o) {
- let i = e.mapResult(n.from + o, 1);
- if (i.deleted) return null;
- let s = e.mapResult(n.to + o, -1);
- return s.deleted || s.pos <= i.pos
- ? null
- : new qt(i.pos - r, s.pos - r, this);
- }
- valid(e, n) {
- let { index: r, offset: o } = e.content.findIndex(n.from),
- i;
- return (
- o == n.from && !(i = e.child(r)).isText && o + i.nodeSize == n.to
- );
- }
- eq(e) {
- return (
- this == e ||
- (e instanceof xh &&
- Bs(this.attrs, e.attrs) &&
- Bs(this.spec, e.spec))
- );
- }
- destroy() {}
-}
-class qt {
- constructor(e, n, r) {
- (this.from = e), (this.to = n), (this.type = r);
- }
- copy(e, n) {
- return new qt(e, n, this.type);
- }
- eq(e, n = 0) {
- return (
- this.type.eq(e.type) &&
- this.from + n == e.from &&
- this.to + n == e.to
- );
- }
- map(e, n, r) {
- return this.type.map(e, this, n, r);
- }
- static widget(e, n, r) {
- return new qt(e, e, new Oa(n, r));
- }
- static inline(e, n, r, o) {
- return new qt(e, n, new ro(r, o));
- }
- static node(e, n, r, o) {
- return new qt(e, n, new xh(r, o));
- }
- get spec() {
- return this.type.spec;
- }
- get inline() {
- return this.type instanceof ro;
- }
- get widget() {
- return this.type instanceof Oa;
- }
-}
-const ri = [],
- jo = {};
-class ft {
- constructor(e, n) {
- (this.local = e.length ? e : ri), (this.children = n.length ? n : ri);
- }
- static create(e, n) {
- return n.length ? Ra(n, e, 0, jo) : Wt;
- }
- find(e, n, r) {
- let o = [];
- return (
- this.findInner(e == null ? 0 : e, n == null ? 1e9 : n, o, 0, r), o
- );
- }
- findInner(e, n, r, o, i) {
- for (let s = 0; s < this.local.length; s++) {
- let l = this.local[s];
- l.from <= n &&
- l.to >= e &&
- (!i || i(l.spec)) &&
- r.push(l.copy(l.from + o, l.to + o));
- }
- for (let s = 0; s < this.children.length; s += 3)
- if (this.children[s] < n && this.children[s + 1] > e) {
- let l = this.children[s] + 1;
- this.children[s + 2].findInner(e - l, n - l, r, o + l, i);
- }
- }
- map(e, n, r) {
- return this == Wt || e.maps.length == 0
- ? this
- : this.mapInner(e, n, 0, 0, r || jo);
- }
- mapInner(e, n, r, o, i) {
- let s;
- for (let l = 0; l < this.local.length; l++) {
- let a = this.local[l].map(e, r, o);
- a && a.type.valid(n, a)
- ? (s || (s = [])).push(a)
- : i.onRemove && i.onRemove(this.local[l].spec);
- }
- return this.children.length
- ? XE(this.children, s || [], e, n, r, o, i)
- : s
- ? new ft(s.sort(Lo), ri)
- : Wt;
- }
- add(e, n) {
- return n.length
- ? this == Wt
- ? ft.create(e, n)
- : this.addInner(e, n, 0)
- : this;
- }
- addInner(e, n, r) {
- let o,
- i = 0;
- e.forEach((l, a) => {
- let u = a + r,
- c;
- if ((c = e2(n, l, u))) {
- for (
- o || (o = this.children.slice());
- i < o.length && o[i] < a;
-
- )
- i += 3;
- o[i] == a
- ? (o[i + 2] = o[i + 2].addInner(l, c, u + 1))
- : o.splice(i, 0, a, a + l.nodeSize, Ra(c, l, u + 1, jo)),
- (i += 3);
- }
- });
- let s = Zv(i ? t2(n) : n, -r);
- for (let l = 0; l < s.length; l++)
- s[l].type.valid(e, s[l]) || s.splice(l--, 1);
- return new ft(
- s.length ? this.local.concat(s).sort(Lo) : this.local,
- o || this.children
- );
- }
- remove(e) {
- return e.length == 0 || this == Wt ? this : this.removeInner(e, 0);
- }
- removeInner(e, n) {
- let r = this.children,
- o = this.local;
- for (let i = 0; i < r.length; i += 3) {
- let s,
- l = r[i] + n,
- a = r[i + 1] + n;
- for (let c = 0, d; c < e.length; c++)
- (d = e[c]) &&
- d.from > l &&
- d.to < a &&
- ((e[c] = null), (s || (s = [])).push(d));
- if (!s) continue;
- r == this.children && (r = this.children.slice());
- let u = r[i + 2].removeInner(s, l + 1);
- u != Wt ? (r[i + 2] = u) : (r.splice(i, 3), (i -= 3));
- }
- if (o.length) {
- for (let i = 0, s; i < e.length; i++)
- if ((s = e[i]))
- for (let l = 0; l < o.length; l++)
- o[l].eq(s, n) &&
- (o == this.local && (o = this.local.slice()),
- o.splice(l--, 1));
- }
- return r == this.children && o == this.local
- ? this
- : o.length || r.length
- ? new ft(o, r)
- : Wt;
- }
- forChild(e, n) {
- if (this == Wt) return this;
- if (n.isLeaf) return ft.empty;
- let r, o;
- for (let l = 0; l < this.children.length; l += 3)
- if (this.children[l] >= e) {
- this.children[l] == e && (r = this.children[l + 2]);
- break;
- }
- let i = e + 1,
- s = i + n.content.size;
- for (let l = 0; l < this.local.length; l++) {
- let a = this.local[l];
- if (a.from < s && a.to > i && a.type instanceof ro) {
- let u = Math.max(i, a.from) - i,
- c = Math.min(s, a.to) - i;
- u < c && (o || (o = [])).push(a.copy(u, c));
- }
- }
- if (o) {
- let l = new ft(o.sort(Lo), ri);
- return r ? new Ur([l, r]) : l;
- }
- return r || Wt;
- }
- eq(e) {
- if (this == e) return !0;
- if (
- !(e instanceof ft) ||
- this.local.length != e.local.length ||
- this.children.length != e.children.length
- )
- return !1;
- for (let n = 0; n < this.local.length; n++)
- if (!this.local[n].eq(e.local[n])) return !1;
- for (let n = 0; n < this.children.length; n += 3)
- if (
- this.children[n] != e.children[n] ||
- this.children[n + 1] != e.children[n + 1] ||
- !this.children[n + 2].eq(e.children[n + 2])
- )
- return !1;
- return !0;
- }
- locals(e) {
- return kh(this.localsInner(e));
- }
- localsInner(e) {
- if (this == Wt) return ri;
- if (e.inlineContent || !this.local.some(ro.is)) return this.local;
- let n = [];
- for (let r = 0; r < this.local.length; r++)
- this.local[r].type instanceof ro || n.push(this.local[r]);
- return n;
- }
-}
-ft.empty = new ft([], []);
-ft.removeOverlap = kh;
-const Wt = ft.empty;
-class Ur {
- constructor(e) {
- this.members = e;
- }
- map(e, n) {
- const r = this.members.map((o) => o.map(e, n, jo));
- return Ur.from(r);
- }
- forChild(e, n) {
- if (n.isLeaf) return ft.empty;
- let r = [];
- for (let o = 0; o < this.members.length; o++) {
- let i = this.members[o].forChild(e, n);
- i != Wt &&
- (i instanceof Ur ? (r = r.concat(i.members)) : r.push(i));
- }
- return Ur.from(r);
- }
- eq(e) {
- if (!(e instanceof Ur) || e.members.length != this.members.length)
- return !1;
- for (let n = 0; n < this.members.length; n++)
- if (!this.members[n].eq(e.members[n])) return !1;
- return !0;
- }
- locals(e) {
- let n,
- r = !0;
- for (let o = 0; o < this.members.length; o++) {
- let i = this.members[o].localsInner(e);
- if (i.length)
- if (!n) n = i;
- else {
- r && ((n = n.slice()), (r = !1));
- for (let s = 0; s < i.length; s++) n.push(i[s]);
- }
- }
- return n ? kh(r ? n : n.sort(Lo)) : ri;
- }
- static from(e) {
- switch (e.length) {
- case 0:
- return Wt;
- case 1:
- return e[0];
- default:
- return new Ur(
- e.every((n) => n instanceof ft)
- ? e
- : e.reduce(
- (n, r) =>
- n.concat(r instanceof ft ? r : r.members),
- []
- )
- );
- }
- }
-}
-function XE(t, e, n, r, o, i, s) {
- let l = t.slice();
- for (let u = 0, c = i; u < n.maps.length; u++) {
- let d = 0;
- n.maps[u].forEach((f, p, m, y) => {
- let v = y - m - (p - f);
- for (let w = 0; w < l.length; w += 3) {
- let S = l[w + 1];
- if (S < 0 || f > S + c - d) continue;
- let E = l[w] + c - d;
- p >= E
- ? (l[w + 1] = f <= E ? -2 : -1)
- : f >= c && v && ((l[w] += v), (l[w + 1] += v));
- }
- d += v;
- }),
- (c = n.maps[u].map(c, -1));
- }
- let a = !1;
- for (let u = 0; u < l.length; u += 3)
- if (l[u + 1] < 0) {
- if (l[u + 1] == -2) {
- (a = !0), (l[u + 1] = -1);
- continue;
- }
- let c = n.map(t[u] + i),
- d = c - o;
- if (d < 0 || d >= r.content.size) {
- a = !0;
- continue;
- }
- let f = n.map(t[u + 1] + i, -1),
- p = f - o,
- { index: m, offset: y } = r.content.findIndex(d),
- v = r.maybeChild(m);
- if (v && y == d && y + v.nodeSize == p) {
- let w = l[u + 2].mapInner(n, v, c + 1, t[u] + i + 1, s);
- w != Wt
- ? ((l[u] = d), (l[u + 1] = p), (l[u + 2] = w))
- : ((l[u + 1] = -2), (a = !0));
- } else a = !0;
- }
- if (a) {
- let u = ZE(l, t, e, n, o, i, s),
- c = Ra(u, r, 0, s);
- e = c.local;
- for (let d = 0; d < l.length; d += 3)
- l[d + 1] < 0 && (l.splice(d, 3), (d -= 3));
- for (let d = 0, f = 0; d < c.children.length; d += 3) {
- let p = c.children[d];
- for (; f < l.length && l[f] < p; ) f += 3;
- l.splice(f, 0, c.children[d], c.children[d + 1], c.children[d + 2]);
- }
- }
- return new ft(e.sort(Lo), l);
-}
-function Zv(t, e) {
- if (!e || !t.length) return t;
- let n = [];
- for (let r = 0; r < t.length; r++) {
- let o = t[r];
- n.push(new qt(o.from + e, o.to + e, o.type));
- }
- return n;
-}
-function ZE(t, e, n, r, o, i, s) {
- function l(a, u) {
- for (let c = 0; c < a.local.length; c++) {
- let d = a.local[c].map(r, o, u);
- d ? n.push(d) : s.onRemove && s.onRemove(a.local[c].spec);
- }
- for (let c = 0; c < a.children.length; c += 3)
- l(a.children[c + 2], a.children[c] + u + 1);
- }
- for (let a = 0; a < t.length; a += 3)
- t[a + 1] == -1 && l(t[a + 2], e[a] + i + 1);
- return n;
-}
-function e2(t, e, n) {
- if (e.isLeaf) return null;
- let r = n + e.nodeSize,
- o = null;
- for (let i = 0, s; i < t.length; i++)
- (s = t[i]) &&
- s.from > n &&
- s.to < r &&
- ((o || (o = [])).push(s), (t[i] = null));
- return o;
-}
-function t2(t) {
- let e = [];
- for (let n = 0; n < t.length; n++) t[n] != null && e.push(t[n]);
- return e;
-}
-function Ra(t, e, n, r) {
- let o = [],
- i = !1;
- e.forEach((l, a) => {
- let u = e2(t, l, a + n);
- if (u) {
- i = !0;
- let c = Ra(u, l, n + a + 1, r);
- c != Wt && o.push(a, a + l.nodeSize, c);
- }
- });
- let s = Zv(i ? t2(t) : t, -n).sort(Lo);
- for (let l = 0; l < s.length; l++)
- s[l].type.valid(e, s[l]) ||
- (r.onRemove && r.onRemove(s[l].spec), s.splice(l--, 1));
- return s.length || o.length ? new ft(s, o) : Wt;
-}
-function Lo(t, e) {
- return t.from - e.from || t.to - e.to;
-}
-function kh(t) {
- let e = t;
- for (let n = 0; n < e.length - 1; n++) {
- let r = e[n];
- if (r.from != r.to)
- for (let o = n + 1; o < e.length; o++) {
- let i = e[o];
- if (i.from == r.from) {
- i.to != r.to &&
- (e == t && (e = t.slice()),
- (e[o] = i.copy(i.from, r.to)),
- dg(e, o + 1, i.copy(r.to, i.to)));
- continue;
- } else {
- i.from < r.to &&
- (e == t && (e = t.slice()),
- (e[n] = r.copy(r.from, i.from)),
- dg(e, o, r.copy(i.from, r.to)));
- break;
- }
- }
- }
- return e;
-}
-function dg(t, e, n) {
- for (; e < t.length && Lo(n, t[e]) > 0; ) e++;
- t.splice(e, 0, n);
-}
-function $c(t) {
- let e = [];
- return (
- t.someProp("decorations", (n) => {
- let r = n(t.state);
- r && r != Wt && e.push(r);
- }),
- t.cursorWrapper &&
- e.push(ft.create(t.state.doc, [t.cursorWrapper.deco])),
- Ur.from(e)
- );
-}
-const eT = {
- childList: !0,
- characterData: !0,
- characterDataOldValue: !0,
- attributes: !0,
- attributeOldValue: !0,
- subtree: !0,
- },
- tT = cn && to <= 11;
-class nT {
- constructor() {
- (this.anchorNode = null),
- (this.anchorOffset = 0),
- (this.focusNode = null),
- (this.focusOffset = 0);
- }
- set(e) {
- (this.anchorNode = e.anchorNode),
- (this.anchorOffset = e.anchorOffset),
- (this.focusNode = e.focusNode),
- (this.focusOffset = e.focusOffset);
- }
- clear() {
- this.anchorNode = this.focusNode = null;
- }
- eq(e) {
- return (
- e.anchorNode == this.anchorNode &&
- e.anchorOffset == this.anchorOffset &&
- e.focusNode == this.focusNode &&
- e.focusOffset == this.focusOffset
- );
- }
-}
-class rT {
- constructor(e, n) {
- (this.view = e),
- (this.handleDOMChange = n),
- (this.queue = []),
- (this.flushingSoon = -1),
- (this.observer = null),
- (this.currentSelection = new nT()),
- (this.onCharData = null),
- (this.suppressingSelectionUpdates = !1),
- (this.observer =
- window.MutationObserver &&
- new window.MutationObserver((r) => {
- for (let o = 0; o < r.length; o++) this.queue.push(r[o]);
- cn &&
- to <= 11 &&
- r.some(
- (o) =>
- (o.type == "childList" && o.removedNodes.length) ||
- (o.type == "characterData" &&
- o.oldValue.length > o.target.nodeValue.length)
- )
- ? this.flushSoon()
- : this.flush();
- })),
- tT &&
- (this.onCharData = (r) => {
- this.queue.push({
- target: r.target,
- type: "characterData",
- oldValue: r.prevValue,
- }),
- this.flushSoon();
- }),
- (this.onSelectionChange = this.onSelectionChange.bind(this));
- }
- flushSoon() {
- this.flushingSoon < 0 &&
- (this.flushingSoon = window.setTimeout(() => {
- (this.flushingSoon = -1), this.flush();
- }, 20));
- }
- forceFlush() {
- this.flushingSoon > -1 &&
- (window.clearTimeout(this.flushingSoon),
- (this.flushingSoon = -1),
- this.flush());
- }
- start() {
- this.observer &&
- (this.observer.takeRecords(),
- this.observer.observe(this.view.dom, eT)),
- this.onCharData &&
- this.view.dom.addEventListener(
- "DOMCharacterDataModified",
- this.onCharData
- ),
- this.connectSelection();
- }
- stop() {
- if (this.observer) {
- let e = this.observer.takeRecords();
- if (e.length) {
- for (let n = 0; n < e.length; n++) this.queue.push(e[n]);
- window.setTimeout(() => this.flush(), 20);
- }
- this.observer.disconnect();
- }
- this.onCharData &&
- this.view.dom.removeEventListener(
- "DOMCharacterDataModified",
- this.onCharData
- ),
- this.disconnectSelection();
- }
- connectSelection() {
- this.view.dom.ownerDocument.addEventListener(
- "selectionchange",
- this.onSelectionChange
- );
- }
- disconnectSelection() {
- this.view.dom.ownerDocument.removeEventListener(
- "selectionchange",
- this.onSelectionChange
- );
- }
- suppressSelectionUpdates() {
- (this.suppressingSelectionUpdates = !0),
- setTimeout(() => (this.suppressingSelectionUpdates = !1), 50);
- }
- onSelectionChange() {
- if (rg(this.view)) {
- if (this.suppressingSelectionUpdates) return Cr(this.view);
- if (cn && to <= 11 && !this.view.state.selection.empty) {
- let e = this.view.domSelectionRange();
- if (
- e.focusNode &&
- Ho(e.focusNode, e.focusOffset, e.anchorNode, e.anchorOffset)
- )
- return this.flushSoon();
- }
- this.flush();
- }
- }
- setCurSelection() {
- this.currentSelection.set(this.view.domSelectionRange());
- }
- ignoreSelectionChange(e) {
- if (!e.focusNode) return !0;
- let n = new Set(),
- r;
- for (let i = e.focusNode; i; i = js(i)) n.add(i);
- for (let i = e.anchorNode; i; i = js(i))
- if (n.has(i)) {
- r = i;
- break;
- }
- let o = r && this.view.docView.nearestDesc(r);
- if (
- o &&
- o.ignoreMutation({
- type: "selection",
- target: r.nodeType == 3 ? r.parentNode : r,
- })
- )
- return this.setCurSelection(), !0;
- }
- pendingRecords() {
- if (this.observer)
- for (let e of this.observer.takeRecords()) this.queue.push(e);
- return this.queue;
- }
- flush() {
- let { view: e } = this;
- if (!e.docView || this.flushingSoon > -1) return;
- let n = this.pendingRecords();
- n.length && (this.queue = []);
- let r = e.domSelectionRange(),
- o =
- !this.suppressingSelectionUpdates &&
- !this.currentSelection.eq(r) &&
- rg(e) &&
- !this.ignoreSelectionChange(r),
- i = -1,
- s = -1,
- l = !1,
- a = [];
- if (e.editable)
- for (let c = 0; c < n.length; c++) {
- let d = this.registerMutation(n[c], a);
- d &&
- ((i = i < 0 ? d.from : Math.min(d.from, i)),
- (s = s < 0 ? d.to : Math.max(d.to, s)),
- d.typeOver && (l = !0));
- }
- if (Vn && a.length > 1) {
- let c = a.filter((d) => d.nodeName == "BR");
- if (c.length == 2) {
- let d = c[0],
- f = c[1];
- d.parentNode && d.parentNode.parentNode == f.parentNode
- ? f.remove()
- : d.remove();
- }
- }
- let u = null;
- i < 0 &&
- o &&
- e.input.lastFocus > Date.now() - 200 &&
- Math.max(e.input.lastTouch, e.input.lastClick.time) <
- Date.now() - 300 &&
- Wu(r) &&
- (u = gh(e)) &&
- u.eq(Me.near(e.state.doc.resolve(0), 1))
- ? ((e.input.lastFocus = 0),
- Cr(e),
- this.currentSelection.set(r),
- e.scrollToSelection())
- : (i > -1 || o) &&
- (i > -1 && (e.docView.markDirty(i, s), oT(e)),
- this.handleDOMChange(i, s, l, a),
- e.docView && e.docView.dirty
- ? e.updateState(e.state)
- : this.currentSelection.eq(r) || Cr(e),
- this.currentSelection.set(r));
- }
- registerMutation(e, n) {
- if (n.indexOf(e.target) > -1) return null;
- let r = this.view.docView.nearestDesc(e.target);
- if (
- (e.type == "attributes" &&
- (r == this.view.docView ||
- e.attributeName == "contenteditable" ||
- (e.attributeName == "style" &&
- !e.oldValue &&
- !e.target.getAttribute("style")))) ||
- !r ||
- r.ignoreMutation(e)
- )
- return null;
- if (e.type == "childList") {
- for (let c = 0; c < e.addedNodes.length; c++)
- n.push(e.addedNodes[c]);
- if (
- r.contentDOM &&
- r.contentDOM != r.dom &&
- !r.contentDOM.contains(e.target)
- )
- return { from: r.posBefore, to: r.posAfter };
- let o = e.previousSibling,
- i = e.nextSibling;
- if (cn && to <= 11 && e.addedNodes.length)
- for (let c = 0; c < e.addedNodes.length; c++) {
- let { previousSibling: d, nextSibling: f } =
- e.addedNodes[c];
- (!d || Array.prototype.indexOf.call(e.addedNodes, d) < 0) &&
- (o = d),
- (!f ||
- Array.prototype.indexOf.call(e.addedNodes, f) <
- 0) &&
- (i = f);
- }
- let s = o && o.parentNode == e.target ? en(o) + 1 : 0,
- l = r.localPosFromDOM(e.target, s, -1),
- a =
- i && i.parentNode == e.target
- ? en(i)
- : e.target.childNodes.length,
- u = r.localPosFromDOM(e.target, a, 1);
- return { from: l, to: u };
- } else
- return e.type == "attributes"
- ? { from: r.posAtStart - r.border, to: r.posAtEnd + r.border }
- : {
- from: r.posAtStart,
- to: r.posAtEnd,
- typeOver: e.target.nodeValue == e.oldValue,
- };
- }
-}
-let fg = new WeakMap(),
- hg = !1;
-function oT(t) {
- if (
- !fg.has(t) &&
- (fg.set(t, null),
- ["normal", "nowrap", "pre-line"].indexOf(
- getComputedStyle(t.dom).whiteSpace
- ) !== -1)
- ) {
- if (((t.requiresGeckoHackNode = Vn), hg)) return;
- console.warn(
- "ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."
- ),
- (hg = !0);
- }
-}
-function iT(t) {
- let e;
- function n(a) {
- a.preventDefault(),
- a.stopImmediatePropagation(),
- (e = a.getTargetRanges()[0]);
- }
- t.dom.addEventListener("beforeinput", n, !0),
- document.execCommand("indent"),
- t.dom.removeEventListener("beforeinput", n, !0);
- let r = e.startContainer,
- o = e.startOffset,
- i = e.endContainer,
- s = e.endOffset,
- l = t.domAtPos(t.state.selection.anchor);
- return (
- Ho(l.node, l.offset, i, s) && ([r, o, i, s] = [i, s, r, o]),
- { anchorNode: r, anchorOffset: o, focusNode: i, focusOffset: s }
- );
-}
-function sT(t, e, n) {
- let {
- node: r,
- fromOffset: o,
- toOffset: i,
- from: s,
- to: l,
- } = t.docView.parseRange(e, n),
- a = t.domSelectionRange(),
- u,
- c = a.anchorNode;
- if (
- (c &&
- t.dom.contains(c.nodeType == 1 ? c : c.parentNode) &&
- ((u = [{ node: c, offset: a.anchorOffset }]),
- Wu(a) || u.push({ node: a.focusNode, offset: a.focusOffset })),
- Kt && t.input.lastKeyCode === 8)
- )
- for (let v = i; v > o; v--) {
- let w = r.childNodes[v - 1],
- S = w.pmViewDesc;
- if (w.nodeName == "BR" && !S) {
- i = v;
- break;
- }
- if (!S || S.size) break;
- }
- let d = t.state.doc,
- f = t.someProp("domParser") || zu.fromSchema(t.state.schema),
- p = d.resolve(s),
- m = null,
- y = f.parse(r, {
- topNode: p.parent,
- topMatch: p.parent.contentMatchAt(p.index()),
- topOpen: !0,
- from: o,
- to: i,
- preserveWhitespace: p.parent.type.whitespace == "pre" ? "full" : !0,
- findPositions: u,
- ruleFromNode: lT,
- context: p,
- });
- if (u && u[0].pos != null) {
- let v = u[0].pos,
- w = u[1] && u[1].pos;
- w == null && (w = v), (m = { anchor: v + s, head: w + s });
- }
- return { doc: y, sel: m, from: s, to: l };
-}
-function lT(t) {
- let e = t.pmViewDesc;
- if (e) return e.parseRule();
- if (t.nodeName == "BR" && t.parentNode) {
- if (nn && /^(ul|ol)$/i.test(t.parentNode.nodeName)) {
- let n = document.createElement("div");
- return n.appendChild(document.createElement("li")), { skip: n };
- } else if (
- t.parentNode.lastChild == t ||
- (nn && /^(tr|table)$/i.test(t.parentNode.nodeName))
- )
- return { ignore: !0 };
- } else if (t.nodeName == "IMG" && t.getAttribute("mark-placeholder"))
- return { ignore: !0 };
- return null;
-}
-const aT =
- /^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;
-function uT(t, e, n, r, o) {
- let i =
- t.input.compositionPendingChanges ||
- (t.composing ? t.input.compositionID : 0);
- if (((t.input.compositionPendingChanges = 0), e < 0)) {
- let C =
- t.input.lastSelectionTime > Date.now() - 50
- ? t.input.lastSelectionOrigin
- : null,
- _ = gh(t, C);
- if (_ && !t.state.selection.eq(_)) {
- if (
- Kt &&
- Dn &&
- t.input.lastKeyCode === 13 &&
- Date.now() - 100 < t.input.lastKeyCodeTime &&
- t.someProp("handleKeyDown", (R) => R(t, So(13, "Enter")))
- )
- return;
- let T = t.state.tr.setSelection(_);
- C == "pointer"
- ? T.setMeta("pointer", !0)
- : C == "key" && T.scrollIntoView(),
- i && T.setMeta("composition", i),
- t.dispatch(T);
- }
- return;
- }
- let s = t.state.doc.resolve(e),
- l = s.sharedDepth(n);
- (e = s.before(l + 1)), (n = t.state.doc.resolve(n).after(l + 1));
- let a = t.state.selection,
- u = sT(t, e, n),
- c = t.state.doc,
- d = c.slice(u.from, u.to),
- f,
- p;
- t.input.lastKeyCode === 8 && Date.now() - 100 < t.input.lastKeyCodeTime
- ? ((f = t.state.selection.to), (p = "end"))
- : ((f = t.state.selection.from), (p = "start")),
- (t.input.lastKeyCode = null);
- let m = fT(d.content, u.doc.content, u.from, f, p);
- if (
- ((Ni && t.input.lastIOSEnter > Date.now() - 225) || Dn) &&
- o.some((C) => C.nodeType == 1 && !aT.test(C.nodeName)) &&
- (!m || m.endA >= m.endB) &&
- t.someProp("handleKeyDown", (C) => C(t, So(13, "Enter")))
- ) {
- t.input.lastIOSEnter = 0;
- return;
- }
- if (!m)
- if (
- r &&
- a instanceof Se &&
- !a.empty &&
- a.$head.sameParent(a.$anchor) &&
- !t.composing &&
- !(u.sel && u.sel.anchor != u.sel.head)
- )
- m = { start: a.from, endA: a.to, endB: a.to };
- else {
- if (u.sel) {
- let C = pg(t, t.state.doc, u.sel);
- if (C && !C.eq(t.state.selection)) {
- let _ = t.state.tr.setSelection(C);
- i && _.setMeta("composition", i), t.dispatch(_);
- }
- }
- return;
- }
- if (
- Kt &&
- t.cursorWrapper &&
- u.sel &&
- u.sel.anchor == t.cursorWrapper.deco.from &&
- u.sel.head == u.sel.anchor
- ) {
- let C = m.endB - m.start;
- u.sel = { anchor: u.sel.anchor + C, head: u.sel.anchor + C };
- }
- t.input.domChangeCount++,
- t.state.selection.from < t.state.selection.to &&
- m.start == m.endB &&
- t.state.selection instanceof Se &&
- (m.start > t.state.selection.from &&
- m.start <= t.state.selection.from + 2 &&
- t.state.selection.from >= u.from
- ? (m.start = t.state.selection.from)
- : m.endA < t.state.selection.to &&
- m.endA >= t.state.selection.to - 2 &&
- t.state.selection.to <= u.to &&
- ((m.endB += t.state.selection.to - m.endA),
- (m.endA = t.state.selection.to))),
- cn &&
- to <= 11 &&
- m.endB == m.start + 1 &&
- m.endA == m.start &&
- m.start > u.from &&
- u.doc.textBetween(m.start - u.from - 1, m.start - u.from + 1) ==
- " " &&
- (m.start--, m.endA--, m.endB--);
- let y = u.doc.resolveNoCache(m.start - u.from),
- v = u.doc.resolveNoCache(m.endB - u.from),
- w = c.resolve(m.start),
- S = y.sameParent(v) && y.parent.inlineContent && w.end() >= m.endA,
- E;
- if (
- ((Ni &&
- t.input.lastIOSEnter > Date.now() - 225 &&
- (!S || o.some((C) => C.nodeName == "DIV" || C.nodeName == "P"))) ||
- (!S &&
- y.pos < u.doc.content.size &&
- !y.sameParent(v) &&
- (E = Me.findFrom(u.doc.resolve(y.pos + 1), 1, !0)) &&
- E.head == v.pos)) &&
- t.someProp("handleKeyDown", (C) => C(t, So(13, "Enter")))
- ) {
- t.input.lastIOSEnter = 0;
- return;
- }
- if (
- t.state.selection.anchor > m.start &&
- dT(c, m.start, m.endA, y, v) &&
- t.someProp("handleKeyDown", (C) => C(t, So(8, "Backspace")))
- ) {
- Dn && Kt && t.domObserver.suppressSelectionUpdates();
- return;
- }
- Kt && Dn && m.endB == m.start && (t.input.lastAndroidDelete = Date.now()),
- Dn &&
- !S &&
- y.start() != v.start() &&
- v.parentOffset == 0 &&
- y.depth == v.depth &&
- u.sel &&
- u.sel.anchor == u.sel.head &&
- u.sel.head == m.endA &&
- ((m.endB -= 2),
- (v = u.doc.resolveNoCache(m.endB - u.from)),
- setTimeout(() => {
- t.someProp("handleKeyDown", function (C) {
- return C(t, So(13, "Enter"));
- });
- }, 20));
- let h = m.start,
- b = m.endA,
- g,
- x,
- k;
- if (S) {
- if (y.pos == v.pos)
- cn &&
- to <= 11 &&
- y.parentOffset == 0 &&
- (t.domObserver.suppressSelectionUpdates(),
- setTimeout(() => Cr(t), 20)),
- (g = t.state.tr.delete(h, b)),
- (x = c.resolve(m.start).marksAcross(c.resolve(m.endA)));
- else if (
- m.endA == m.endB &&
- (k = cT(
- y.parent.content.cut(y.parentOffset, v.parentOffset),
- w.parent.content.cut(w.parentOffset, m.endA - w.start())
- ))
- )
- (g = t.state.tr),
- k.type == "add"
- ? g.addMark(h, b, k.mark)
- : g.removeMark(h, b, k.mark);
- else if (
- y.parent.child(y.index()).isText &&
- y.index() == v.index() - (v.textOffset ? 0 : 1)
- ) {
- let C = y.parent.textBetween(y.parentOffset, v.parentOffset);
- if (t.someProp("handleTextInput", (_) => _(t, h, b, C))) return;
- g = t.state.tr.insertText(C, h, b);
- }
- }
- if (
- (g ||
- (g = t.state.tr.replace(
- h,
- b,
- u.doc.slice(m.start - u.from, m.endB - u.from)
- )),
- u.sel)
- ) {
- let C = pg(t, g.doc, u.sel);
- C &&
- !(
- (Kt &&
- Dn &&
- t.composing &&
- C.empty &&
- (m.start != m.endB ||
- t.input.lastAndroidDelete < Date.now() - 100) &&
- (C.head == h || C.head == g.mapping.map(b) - 1)) ||
- (cn && C.empty && C.head == h)
- ) &&
- g.setSelection(C);
- }
- x && g.ensureMarks(x),
- i && g.setMeta("composition", i),
- t.dispatch(g.scrollIntoView());
-}
-function pg(t, e, n) {
- return Math.max(n.anchor, n.head) > e.content.size
- ? null
- : yh(t, e.resolve(n.anchor), e.resolve(n.head));
-}
-function cT(t, e) {
- let n = t.firstChild.marks,
- r = e.firstChild.marks,
- o = n,
- i = r,
- s,
- l,
- a;
- for (let c = 0; c < r.length; c++) o = r[c].removeFromSet(o);
- for (let c = 0; c < n.length; c++) i = n[c].removeFromSet(i);
- if (o.length == 1 && i.length == 0)
- (l = o[0]), (s = "add"), (a = (c) => c.mark(l.addToSet(c.marks)));
- else if (o.length == 0 && i.length == 1)
- (l = i[0]),
- (s = "remove"),
- (a = (c) => c.mark(l.removeFromSet(c.marks)));
- else return null;
- let u = [];
- for (let c = 0; c < e.childCount; c++) u.push(a(e.child(c)));
- if (J.from(u).eq(t)) return { mark: l, type: s };
-}
-function dT(t, e, n, r, o) {
- if (
- !r.parent.isTextblock ||
- n - e <= o.pos - r.pos ||
- Bc(r, !0, !1) < o.pos
- )
- return !1;
- let i = t.resolve(e);
- if (i.parentOffset < i.parent.content.size || !i.parent.isTextblock)
- return !1;
- let s = t.resolve(Bc(i, !0, !0));
- return !s.parent.isTextblock || s.pos > n || Bc(s, !0, !1) < n
- ? !1
- : r.parent.content.cut(r.parentOffset).eq(s.parent.content);
-}
-function Bc(t, e, n) {
- let r = t.depth,
- o = e ? t.end() : t.pos;
- for (; r > 0 && (e || t.indexAfter(r) == t.node(r).childCount); )
- r--, o++, (e = !1);
- if (n) {
- let i = t.node(r).maybeChild(t.indexAfter(r));
- for (; i && !i.isLeaf; ) (i = i.firstChild), o++;
- }
- return o;
-}
-function fT(t, e, n, r, o) {
- let i = t.findDiffStart(e, n);
- if (i == null) return null;
- let { a: s, b: l } = t.findDiffEnd(e, n + t.size, n + e.size);
- if (o == "end") {
- let a = Math.max(0, i - Math.min(s, l));
- r -= s + a - i;
- }
- if (s < i && t.size < e.size) {
- let a = r <= i && r >= s ? i - r : 0;
- (i -= a),
- i &&
- i < e.size &&
- mg(e.textBetween(i - 1, i + 1)) &&
- (i += a ? 1 : -1),
- (l = i + (l - s)),
- (s = i);
- } else if (l < i) {
- let a = r <= i && r >= l ? i - r : 0;
- (i -= a),
- i &&
- i < t.size &&
- mg(t.textBetween(i - 1, i + 1)) &&
- (i += a ? 1 : -1),
- (s = i + (s - l)),
- (l = i);
- }
- return { start: i, endA: s, endB: l };
-}
-function mg(t) {
- if (t.length != 2) return !1;
- let e = t.charCodeAt(0),
- n = t.charCodeAt(1);
- return e >= 56320 && e <= 57343 && n >= 55296 && n <= 56319;
-}
-class hT {
- constructor(e, n) {
- (this._root = null),
- (this.focused = !1),
- (this.trackWrites = null),
- (this.mounted = !1),
- (this.markCursor = null),
- (this.cursorWrapper = null),
- (this.lastSelectedViewDesc = void 0),
- (this.input = new NE()),
- (this.prevDirectPlugins = []),
- (this.pluginViews = []),
- (this.requiresGeckoHackNode = !1),
- (this.dragging = null),
- (this._props = n),
- (this.state = n.state),
- (this.directPlugins = n.plugins || []),
- this.directPlugins.forEach(wg),
- (this.dispatch = this.dispatch.bind(this)),
- (this.dom = (e && e.mount) || document.createElement("div")),
- e &&
- (e.appendChild
- ? e.appendChild(this.dom)
- : typeof e == "function"
- ? e(this.dom)
- : e.mount && (this.mounted = !0)),
- (this.editable = vg(this)),
- yg(this),
- (this.nodeViews = bg(this)),
- (this.docView = Qm(
- this.state.doc,
- gg(this),
- $c(this),
- this.dom,
- this
- )),
- (this.domObserver = new rT(this, (r, o, i, s) =>
- uT(this, r, o, i, s)
- )),
- this.domObserver.start(),
- DE(this),
- this.updatePluginViews();
- }
- get composing() {
- return this.input.composing;
- }
- get props() {
- if (this._props.state != this.state) {
- let e = this._props;
- this._props = {};
- for (let n in e) this._props[n] = e[n];
- this._props.state = this.state;
- }
- return this._props;
- }
- update(e) {
- e.handleDOMEvents != this._props.handleDOMEvents && Yd(this);
- let n = this._props;
- (this._props = e),
- e.plugins &&
- (e.plugins.forEach(wg), (this.directPlugins = e.plugins)),
- this.updateStateInner(e.state, n);
- }
- setProps(e) {
- let n = {};
- for (let r in this._props) n[r] = this._props[r];
- n.state = this.state;
- for (let r in e) n[r] = e[r];
- this.update(n);
- }
- updateState(e) {
- this.updateStateInner(e, this._props);
- }
- updateStateInner(e, n) {
- var r;
- let o = this.state,
- i = !1,
- s = !1;
- e.storedMarks && this.composing && (Gv(this), (s = !0)),
- (this.state = e);
- let l = o.plugins != e.plugins || this._props.plugins != n.plugins;
- if (
- l ||
- this._props.plugins != n.plugins ||
- this._props.nodeViews != n.nodeViews
- ) {
- let p = bg(this);
- mT(p, this.nodeViews) && ((this.nodeViews = p), (i = !0));
- }
- (l || n.handleDOMEvents != this._props.handleDOMEvents) && Yd(this),
- (this.editable = vg(this)),
- yg(this);
- let a = $c(this),
- u = gg(this),
- c =
- o.plugins != e.plugins && !o.doc.eq(e.doc)
- ? "reset"
- : e.scrollToSelection > o.scrollToSelection
- ? "to selection"
- : "preserve",
- d = i || !this.docView.matchesNode(e.doc, u, a);
- (d || !e.selection.eq(o.selection)) && (s = !0);
- let f =
- c == "preserve" &&
- s &&
- this.dom.style.overflowAnchor == null &&
- GM(this);
- if (s) {
- this.domObserver.stop();
- let p =
- d &&
- (cn || Kt) &&
- !this.composing &&
- !o.selection.empty &&
- !e.selection.empty &&
- pT(o.selection, e.selection);
- if (d) {
- let m = Kt
- ? (this.trackWrites = this.domSelectionRange().focusNode)
- : null;
- (i || !this.docView.update(e.doc, u, a, this)) &&
- (this.docView.updateOuterDeco([]),
- this.docView.destroy(),
- (this.docView = Qm(e.doc, u, a, this.dom, this))),
- m && !this.trackWrites && (p = !0);
- }
- p ||
- !(
- this.input.mouseDown &&
- this.domObserver.currentSelection.eq(
- this.domSelectionRange()
- ) &&
- wE(this)
- )
- ? Cr(this, p)
- : (jv(this, e.selection), this.domObserver.setCurSelection()),
- this.domObserver.start();
- }
- this.updatePluginViews(o),
- !((r = this.dragging) === null || r === void 0) &&
- r.node &&
- !o.doc.eq(e.doc) &&
- this.updateDraggedNode(this.dragging, o),
- c == "reset"
- ? (this.dom.scrollTop = 0)
- : c == "to selection"
- ? this.scrollToSelection()
- : f && YM(f);
- }
- scrollToSelection() {
- let e = this.domSelectionRange().focusNode;
- if (!this.someProp("handleScrollToSelection", (n) => n(this)))
- if (this.state.selection instanceof we) {
- let n = this.docView.domAfterPos(this.state.selection.from);
- n.nodeType == 1 && Um(this, n.getBoundingClientRect(), e);
- } else Um(this, this.coordsAtPos(this.state.selection.head, 1), e);
- }
- destroyPluginViews() {
- let e;
- for (; (e = this.pluginViews.pop()); ) e.destroy && e.destroy();
- }
- updatePluginViews(e) {
- if (
- !e ||
- e.plugins != this.state.plugins ||
- this.directPlugins != this.prevDirectPlugins
- ) {
- (this.prevDirectPlugins = this.directPlugins),
- this.destroyPluginViews();
- for (let n = 0; n < this.directPlugins.length; n++) {
- let r = this.directPlugins[n];
- r.spec.view && this.pluginViews.push(r.spec.view(this));
- }
- for (let n = 0; n < this.state.plugins.length; n++) {
- let r = this.state.plugins[n];
- r.spec.view && this.pluginViews.push(r.spec.view(this));
- }
- } else
- for (let n = 0; n < this.pluginViews.length; n++) {
- let r = this.pluginViews[n];
- r.update && r.update(this, e);
- }
- }
- updateDraggedNode(e, n) {
- let r = e.node,
- o = -1;
- if (this.state.doc.nodeAt(r.from) == r.node) o = r.from;
- else {
- let i = r.from + (this.state.doc.content.size - n.doc.content.size);
- (i > 0 && this.state.doc.nodeAt(i)) == r.node && (o = i);
- }
- this.dragging = new Qv(
- e.slice,
- e.move,
- o < 0 ? void 0 : we.create(this.state.doc, o)
- );
- }
- someProp(e, n) {
- let r = this._props && this._props[e],
- o;
- if (r != null && (o = n ? n(r) : r)) return o;
- for (let s = 0; s < this.directPlugins.length; s++) {
- let l = this.directPlugins[s].props[e];
- if (l != null && (o = n ? n(l) : l)) return o;
- }
- let i = this.state.plugins;
- if (i)
- for (let s = 0; s < i.length; s++) {
- let l = i[s].props[e];
- if (l != null && (o = n ? n(l) : l)) return o;
- }
- }
- hasFocus() {
- if (cn) {
- let e = this.root.activeElement;
- if (e == this.dom) return !0;
- if (!e || !this.dom.contains(e)) return !1;
- for (; e && this.dom != e && this.dom.contains(e); ) {
- if (e.contentEditable == "false") return !1;
- e = e.parentElement;
- }
- return !0;
- }
- return this.root.activeElement == this.dom;
- }
- focus() {
- this.domObserver.stop(),
- this.editable && QM(this.dom),
- Cr(this),
- this.domObserver.start();
- }
- get root() {
- let e = this._root;
- if (e == null) {
- for (let n = this.dom.parentNode; n; n = n.parentNode)
- if (n.nodeType == 9 || (n.nodeType == 11 && n.host))
- return (
- n.getSelection ||
- (Object.getPrototypeOf(n).getSelection = () =>
- n.ownerDocument.getSelection()),
- (this._root = n)
- );
- }
- return e || document;
- }
- updateRoot() {
- this._root = null;
- }
- posAtCoords(e) {
- return nE(this, e);
- }
- coordsAtPos(e, n = 1) {
- return Tv(this, e, n);
- }
- domAtPos(e, n = 0) {
- return this.docView.domFromPos(e, n);
- }
- nodeDOM(e) {
- let n = this.docView.descAt(e);
- return n ? n.nodeDOM : null;
- }
- posAtDOM(e, n, r = -1) {
- let o = this.docView.posFromDOM(e, n, r);
- if (o == null)
- throw new RangeError("DOM position not inside the editor");
- return o;
- }
- endOfTextblock(e, n) {
- return lE(this, n || this.state, e);
- }
- pasteHTML(e, n) {
- return $s(this, "", e, !1, n || new ClipboardEvent("paste"));
- }
- pasteText(e, n) {
- return $s(this, e, null, !0, n || new ClipboardEvent("paste"));
- }
- destroy() {
- this.docView &&
- (jE(this),
- this.destroyPluginViews(),
- this.mounted
- ? (this.docView.update(this.state.doc, [], $c(this), this),
- (this.dom.textContent = ""))
- : this.dom.parentNode &&
- this.dom.parentNode.removeChild(this.dom),
- this.docView.destroy(),
- (this.docView = null));
- }
- get isDestroyed() {
- return this.docView == null;
- }
- dispatchEvent(e) {
- return $E(this, e);
- }
- dispatch(e) {
- let n = this._props.dispatchTransaction;
- n ? n.call(this, e) : this.updateState(this.state.apply(e));
- }
- domSelectionRange() {
- return nn &&
- this.root.nodeType === 11 &&
- FM(this.dom.ownerDocument) == this.dom
- ? iT(this)
- : this.domSelection();
- }
- domSelection() {
- return this.root.getSelection();
- }
-}
-function gg(t) {
- let e = Object.create(null);
- return (
- (e.class = "ProseMirror"),
- (e.contenteditable = String(t.editable)),
- t.someProp("attributes", (n) => {
- if ((typeof n == "function" && (n = n(t.state)), n))
- for (let r in n)
- r == "class"
- ? (e.class += " " + n[r])
- : r == "style"
- ? (e.style = (e.style ? e.style + ";" : "") + n[r])
- : !e[r] &&
- r != "contenteditable" &&
- r != "nodeName" &&
- (e[r] = String(n[r]));
- }),
- e.translate || (e.translate = "no"),
- [qt.node(0, t.state.doc.content.size, e)]
- );
-}
-function yg(t) {
- if (t.markCursor) {
- let e = document.createElement("img");
- (e.className = "ProseMirror-separator"),
- e.setAttribute("mark-placeholder", "true"),
- e.setAttribute("alt", ""),
- (t.cursorWrapper = {
- dom: e,
- deco: qt.widget(t.state.selection.head, e, {
- raw: !0,
- marks: t.markCursor,
- }),
- });
- } else t.cursorWrapper = null;
-}
-function vg(t) {
- return !t.someProp("editable", (e) => e(t.state) === !1);
-}
-function pT(t, e) {
- let n = Math.min(
- t.$anchor.sharedDepth(t.head),
- e.$anchor.sharedDepth(e.head)
- );
- return t.$anchor.start(n) != e.$anchor.start(n);
-}
-function bg(t) {
- let e = Object.create(null);
- function n(r) {
- for (let o in r)
- Object.prototype.hasOwnProperty.call(e, o) || (e[o] = r[o]);
- }
- return t.someProp("nodeViews", n), t.someProp("markViews", n), e;
-}
-function mT(t, e) {
- let n = 0,
- r = 0;
- for (let o in t) {
- if (t[o] != e[o]) return !0;
- n++;
- }
- for (let o in e) r++;
- return n != r;
-}
-function wg(t) {
- if (t.spec.state || t.spec.filterTransaction || t.spec.appendTransaction)
- throw new RangeError(
- "Plugins passed directly to the view must not have a state component"
- );
-}
-var io = {
- 8: "Backspace",
- 9: "Tab",
- 10: "Enter",
- 12: "NumLock",
- 13: "Enter",
- 16: "Shift",
- 17: "Control",
- 18: "Alt",
- 20: "CapsLock",
- 27: "Escape",
- 32: " ",
- 33: "PageUp",
- 34: "PageDown",
- 35: "End",
- 36: "Home",
- 37: "ArrowLeft",
- 38: "ArrowUp",
- 39: "ArrowRight",
- 40: "ArrowDown",
- 44: "PrintScreen",
- 45: "Insert",
- 46: "Delete",
- 59: ";",
- 61: "=",
- 91: "Meta",
- 92: "Meta",
- 106: "*",
- 107: "+",
- 108: ",",
- 109: "-",
- 110: ".",
- 111: "/",
- 144: "NumLock",
- 145: "ScrollLock",
- 160: "Shift",
- 161: "Shift",
- 162: "Control",
- 163: "Control",
- 164: "Alt",
- 165: "Alt",
- 173: "-",
- 186: ";",
- 187: "=",
- 188: ",",
- 189: "-",
- 190: ".",
- 191: "/",
- 192: "`",
- 219: "[",
- 220: "\\",
- 221: "]",
- 222: "'",
- },
- Pa = {
- 48: ")",
- 49: "!",
- 50: "@",
- 51: "#",
- 52: "$",
- 53: "%",
- 54: "^",
- 55: "&",
- 56: "*",
- 57: "(",
- 59: ":",
- 61: "+",
- 173: "_",
- 186: ":",
- 187: "+",
- 188: "<",
- 189: "_",
- 190: ">",
- 191: "?",
- 192: "~",
- 219: "{",
- 220: "|",
- 221: "}",
- 222: '"',
- },
- gT = typeof navigator != "undefined" && /Mac/.test(navigator.platform),
- yT =
- typeof navigator != "undefined" &&
- /MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(
- navigator.userAgent
- );
-for (var Vt = 0; Vt < 10; Vt++) io[48 + Vt] = io[96 + Vt] = String(Vt);
-for (var Vt = 1; Vt <= 24; Vt++) io[Vt + 111] = "F" + Vt;
-for (var Vt = 65; Vt <= 90; Vt++)
- (io[Vt] = String.fromCharCode(Vt + 32)), (Pa[Vt] = String.fromCharCode(Vt));
-for (var zc in io) Pa.hasOwnProperty(zc) || (Pa[zc] = io[zc]);
-function vT(t) {
- var e =
- (gT && t.metaKey && t.shiftKey && !t.ctrlKey && !t.altKey) ||
- (yT && t.shiftKey && t.key && t.key.length == 1) ||
- t.key == "Unidentified",
- n =
- (!e && t.key) ||
- (t.shiftKey ? Pa : io)[t.keyCode] ||
- t.key ||
- "Unidentified";
- return (
- n == "Esc" && (n = "Escape"),
- n == "Del" && (n = "Delete"),
- n == "Left" && (n = "ArrowLeft"),
- n == "Up" && (n = "ArrowUp"),
- n == "Right" && (n = "ArrowRight"),
- n == "Down" && (n = "ArrowDown"),
- n
- );
-}
-const bT =
- typeof navigator != "undefined"
- ? /Mac|iP(hone|[oa]d)/.test(navigator.platform)
- : !1;
-function wT(t) {
- let e = t.split(/-(?!$)/),
- n = e[e.length - 1];
- n == "Space" && (n = " ");
- let r, o, i, s;
- for (let l = 0; l < e.length - 1; l++) {
- let a = e[l];
- if (/^(cmd|meta|m)$/i.test(a)) s = !0;
- else if (/^a(lt)?$/i.test(a)) r = !0;
- else if (/^(c|ctrl|control)$/i.test(a)) o = !0;
- else if (/^s(hift)?$/i.test(a)) i = !0;
- else if (/^mod$/i.test(a)) bT ? (s = !0) : (o = !0);
- else throw new Error("Unrecognized modifier name: " + a);
- }
- return (
- r && (n = "Alt-" + n),
- o && (n = "Ctrl-" + n),
- s && (n = "Meta-" + n),
- i && (n = "Shift-" + n),
- n
- );
-}
-function xT(t) {
- let e = Object.create(null);
- for (let n in t) e[wT(n)] = t[n];
- return e;
-}
-function Hc(t, e, n = !0) {
- return (
- e.altKey && (t = "Alt-" + t),
- e.ctrlKey && (t = "Ctrl-" + t),
- e.metaKey && (t = "Meta-" + t),
- n && e.shiftKey && (t = "Shift-" + t),
- t
- );
-}
-function kT(t) {
- return new kt({ props: { handleKeyDown: Sh(t) } });
-}
-function Sh(t) {
- let e = xT(t);
- return function (n, r) {
- let o = vT(r),
- i,
- s = e[Hc(o, r)];
- if (s && s(n.state, n.dispatch, n)) return !0;
- if (o.length == 1 && o != " ") {
- if (r.shiftKey) {
- let l = e[Hc(o, r, !1)];
- if (l && l(n.state, n.dispatch, n)) return !0;
- }
- if (
- (r.shiftKey ||
- r.altKey ||
- r.metaKey ||
- o.charCodeAt(0) > 127) &&
- (i = io[r.keyCode]) &&
- i != o
- ) {
- let l = e[Hc(i, r)];
- if (l && l(n.state, n.dispatch, n)) return !0;
- }
- }
- return !1;
- };
-}
-const ST = (t, e) =>
- t.selection.empty
- ? !1
- : (e && e(t.tr.deleteSelection().scrollIntoView()), !0);
-function n2(t, e) {
- let { $cursor: n } = t.selection;
- return !n || (e ? !e.endOfTextblock("backward", t) : n.parentOffset > 0)
- ? null
- : n;
-}
-const _T = (t, e, n) => {
- let r = n2(t, n);
- if (!r) return !1;
- let o = _h(r);
- if (!o) {
- let s = r.blockRange(),
- l = s && Hi(s);
- return l == null
- ? !1
- : (e && e(t.tr.lift(s, l).scrollIntoView()), !0);
- }
- let i = o.nodeBefore;
- if (!i.type.spec.isolating && s2(t, o, e)) return !0;
- if (
- r.parent.content.size == 0 &&
- (Di(i, "end") || we.isSelectable(i))
- ) {
- let s = Fu(t.doc, r.before(), r.after(), le.empty);
- if (s && s.slice.size < s.to - s.from) {
- if (e) {
- let l = t.tr.step(s);
- l.setSelection(
- Di(i, "end")
- ? Me.findFrom(
- l.doc.resolve(l.mapping.map(o.pos, -1)),
- -1
- )
- : we.create(l.doc, o.pos - i.nodeSize)
- ),
- e(l.scrollIntoView());
- }
- return !0;
- }
- }
- return i.isAtom && o.depth == r.depth - 1
- ? (e && e(t.tr.delete(o.pos - i.nodeSize, o.pos).scrollIntoView()),
- !0)
- : !1;
- },
- CT = (t, e, n) => {
- let r = n2(t, n);
- if (!r) return !1;
- let o = _h(r);
- return o ? r2(t, o, e) : !1;
- },
- MT = (t, e, n) => {
- let r = o2(t, n);
- if (!r) return !1;
- let o = Ch(r);
- return o ? r2(t, o, e) : !1;
- };
-function r2(t, e, n) {
- let r = e.nodeBefore,
- o = r,
- i = e.pos - 1;
- for (; !o.isTextblock; i--) {
- if (o.type.spec.isolating) return !1;
- let c = o.lastChild;
- if (!c) return !1;
- o = c;
- }
- let s = e.nodeAfter,
- l = s,
- a = e.pos + 1;
- for (; !l.isTextblock; a++) {
- if (l.type.spec.isolating) return !1;
- let c = l.firstChild;
- if (!c) return !1;
- l = c;
- }
- let u = Fu(t.doc, i, a, le.empty);
- if (!u || u.from != i || (u instanceof jt && u.slice.size >= a - i))
- return !1;
- if (n) {
- let c = t.tr.step(u);
- c.setSelection(Se.create(c.doc, i)), n(c.scrollIntoView());
- }
- return !0;
-}
-function Di(t, e, n = !1) {
- for (let r = t; r; r = e == "start" ? r.firstChild : r.lastChild) {
- if (r.isTextblock) return !0;
- if (n && r.childCount != 1) return !1;
- }
- return !1;
-}
-const ET = (t, e, n) => {
- let { $head: r, empty: o } = t.selection,
- i = r;
- if (!o) return !1;
- if (r.parent.isTextblock) {
- if (n ? !n.endOfTextblock("backward", t) : r.parentOffset > 0)
- return !1;
- i = _h(r);
- }
- let s = i && i.nodeBefore;
- return !s || !we.isSelectable(s)
- ? !1
- : (e &&
- e(
- t.tr
- .setSelection(we.create(t.doc, i.pos - s.nodeSize))
- .scrollIntoView()
- ),
- !0);
-};
-function _h(t) {
- if (!t.parent.type.spec.isolating)
- for (let e = t.depth - 1; e >= 0; e--) {
- if (t.index(e) > 0) return t.doc.resolve(t.before(e + 1));
- if (t.node(e).type.spec.isolating) break;
- }
- return null;
-}
-function o2(t, e) {
- let { $cursor: n } = t.selection;
- return !n ||
- (e
- ? !e.endOfTextblock("forward", t)
- : n.parentOffset < n.parent.content.size)
- ? null
- : n;
-}
-const TT = (t, e, n) => {
- let r = o2(t, n);
- if (!r) return !1;
- let o = Ch(r);
- if (!o) return !1;
- let i = o.nodeAfter;
- if (s2(t, o, e)) return !0;
- if (
- r.parent.content.size == 0 &&
- (Di(i, "start") || we.isSelectable(i))
- ) {
- let s = Fu(t.doc, r.before(), r.after(), le.empty);
- if (s && s.slice.size < s.to - s.from) {
- if (e) {
- let l = t.tr.step(s);
- l.setSelection(
- Di(i, "start")
- ? Me.findFrom(
- l.doc.resolve(l.mapping.map(o.pos)),
- 1
- )
- : we.create(l.doc, l.mapping.map(o.pos))
- ),
- e(l.scrollIntoView());
- }
- return !0;
- }
- }
- return i.isAtom && o.depth == r.depth - 1
- ? (e && e(t.tr.delete(o.pos, o.pos + i.nodeSize).scrollIntoView()),
- !0)
- : !1;
- },
- AT = (t, e, n) => {
- let { $head: r, empty: o } = t.selection,
- i = r;
- if (!o) return !1;
- if (r.parent.isTextblock) {
- if (
- n
- ? !n.endOfTextblock("forward", t)
- : r.parentOffset < r.parent.content.size
- )
- return !1;
- i = Ch(r);
- }
- let s = i && i.nodeAfter;
- return !s || !we.isSelectable(s)
- ? !1
- : (e &&
- e(
- t.tr
- .setSelection(we.create(t.doc, i.pos))
- .scrollIntoView()
- ),
- !0);
- };
-function Ch(t) {
- if (!t.parent.type.spec.isolating)
- for (let e = t.depth - 1; e >= 0; e--) {
- let n = t.node(e);
- if (t.index(e) + 1 < n.childCount)
- return t.doc.resolve(t.after(e + 1));
- if (n.type.spec.isolating) break;
- }
- return null;
-}
-const OT = (t, e) => {
- let n = t.selection,
- r = n instanceof we,
- o;
- if (r) {
- if (n.node.isTextblock || !fo(t.doc, n.from)) return !1;
- o = n.from;
- } else if (((o = Hu(t.doc, n.from, -1)), o == null)) return !1;
- if (e) {
- let i = t.tr.join(o);
- r &&
- i.setSelection(
- we.create(i.doc, o - t.doc.resolve(o).nodeBefore.nodeSize)
- ),
- e(i.scrollIntoView());
- }
- return !0;
- },
- RT = (t, e) => {
- let n = t.selection,
- r;
- if (n instanceof we) {
- if (n.node.isTextblock || !fo(t.doc, n.to)) return !1;
- r = n.to;
- } else if (((r = Hu(t.doc, n.to, 1)), r == null)) return !1;
- return e && e(t.tr.join(r).scrollIntoView()), !0;
- },
- PT = (t, e) => {
- let { $from: n, $to: r } = t.selection,
- o = n.blockRange(r),
- i = o && Hi(o);
- return i == null ? !1 : (e && e(t.tr.lift(o, i).scrollIntoView()), !0);
- },
- IT = (t, e) => {
- let { $head: n, $anchor: r } = t.selection;
- return !n.parent.type.spec.code || !n.sameParent(r)
- ? !1
- : (e &&
- e(
- t.tr
- .insertText(
- `
-`
- )
- .scrollIntoView()
- ),
- !0);
- };
-function i2(t) {
- for (let e = 0; e < t.edgeCount; e++) {
- let { type: n } = t.edge(e);
- if (n.isTextblock && !n.hasRequiredAttrs()) return n;
- }
- return null;
-}
-const NT = (t, e) => {
- let { $head: n, $anchor: r } = t.selection;
- if (!n.parent.type.spec.code || !n.sameParent(r)) return !1;
- let o = n.node(-1),
- i = n.indexAfter(-1),
- s = i2(o.contentMatchAt(i));
- if (!s || !o.canReplaceWith(i, i, s)) return !1;
- if (e) {
- let l = n.after(),
- a = t.tr.replaceWith(l, l, s.createAndFill());
- a.setSelection(Me.near(a.doc.resolve(l), 1)), e(a.scrollIntoView());
- }
- return !0;
- },
- DT = (t, e) => {
- let n = t.selection,
- { $from: r, $to: o } = n;
- if (n instanceof zn || r.parent.inlineContent || o.parent.inlineContent)
- return !1;
- let i = i2(o.parent.contentMatchAt(o.indexAfter()));
- if (!i || !i.isTextblock) return !1;
- if (e) {
- let s = (!r.parentOffset && o.index() < o.parent.childCount ? r : o)
- .pos,
- l = t.tr.insert(s, i.createAndFill());
- l.setSelection(Se.create(l.doc, s + 1)), e(l.scrollIntoView());
- }
- return !0;
- },
- jT = (t, e) => {
- let { $cursor: n } = t.selection;
- if (!n || n.parent.content.size) return !1;
- if (n.depth > 1 && n.after() != n.end(-1)) {
- let i = n.before();
- if (gi(t.doc, i)) return e && e(t.tr.split(i).scrollIntoView()), !0;
- }
- let r = n.blockRange(),
- o = r && Hi(r);
- return o == null ? !1 : (e && e(t.tr.lift(r, o).scrollIntoView()), !0);
- },
- LT = (t, e) => {
- let { $from: n, to: r } = t.selection,
- o,
- i = n.sharedDepth(r);
- return i == 0
- ? !1
- : ((o = n.before(i)),
- e && e(t.tr.setSelection(we.create(t.doc, o))),
- !0);
- };
-function $T(t, e, n) {
- let r = e.nodeBefore,
- o = e.nodeAfter,
- i = e.index();
- return !r || !o || !r.type.compatibleContent(o.type)
- ? !1
- : !r.content.size && e.parent.canReplace(i - 1, i)
- ? (n && n(t.tr.delete(e.pos - r.nodeSize, e.pos).scrollIntoView()), !0)
- : !e.parent.canReplace(i, i + 1) || !(o.isTextblock || fo(t.doc, e.pos))
- ? !1
- : (n &&
- n(
- t.tr
- .clearIncompatible(
- e.pos,
- r.type,
- r.contentMatchAt(r.childCount)
- )
- .join(e.pos)
- .scrollIntoView()
- ),
- !0);
-}
-function s2(t, e, n) {
- let r = e.nodeBefore,
- o = e.nodeAfter,
- i,
- s;
- if (r.type.spec.isolating || o.type.spec.isolating) return !1;
- if ($T(t, e, n)) return !0;
- let l = e.parent.canReplace(e.index(), e.index() + 1);
- if (
- l &&
- (i = (s = r.contentMatchAt(r.childCount)).findWrapping(o.type)) &&
- s.matchType(i[0] || o.type).validEnd
- ) {
- if (n) {
- let d = e.pos + o.nodeSize,
- f = J.empty;
- for (let y = i.length - 1; y >= 0; y--)
- f = J.from(i[y].create(null, f));
- f = J.from(r.copy(f));
- let p = t.tr.step(
- new $t(
- e.pos - 1,
- d,
- e.pos,
- d,
- new le(f, 1, 0),
- i.length,
- !0
- )
- ),
- m = d + 2 * i.length;
- fo(p.doc, m) && p.join(m), n(p.scrollIntoView());
- }
- return !0;
- }
- let a = Me.findFrom(e, 1),
- u = a && a.$from.blockRange(a.$to),
- c = u && Hi(u);
- if (c != null && c >= e.depth)
- return n && n(t.tr.lift(u, c).scrollIntoView()), !0;
- if (l && Di(o, "start", !0) && Di(r, "end")) {
- let d = r,
- f = [];
- for (; f.push(d), !d.isTextblock; ) d = d.lastChild;
- let p = o,
- m = 1;
- for (; !p.isTextblock; p = p.firstChild) m++;
- if (d.canReplace(d.childCount, d.childCount, p.content)) {
- if (n) {
- let y = J.empty;
- for (let w = f.length - 1; w >= 0; w--)
- y = J.from(f[w].copy(y));
- let v = t.tr.step(
- new $t(
- e.pos - f.length,
- e.pos + o.nodeSize,
- e.pos + m,
- e.pos + o.nodeSize - m,
- new le(y, f.length, 0),
- 0,
- !0
- )
- );
- n(v.scrollIntoView());
- }
- return !0;
- }
- }
- return !1;
-}
-function l2(t) {
- return function (e, n) {
- let r = e.selection,
- o = t < 0 ? r.$from : r.$to,
- i = o.depth;
- for (; o.node(i).isInline; ) {
- if (!i) return !1;
- i--;
- }
- return o.node(i).isTextblock
- ? (n &&
- n(
- e.tr.setSelection(
- Se.create(e.doc, t < 0 ? o.start(i) : o.end(i))
- )
- ),
- !0)
- : !1;
- };
-}
-const BT = l2(-1),
- zT = l2(1);
-function HT(t, e = null) {
- return function (n, r) {
- let { $from: o, $to: i } = n.selection,
- s = o.blockRange(i),
- l = s && dh(s, t, e);
- return l ? (r && r(n.tr.wrap(s, l).scrollIntoView()), !0) : !1;
- };
-}
-function xg(t, e = null) {
- return function (n, r) {
- let o = !1;
- for (let i = 0; i < n.selection.ranges.length && !o; i++) {
- let {
- $from: { pos: s },
- $to: { pos: l },
- } = n.selection.ranges[i];
- n.doc.nodesBetween(s, l, (a, u) => {
- if (o) return !1;
- if (!(!a.isTextblock || a.hasMarkup(t, e)))
- if (a.type == t) o = !0;
- else {
- let c = n.doc.resolve(u),
- d = c.index();
- o = c.parent.canReplaceWith(d, d + 1, t);
- }
- });
- }
- if (!o) return !1;
- if (r) {
- let i = n.tr;
- for (let s = 0; s < n.selection.ranges.length; s++) {
- let {
- $from: { pos: l },
- $to: { pos: a },
- } = n.selection.ranges[s];
- i.setBlockType(l, a, t, e);
- }
- r(i.scrollIntoView());
- }
- return !0;
- };
-}
-typeof navigator != "undefined"
- ? /Mac|iP(hone|[oa]d)/.test(navigator.platform)
- : typeof os != "undefined" && os.platform && os.platform() == "darwin";
-function FT(t, e = null) {
- return function (n, r) {
- let { $from: o, $to: i } = n.selection,
- s = o.blockRange(i),
- l = !1,
- a = s;
- if (!s) return !1;
- if (
- s.depth >= 2 &&
- o.node(s.depth - 1).type.compatibleContent(t) &&
- s.startIndex == 0
- ) {
- if (o.index(s.depth - 1) == 0) return !1;
- let c = n.doc.resolve(s.start - 2);
- (a = new _a(c, c, s.depth)),
- s.endIndex < s.parent.childCount &&
- (s = new _a(o, n.doc.resolve(i.end(s.depth)), s.depth)),
- (l = !0);
- }
- let u = dh(a, t, e, s);
- return u ? (r && r(VT(n.tr, s, u, l, t).scrollIntoView()), !0) : !1;
- };
-}
-function VT(t, e, n, r, o) {
- let i = J.empty;
- for (let c = n.length - 1; c >= 0; c--)
- i = J.from(n[c].type.create(n[c].attrs, i));
- t.step(
- new $t(
- e.start - (r ? 2 : 0),
- e.end,
- e.start,
- e.end,
- new le(i, 0, 0),
- n.length,
- !0
- )
- );
- let s = 0;
- for (let c = 0; c < n.length; c++) n[c].type == o && (s = c + 1);
- let l = n.length - s,
- a = e.start + n.length - (r ? 2 : 0),
- u = e.parent;
- for (let c = e.startIndex, d = e.endIndex, f = !0; c < d; c++, f = !1)
- !f && gi(t.doc, a, l) && (t.split(a, l), (a += 2 * l)),
- (a += u.child(c).nodeSize);
- return t;
-}
-function WT(t) {
- return function (e, n) {
- let { $from: r, $to: o } = e.selection,
- i = r.blockRange(
- o,
- (s) => s.childCount > 0 && s.firstChild.type == t
- );
- return i
- ? n
- ? r.node(i.depth - 1).type == t
- ? UT(e, n, t, i)
- : KT(e, n, i)
- : !0
- : !1;
- };
-}
-function UT(t, e, n, r) {
- let o = t.tr,
- i = r.end,
- s = r.$to.end(r.depth);
- i < s &&
- (o.step(
- new $t(
- i - 1,
- s,
- i,
- s,
- new le(J.from(n.create(null, r.parent.copy())), 1, 0),
- 1,
- !0
- )
- ),
- (r = new _a(o.doc.resolve(r.$from.pos), o.doc.resolve(s), r.depth)));
- const l = Hi(r);
- if (l == null) return !1;
- o.lift(r, l);
- let a = o.mapping.map(i, -1) - 1;
- return fo(o.doc, a) && o.join(a), e(o.scrollIntoView()), !0;
-}
-function KT(t, e, n) {
- let r = t.tr,
- o = n.parent;
- for (let p = n.end, m = n.endIndex - 1, y = n.startIndex; m > y; m--)
- (p -= o.child(m).nodeSize), r.delete(p - 1, p + 1);
- let i = r.doc.resolve(n.start),
- s = i.nodeAfter;
- if (r.mapping.map(n.end) != n.start + i.nodeAfter.nodeSize) return !1;
- let l = n.startIndex == 0,
- a = n.endIndex == o.childCount,
- u = i.node(-1),
- c = i.index(-1);
- if (
- !u.canReplace(
- c + (l ? 0 : 1),
- c + 1,
- s.content.append(a ? J.empty : J.from(o))
- )
- )
- return !1;
- let d = i.pos,
- f = d + s.nodeSize;
- return (
- r.step(
- new $t(
- d - (l ? 1 : 0),
- f + (a ? 1 : 0),
- d + 1,
- f - 1,
- new le(
- (l ? J.empty : J.from(o.copy(J.empty))).append(
- a ? J.empty : J.from(o.copy(J.empty))
- ),
- l ? 0 : 1,
- a ? 0 : 1
- ),
- l ? 0 : 1
- )
- ),
- e(r.scrollIntoView()),
- !0
- );
-}
-function qT(t) {
- return function (e, n) {
- let { $from: r, $to: o } = e.selection,
- i = r.blockRange(
- o,
- (u) => u.childCount > 0 && u.firstChild.type == t
- );
- if (!i) return !1;
- let s = i.startIndex;
- if (s == 0) return !1;
- let l = i.parent,
- a = l.child(s - 1);
- if (a.type != t) return !1;
- if (n) {
- let u = a.lastChild && a.lastChild.type == l.type,
- c = J.from(u ? t.create() : null),
- d = new le(
- J.from(t.create(null, J.from(l.type.create(null, c)))),
- u ? 3 : 1,
- 0
- ),
- f = i.start,
- p = i.end;
- n(
- e.tr
- .step(new $t(f - (u ? 3 : 1), p, f, p, d, 1, !0))
- .scrollIntoView()
- );
- }
- return !0;
- };
-}
-function qu(t) {
- const { state: e, transaction: n } = t;
- let { selection: r } = n,
- { doc: o } = n,
- { storedMarks: i } = n;
- return ge(B({}, e), {
- apply: e.apply.bind(e),
- applyTransaction: e.applyTransaction.bind(e),
- plugins: e.plugins,
- schema: e.schema,
- reconfigure: e.reconfigure.bind(e),
- toJSON: e.toJSON.bind(e),
- get storedMarks() {
- return i;
- },
- get selection() {
- return r;
- },
- get doc() {
- return o;
- },
- get tr() {
- return (r = n.selection), (o = n.doc), (i = n.storedMarks), n;
- },
- });
-}
-class Ju {
- constructor(e) {
- (this.editor = e.editor),
- (this.rawCommands = this.editor.extensionManager.commands),
- (this.customState = e.state);
- }
- get hasCustomState() {
- return !!this.customState;
- }
- get state() {
- return this.customState || this.editor.state;
- }
- get commands() {
- const { rawCommands: e, editor: n, state: r } = this,
- { view: o } = n,
- { tr: i } = r,
- s = this.buildProps(i);
- return Object.fromEntries(
- Object.entries(e).map(([l, a]) => [
- l,
- (...c) => {
- const d = a(...c)(s);
- return (
- !i.getMeta("preventDispatch") &&
- !this.hasCustomState &&
- o.dispatch(i),
- d
- );
- },
- ])
- );
- }
- get chain() {
- return () => this.createChain();
- }
- get can() {
- return () => this.createCan();
- }
- createChain(e, n = !0) {
- const { rawCommands: r, editor: o, state: i } = this,
- { view: s } = o,
- l = [],
- a = !!e,
- u = e || i.tr,
- c = () => (
- !a &&
- n &&
- !u.getMeta("preventDispatch") &&
- !this.hasCustomState &&
- s.dispatch(u),
- l.every((f) => f === !0)
- ),
- d = ge(
- B(
- {},
- Object.fromEntries(
- Object.entries(r).map(([f, p]) => [
- f,
- (...y) => {
- const v = this.buildProps(u, n),
- w = p(...y)(v);
- return l.push(w), d;
- },
- ])
- )
- ),
- { run: c }
- );
- return d;
- }
- createCan(e) {
- const { rawCommands: n, state: r } = this,
- o = !1,
- i = e || r.tr,
- s = this.buildProps(i, o),
- l = Object.fromEntries(
- Object.entries(n).map(([a, u]) => [
- a,
- (...c) => u(...c)(ge(B({}, s), { dispatch: void 0 })),
- ])
- );
- return ge(B({}, l), { chain: () => this.createChain(i, o) });
- }
- buildProps(e, n = !0) {
- const { rawCommands: r, editor: o, state: i } = this,
- { view: s } = o,
- l = {
- tr: e,
- editor: o,
- view: s,
- state: qu({ state: i, transaction: e }),
- dispatch: n ? () => {} : void 0,
- chain: () => this.createChain(e, n),
- can: () => this.createCan(e),
- get commands() {
- return Object.fromEntries(
- Object.entries(r).map(([a, u]) => [
- a,
- (...c) => u(...c)(l),
- ])
- );
- },
- };
- return l;
- }
-}
-class JT {
- constructor() {
- this.callbacks = {};
- }
- on(e, n) {
- return (
- this.callbacks[e] || (this.callbacks[e] = []),
- this.callbacks[e].push(n),
- this
- );
- }
- emit(e, ...n) {
- const r = this.callbacks[e];
- return r && r.forEach((o) => o.apply(this, n)), this;
- }
- off(e, n) {
- const r = this.callbacks[e];
- return (
- r &&
- (n
- ? (this.callbacks[e] = r.filter((o) => o !== n))
- : delete this.callbacks[e]),
- this
- );
- }
- removeAllListeners() {
- this.callbacks = {};
- }
-}
-function fe(t, e, n) {
- return t.config[e] === void 0 && t.parent
- ? fe(t.parent, e, n)
- : typeof t.config[e] == "function"
- ? t.config[e].bind(
- ge(B({}, n), { parent: t.parent ? fe(t.parent, e, n) : null })
- )
- : t.config[e];
-}
-function Gu(t) {
- const e = t.filter((o) => o.type === "extension"),
- n = t.filter((o) => o.type === "node"),
- r = t.filter((o) => o.type === "mark");
- return { baseExtensions: e, nodeExtensions: n, markExtensions: r };
-}
-function a2(t) {
- const e = [],
- { nodeExtensions: n, markExtensions: r } = Gu(t),
- o = [...n, ...r],
- i = {
- default: null,
- rendered: !0,
- renderHTML: null,
- parseHTML: null,
- keepOnSplit: !0,
- isRequired: !1,
- };
- return (
- t.forEach((s) => {
- const l = { name: s.name, options: s.options, storage: s.storage },
- a = fe(s, "addGlobalAttributes", l);
- if (!a) return;
- a().forEach((c) => {
- c.types.forEach((d) => {
- Object.entries(c.attributes).forEach(([f, p]) => {
- e.push({ type: d, name: f, attribute: B(B({}, i), p) });
- });
- });
- });
- }),
- o.forEach((s) => {
- const l = { name: s.name, options: s.options, storage: s.storage },
- a = fe(s, "addAttributes", l);
- if (!a) return;
- const u = a();
- Object.entries(u).forEach(([c, d]) => {
- const f = B(B({}, i), d);
- typeof (f == null ? void 0 : f.default) == "function" &&
- (f.default = f.default()),
- f != null &&
- f.isRequired &&
- (f == null ? void 0 : f.default) === void 0 &&
- delete f.default,
- e.push({ type: s.name, name: c, attribute: f });
- });
- }),
- e
- );
-}
-function Ht(t, e) {
- if (typeof t == "string") {
- if (!e.nodes[t])
- throw Error(
- `There is no node type named '${t}'. Maybe you forgot to add the extension?`
- );
- return e.nodes[t];
- }
- return t;
-}
-function et(...t) {
- return t
- .filter((e) => !!e)
- .reduce((e, n) => {
- const r = B({}, e);
- return (
- Object.entries(n).forEach(([o, i]) => {
- if (!r[o]) {
- r[o] = i;
- return;
- }
- if (o === "class") {
- const l = i ? i.split(" ") : [],
- a = r[o] ? r[o].split(" ") : [],
- u = l.filter((c) => !a.includes(c));
- r[o] = [...a, ...u].join(" ");
- } else
- o === "style"
- ? (r[o] = [r[o], i].join("; "))
- : (r[o] = i);
- }),
- r
- );
- }, {});
-}
-function Qd(t, e) {
- return e
- .filter((n) => n.attribute.rendered)
- .map((n) =>
- n.attribute.renderHTML
- ? n.attribute.renderHTML(t.attrs) || {}
- : { [n.name]: t.attrs[n.name] }
- )
- .reduce((n, r) => et(n, r), {});
-}
-function u2(t) {
- return typeof t == "function";
-}
-function Be(t, e = void 0, ...n) {
- return u2(t) ? (e ? t.bind(e)(...n) : t(...n)) : t;
-}
-function GT(t = {}) {
- return Object.keys(t).length === 0 && t.constructor === Object;
-}
-function YT(t) {
- return typeof t != "string"
- ? t
- : t.match(/^[+-]?(?:\d*\.)?\d+$/)
- ? Number(t)
- : t === "true"
- ? !0
- : t === "false"
- ? !1
- : t;
-}
-function kg(t, e) {
- return t.style
- ? t
- : ge(B({}, t), {
- getAttrs: (n) => {
- const r = t.getAttrs ? t.getAttrs(n) : t.attrs;
- if (r === !1) return !1;
- const o = e.reduce((i, s) => {
- const l = s.attribute.parseHTML
- ? s.attribute.parseHTML(n)
- : YT(n.getAttribute(s.name));
- return l == null ? i : ge(B({}, i), { [s.name]: l });
- }, {});
- return B(B({}, r), o);
- },
- });
-}
-function Sg(t) {
- return Object.fromEntries(
- Object.entries(t).filter(([e, n]) =>
- e === "attrs" && GT(n) ? !1 : n != null
- )
- );
-}
-function QT(t, e) {
- var n;
- const r = a2(t),
- { nodeExtensions: o, markExtensions: i } = Gu(t),
- s =
- (n = o.find((u) => fe(u, "topNode"))) === null || n === void 0
- ? void 0
- : n.name,
- l = Object.fromEntries(
- o.map((u) => {
- const c = r.filter((w) => w.type === u.name),
- d = {
- name: u.name,
- options: u.options,
- storage: u.storage,
- editor: e,
- },
- f = t.reduce((w, S) => {
- const E = fe(S, "extendNodeSchema", d);
- return B(B({}, w), E ? E(u) : {});
- }, {}),
- p = Sg(
- ge(B({}, f), {
- content: Be(fe(u, "content", d)),
- marks: Be(fe(u, "marks", d)),
- group: Be(fe(u, "group", d)),
- inline: Be(fe(u, "inline", d)),
- atom: Be(fe(u, "atom", d)),
- selectable: Be(fe(u, "selectable", d)),
- draggable: Be(fe(u, "draggable", d)),
- code: Be(fe(u, "code", d)),
- defining: Be(fe(u, "defining", d)),
- isolating: Be(fe(u, "isolating", d)),
- attrs: Object.fromEntries(
- c.map((w) => {
- var S;
- return [
- w.name,
- {
- default:
- (S =
- w == null
- ? void 0
- : w.attribute) ===
- null || S === void 0
- ? void 0
- : S.default,
- },
- ];
- })
- ),
- })
- ),
- m = Be(fe(u, "parseHTML", d));
- m && (p.parseDOM = m.map((w) => kg(w, c)));
- const y = fe(u, "renderHTML", d);
- y &&
- (p.toDOM = (w) => y({ node: w, HTMLAttributes: Qd(w, c) }));
- const v = fe(u, "renderText", d);
- return v && (p.toText = v), [u.name, p];
- })
- ),
- a = Object.fromEntries(
- i.map((u) => {
- const c = r.filter((v) => v.type === u.name),
- d = {
- name: u.name,
- options: u.options,
- storage: u.storage,
- editor: e,
- },
- f = t.reduce((v, w) => {
- const S = fe(w, "extendMarkSchema", d);
- return B(B({}, v), S ? S(u) : {});
- }, {}),
- p = Sg(
- ge(B({}, f), {
- inclusive: Be(fe(u, "inclusive", d)),
- excludes: Be(fe(u, "excludes", d)),
- group: Be(fe(u, "group", d)),
- spanning: Be(fe(u, "spanning", d)),
- code: Be(fe(u, "code", d)),
- attrs: Object.fromEntries(
- c.map((v) => {
- var w;
- return [
- v.name,
- {
- default:
- (w =
- v == null
- ? void 0
- : v.attribute) ===
- null || w === void 0
- ? void 0
- : w.default,
- },
- ];
- })
- ),
- })
- ),
- m = Be(fe(u, "parseHTML", d));
- m && (p.parseDOM = m.map((v) => kg(v, c)));
- const y = fe(u, "renderHTML", d);
- return (
- y &&
- (p.toDOM = (v) =>
- y({ mark: v, HTMLAttributes: Qd(v, c) })),
- [u.name, p]
- );
- })
- );
- return new aM({ topNode: s, nodes: l, marks: a });
-}
-function Fc(t, e) {
- return e.nodes[t] || e.marks[t] || null;
-}
-function _g(t, e) {
- return Array.isArray(e)
- ? e.some((n) => (typeof n == "string" ? n : n.name) === t.name)
- : e;
-}
-const XT = (t, e = 500) => {
- let n = "";
- const r = t.parentOffset;
- return (
- t.parent.nodesBetween(Math.max(0, r - e), r, (o, i, s, l) => {
- var a, u;
- const c =
- ((u = (a = o.type.spec).toText) === null || u === void 0
- ? void 0
- : u.call(a, { node: o, pos: i, parent: s, index: l })) ||
- o.textContent ||
- "%leaf%";
- n += c.slice(0, Math.max(0, r - i));
- }),
- n
- );
-};
-function Mh(t) {
- return Object.prototype.toString.call(t) === "[object RegExp]";
-}
-class ol {
- constructor(e) {
- (this.find = e.find), (this.handler = e.handler);
- }
-}
-const ZT = (t, e) => {
- if (Mh(e)) return e.exec(t);
- const n = e(t);
- if (!n) return null;
- const r = [n.text];
- return (
- (r.index = n.index),
- (r.input = t),
- (r.data = n.data),
- n.replaceWith &&
- (n.text.includes(n.replaceWith) ||
- console.warn(
- '[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'
- ),
- r.push(n.replaceWith)),
- r
- );
-};
-function Vc(t) {
- var e;
- const { editor: n, from: r, to: o, text: i, rules: s, plugin: l } = t,
- { view: a } = n;
- if (a.composing) return !1;
- const u = a.state.doc.resolve(r);
- if (
- u.parent.type.spec.code ||
- (!((e = u.nodeBefore || u.nodeAfter) === null || e === void 0) &&
- e.marks.find((f) => f.type.spec.code))
- )
- return !1;
- let c = !1;
- const d = XT(u) + i;
- return (
- s.forEach((f) => {
- if (c) return;
- const p = ZT(d, f.find);
- if (!p) return;
- const m = a.state.tr,
- y = qu({ state: a.state, transaction: m }),
- v = { from: r - (p[0].length - i.length), to: o },
- {
- commands: w,
- chain: S,
- can: E,
- } = new Ju({ editor: n, state: y });
- f.handler({
- state: y,
- range: v,
- match: p,
- commands: w,
- chain: S,
- can: E,
- }) === null ||
- !m.steps.length ||
- (m.setMeta(l, { transform: m, from: r, to: o, text: i }),
- a.dispatch(m),
- (c = !0));
- }),
- c
- );
-}
-function e4(t) {
- const { editor: e, rules: n } = t,
- r = new kt({
- state: {
- init() {
- return null;
- },
- apply(o, i) {
- const s = o.getMeta(r);
- return s || (o.selectionSet || o.docChanged ? null : i);
- },
- },
- props: {
- handleTextInput(o, i, s, l) {
- return Vc({
- editor: e,
- from: i,
- to: s,
- text: l,
- rules: n,
- plugin: r,
- });
- },
- handleDOMEvents: {
- compositionend: (o) => (
- setTimeout(() => {
- const { $cursor: i } = o.state.selection;
- i &&
- Vc({
- editor: e,
- from: i.pos,
- to: i.pos,
- text: "",
- rules: n,
- plugin: r,
- });
- }),
- !1
- ),
- },
- handleKeyDown(o, i) {
- if (i.key !== "Enter") return !1;
- const { $cursor: s } = o.state.selection;
- return s
- ? Vc({
- editor: e,
- from: s.pos,
- to: s.pos,
- text: `
-`,
- rules: n,
- plugin: r,
- })
- : !1;
- },
- },
- isInputRules: !0,
- });
- return r;
-}
-function t4(t) {
- return typeof t == "number";
-}
-class n4 {
- constructor(e) {
- (this.find = e.find), (this.handler = e.handler);
- }
-}
-const r4 = (t, e, n) => {
- if (Mh(e)) return [...t.matchAll(e)];
- const r = e(t, n);
- return r
- ? r.map((o) => {
- const i = [o.text];
- return (
- (i.index = o.index),
- (i.input = t),
- (i.data = o.data),
- o.replaceWith &&
- (o.text.includes(o.replaceWith) ||
- console.warn(
- '[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'
- ),
- i.push(o.replaceWith)),
- i
- );
- })
- : [];
-};
-function o4(t) {
- const {
- editor: e,
- state: n,
- from: r,
- to: o,
- rule: i,
- pasteEvent: s,
- dropEvent: l,
- } = t,
- { commands: a, chain: u, can: c } = new Ju({ editor: e, state: n }),
- d = [];
- return (
- n.doc.nodesBetween(r, o, (p, m) => {
- if (!p.isTextblock || p.type.spec.code) return;
- const y = Math.max(r, m),
- v = Math.min(o, m + p.content.size),
- w = p.textBetween(y - m, v - m, void 0, "");
- r4(w, i.find, s).forEach((E) => {
- if (E.index === void 0) return;
- const h = y + E.index + 1,
- b = h + E[0].length,
- g = { from: n.tr.mapping.map(h), to: n.tr.mapping.map(b) },
- x = i.handler({
- state: n,
- range: g,
- match: E,
- commands: a,
- chain: u,
- can: c,
- pasteEvent: s,
- dropEvent: l,
- });
- d.push(x);
- });
- }),
- d.every((p) => p !== null)
- );
-}
-function i4(t) {
- const { editor: e, rules: n } = t;
- let r = null,
- o = !1,
- i = !1,
- s = new ClipboardEvent("paste"),
- l = new DragEvent("drop");
- return n.map(
- (u) =>
- new kt({
- view(c) {
- const d = (f) => {
- var p;
- r =
- !(
- (p = c.dom.parentElement) === null ||
- p === void 0
- ) && p.contains(f.target)
- ? c.dom.parentElement
- : null;
- };
- return (
- window.addEventListener("dragstart", d),
- {
- destroy() {
- window.removeEventListener("dragstart", d);
- },
- }
- );
- },
- props: {
- handleDOMEvents: {
- drop: (c, d) => (
- (i = r === c.dom.parentElement), (l = d), !1
- ),
- paste: (c, d) => {
- var f;
- const p =
- (f = d.clipboardData) === null || f === void 0
- ? void 0
- : f.getData("text/html");
- return (
- (s = d),
- (o = !!(
- p != null && p.includes("data-pm-slice")
- )),
- !1
- );
- },
- },
- },
- appendTransaction: (c, d, f) => {
- const p = c[0],
- m = p.getMeta("uiEvent") === "paste" && !o,
- y = p.getMeta("uiEvent") === "drop" && !i;
- if (!m && !y) return;
- const v = d.doc.content.findDiffStart(f.doc.content),
- w = d.doc.content.findDiffEnd(f.doc.content);
- if (!t4(v) || !w || v === w.b) return;
- const S = f.tr,
- E = qu({ state: f, transaction: S });
- if (
- !(
- !o4({
- editor: e,
- state: E,
- from: Math.max(v - 1, 0),
- to: w.b - 1,
- rule: u,
- pasteEvent: s,
- dropEvent: l,
- }) || !S.steps.length
- )
- )
- return (
- (l = new DragEvent("drop")),
- (s = new ClipboardEvent("paste")),
- S
- );
- },
- })
- );
-}
-function s4(t) {
- const e = t.filter((n, r) => t.indexOf(n) !== r);
- return [...new Set(e)];
-}
-class ui {
- constructor(e, n) {
- (this.splittableMarks = []),
- (this.editor = n),
- (this.extensions = ui.resolve(e)),
- (this.schema = QT(this.extensions, n)),
- this.extensions.forEach((r) => {
- var o;
- this.editor.extensionStorage[r.name] = r.storage;
- const i = {
- name: r.name,
- options: r.options,
- storage: r.storage,
- editor: this.editor,
- type: Fc(r.name, this.schema),
- };
- r.type === "mark" &&
- (!(
- (o = Be(fe(r, "keepOnSplit", i))) !== null &&
- o !== void 0
- ) ||
- o) &&
- this.splittableMarks.push(r.name);
- const s = fe(r, "onBeforeCreate", i);
- s && this.editor.on("beforeCreate", s);
- const l = fe(r, "onCreate", i);
- l && this.editor.on("create", l);
- const a = fe(r, "onUpdate", i);
- a && this.editor.on("update", a);
- const u = fe(r, "onSelectionUpdate", i);
- u && this.editor.on("selectionUpdate", u);
- const c = fe(r, "onTransaction", i);
- c && this.editor.on("transaction", c);
- const d = fe(r, "onFocus", i);
- d && this.editor.on("focus", d);
- const f = fe(r, "onBlur", i);
- f && this.editor.on("blur", f);
- const p = fe(r, "onDestroy", i);
- p && this.editor.on("destroy", p);
- });
- }
- static resolve(e) {
- const n = ui.sort(ui.flatten(e)),
- r = s4(n.map((o) => o.name));
- return (
- r.length &&
- console.warn(
- `[tiptap warn]: Duplicate extension names found: [${r
- .map((o) => `'${o}'`)
- .join(", ")}]. This can lead to issues.`
- ),
- n
- );
- }
- static flatten(e) {
- return e
- .map((n) => {
- const r = {
- name: n.name,
- options: n.options,
- storage: n.storage,
- },
- o = fe(n, "addExtensions", r);
- return o ? [n, ...this.flatten(o())] : n;
- })
- .flat(10);
- }
- static sort(e) {
- return e.sort((r, o) => {
- const i = fe(r, "priority") || 100,
- s = fe(o, "priority") || 100;
- return i > s ? -1 : i < s ? 1 : 0;
- });
- }
- get commands() {
- return this.extensions.reduce((e, n) => {
- const r = {
- name: n.name,
- options: n.options,
- storage: n.storage,
- editor: this.editor,
- type: Fc(n.name, this.schema),
- },
- o = fe(n, "addCommands", r);
- return o ? B(B({}, e), o()) : e;
- }, {});
- }
- get plugins() {
- const { editor: e } = this,
- n = ui.sort([...this.extensions].reverse()),
- r = [],
- o = [],
- i = n
- .map((s) => {
- const l = {
- name: s.name,
- options: s.options,
- storage: s.storage,
- editor: e,
- type: Fc(s.name, this.schema),
- },
- a = [],
- u = fe(s, "addKeyboardShortcuts", l);
- let c = {};
- if (
- (s.type === "mark" &&
- s.config.exitable &&
- (c.ArrowRight = () =>
- vn.handleExit({ editor: e, mark: s })),
- u)
- ) {
- const y = Object.fromEntries(
- Object.entries(u()).map(([v, w]) => [
- v,
- () => w({ editor: e }),
- ])
- );
- c = B(B({}, c), y);
- }
- const d = kT(c);
- a.push(d);
- const f = fe(s, "addInputRules", l);
- _g(s, e.options.enableInputRules) && f && r.push(...f());
- const p = fe(s, "addPasteRules", l);
- _g(s, e.options.enablePasteRules) && p && o.push(...p());
- const m = fe(s, "addProseMirrorPlugins", l);
- if (m) {
- const y = m();
- a.push(...y);
- }
- return a;
- })
- .flat();
- return [
- e4({ editor: e, rules: r }),
- ...i4({ editor: e, rules: o }),
- ...i,
- ];
- }
- get attributes() {
- return a2(this.extensions);
- }
- get nodeViews() {
- const { editor: e } = this,
- { nodeExtensions: n } = Gu(this.extensions);
- return Object.fromEntries(
- n
- .filter((r) => !!fe(r, "addNodeView"))
- .map((r) => {
- const o = this.attributes.filter((a) => a.type === r.name),
- i = {
- name: r.name,
- options: r.options,
- storage: r.storage,
- editor: e,
- type: Ht(r.name, this.schema),
- },
- s = fe(r, "addNodeView", i);
- if (!s) return [];
- const l = (a, u, c, d) => {
- const f = Qd(a, o);
- return s()({
- editor: e,
- node: a,
- getPos: c,
- decorations: d,
- HTMLAttributes: f,
- extension: r,
- });
- };
- return [r.name, l];
- })
- );
- }
-}
-function l4(t) {
- return Object.prototype.toString.call(t).slice(8, -1);
-}
-function Wc(t) {
- return l4(t) !== "Object"
- ? !1
- : t.constructor === Object &&
- Object.getPrototypeOf(t) === Object.prototype;
-}
-function Yu(t, e) {
- const n = B({}, t);
- return (
- Wc(t) &&
- Wc(e) &&
- Object.keys(e).forEach((r) => {
- Wc(e[r])
- ? r in t
- ? (n[r] = Yu(t[r], e[r]))
- : Object.assign(n, { [r]: e[r] })
- : Object.assign(n, { [r]: e[r] });
- }),
- n
- );
-}
-class Nt {
- constructor(e = {}) {
- (this.type = "extension"),
- (this.name = "extension"),
- (this.parent = null),
- (this.child = null),
- (this.config = { name: this.name, defaultOptions: {} }),
- (this.config = B(B({}, this.config), e)),
- (this.name = this.config.name),
- e.defaultOptions &&
- Object.keys(e.defaultOptions).length > 0 &&
- console.warn(
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`
- ),
- (this.options = this.config.defaultOptions),
- this.config.addOptions &&
- (this.options = Be(
- fe(this, "addOptions", { name: this.name })
- )),
- (this.storage =
- Be(
- fe(this, "addStorage", {
- name: this.name,
- options: this.options,
- })
- ) || {});
- }
- static create(e = {}) {
- return new Nt(e);
- }
- configure(e = {}) {
- const n = this.extend();
- return (
- (n.options = Yu(this.options, e)),
- (n.storage = Be(
- fe(n, "addStorage", { name: n.name, options: n.options })
- )),
- n
- );
- }
- extend(e = {}) {
- const n = new Nt(B(B({}, this.config), e));
- return (
- (n.parent = this),
- (this.child = n),
- (n.name = e.name ? e.name : n.parent.name),
- e.defaultOptions &&
- console.warn(
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`
- ),
- (n.options = Be(fe(n, "addOptions", { name: n.name }))),
- (n.storage = Be(
- fe(n, "addStorage", { name: n.name, options: n.options })
- )),
- n
- );
- }
-}
-function c2(t, e, n) {
- const { from: r, to: o } = e,
- {
- blockSeparator: i = `
-
-`,
- textSerializers: s = {},
- } = n || {};
- let l = "",
- a = !0;
- return (
- t.nodesBetween(r, o, (u, c, d, f) => {
- var p;
- const m = s == null ? void 0 : s[u.type.name];
- m
- ? (u.isBlock && !a && ((l += i), (a = !0)),
- d &&
- (l += m({
- node: u,
- pos: c,
- parent: d,
- index: f,
- range: e,
- })))
- : u.isText
- ? ((l +=
- (p = u == null ? void 0 : u.text) === null ||
- p === void 0
- ? void 0
- : p.slice(Math.max(r, c) - c, o - c)),
- (a = !1))
- : u.isBlock && !a && ((l += i), (a = !0));
- }),
- l
- );
-}
-function d2(t) {
- return Object.fromEntries(
- Object.entries(t.nodes)
- .filter(([, e]) => e.spec.toText)
- .map(([e, n]) => [e, n.spec.toText])
- );
-}
-const a4 = Nt.create({
- name: "clipboardTextSerializer",
- addProseMirrorPlugins() {
- return [
- new kt({
- key: new Dt("clipboardTextSerializer"),
- props: {
- clipboardTextSerializer: () => {
- const { editor: t } = this,
- { state: e, schema: n } = t,
- { doc: r, selection: o } = e,
- { ranges: i } = o,
- s = Math.min(...i.map((c) => c.$from.pos)),
- l = Math.max(...i.map((c) => c.$to.pos)),
- a = d2(n);
- return c2(
- r,
- { from: s, to: l },
- { textSerializers: a }
- );
- },
- },
- }),
- ];
- },
- }),
- u4 =
- () =>
- ({ editor: t, view: e }) => (
- requestAnimationFrame(() => {
- var n;
- t.isDestroyed ||
- (e.dom.blur(),
- (n = window == null ? void 0 : window.getSelection()) ===
- null ||
- n === void 0 ||
- n.removeAllRanges());
- }),
- !0
- ),
- c4 =
- (t = !1) =>
- ({ commands: e }) =>
- e.setContent("", t),
- d4 =
- () =>
- ({ state: t, tr: e, dispatch: n }) => {
- const { selection: r } = e,
- { ranges: o } = r;
- return (
- n &&
- o.forEach(({ $from: i, $to: s }) => {
- t.doc.nodesBetween(i.pos, s.pos, (l, a) => {
- if (l.type.isText) return;
- const { doc: u, mapping: c } = e,
- d = u.resolve(c.map(a)),
- f = u.resolve(c.map(a + l.nodeSize)),
- p = d.blockRange(f);
- if (!p) return;
- const m = Hi(p);
- if (l.type.isTextblock) {
- const { defaultType: y } =
- d.parent.contentMatchAt(d.index());
- e.setNodeMarkup(p.start, y);
- }
- (m || m === 0) && e.lift(p, m);
- });
- }),
- !0
- );
- },
- f4 = (t) => (e) => t(e),
- h4 =
- () =>
- ({ state: t, dispatch: e }) =>
- DT(t, e),
- p4 =
- (t, e) =>
- ({ editor: n, tr: r }) => {
- const { state: o } = n,
- i = o.doc.slice(t.from, t.to);
- r.deleteRange(t.from, t.to);
- const s = r.mapping.map(e);
- return (
- r.insert(s, i.content),
- r.setSelection(new Se(r.doc.resolve(s - 1))),
- !0
- );
- },
- m4 =
- () =>
- ({ tr: t, dispatch: e }) => {
- const { selection: n } = t,
- r = n.$anchor.node();
- if (r.content.size > 0) return !1;
- const o = t.selection.$anchor;
- for (let i = o.depth; i > 0; i -= 1)
- if (o.node(i).type === r.type) {
- if (e) {
- const l = o.before(i),
- a = o.after(i);
- t.delete(l, a).scrollIntoView();
- }
- return !0;
- }
- return !1;
- },
- g4 =
- (t) =>
- ({ tr: e, state: n, dispatch: r }) => {
- const o = Ht(t, n.schema),
- i = e.selection.$anchor;
- for (let s = i.depth; s > 0; s -= 1)
- if (i.node(s).type === o) {
- if (r) {
- const a = i.before(s),
- u = i.after(s);
- e.delete(a, u).scrollIntoView();
- }
- return !0;
- }
- return !1;
- },
- y4 =
- (t) =>
- ({ tr: e, dispatch: n }) => {
- const { from: r, to: o } = t;
- return n && e.delete(r, o), !0;
- },
- v4 =
- () =>
- ({ state: t, dispatch: e }) =>
- ST(t, e),
- b4 =
- () =>
- ({ commands: t }) =>
- t.keyboardShortcut("Enter"),
- w4 =
- () =>
- ({ state: t, dispatch: e }) =>
- NT(t, e);
-function Ia(t, e, n = { strict: !0 }) {
- const r = Object.keys(e);
- return r.length
- ? r.every((o) =>
- n.strict
- ? e[o] === t[o]
- : Mh(e[o])
- ? e[o].test(t[o])
- : e[o] === t[o]
- )
- : !0;
-}
-function Xd(t, e, n = {}) {
- return t.find((r) => r.type === e && Ia(r.attrs, n));
-}
-function x4(t, e, n = {}) {
- return !!Xd(t, e, n);
-}
-function Eh(t, e, n = {}) {
- if (!t || !e) return;
- let r = t.parent.childAfter(t.parentOffset);
- if (
- (t.parentOffset === r.offset &&
- r.offset !== 0 &&
- (r = t.parent.childBefore(t.parentOffset)),
- !r.node)
- )
- return;
- const o = Xd([...r.node.marks], e, n);
- if (!o) return;
- let i = r.index,
- s = t.start() + r.offset,
- l = i + 1,
- a = s + r.node.nodeSize;
- for (
- Xd([...r.node.marks], e, n);
- i > 0 && o.isInSet(t.parent.child(i - 1).marks);
-
- )
- (i -= 1), (s -= t.parent.child(i).nodeSize);
- for (; l < t.parent.childCount && x4([...t.parent.child(l).marks], e, n); )
- (a += t.parent.child(l).nodeSize), (l += 1);
- return { from: s, to: a };
-}
-function po(t, e) {
- if (typeof t == "string") {
- if (!e.marks[t])
- throw Error(
- `There is no mark type named '${t}'. Maybe you forgot to add the extension?`
- );
- return e.marks[t];
- }
- return t;
-}
-const k4 =
- (t, e = {}) =>
- ({ tr: n, state: r, dispatch: o }) => {
- const i = po(t, r.schema),
- { doc: s, selection: l } = n,
- { $from: a, from: u, to: c } = l;
- if (o) {
- const d = Eh(a, i, e);
- if (d && d.from <= u && d.to >= c) {
- const f = Se.create(s, d.from, d.to);
- n.setSelection(f);
- }
- }
- return !0;
- },
- S4 = (t) => (e) => {
- const n = typeof t == "function" ? t(e) : t;
- for (let r = 0; r < n.length; r += 1) if (n[r](e)) return !0;
- return !1;
- };
-function Th(t) {
- return t instanceof Se;
-}
-function kr(t = 0, e = 0, n = 0) {
- return Math.min(Math.max(t, e), n);
-}
-function f2(t, e = null) {
- if (!e) return null;
- const n = Me.atStart(t),
- r = Me.atEnd(t);
- if (e === "start" || e === !0) return n;
- if (e === "end") return r;
- const o = n.from,
- i = r.to;
- return e === "all"
- ? Se.create(t, kr(0, o, i), kr(t.content.size, o, i))
- : Se.create(t, kr(e, o, i), kr(e, o, i));
-}
-function Ah() {
- return (
- [
- "iPad Simulator",
- "iPhone Simulator",
- "iPod Simulator",
- "iPad",
- "iPhone",
- "iPod",
- ].includes(navigator.platform) ||
- (navigator.userAgent.includes("Mac") && "ontouchend" in document)
- );
-}
-const _4 =
- (t = null, e = {}) =>
- ({ editor: n, view: r, tr: o, dispatch: i }) => {
- e = B({ scrollIntoView: !0 }, e);
- const s = () => {
- Ah() && r.dom.focus(),
- requestAnimationFrame(() => {
- n.isDestroyed ||
- (r.focus(),
- e != null &&
- e.scrollIntoView &&
- n.commands.scrollIntoView());
- });
- };
- if ((r.hasFocus() && t === null) || t === !1) return !0;
- if (i && t === null && !Th(n.state.selection)) return s(), !0;
- const l = f2(o.doc, t) || n.state.selection,
- a = n.state.selection.eq(l);
- return (
- i &&
- (a || o.setSelection(l),
- a && o.storedMarks && o.setStoredMarks(o.storedMarks),
- s()),
- !0
- );
- },
- C4 = (t, e) => (n) => t.every((r, o) => e(r, ge(B({}, n), { index: o }))),
- M4 =
- (t, e) =>
- ({ tr: n, commands: r }) =>
- r.insertContentAt(
- { from: n.selection.from, to: n.selection.to },
- t,
- e
- ),
- h2 = (t) => {
- const e = t.childNodes;
- for (let n = e.length - 1; n >= 0; n -= 1) {
- const r = e[n];
- r.nodeType === 3 && r.nodeValue && /^(\n\s\s|\n)$/.test(r.nodeValue)
- ? t.removeChild(r)
- : r.nodeType === 1 && h2(r);
- }
- return t;
- };
-function Cg(t) {
- const e = `${t}`,
- n = new window.DOMParser().parseFromString(e, "text/html").body;
- return h2(n);
-}
-function Na(t, e, n) {
- if (
- ((n = B({ slice: !0, parseOptions: {} }, n)),
- typeof t == "object" && t !== null)
- )
- try {
- return Array.isArray(t) && t.length > 0
- ? J.fromArray(t.map((r) => e.nodeFromJSON(r)))
- : e.nodeFromJSON(t);
- } catch (r) {
- return (
- console.warn(
- "[tiptap warn]: Invalid content.",
- "Passed value:",
- t,
- "Error:",
- r
- ),
- Na("", e, n)
- );
- }
- if (typeof t == "string") {
- const r = zu.fromSchema(e);
- return n.slice
- ? r.parseSlice(Cg(t), n.parseOptions).content
- : r.parse(Cg(t), n.parseOptions);
- }
- return Na("", e, n);
-}
-function E4(t, e, n) {
- const r = t.steps.length - 1;
- if (r < e) return;
- const o = t.steps[r];
- if (!(o instanceof jt || o instanceof $t)) return;
- const i = t.mapping.maps[r];
- let s = 0;
- i.forEach((l, a, u, c) => {
- s === 0 && (s = c);
- }),
- t.setSelection(Me.near(t.doc.resolve(s), n));
-}
-const T4 = (t) => t.toString().startsWith("<"),
- A4 =
- (t, e, n) =>
- ({ tr: r, dispatch: o, editor: i }) => {
- if (o) {
- n = B({ parseOptions: {}, updateSelection: !0 }, n);
- const s = Na(e, i.schema, {
- parseOptions: B(
- { preserveWhitespace: "full" },
- n.parseOptions
- ),
- });
- if (s.toString() === "<>") return !0;
- let { from: l, to: a } =
- typeof t == "number"
- ? { from: t, to: t }
- : { from: t.from, to: t.to },
- u = !0,
- c = !0;
- if (
- ((T4(s) ? s : [s]).forEach((f) => {
- f.check(),
- (u = u ? f.isText && f.marks.length === 0 : !1),
- (c = c ? f.isBlock : !1);
- }),
- l === a && c)
- ) {
- const { parent: f } = r.doc.resolve(l);
- f.isTextblock &&
- !f.type.spec.code &&
- !f.childCount &&
- ((l -= 1), (a += 1));
- }
- u
- ? Array.isArray(e)
- ? r.insertText(
- e.map((f) => f.text || "").join(""),
- l,
- a
- )
- : typeof e == "object" && e && e.text
- ? r.insertText(e.text, l, a)
- : r.insertText(e, l, a)
- : r.replaceWith(l, a, s),
- n.updateSelection && E4(r, r.steps.length - 1, -1);
- }
- return !0;
- },
- O4 =
- () =>
- ({ state: t, dispatch: e }) =>
- OT(t, e),
- R4 =
- () =>
- ({ state: t, dispatch: e }) =>
- RT(t, e),
- P4 =
- () =>
- ({ state: t, dispatch: e }) =>
- _T(t, e),
- I4 =
- () =>
- ({ state: t, dispatch: e }) =>
- TT(t, e),
- N4 =
- () =>
- ({ tr: t, state: e, dispatch: n }) => {
- try {
- const r = Hu(e.doc, e.selection.$from.pos, -1);
- return r == null ? !1 : (t.join(r, 2), n && n(t), !0);
- } catch (r) {
- return !1;
- }
- },
- D4 =
- () =>
- ({ state: t, dispatch: e, tr: n }) => {
- try {
- const r = Hu(t.doc, t.selection.$from.pos, 1);
- return r == null ? !1 : (n.join(r, 2), e && e(n), !0);
- } catch (r) {
- return !1;
- }
- },
- j4 =
- () =>
- ({ state: t, dispatch: e }) =>
- CT(t, e),
- L4 =
- () =>
- ({ state: t, dispatch: e }) =>
- MT(t, e);
-function Oh() {
- return typeof navigator != "undefined"
- ? /Mac/.test(navigator.platform)
- : !1;
-}
-function $4(t) {
- const e = t.split(/-(?!$)/);
- let n = e[e.length - 1];
- n === "Space" && (n = " ");
- let r, o, i, s;
- for (let l = 0; l < e.length - 1; l += 1) {
- const a = e[l];
- if (/^(cmd|meta|m)$/i.test(a)) s = !0;
- else if (/^a(lt)?$/i.test(a)) r = !0;
- else if (/^(c|ctrl|control)$/i.test(a)) o = !0;
- else if (/^s(hift)?$/i.test(a)) i = !0;
- else if (/^mod$/i.test(a)) Ah() || Oh() ? (s = !0) : (o = !0);
- else throw new Error(`Unrecognized modifier name: ${a}`);
- }
- return (
- r && (n = `Alt-${n}`),
- o && (n = `Ctrl-${n}`),
- s && (n = `Meta-${n}`),
- i && (n = `Shift-${n}`),
- n
- );
-}
-const B4 =
- (t) =>
- ({ editor: e, view: n, tr: r, dispatch: o }) => {
- const i = $4(t).split(/-(?!$)/),
- s = i.find((u) => !["Alt", "Ctrl", "Meta", "Shift"].includes(u)),
- l = new KeyboardEvent("keydown", {
- key: s === "Space" ? " " : s,
- altKey: i.includes("Alt"),
- ctrlKey: i.includes("Ctrl"),
- metaKey: i.includes("Meta"),
- shiftKey: i.includes("Shift"),
- bubbles: !0,
- cancelable: !0,
- }),
- a = e.captureTransaction(() => {
- n.someProp("handleKeyDown", (u) => u(n, l));
- });
- return (
- a == null ||
- a.steps.forEach((u) => {
- const c = u.map(r.mapping);
- c && o && r.maybeStep(c);
- }),
- !0
- );
- };
-function zs(t, e, n = {}) {
- const { from: r, to: o, empty: i } = t.selection,
- s = e ? Ht(e, t.schema) : null,
- l = [];
- t.doc.nodesBetween(r, o, (d, f) => {
- if (d.isText) return;
- const p = Math.max(r, f),
- m = Math.min(o, f + d.nodeSize);
- l.push({ node: d, from: p, to: m });
- });
- const a = o - r,
- u = l
- .filter((d) => (s ? s.name === d.node.type.name : !0))
- .filter((d) => Ia(d.node.attrs, n, { strict: !1 }));
- return i ? !!u.length : u.reduce((d, f) => d + f.to - f.from, 0) >= a;
-}
-const z4 =
- (t, e = {}) =>
- ({ state: n, dispatch: r }) => {
- const o = Ht(t, n.schema);
- return zs(n, o, e) ? PT(n, r) : !1;
- },
- H4 =
- () =>
- ({ state: t, dispatch: e }) =>
- jT(t, e),
- F4 =
- (t) =>
- ({ state: e, dispatch: n }) => {
- const r = Ht(t, e.schema);
- return WT(r)(e, n);
- },
- V4 =
- () =>
- ({ state: t, dispatch: e }) =>
- IT(t, e);
-function Qu(t, e) {
- return e.nodes[t] ? "node" : e.marks[t] ? "mark" : null;
-}
-function Mg(t, e) {
- const n = typeof e == "string" ? [e] : e;
- return Object.keys(t).reduce(
- (r, o) => (n.includes(o) || (r[o] = t[o]), r),
- {}
- );
-}
-const W4 =
- (t, e) =>
- ({ tr: n, state: r, dispatch: o }) => {
- let i = null,
- s = null;
- const l = Qu(typeof t == "string" ? t : t.name, r.schema);
- return l
- ? (l === "node" && (i = Ht(t, r.schema)),
- l === "mark" && (s = po(t, r.schema)),
- o &&
- n.selection.ranges.forEach((a) => {
- r.doc.nodesBetween(
- a.$from.pos,
- a.$to.pos,
- (u, c) => {
- i &&
- i === u.type &&
- n.setNodeMarkup(
- c,
- void 0,
- Mg(u.attrs, e)
- ),
- s &&
- u.marks.length &&
- u.marks.forEach((d) => {
- s === d.type &&
- n.addMark(
- c,
- c + u.nodeSize,
- s.create(Mg(d.attrs, e))
- );
- });
- }
- );
- }),
- !0)
- : !1;
- },
- U4 =
- () =>
- ({ tr: t, dispatch: e }) => (e && t.scrollIntoView(), !0),
- K4 =
- () =>
- ({ tr: t, commands: e }) =>
- e.setTextSelection({ from: 0, to: t.doc.content.size }),
- q4 =
- () =>
- ({ state: t, dispatch: e }) =>
- ET(t, e),
- J4 =
- () =>
- ({ state: t, dispatch: e }) =>
- AT(t, e),
- G4 =
- () =>
- ({ state: t, dispatch: e }) =>
- LT(t, e),
- Y4 =
- () =>
- ({ state: t, dispatch: e }) =>
- zT(t, e),
- Q4 =
- () =>
- ({ state: t, dispatch: e }) =>
- BT(t, e);
-function p2(t, e, n = {}) {
- return Na(t, e, { slice: !1, parseOptions: n });
-}
-const X4 =
- (t, e = !1, n = {}) =>
- ({ tr: r, editor: o, dispatch: i }) => {
- const { doc: s } = r,
- l = p2(t, o.schema, n);
- return (
- i &&
- r
- .replaceWith(0, s.content.size, l)
- .setMeta("preventUpdate", !e),
- !0
- );
- };
-function il(t, e) {
- const n = po(e, t.schema),
- { from: r, to: o, empty: i } = t.selection,
- s = [];
- i
- ? (t.storedMarks && s.push(...t.storedMarks),
- s.push(...t.selection.$head.marks()))
- : t.doc.nodesBetween(r, o, (a) => {
- s.push(...a.marks);
- });
- const l = s.find((a) => a.type.name === n.name);
- return l ? B({}, l.attrs) : {};
-}
-function Z4(t, e) {
- const n = new fh(t);
- return (
- e.forEach((r) => {
- r.steps.forEach((o) => {
- n.step(o);
- });
- }),
- n
- );
-}
-function eA(t) {
- for (let e = 0; e < t.edgeCount; e += 1) {
- const { type: n } = t.edge(e);
- if (n.isTextblock && !n.hasRequiredAttrs()) return n;
- }
- return null;
-}
-function tA(t, e, n) {
- const r = [];
- return (
- t.nodesBetween(e.from, e.to, (o, i) => {
- n(o) && r.push({ node: o, pos: i });
- }),
- r
- );
-}
-function m2(t, e) {
- for (let n = t.depth; n > 0; n -= 1) {
- const r = t.node(n);
- if (e(r))
- return {
- pos: n > 0 ? t.before(n) : 0,
- start: t.start(n),
- depth: n,
- node: r,
- };
- }
-}
-function Rh(t) {
- return (e) => m2(e.$from, t);
-}
-function nA(t, e) {
- const n = tr.fromSchema(e).serializeFragment(t),
- o = document.implementation.createHTMLDocument().createElement("div");
- return o.appendChild(n), o.innerHTML;
-}
-function rA(t, e) {
- const n = { from: 0, to: t.content.size };
- return c2(t, n, e);
-}
-function oA(t, e) {
- const n = Ht(e, t.schema),
- { from: r, to: o } = t.selection,
- i = [];
- t.doc.nodesBetween(r, o, (l) => {
- i.push(l);
- });
- const s = i.reverse().find((l) => l.type.name === n.name);
- return s ? B({}, s.attrs) : {};
-}
-function g2(t, e) {
- const n = Qu(typeof e == "string" ? e : e.name, t.schema);
- return n === "node" ? oA(t, e) : n === "mark" ? il(t, e) : {};
-}
-function iA(t, e = JSON.stringify) {
- const n = {};
- return t.filter((r) => {
- const o = e(r);
- return Object.prototype.hasOwnProperty.call(n, o) ? !1 : (n[o] = !0);
- });
-}
-function sA(t) {
- const e = iA(t);
- return e.length === 1
- ? e
- : e.filter(
- (n, r) =>
- !e
- .filter((i, s) => s !== r)
- .some(
- (i) =>
- n.oldRange.from >= i.oldRange.from &&
- n.oldRange.to <= i.oldRange.to &&
- n.newRange.from >= i.newRange.from &&
- n.newRange.to <= i.newRange.to
- )
- );
-}
-function lA(t) {
- const { mapping: e, steps: n } = t,
- r = [];
- return (
- e.maps.forEach((o, i) => {
- const s = [];
- if (o.ranges.length)
- o.forEach((l, a) => {
- s.push({ from: l, to: a });
- });
- else {
- const { from: l, to: a } = n[i];
- if (l === void 0 || a === void 0) return;
- s.push({ from: l, to: a });
- }
- s.forEach(({ from: l, to: a }) => {
- const u = e.slice(i).map(l, -1),
- c = e.slice(i).map(a),
- d = e.invert().map(u, -1),
- f = e.invert().map(c);
- r.push({
- oldRange: { from: d, to: f },
- newRange: { from: u, to: c },
- });
- });
- }),
- sA(r)
- );
-}
-function Ph(t, e, n) {
- const r = [];
- return (
- t === e
- ? n
- .resolve(t)
- .marks()
- .forEach((o) => {
- const i = n.resolve(t - 1),
- s = Eh(i, o.type);
- s && r.push(B({ mark: o }, s));
- })
- : n.nodesBetween(t, e, (o, i) => {
- !o ||
- (o == null ? void 0 : o.nodeSize) === void 0 ||
- r.push(
- ...o.marks.map((s) => ({
- from: i,
- to: i + o.nodeSize,
- mark: s,
- }))
- );
- }),
- r
- );
-}
-function Jl(t, e, n) {
- return Object.fromEntries(
- Object.entries(n).filter(([r]) => {
- const o = t.find((i) => i.type === e && i.name === r);
- return o ? o.attribute.keepOnSplit : !1;
- })
- );
-}
-function Zd(t, e, n = {}) {
- const { empty: r, ranges: o } = t.selection,
- i = e ? po(e, t.schema) : null;
- if (r)
- return !!(t.storedMarks || t.selection.$from.marks())
- .filter((d) => (i ? i.name === d.type.name : !0))
- .find((d) => Ia(d.attrs, n, { strict: !1 }));
- let s = 0;
- const l = [];
- if (
- (o.forEach(({ $from: d, $to: f }) => {
- const p = d.pos,
- m = f.pos;
- t.doc.nodesBetween(p, m, (y, v) => {
- if (!y.isText && !y.marks.length) return;
- const w = Math.max(p, v),
- S = Math.min(m, v + y.nodeSize),
- E = S - w;
- (s += E),
- l.push(
- ...y.marks.map((h) => ({ mark: h, from: w, to: S }))
- );
- });
- }),
- s === 0)
- )
- return !1;
- const a = l
- .filter((d) => (i ? i.name === d.mark.type.name : !0))
- .filter((d) => Ia(d.mark.attrs, n, { strict: !1 }))
- .reduce((d, f) => d + f.to - f.from, 0),
- u = l
- .filter((d) =>
- i ? d.mark.type !== i && d.mark.type.excludes(i) : !0
- )
- .reduce((d, f) => d + f.to - f.from, 0);
- return (a > 0 ? a + u : a) >= s;
-}
-function aA(t, e, n = {}) {
- if (!e) return zs(t, null, n) || Zd(t, null, n);
- const r = Qu(e, t.schema);
- return r === "node" ? zs(t, e, n) : r === "mark" ? Zd(t, e, n) : !1;
-}
-function Eg(t, e) {
- const { nodeExtensions: n } = Gu(e),
- r = n.find((s) => s.name === t);
- if (!r) return !1;
- const o = { name: r.name, options: r.options, storage: r.storage },
- i = Be(fe(r, "group", o));
- return typeof i != "string" ? !1 : i.split(" ").includes("list");
-}
-function uA(t) {
- var e;
- const n =
- (e = t.type.createAndFill()) === null || e === void 0
- ? void 0
- : e.toJSON(),
- r = t.toJSON();
- return JSON.stringify(n) === JSON.stringify(r);
-}
-function cA(t) {
- return t instanceof we;
-}
-function y2(t, e, n) {
- const o = t.state.doc.content.size,
- i = kr(e, 0, o),
- s = kr(n, 0, o),
- l = t.coordsAtPos(i),
- a = t.coordsAtPos(s, -1),
- u = Math.min(l.top, a.top),
- c = Math.max(l.bottom, a.bottom),
- d = Math.min(l.left, a.left),
- f = Math.max(l.right, a.right),
- p = f - d,
- m = c - u,
- w = {
- top: u,
- bottom: c,
- left: d,
- right: f,
- width: p,
- height: m,
- x: d,
- y: u,
- };
- return ge(B({}, w), { toJSON: () => w });
-}
-function dA(t, e, n) {
- var r;
- const { selection: o } = e;
- let i = null;
- if ((Th(o) && (i = o.$cursor), i)) {
- const l = (r = t.storedMarks) !== null && r !== void 0 ? r : i.marks();
- return !!n.isInSet(l) || !l.some((a) => a.type.excludes(n));
- }
- const { ranges: s } = o;
- return s.some(({ $from: l, $to: a }) => {
- let u =
- l.depth === 0
- ? t.doc.inlineContent && t.doc.type.allowsMarkType(n)
- : !1;
- return (
- t.doc.nodesBetween(l.pos, a.pos, (c, d, f) => {
- if (u) return !1;
- if (c.isInline) {
- const p = !f || f.type.allowsMarkType(n),
- m =
- !!n.isInSet(c.marks) ||
- !c.marks.some((y) => y.type.excludes(n));
- u = p && m;
- }
- return !u;
- }),
- u
- );
- });
-}
-const fA =
- (t, e = {}) =>
- ({ tr: n, state: r, dispatch: o }) => {
- const { selection: i } = n,
- { empty: s, ranges: l } = i,
- a = po(t, r.schema);
- if (o)
- if (s) {
- const u = il(r, a);
- n.addStoredMark(a.create(B(B({}, u), e)));
- } else
- l.forEach((u) => {
- const c = u.$from.pos,
- d = u.$to.pos;
- r.doc.nodesBetween(c, d, (f, p) => {
- const m = Math.max(p, c),
- y = Math.min(p + f.nodeSize, d);
- f.marks.find((w) => w.type === a)
- ? f.marks.forEach((w) => {
- a === w.type &&
- n.addMark(
- m,
- y,
- a.create(B(B({}, w.attrs), e))
- );
- })
- : n.addMark(m, y, a.create(e));
- });
- });
- return dA(r, n, a);
- },
- hA =
- (t, e) =>
- ({ tr: n }) => (n.setMeta(t, e), !0),
- pA =
- (t, e = {}) =>
- ({ state: n, dispatch: r, chain: o }) => {
- const i = Ht(t, n.schema);
- return i.isTextblock
- ? o()
- .command(({ commands: s }) =>
- xg(i, e)(n) ? !0 : s.clearNodes()
- )
- .command(({ state: s }) => xg(i, e)(s, r))
- .run()
- : (console.warn(
- '[tiptap warn]: Currently "setNode()" only supports text block nodes.'
- ),
- !1);
- },
- mA =
- (t) =>
- ({ tr: e, dispatch: n }) => {
- if (n) {
- const { doc: r } = e,
- o = kr(t, 0, r.content.size),
- i = we.create(r, o);
- e.setSelection(i);
- }
- return !0;
- },
- gA =
- (t) =>
- ({ tr: e, dispatch: n }) => {
- if (n) {
- const { doc: r } = e,
- { from: o, to: i } =
- typeof t == "number" ? { from: t, to: t } : t,
- s = Se.atStart(r).from,
- l = Se.atEnd(r).to,
- a = kr(o, s, l),
- u = kr(i, s, l),
- c = Se.create(r, a, u);
- e.setSelection(c);
- }
- return !0;
- },
- yA =
- (t) =>
- ({ state: e, dispatch: n }) => {
- const r = Ht(t, e.schema);
- return qT(r)(e, n);
- };
-function Tg(t, e) {
- const n =
- t.storedMarks ||
- (t.selection.$to.parentOffset && t.selection.$from.marks());
- if (n) {
- const r = n.filter((o) =>
- e == null ? void 0 : e.includes(o.type.name)
- );
- t.tr.ensureMarks(r);
- }
-}
-const vA =
- ({ keepMarks: t = !0 } = {}) =>
- ({ tr: e, state: n, dispatch: r, editor: o }) => {
- const { selection: i, doc: s } = e,
- { $from: l, $to: a } = i,
- u = o.extensionManager.attributes,
- c = Jl(u, l.node().type.name, l.node().attrs);
- if (i instanceof we && i.node.isBlock)
- return !l.parentOffset || !gi(s, l.pos)
- ? !1
- : (r &&
- (t && Tg(n, o.extensionManager.splittableMarks),
- e.split(l.pos).scrollIntoView()),
- !0);
- if (!l.parent.isBlock) return !1;
- if (r) {
- const d = a.parentOffset === a.parent.content.size;
- i instanceof Se && e.deleteSelection();
- const f =
- l.depth === 0
- ? void 0
- : eA(l.node(-1).contentMatchAt(l.indexAfter(-1)));
- let p = d && f ? [{ type: f, attrs: c }] : void 0,
- m = gi(e.doc, e.mapping.map(l.pos), 1, p);
- if (
- (!p &&
- !m &&
- gi(
- e.doc,
- e.mapping.map(l.pos),
- 1,
- f ? [{ type: f }] : void 0
- ) &&
- ((m = !0), (p = f ? [{ type: f, attrs: c }] : void 0)),
- m &&
- (e.split(e.mapping.map(l.pos), 1, p),
- f && !d && !l.parentOffset && l.parent.type !== f))
- ) {
- const y = e.mapping.map(l.before()),
- v = e.doc.resolve(y);
- l.node(-1).canReplaceWith(v.index(), v.index() + 1, f) &&
- e.setNodeMarkup(e.mapping.map(l.before()), f);
- }
- t && Tg(n, o.extensionManager.splittableMarks),
- e.scrollIntoView();
- }
- return !0;
- },
- bA =
- (t) =>
- ({ tr: e, state: n, dispatch: r, editor: o }) => {
- var i;
- const s = Ht(t, n.schema),
- { $from: l, $to: a } = n.selection,
- u = n.selection.node;
- if ((u && u.isBlock) || l.depth < 2 || !l.sameParent(a)) return !1;
- const c = l.node(-1);
- if (c.type !== s) return !1;
- const d = o.extensionManager.attributes;
- if (
- l.parent.content.size === 0 &&
- l.node(-1).childCount === l.indexAfter(-1)
- ) {
- if (
- l.depth === 2 ||
- l.node(-3).type !== s ||
- l.index(-2) !== l.node(-2).childCount - 1
- )
- return !1;
- if (r) {
- let v = J.empty;
- const w = l.index(-1) ? 1 : l.index(-2) ? 2 : 3;
- for (let x = l.depth - w; x >= l.depth - 3; x -= 1)
- v = J.from(l.node(x).copy(v));
- const S =
- l.indexAfter(-1) < l.node(-2).childCount
- ? 1
- : l.indexAfter(-2) < l.node(-3).childCount
- ? 2
- : 3,
- E = Jl(d, l.node().type.name, l.node().attrs),
- h =
- ((i = s.contentMatch.defaultType) === null ||
- i === void 0
- ? void 0
- : i.createAndFill(E)) || void 0;
- v = v.append(J.from(s.createAndFill(null, h) || void 0));
- const b = l.before(l.depth - (w - 1));
- e.replace(b, l.after(-S), new le(v, 4 - w, 0));
- let g = -1;
- e.doc.nodesBetween(b, e.doc.content.size, (x, k) => {
- if (g > -1) return !1;
- x.isTextblock && x.content.size === 0 && (g = k + 1);
- }),
- g > -1 && e.setSelection(Se.near(e.doc.resolve(g))),
- e.scrollIntoView();
- }
- return !0;
- }
- const f =
- a.pos === l.end() ? c.contentMatchAt(0).defaultType : null,
- p = Jl(d, c.type.name, c.attrs),
- m = Jl(d, l.node().type.name, l.node().attrs);
- e.delete(l.pos, a.pos);
- const y = f
- ? [
- { type: s, attrs: p },
- { type: f, attrs: m },
- ]
- : [{ type: s, attrs: p }];
- if (!gi(e.doc, l.pos, 2)) return !1;
- if (r) {
- const { selection: v, storedMarks: w } = n,
- { splittableMarks: S } = o.extensionManager,
- E = w || (v.$to.parentOffset && v.$from.marks());
- if ((e.split(l.pos, 2, y).scrollIntoView(), !E || !r))
- return !0;
- const h = E.filter((b) => S.includes(b.type.name));
- e.ensureMarks(h);
- }
- return !0;
- },
- Uc = (t, e) => {
- const n = Rh((s) => s.type === e)(t.selection);
- if (!n) return !0;
- const r = t.doc.resolve(Math.max(0, n.pos - 1)).before(n.depth);
- if (r === void 0) return !0;
- const o = t.doc.nodeAt(r);
- return (
- n.node.type === (o == null ? void 0 : o.type) &&
- fo(t.doc, n.pos) &&
- t.join(n.pos),
- !0
- );
- },
- Kc = (t, e) => {
- const n = Rh((s) => s.type === e)(t.selection);
- if (!n) return !0;
- const r = t.doc.resolve(n.start).after(n.depth);
- if (r === void 0) return !0;
- const o = t.doc.nodeAt(r);
- return (
- n.node.type === (o == null ? void 0 : o.type) &&
- fo(t.doc, r) &&
- t.join(r),
- !0
- );
- },
- wA =
- (t, e, n, r = {}) =>
- ({
- editor: o,
- tr: i,
- state: s,
- dispatch: l,
- chain: a,
- commands: u,
- can: c,
- }) => {
- const { extensions: d, splittableMarks: f } = o.extensionManager,
- p = Ht(t, s.schema),
- m = Ht(e, s.schema),
- { selection: y, storedMarks: v } = s,
- { $from: w, $to: S } = y,
- E = w.blockRange(S),
- h = v || (y.$to.parentOffset && y.$from.marks());
- if (!E) return !1;
- const b = Rh((g) => Eg(g.type.name, d))(y);
- if (E.depth >= 1 && b && E.depth - b.depth <= 1) {
- if (b.node.type === p) return u.liftListItem(m);
- if (
- Eg(b.node.type.name, d) &&
- p.validContent(b.node.content) &&
- l
- )
- return a()
- .command(() => (i.setNodeMarkup(b.pos, p), !0))
- .command(() => Uc(i, p))
- .command(() => Kc(i, p))
- .run();
- }
- return !n || !h || !l
- ? a()
- .command(() =>
- c().wrapInList(p, r) ? !0 : u.clearNodes()
- )
- .wrapInList(p, r)
- .command(() => Uc(i, p))
- .command(() => Kc(i, p))
- .run()
- : a()
- .command(() => {
- const g = c().wrapInList(p, r),
- x = h.filter((k) => f.includes(k.type.name));
- return i.ensureMarks(x), g ? !0 : u.clearNodes();
- })
- .wrapInList(p, r)
- .command(() => Uc(i, p))
- .command(() => Kc(i, p))
- .run();
- },
- xA =
- (t, e = {}, n = {}) =>
- ({ state: r, commands: o }) => {
- const { extendEmptyMarkRange: i = !1 } = n,
- s = po(t, r.schema);
- return Zd(r, s, e)
- ? o.unsetMark(s, { extendEmptyMarkRange: i })
- : o.setMark(s, e);
- },
- kA =
- (t, e, n = {}) =>
- ({ state: r, commands: o }) => {
- const i = Ht(t, r.schema),
- s = Ht(e, r.schema);
- return zs(r, i, n) ? o.setNode(s) : o.setNode(i, n);
- },
- SA =
- (t, e = {}) =>
- ({ state: n, commands: r }) => {
- const o = Ht(t, n.schema);
- return zs(n, o, e) ? r.lift(o) : r.wrapIn(o, e);
- },
- _A =
- () =>
- ({ state: t, dispatch: e }) => {
- const n = t.plugins;
- for (let r = 0; r < n.length; r += 1) {
- const o = n[r];
- let i;
- if (o.spec.isInputRules && (i = o.getState(t))) {
- if (e) {
- const s = t.tr,
- l = i.transform;
- for (let a = l.steps.length - 1; a >= 0; a -= 1)
- s.step(l.steps[a].invert(l.docs[a]));
- if (i.text) {
- const a = s.doc.resolve(i.from).marks();
- s.replaceWith(
- i.from,
- i.to,
- t.schema.text(i.text, a)
- );
- } else s.delete(i.from, i.to);
- }
- return !0;
- }
- }
- return !1;
- },
- CA =
- () =>
- ({ tr: t, dispatch: e }) => {
- const { selection: n } = t,
- { empty: r, ranges: o } = n;
- return (
- r ||
- (e &&
- o.forEach((i) => {
- t.removeMark(i.$from.pos, i.$to.pos);
- })),
- !0
- );
- },
- MA =
- (t, e = {}) =>
- ({ tr: n, state: r, dispatch: o }) => {
- var i;
- const { extendEmptyMarkRange: s = !1 } = e,
- { selection: l } = n,
- a = po(t, r.schema),
- { $from: u, empty: c, ranges: d } = l;
- if (!o) return !0;
- if (c && s) {
- let { from: f, to: p } = l;
- const m =
- (i = u.marks().find((v) => v.type === a)) === null ||
- i === void 0
- ? void 0
- : i.attrs,
- y = Eh(u, a, m);
- y && ((f = y.from), (p = y.to)), n.removeMark(f, p, a);
- } else
- d.forEach((f) => {
- n.removeMark(f.$from.pos, f.$to.pos, a);
- });
- return n.removeStoredMark(a), !0;
- },
- EA =
- (t, e = {}) =>
- ({ tr: n, state: r, dispatch: o }) => {
- let i = null,
- s = null;
- const l = Qu(typeof t == "string" ? t : t.name, r.schema);
- return l
- ? (l === "node" && (i = Ht(t, r.schema)),
- l === "mark" && (s = po(t, r.schema)),
- o &&
- n.selection.ranges.forEach((a) => {
- const u = a.$from.pos,
- c = a.$to.pos;
- r.doc.nodesBetween(u, c, (d, f) => {
- i &&
- i === d.type &&
- n.setNodeMarkup(
- f,
- void 0,
- B(B({}, d.attrs), e)
- ),
- s &&
- d.marks.length &&
- d.marks.forEach((p) => {
- if (s === p.type) {
- const m = Math.max(f, u),
- y = Math.min(
- f + d.nodeSize,
- c
- );
- n.addMark(
- m,
- y,
- s.create(
- B(B({}, p.attrs), e)
- )
- );
- }
- });
- });
- }),
- !0)
- : !1;
- },
- TA =
- (t, e = {}) =>
- ({ state: n, dispatch: r }) => {
- const o = Ht(t, n.schema);
- return HT(o, e)(n, r);
- },
- AA =
- (t, e = {}) =>
- ({ state: n, dispatch: r }) => {
- const o = Ht(t, n.schema);
- return FT(o, e)(n, r);
- };
-var OA = Object.freeze({
- __proto__: null,
- blur: u4,
- clearContent: c4,
- clearNodes: d4,
- command: f4,
- createParagraphNear: h4,
- cut: p4,
- deleteCurrentNode: m4,
- deleteNode: g4,
- deleteRange: y4,
- deleteSelection: v4,
- enter: b4,
- exitCode: w4,
- extendMarkRange: k4,
- first: S4,
- focus: _4,
- forEach: C4,
- insertContent: M4,
- insertContentAt: A4,
- joinUp: O4,
- joinDown: R4,
- joinBackward: P4,
- joinForward: I4,
- joinItemBackward: N4,
- joinItemForward: D4,
- joinTextblockBackward: j4,
- joinTextblockForward: L4,
- keyboardShortcut: B4,
- lift: z4,
- liftEmptyBlock: H4,
- liftListItem: F4,
- newlineInCode: V4,
- resetAttributes: W4,
- scrollIntoView: U4,
- selectAll: K4,
- selectNodeBackward: q4,
- selectNodeForward: J4,
- selectParentNode: G4,
- selectTextblockEnd: Y4,
- selectTextblockStart: Q4,
- setContent: X4,
- setMark: fA,
- setMeta: hA,
- setNode: pA,
- setNodeSelection: mA,
- setTextSelection: gA,
- sinkListItem: yA,
- splitBlock: vA,
- splitListItem: bA,
- toggleList: wA,
- toggleMark: xA,
- toggleNode: kA,
- toggleWrap: SA,
- undoInputRule: _A,
- unsetAllMarks: CA,
- unsetMark: MA,
- updateAttributes: EA,
- wrapIn: TA,
- wrapInList: AA,
-});
-const RA = Nt.create({
- name: "commands",
- addCommands() {
- return B({}, OA);
- },
- }),
- PA = Nt.create({
- name: "editable",
- addProseMirrorPlugins() {
- return [
- new kt({
- key: new Dt("editable"),
- props: { editable: () => this.editor.options.editable },
- }),
- ];
- },
- }),
- IA = Nt.create({
- name: "focusEvents",
- addProseMirrorPlugins() {
- const { editor: t } = this;
- return [
- new kt({
- key: new Dt("focusEvents"),
- props: {
- handleDOMEvents: {
- focus: (e, n) => {
- t.isFocused = !0;
- const r = t.state.tr
- .setMeta("focus", { event: n })
- .setMeta("addToHistory", !1);
- return e.dispatch(r), !1;
- },
- blur: (e, n) => {
- t.isFocused = !1;
- const r = t.state.tr
- .setMeta("blur", { event: n })
- .setMeta("addToHistory", !1);
- return e.dispatch(r), !1;
- },
- },
- },
- }),
- ];
- },
- }),
- NA = Nt.create({
- name: "keymap",
- addKeyboardShortcuts() {
- const t = () =>
- this.editor.commands.first(({ commands: s }) => [
- () => s.undoInputRule(),
- () =>
- s.command(({ tr: l }) => {
- const { selection: a, doc: u } = l,
- { empty: c, $anchor: d } = a,
- { pos: f, parent: p } = d,
- m = d.parent.isTextblock
- ? l.doc.resolve(f - 1)
- : d,
- y = m.parent.type.spec.isolating,
- v = d.pos - d.parentOffset,
- w =
- y && m.parent.childCount === 1
- ? v === d.pos
- : Me.atStart(u).from === f;
- return !c ||
- !w ||
- !p.type.isTextblock ||
- p.textContent.length
- ? !1
- : s.clearNodes();
- }),
- () => s.deleteSelection(),
- () => s.joinBackward(),
- () => s.selectNodeBackward(),
- ]),
- e = () =>
- this.editor.commands.first(({ commands: s }) => [
- () => s.deleteSelection(),
- () => s.deleteCurrentNode(),
- () => s.joinForward(),
- () => s.selectNodeForward(),
- ]),
- r = {
- Enter: () =>
- this.editor.commands.first(({ commands: s }) => [
- () => s.newlineInCode(),
- () => s.createParagraphNear(),
- () => s.liftEmptyBlock(),
- () => s.splitBlock(),
- ]),
- "Mod-Enter": () => this.editor.commands.exitCode(),
- Backspace: t,
- "Mod-Backspace": t,
- "Shift-Backspace": t,
- Delete: e,
- "Mod-Delete": e,
- "Mod-a": () => this.editor.commands.selectAll(),
- },
- o = B({}, r),
- i = ge(B({}, r), {
- "Ctrl-h": t,
- "Alt-Backspace": t,
- "Ctrl-d": e,
- "Ctrl-Alt-Backspace": e,
- "Alt-Delete": e,
- "Alt-d": e,
- "Ctrl-a": () => this.editor.commands.selectTextblockStart(),
- "Ctrl-e": () => this.editor.commands.selectTextblockEnd(),
- });
- return Ah() || Oh() ? i : o;
- },
- addProseMirrorPlugins() {
- return [
- new kt({
- key: new Dt("clearDocument"),
- appendTransaction: (t, e, n) => {
- if (!(t.some((m) => m.docChanged) && !e.doc.eq(n.doc)))
- return;
- const { empty: o, from: i, to: s } = e.selection,
- l = Me.atStart(e.doc).from,
- a = Me.atEnd(e.doc).to;
- if (
- o ||
- !(i === l && s === a) ||
- !(
- n.doc.textBetween(
- 0,
- n.doc.content.size,
- " ",
- " "
- ).length === 0
- )
- )
- return;
- const d = n.tr,
- f = qu({ state: n, transaction: d }),
- { commands: p } = new Ju({
- editor: this.editor,
- state: f,
- });
- if ((p.clearNodes(), !!d.steps.length)) return d;
- },
- }),
- ];
- },
- }),
- DA = Nt.create({
- name: "tabindex",
- addProseMirrorPlugins() {
- return [
- new kt({
- key: new Dt("tabindex"),
- props: {
- attributes: this.editor.isEditable
- ? { tabindex: "0" }
- : {},
- },
- }),
- ];
- },
- });
-var jA = Object.freeze({
- __proto__: null,
- ClipboardTextSerializer: a4,
- Commands: RA,
- Editable: PA,
- FocusEvents: IA,
- Keymap: NA,
- Tabindex: DA,
-});
-class _o {
- constructor(e, n, r = !1, o = null) {
- (this.currentNode = null),
- (this.actualDepth = null),
- (this.isBlock = r),
- (this.resolvedPos = e),
- (this.editor = n),
- (this.currentNode = o);
- }
- get name() {
- return this.node.type.name;
- }
- get node() {
- return this.currentNode || this.resolvedPos.node();
- }
- get element() {
- return this.editor.view.domAtPos(this.pos).node;
- }
- get depth() {
- var e;
- return (e = this.actualDepth) !== null && e !== void 0
- ? e
- : this.resolvedPos.depth;
- }
- get pos() {
- return this.resolvedPos.pos;
- }
- get content() {
- return this.node.content;
- }
- set content(e) {
- let n = this.from,
- r = this.to;
- if (this.isBlock) {
- if (this.content.size === 0) {
- console.error(
- `You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`
- );
- return;
- }
- (n = this.from + 1), (r = this.to - 1);
- }
- this.editor.commands.insertContentAt({ from: n, to: r }, e);
- }
- get attributes() {
- return this.node.attrs;
- }
- get textContent() {
- return this.node.textContent;
- }
- get size() {
- return this.node.nodeSize;
- }
- get from() {
- return this.isBlock
- ? this.pos
- : this.resolvedPos.start(this.resolvedPos.depth);
- }
- get range() {
- return { from: this.from, to: this.to };
- }
- get to() {
- return this.isBlock
- ? this.pos + this.size
- : this.resolvedPos.end(this.resolvedPos.depth) +
- (this.node.isText ? 0 : 1);
- }
- get parent() {
- if (this.depth === 0) return null;
- const e = this.resolvedPos.start(this.resolvedPos.depth - 1),
- n = this.resolvedPos.doc.resolve(e);
- return new _o(n, this.editor);
- }
- get before() {
- let e = this.resolvedPos.doc.resolve(
- this.from - (this.isBlock ? 1 : 2)
- );
- return (
- e.depth !== this.depth &&
- (e = this.resolvedPos.doc.resolve(this.from - 3)),
- new _o(e, this.editor)
- );
- }
- get after() {
- let e = this.resolvedPos.doc.resolve(this.to + (this.isBlock ? 2 : 1));
- return (
- e.depth !== this.depth &&
- (e = this.resolvedPos.doc.resolve(this.to + 3)),
- new _o(e, this.editor)
- );
- }
- get children() {
- const e = [];
- return (
- this.node.content.forEach((n, r) => {
- const o = n.isBlock && !n.isTextblock,
- i = this.pos + r + (o ? 0 : 1),
- s = this.resolvedPos.doc.resolve(i);
- if (!o && s.depth <= this.depth) return;
- const l = new _o(s, this.editor, o, o ? n : null);
- o && (l.actualDepth = this.depth + 1),
- e.push(new _o(s, this.editor, o, o ? n : null));
- }),
- e
- );
- }
- get firstChild() {
- return this.children[0] || null;
- }
- get lastChild() {
- const e = this.children;
- return e[e.length - 1] || null;
- }
- closest(e, n = {}) {
- let r = null,
- o = this.parent;
- for (; o && !r; ) {
- if (o.node.type.name === e)
- if (Object.keys(n).length > 0) {
- const i = o.node.attrs,
- s = Object.keys(n);
- for (let l = 0; l < s.length; l += 1) {
- const a = s[l];
- if (i[a] !== n[a]) break;
- }
- } else r = o;
- o = o.parent;
- }
- return r;
- }
- querySelector(e, n = {}) {
- return this.querySelectorAll(e, n, !0)[0] || null;
- }
- querySelectorAll(e, n = {}, r = !1) {
- let o = [];
- return (
- this.isBlock ||
- !this.children ||
- this.children.length === 0 ||
- this.children.forEach((i) => {
- if (i.node.type.name === e) {
- if (Object.keys(n).length > 0) {
- const s = i.node.attrs,
- l = Object.keys(n);
- for (let a = 0; a < l.length; a += 1) {
- const u = l[a];
- if (s[u] !== n[u]) return;
- }
- }
- if ((o.push(i), r)) return;
- }
- o = o.concat(i.querySelectorAll(e));
- }),
- o
- );
- }
- setAttribute(e) {
- const n = this.editor.state.selection;
- this.editor
- .chain()
- .setTextSelection(this.from)
- .updateAttributes(this.node.type.name, e)
- .setTextSelection(n.from)
- .run();
- }
-}
-const LA = `.ProseMirror {
- position: relative;
-}
-
-.ProseMirror {
- word-wrap: break-word;
- white-space: pre-wrap;
- white-space: break-spaces;
- -webkit-font-variant-ligatures: none;
- font-variant-ligatures: none;
- font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
-}
-
-.ProseMirror [contenteditable="false"] {
- white-space: normal;
-}
-
-.ProseMirror [contenteditable="false"] [contenteditable="true"] {
- white-space: pre-wrap;
-}
-
-.ProseMirror pre {
- white-space: pre-wrap;
-}
-
-img.ProseMirror-separator {
- display: inline !important;
- border: none !important;
- margin: 0 !important;
- width: 1px !important;
- height: 1px !important;
-}
-
-.ProseMirror-gapcursor {
- display: none;
- pointer-events: none;
- position: absolute;
- margin: 0;
-}
-
-.ProseMirror-gapcursor:after {
- content: "";
- display: block;
- position: absolute;
- top: -2px;
- width: 20px;
- border-top: 1px solid black;
- animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
-}
-
-@keyframes ProseMirror-cursor-blink {
- to {
- visibility: hidden;
- }
-}
-
-.ProseMirror-hideselection *::selection {
- background: transparent;
-}
-
-.ProseMirror-hideselection *::-moz-selection {
- background: transparent;
-}
-
-.ProseMirror-hideselection * {
- caret-color: transparent;
-}
-
-.ProseMirror-focused .ProseMirror-gapcursor {
- display: block;
-}
-
-.tippy-box[data-animation=fade][data-state=hidden] {
- opacity: 0
-}`;
-function $A(t, e, n) {
- const r = document.querySelector(
- `style[data-tiptap-style${n ? `-${n}` : ""}]`
- );
- if (r !== null) return r;
- const o = document.createElement("style");
- return (
- e && o.setAttribute("nonce", e),
- o.setAttribute(`data-tiptap-style${n ? `-${n}` : ""}`, ""),
- (o.innerHTML = t),
- document.getElementsByTagName("head")[0].appendChild(o),
- o
- );
-}
-let BA = class extends JT {
- constructor(e = {}) {
- super(),
- (this.isFocused = !1),
- (this.extensionStorage = {}),
- (this.options = {
- element: document.createElement("div"),
- content: "",
- injectCSS: !0,
- injectNonce: void 0,
- extensions: [],
- autofocus: !1,
- editable: !0,
- editorProps: {},
- parseOptions: {},
- enableInputRules: !0,
- enablePasteRules: !0,
- enableCoreExtensions: !0,
- onBeforeCreate: () => null,
- onCreate: () => null,
- onUpdate: () => null,
- onSelectionUpdate: () => null,
- onTransaction: () => null,
- onFocus: () => null,
- onBlur: () => null,
- onDestroy: () => null,
- }),
- (this.isCapturingTransaction = !1),
- (this.capturedTransaction = null),
- this.setOptions(e),
- this.createExtensionManager(),
- this.createCommandManager(),
- this.createSchema(),
- this.on("beforeCreate", this.options.onBeforeCreate),
- this.emit("beforeCreate", { editor: this }),
- this.createView(),
- this.injectCSS(),
- this.on("create", this.options.onCreate),
- this.on("update", this.options.onUpdate),
- this.on("selectionUpdate", this.options.onSelectionUpdate),
- this.on("transaction", this.options.onTransaction),
- this.on("focus", this.options.onFocus),
- this.on("blur", this.options.onBlur),
- this.on("destroy", this.options.onDestroy),
- window.setTimeout(() => {
- this.isDestroyed ||
- (this.commands.focus(this.options.autofocus),
- this.emit("create", { editor: this }));
- }, 0);
- }
- get storage() {
- return this.extensionStorage;
- }
- get commands() {
- return this.commandManager.commands;
- }
- chain() {
- return this.commandManager.chain();
- }
- can() {
- return this.commandManager.can();
- }
- injectCSS() {
- this.options.injectCSS &&
- document &&
- (this.css = $A(LA, this.options.injectNonce));
- }
- setOptions(e = {}) {
- (this.options = B(B({}, this.options), e)),
- !(!this.view || !this.state || this.isDestroyed) &&
- (this.options.editorProps &&
- this.view.setProps(this.options.editorProps),
- this.view.updateState(this.state));
- }
- setEditable(e, n = !0) {
- this.setOptions({ editable: e }),
- n &&
- this.emit("update", {
- editor: this,
- transaction: this.state.tr,
- });
- }
- get isEditable() {
- return this.options.editable && this.view && this.view.editable;
- }
- get state() {
- return this.view.state;
- }
- registerPlugin(e, n) {
- const r = u2(n)
- ? n(e, [...this.state.plugins])
- : [...this.state.plugins, e],
- o = this.state.reconfigure({ plugins: r });
- this.view.updateState(o);
- }
- unregisterPlugin(e) {
- if (this.isDestroyed) return;
- const n = typeof e == "string" ? `${e}$` : e.key,
- r = this.state.reconfigure({
- plugins: this.state.plugins.filter((o) => !o.key.startsWith(n)),
- });
- this.view.updateState(r);
- }
- createExtensionManager() {
- const n = [
- ...(this.options.enableCoreExtensions ? Object.values(jA) : []),
- ...this.options.extensions,
- ].filter((r) =>
- ["extension", "node", "mark"].includes(r == null ? void 0 : r.type)
- );
- this.extensionManager = new ui(n, this);
- }
- createCommandManager() {
- this.commandManager = new Ju({ editor: this });
- }
- createSchema() {
- this.schema = this.extensionManager.schema;
- }
- createView() {
- const e = p2(
- this.options.content,
- this.schema,
- this.options.parseOptions
- ),
- n = f2(e, this.options.autofocus);
- this.view = new hT(
- this.options.element,
- ge(B({}, this.options.editorProps), {
- dispatchTransaction: this.dispatchTransaction.bind(this),
- state: ai.create({ doc: e, selection: n || void 0 }),
- })
- );
- const r = this.state.reconfigure({
- plugins: this.extensionManager.plugins,
- });
- this.view.updateState(r), this.createNodeViews(), this.prependClass();
- const o = this.view.dom;
- o.editor = this;
- }
- createNodeViews() {
- this.view.setProps({ nodeViews: this.extensionManager.nodeViews });
- }
- prependClass() {
- this.view.dom.className = `tiptap ${this.view.dom.className}`;
- }
- captureTransaction(e) {
- (this.isCapturingTransaction = !0),
- e(),
- (this.isCapturingTransaction = !1);
- const n = this.capturedTransaction;
- return (this.capturedTransaction = null), n;
- }
- dispatchTransaction(e) {
- if (this.view.isDestroyed) return;
- if (this.isCapturingTransaction) {
- if (!this.capturedTransaction) {
- this.capturedTransaction = e;
- return;
- }
- e.steps.forEach((s) => {
- var l;
- return (l = this.capturedTransaction) === null || l === void 0
- ? void 0
- : l.step(s);
- });
- return;
- }
- const n = this.state.apply(e),
- r = !this.state.selection.eq(n.selection);
- this.view.updateState(n),
- this.emit("transaction", { editor: this, transaction: e }),
- r && this.emit("selectionUpdate", { editor: this, transaction: e });
- const o = e.getMeta("focus"),
- i = e.getMeta("blur");
- o &&
- this.emit("focus", {
- editor: this,
- event: o.event,
- transaction: e,
- }),
- i &&
- this.emit("blur", {
- editor: this,
- event: i.event,
- transaction: e,
- }),
- !(!e.docChanged || e.getMeta("preventUpdate")) &&
- this.emit("update", { editor: this, transaction: e });
- }
- getAttributes(e) {
- return g2(this.state, e);
- }
- isActive(e, n) {
- const r = typeof e == "string" ? e : null,
- o = typeof e == "string" ? n : e;
- return aA(this.state, r, o);
- }
- getJSON() {
- return this.state.doc.toJSON();
- }
- getHTML() {
- return nA(this.state.doc.content, this.schema);
- }
- getText(e) {
- const {
- blockSeparator: n = `
-
-`,
- textSerializers: r = {},
- } = e || {};
- return rA(this.state.doc, {
- blockSeparator: n,
- textSerializers: B(B({}, d2(this.schema)), r),
- });
- }
- get isEmpty() {
- return uA(this.state.doc);
- }
- getCharacterCount() {
- return (
- console.warn(
- '[tiptap warn]: "editor.getCharacterCount()" is deprecated. Please use "editor.storage.characterCount.characters()" instead.'
- ),
- this.state.doc.content.size - 2
- );
- }
- destroy() {
- this.emit("destroy"),
- this.view && this.view.destroy(),
- this.removeAllListeners();
- }
- get isDestroyed() {
- var e;
- return !(!((e = this.view) === null || e === void 0) && e.docView);
- }
- $node(e, n) {
- var r;
- return (
- ((r = this.$doc) === null || r === void 0
- ? void 0
- : r.querySelector(e, n)) || null
- );
- }
- $nodes(e, n) {
- var r;
- return (
- ((r = this.$doc) === null || r === void 0
- ? void 0
- : r.querySelectorAll(e, n)) || null
- );
- }
- $pos(e) {
- const n = this.state.doc.resolve(e);
- return new _o(n, this);
- }
- get $doc() {
- return this.$pos(0);
- }
-};
-function Vo(t) {
- return new ol({
- find: t.find,
- handler: ({ state: e, range: n, match: r }) => {
- const o = Be(t.getAttributes, void 0, r);
- if (o === !1 || o === null) return null;
- const { tr: i } = e,
- s = r[r.length - 1],
- l = r[0];
- if (s) {
- const a = l.search(/\S/),
- u = n.from + l.indexOf(s),
- c = u + s.length;
- if (
- Ph(n.from, n.to, e.doc)
- .filter((p) =>
- p.mark.type.excluded.find(
- (y) => y === t.type && y !== p.mark.type
- )
- )
- .filter((p) => p.to > u).length
- )
- return null;
- c < n.to && i.delete(c, n.to),
- u > n.from && i.delete(n.from + a, u);
- const f = n.from + a + s.length;
- i.addMark(n.from + a, f, t.type.create(o || {})),
- i.removeStoredMark(t.type);
- }
- },
- });
-}
-function v2(t) {
- return new ol({
- find: t.find,
- handler: ({ state: e, range: n, match: r }) => {
- const o = Be(t.getAttributes, void 0, r) || {},
- { tr: i } = e,
- s = n.from;
- let l = n.to;
- const a = t.type.create(o);
- if (r[1]) {
- const u = r[0].lastIndexOf(r[1]);
- let c = s + u;
- c > l ? (c = l) : (l = c + r[1].length);
- const d = r[0][r[0].length - 1];
- i.insertText(d, s + r[0].length - 1), i.replaceWith(c, l, a);
- } else
- r[0] &&
- i
- .insert(s - 1, t.type.create(o))
- .delete(i.mapping.map(s), i.mapping.map(l));
- i.scrollIntoView();
- },
- });
-}
-function ef(t) {
- return new ol({
- find: t.find,
- handler: ({ state: e, range: n, match: r }) => {
- const o = e.doc.resolve(n.from),
- i = Be(t.getAttributes, void 0, r) || {};
- if (
- !o
- .node(-1)
- .canReplaceWith(o.index(-1), o.indexAfter(-1), t.type)
- )
- return null;
- e.tr.delete(n.from, n.to).setBlockType(n.from, n.from, t.type, i);
- },
- });
-}
-function St(t) {
- return new ol({
- find: t.find,
- handler: ({ state: e, range: n, match: r }) => {
- let o = t.replace,
- i = n.from;
- const s = n.to;
- if (r[1]) {
- const l = r[0].lastIndexOf(r[1]);
- (o += r[0].slice(l + r[1].length)), (i += l);
- const a = i - s;
- a > 0 && ((o = r[0].slice(l - a, l) + o), (i = s));
- }
- e.tr.insertText(o, i, s);
- },
- });
-}
-function Hs(t) {
- return new ol({
- find: t.find,
- handler: ({ state: e, range: n, match: r, chain: o }) => {
- const i = Be(t.getAttributes, void 0, r) || {},
- s = e.tr.delete(n.from, n.to),
- a = s.doc.resolve(n.from).blockRange(),
- u = a && dh(a, t.type, i);
- if (!u) return null;
- if ((s.wrap(a, u), t.keepMarks && t.editor)) {
- const { selection: d, storedMarks: f } = e,
- { splittableMarks: p } = t.editor.extensionManager,
- m = f || (d.$to.parentOffset && d.$from.marks());
- if (m) {
- const y = m.filter((v) => p.includes(v.type.name));
- s.ensureMarks(y);
- }
- }
- if (t.keepAttributes) {
- const d =
- t.type.name === "bulletList" ||
- t.type.name === "orderedList"
- ? "listItem"
- : "taskList";
- o().updateAttributes(d, i).run();
- }
- const c = s.doc.resolve(n.from - 1).nodeBefore;
- c &&
- c.type === t.type &&
- fo(s.doc, n.from - 1) &&
- (!t.joinPredicate || t.joinPredicate(r, c)) &&
- s.join(n.from - 1);
- },
- });
-}
-class vn {
- constructor(e = {}) {
- (this.type = "mark"),
- (this.name = "mark"),
- (this.parent = null),
- (this.child = null),
- (this.config = { name: this.name, defaultOptions: {} }),
- (this.config = B(B({}, this.config), e)),
- (this.name = this.config.name),
- e.defaultOptions &&
- Object.keys(e.defaultOptions).length > 0 &&
- console.warn(
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`
- ),
- (this.options = this.config.defaultOptions),
- this.config.addOptions &&
- (this.options = Be(
- fe(this, "addOptions", { name: this.name })
- )),
- (this.storage =
- Be(
- fe(this, "addStorage", {
- name: this.name,
- options: this.options,
- })
- ) || {});
- }
- static create(e = {}) {
- return new vn(e);
- }
- configure(e = {}) {
- const n = this.extend();
- return (
- (n.options = Yu(this.options, e)),
- (n.storage = Be(
- fe(n, "addStorage", { name: n.name, options: n.options })
- )),
- n
- );
- }
- extend(e = {}) {
- const n = new vn(B(B({}, this.config), e));
- return (
- (n.parent = this),
- (this.child = n),
- (n.name = e.name ? e.name : n.parent.name),
- e.defaultOptions &&
- console.warn(
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`
- ),
- (n.options = Be(fe(n, "addOptions", { name: n.name }))),
- (n.storage = Be(
- fe(n, "addStorage", { name: n.name, options: n.options })
- )),
- n
- );
- }
- static handleExit({ editor: e, mark: n }) {
- const { tr: r } = e.state,
- o = e.state.selection.$from;
- if (o.pos === o.end()) {
- const s = o.marks();
- if (!!!s.find((u) => (u == null ? void 0 : u.type.name) === n.name))
- return !1;
- const a = s.find(
- (u) => (u == null ? void 0 : u.type.name) === n.name
- );
- return (
- a && r.removeStoredMark(a),
- r.insertText(" ", o.pos),
- e.view.dispatch(r),
- !0
- );
- }
- return !1;
- }
-}
-let Pt = class tf {
- constructor(e = {}) {
- (this.type = "node"),
- (this.name = "node"),
- (this.parent = null),
- (this.child = null),
- (this.config = { name: this.name, defaultOptions: {} }),
- (this.config = B(B({}, this.config), e)),
- (this.name = this.config.name),
- e.defaultOptions &&
- Object.keys(e.defaultOptions).length > 0 &&
- console.warn(
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`
- ),
- (this.options = this.config.defaultOptions),
- this.config.addOptions &&
- (this.options = Be(
- fe(this, "addOptions", { name: this.name })
- )),
- (this.storage =
- Be(
- fe(this, "addStorage", {
- name: this.name,
- options: this.options,
- })
- ) || {});
- }
- static create(e = {}) {
- return new tf(e);
- }
- configure(e = {}) {
- const n = this.extend();
- return (
- (n.options = Yu(this.options, e)),
- (n.storage = Be(
- fe(n, "addStorage", { name: n.name, options: n.options })
- )),
- n
- );
- }
- extend(e = {}) {
- const n = new tf(B(B({}, this.config), e));
- return (
- (n.parent = this),
- (this.child = n),
- (n.name = e.name ? e.name : n.parent.name),
- e.defaultOptions &&
- console.warn(
- `[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${n.name}".`
- ),
- (n.options = Be(fe(n, "addOptions", { name: n.name }))),
- (n.storage = Be(
- fe(n, "addStorage", { name: n.name, options: n.options })
- )),
- n
- );
- }
-};
-function so(t) {
- return new n4({
- find: t.find,
- handler: ({ state: e, range: n, match: r, pasteEvent: o }) => {
- const i = Be(t.getAttributes, void 0, r, o);
- if (i === !1 || i === null) return null;
- const { tr: s } = e,
- l = r[r.length - 1],
- a = r[0];
- let u = n.to;
- if (l) {
- const c = a.search(/\S/),
- d = n.from + a.indexOf(l),
- f = d + l.length;
- if (
- Ph(n.from, n.to, e.doc)
- .filter((m) =>
- m.mark.type.excluded.find(
- (v) => v === t.type && v !== m.mark.type
- )
- )
- .filter((m) => m.to > d).length
- )
- return null;
- f < n.to && s.delete(f, n.to),
- d > n.from && s.delete(n.from + c, d),
- (u = n.from + c + l.length),
- s.addMark(n.from + c, u, t.type.create(i || {})),
- s.removeStoredMark(t.type);
- }
- },
- });
-}
-function zA(t) {
- return t.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&");
-}
-var HA = "tippy-box",
- b2 = "tippy-content",
- FA = "tippy-backdrop",
- w2 = "tippy-arrow",
- x2 = "tippy-svg-arrow",
- wo = { passive: !0, capture: !0 },
- k2 = function () {
- return document.body;
- };
-function qc(t, e, n) {
- if (Array.isArray(t)) {
- var r = t[e];
- return r == null ? (Array.isArray(n) ? n[e] : n) : r;
- }
- return t;
-}
-function Ih(t, e) {
- var n = {}.toString.call(t);
- return n.indexOf("[object") === 0 && n.indexOf(e + "]") > -1;
-}
-function S2(t, e) {
- return typeof t == "function" ? t.apply(void 0, e) : t;
-}
-function Ag(t, e) {
- if (e === 0) return t;
- var n;
- return function (r) {
- clearTimeout(n),
- (n = setTimeout(function () {
- t(r);
- }, e));
- };
-}
-function VA(t) {
- return t.split(/\s+/).filter(Boolean);
-}
-function oi(t) {
- return [].concat(t);
-}
-function Og(t, e) {
- t.indexOf(e) === -1 && t.push(e);
-}
-function WA(t) {
- return t.filter(function (e, n) {
- return t.indexOf(e) === n;
- });
-}
-function UA(t) {
- return t.split("-")[0];
-}
-function Da(t) {
- return [].slice.call(t);
-}
-function Rg(t) {
- return Object.keys(t).reduce(function (e, n) {
- return t[n] !== void 0 && (e[n] = t[n]), e;
- }, {});
-}
-function vs() {
- return document.createElement("div");
-}
-function Xu(t) {
- return ["Element", "Fragment"].some(function (e) {
- return Ih(t, e);
- });
-}
-function KA(t) {
- return Ih(t, "NodeList");
-}
-function qA(t) {
- return Ih(t, "MouseEvent");
-}
-function JA(t) {
- return !!(t && t._tippy && t._tippy.reference === t);
-}
-function GA(t) {
- return Xu(t)
- ? [t]
- : KA(t)
- ? Da(t)
- : Array.isArray(t)
- ? t
- : Da(document.querySelectorAll(t));
-}
-function Jc(t, e) {
- t.forEach(function (n) {
- n && (n.style.transitionDuration = e + "ms");
- });
-}
-function Pg(t, e) {
- t.forEach(function (n) {
- n && n.setAttribute("data-state", e);
- });
-}
-function YA(t) {
- var e,
- n = oi(t),
- r = n[0];
- return r != null && (e = r.ownerDocument) != null && e.body
- ? r.ownerDocument
- : document;
-}
-function QA(t, e) {
- var n = e.clientX,
- r = e.clientY;
- return t.every(function (o) {
- var i = o.popperRect,
- s = o.popperState,
- l = o.props,
- a = l.interactiveBorder,
- u = UA(s.placement),
- c = s.modifiersData.offset;
- if (!c) return !0;
- var d = u === "bottom" ? c.top.y : 0,
- f = u === "top" ? c.bottom.y : 0,
- p = u === "right" ? c.left.x : 0,
- m = u === "left" ? c.right.x : 0,
- y = i.top - r + d > a,
- v = r - i.bottom - f > a,
- w = i.left - n + p > a,
- S = n - i.right - m > a;
- return y || v || w || S;
- });
-}
-function Gc(t, e, n) {
- var r = e + "EventListener";
- ["transitionend", "webkitTransitionEnd"].forEach(function (o) {
- t[r](o, n);
- });
-}
-function Ig(t, e) {
- for (var n = e; n; ) {
- var r;
- if (t.contains(n)) return !0;
- n =
- n.getRootNode == null || (r = n.getRootNode()) == null
- ? void 0
- : r.host;
- }
- return !1;
-}
-var Qn = { isTouch: !1 },
- Ng = 0;
-function XA() {
- Qn.isTouch ||
- ((Qn.isTouch = !0),
- window.performance && document.addEventListener("mousemove", _2));
-}
-function _2() {
- var t = performance.now();
- t - Ng < 20 &&
- ((Qn.isTouch = !1), document.removeEventListener("mousemove", _2)),
- (Ng = t);
-}
-function ZA() {
- var t = document.activeElement;
- if (JA(t)) {
- var e = t._tippy;
- t.blur && !e.state.isVisible && t.blur();
- }
-}
-function eO() {
- document.addEventListener("touchstart", XA, wo),
- window.addEventListener("blur", ZA);
-}
-var tO = typeof window != "undefined" && typeof document != "undefined",
- nO = tO ? !!window.msCrypto : !1,
- rO = {
- animateFill: !1,
- followCursor: !1,
- inlinePositioning: !1,
- sticky: !1,
- },
- oO = {
- allowHTML: !1,
- animation: "fade",
- arrow: !0,
- content: "",
- inertia: !1,
- maxWidth: 350,
- role: "tooltip",
- theme: "",
- zIndex: 9999,
- },
- $n = Object.assign(
- {
- appendTo: k2,
- aria: { content: "auto", expanded: "auto" },
- delay: 0,
- duration: [300, 250],
- getReferenceClientRect: null,
- hideOnClick: !0,
- ignoreAttributes: !1,
- interactive: !1,
- interactiveBorder: 2,
- interactiveDebounce: 0,
- moveTransition: "",
- offset: [0, 10],
- onAfterUpdate: function () {},
- onBeforeUpdate: function () {},
- onCreate: function () {},
- onDestroy: function () {},
- onHidden: function () {},
- onHide: function () {},
- onMount: function () {},
- onShow: function () {},
- onShown: function () {},
- onTrigger: function () {},
- onUntrigger: function () {},
- onClickOutside: function () {},
- placement: "top",
- plugins: [],
- popperOptions: {},
- render: null,
- showOnCreate: !1,
- touch: !0,
- trigger: "mouseenter focus",
- triggerTarget: null,
- },
- rO,
- oO
- ),
- iO = Object.keys($n),
- sO = function (e) {
- var n = Object.keys(e);
- n.forEach(function (r) {
- $n[r] = e[r];
- });
- };
-function C2(t) {
- var e = t.plugins || [],
- n = e.reduce(function (r, o) {
- var i = o.name,
- s = o.defaultValue;
- if (i) {
- var l;
- r[i] = t[i] !== void 0 ? t[i] : (l = $n[i]) != null ? l : s;
- }
- return r;
- }, {});
- return Object.assign({}, t, n);
-}
-function lO(t, e) {
- var n = e ? Object.keys(C2(Object.assign({}, $n, { plugins: e }))) : iO,
- r = n.reduce(function (o, i) {
- var s = (t.getAttribute("data-tippy-" + i) || "").trim();
- if (!s) return o;
- if (i === "content") o[i] = s;
- else
- try {
- o[i] = JSON.parse(s);
- } catch (l) {
- o[i] = s;
- }
- return o;
- }, {});
- return r;
-}
-function Dg(t, e) {
- var n = Object.assign(
- {},
- e,
- { content: S2(e.content, [t]) },
- e.ignoreAttributes ? {} : lO(t, e.plugins)
- );
- return (
- (n.aria = Object.assign({}, $n.aria, n.aria)),
- (n.aria = {
- expanded:
- n.aria.expanded === "auto" ? e.interactive : n.aria.expanded,
- content:
- n.aria.content === "auto"
- ? e.interactive
- ? null
- : "describedby"
- : n.aria.content,
- }),
- n
- );
-}
-var aO = function () {
- return "innerHTML";
-};
-function nf(t, e) {
- t[aO()] = e;
-}
-function jg(t) {
- var e = vs();
- return (
- t === !0
- ? (e.className = w2)
- : ((e.className = x2), Xu(t) ? e.appendChild(t) : nf(e, t)),
- e
- );
-}
-function Lg(t, e) {
- Xu(e.content)
- ? (nf(t, ""), t.appendChild(e.content))
- : typeof e.content != "function" &&
- (e.allowHTML ? nf(t, e.content) : (t.textContent = e.content));
-}
-function rf(t) {
- var e = t.firstElementChild,
- n = Da(e.children);
- return {
- box: e,
- content: n.find(function (r) {
- return r.classList.contains(b2);
- }),
- arrow: n.find(function (r) {
- return r.classList.contains(w2) || r.classList.contains(x2);
- }),
- backdrop: n.find(function (r) {
- return r.classList.contains(FA);
- }),
- };
-}
-function M2(t) {
- var e = vs(),
- n = vs();
- (n.className = HA),
- n.setAttribute("data-state", "hidden"),
- n.setAttribute("tabindex", "-1");
- var r = vs();
- (r.className = b2),
- r.setAttribute("data-state", "hidden"),
- Lg(r, t.props),
- e.appendChild(n),
- n.appendChild(r),
- o(t.props, t.props);
- function o(i, s) {
- var l = rf(e),
- a = l.box,
- u = l.content,
- c = l.arrow;
- s.theme
- ? a.setAttribute("data-theme", s.theme)
- : a.removeAttribute("data-theme"),
- typeof s.animation == "string"
- ? a.setAttribute("data-animation", s.animation)
- : a.removeAttribute("data-animation"),
- s.inertia
- ? a.setAttribute("data-inertia", "")
- : a.removeAttribute("data-inertia"),
- (a.style.maxWidth =
- typeof s.maxWidth == "number" ? s.maxWidth + "px" : s.maxWidth),
- s.role ? a.setAttribute("role", s.role) : a.removeAttribute("role"),
- (i.content !== s.content || i.allowHTML !== s.allowHTML) &&
- Lg(u, t.props),
- s.arrow
- ? c
- ? i.arrow !== s.arrow &&
- (a.removeChild(c), a.appendChild(jg(s.arrow)))
- : a.appendChild(jg(s.arrow))
- : c && a.removeChild(c);
- }
- return { popper: e, onUpdate: o };
-}
-M2.$$tippy = !0;
-var uO = 1,
- Al = [],
- Yc = [];
-function cO(t, e) {
- var n = Dg(t, Object.assign({}, $n, C2(Rg(e)))),
- r,
- o,
- i,
- s = !1,
- l = !1,
- a = !1,
- u = !1,
- c,
- d,
- f,
- p = [],
- m = Ag(O, n.interactiveDebounce),
- y,
- v = uO++,
- w = null,
- S = WA(n.plugins),
- E = {
- isEnabled: !0,
- isVisible: !1,
- isDestroyed: !1,
- isMounted: !1,
- isShown: !1,
- },
- h = {
- id: v,
- reference: t,
- popper: vs(),
- popperInstance: w,
- props: n,
- state: E,
- plugins: S,
- clearDelayTimeouts: _e,
- setProps: $e,
- setContent: Qe,
- show: st,
- hide: Ct,
- hideWithInteractivity: hn,
- enable: ye,
- disable: me,
- unmount: Ar,
- destroy: sl,
- };
- if (!n.render) return h;
- var b = n.render(h),
- g = b.popper,
- x = b.onUpdate;
- g.setAttribute("data-tippy-root", ""),
- (g.id = "tippy-" + h.id),
- (h.popper = g),
- (t._tippy = h),
- (g._tippy = h);
- var k = S.map(function (F) {
- return F.fn(h);
- }),
- C = t.hasAttribute("aria-expanded");
- return (
- He(),
- ie(),
- I(),
- $("onCreate", [h]),
- n.showOnCreate && G(),
- g.addEventListener("mouseenter", function () {
- h.props.interactive && h.state.isVisible && h.clearDelayTimeouts();
- }),
- g.addEventListener("mouseleave", function () {
- h.props.interactive &&
- h.props.trigger.indexOf("mouseenter") >= 0 &&
- D().addEventListener("mousemove", m);
- }),
- h
- );
- function _() {
- var F = h.props.touch;
- return Array.isArray(F) ? F : [F, 0];
- }
- function T() {
- return _()[0] === "hold";
- }
- function R() {
- var F;
- return !!((F = h.props.render) != null && F.$$tippy);
- }
- function P() {
- return y || t;
- }
- function D() {
- var F = P().parentNode;
- return F ? YA(F) : document;
- }
- function j() {
- return rf(g);
- }
- function M(F) {
- return (h.state.isMounted && !h.state.isVisible) ||
- Qn.isTouch ||
- (c && c.type === "focus")
- ? 0
- : qc(h.props.delay, F ? 0 : 1, $n.delay);
- }
- function I(F) {
- F === void 0 && (F = !1),
- (g.style.pointerEvents = h.props.interactive && !F ? "" : "none"),
- (g.style.zIndex = "" + h.props.zIndex);
- }
- function $(F, he, pe) {
- if (
- (pe === void 0 && (pe = !0),
- k.forEach(function (Ue) {
- Ue[F] && Ue[F].apply(Ue, he);
- }),
- pe)
- ) {
- var Fe;
- (Fe = h.props)[F].apply(Fe, he);
- }
- }
- function K() {
- var F = h.props.aria;
- if (F.content) {
- var he = "aria-" + F.content,
- pe = g.id,
- Fe = oi(h.props.triggerTarget || t);
- Fe.forEach(function (Ue) {
- var Xt = Ue.getAttribute(he);
- if (h.state.isVisible)
- Ue.setAttribute(he, Xt ? Xt + " " + pe : pe);
- else {
- var bn = Xt && Xt.replace(pe, "").trim();
- bn ? Ue.setAttribute(he, bn) : Ue.removeAttribute(he);
- }
- });
- }
- }
- function ie() {
- if (!(C || !h.props.aria.expanded)) {
- var F = oi(h.props.triggerTarget || t);
- F.forEach(function (he) {
- h.props.interactive
- ? he.setAttribute(
- "aria-expanded",
- h.state.isVisible && he === P() ? "true" : "false"
- )
- : he.removeAttribute("aria-expanded");
- });
- }
- }
- function X() {
- D().removeEventListener("mousemove", m),
- (Al = Al.filter(function (F) {
- return F !== m;
- }));
- }
- function de(F) {
- if (!(Qn.isTouch && (a || F.type === "mousedown"))) {
- var he = (F.composedPath && F.composedPath()[0]) || F.target;
- if (!(h.props.interactive && Ig(g, he))) {
- if (
- oi(h.props.triggerTarget || t).some(function (pe) {
- return Ig(pe, he);
- })
- ) {
- if (
- Qn.isTouch ||
- (h.state.isVisible &&
- h.props.trigger.indexOf("click") >= 0)
- )
- return;
- } else $("onClickOutside", [h, F]);
- h.props.hideOnClick === !0 &&
- (h.clearDelayTimeouts(),
- h.hide(),
- (l = !0),
- setTimeout(function () {
- l = !1;
- }),
- h.state.isMounted || De());
- }
- }
- }
- function ze() {
- a = !0;
- }
- function Ee() {
- a = !1;
- }
- function Pe() {
- var F = D();
- F.addEventListener("mousedown", de, !0),
- F.addEventListener("touchend", de, wo),
- F.addEventListener("touchstart", Ee, wo),
- F.addEventListener("touchmove", ze, wo);
- }
- function De() {
- var F = D();
- F.removeEventListener("mousedown", de, !0),
- F.removeEventListener("touchend", de, wo),
- F.removeEventListener("touchstart", Ee, wo),
- F.removeEventListener("touchmove", ze, wo);
- }
- function H(F, he) {
- oe(F, function () {
- !h.state.isVisible &&
- g.parentNode &&
- g.parentNode.contains(g) &&
- he();
- });
- }
- function Z(F, he) {
- oe(F, he);
- }
- function oe(F, he) {
- var pe = j().box;
- function Fe(Ue) {
- Ue.target === pe && (Gc(pe, "remove", Fe), he());
- }
- if (F === 0) return he();
- Gc(pe, "remove", d), Gc(pe, "add", Fe), (d = Fe);
- }
- function ce(F, he, pe) {
- pe === void 0 && (pe = !1);
- var Fe = oi(h.props.triggerTarget || t);
- Fe.forEach(function (Ue) {
- Ue.addEventListener(F, he, pe),
- p.push({ node: Ue, eventType: F, handler: he, options: pe });
- });
- }
- function He() {
- T() &&
- (ce("touchstart", A, { passive: !0 }),
- ce("touchend", L, { passive: !0 })),
- VA(h.props.trigger).forEach(function (F) {
- if (F !== "manual")
- switch ((ce(F, A), F)) {
- case "mouseenter":
- ce("mouseleave", L);
- break;
- case "focus":
- ce(nO ? "focusout" : "blur", q);
- break;
- case "focusin":
- ce("focusout", q);
- break;
- }
- });
- }
- function Ye() {
- p.forEach(function (F) {
- var he = F.node,
- pe = F.eventType,
- Fe = F.handler,
- Ue = F.options;
- he.removeEventListener(pe, Fe, Ue);
- }),
- (p = []);
- }
- function A(F) {
- var he,
- pe = !1;
- if (!(!h.state.isEnabled || U(F) || l)) {
- var Fe = ((he = c) == null ? void 0 : he.type) === "focus";
- (c = F),
- (y = F.currentTarget),
- ie(),
- !h.state.isVisible &&
- qA(F) &&
- Al.forEach(function (Ue) {
- return Ue(F);
- }),
- F.type === "click" &&
- (h.props.trigger.indexOf("mouseenter") < 0 || s) &&
- h.props.hideOnClick !== !1 &&
- h.state.isVisible
- ? (pe = !0)
- : G(F),
- F.type === "click" && (s = !pe),
- pe && !Fe && ue(F);
- }
- }
- function O(F) {
- var he = F.target,
- pe = P().contains(he) || g.contains(he);
- if (!(F.type === "mousemove" && pe)) {
- var Fe = te()
- .concat(g)
- .map(function (Ue) {
- var Xt,
- bn = Ue._tippy,
- Jo =
- (Xt = bn.popperInstance) == null
- ? void 0
- : Xt.state;
- return Jo
- ? {
- popperRect: Ue.getBoundingClientRect(),
- popperState: Jo,
- props: n,
- }
- : null;
- })
- .filter(Boolean);
- QA(Fe, F) && (X(), ue(F));
- }
- }
- function L(F) {
- var he = U(F) || (h.props.trigger.indexOf("click") >= 0 && s);
- if (!he) {
- if (h.props.interactive) {
- h.hideWithInteractivity(F);
- return;
- }
- ue(F);
- }
- }
- function q(F) {
- (h.props.trigger.indexOf("focusin") < 0 && F.target !== P()) ||
- (h.props.interactive &&
- F.relatedTarget &&
- g.contains(F.relatedTarget)) ||
- ue(F);
- }
- function U(F) {
- return Qn.isTouch ? T() !== F.type.indexOf("touch") >= 0 : !1;
- }
- function ee() {
- ae();
- var F = h.props,
- he = F.popperOptions,
- pe = F.placement,
- Fe = F.offset,
- Ue = F.getReferenceClientRect,
- Xt = F.moveTransition,
- bn = R() ? rf(g).arrow : null,
- Jo = Ue
- ? {
- getBoundingClientRect: Ue,
- contextElement: Ue.contextElement || P(),
- }
- : t,
- ep = {
- name: "$$tippy",
- enabled: !0,
- phase: "beforeWrite",
- requires: ["computeStyles"],
- fn: function (ll) {
- var Go = ll.state;
- if (R()) {
- var pb = j(),
- oc = pb.box;
- ["placement", "reference-hidden", "escaped"].forEach(
- function (al) {
- al === "placement"
- ? oc.setAttribute(
- "data-placement",
- Go.placement
- )
- : Go.attributes.popper["data-popper-" + al]
- ? oc.setAttribute("data-" + al, "")
- : oc.removeAttribute("data-" + al);
- }
- ),
- (Go.attributes.popper = {});
- }
- },
- },
- mo = [
- { name: "offset", options: { offset: Fe } },
- {
- name: "preventOverflow",
- options: {
- padding: { top: 2, bottom: 2, left: 5, right: 5 },
- },
- },
- { name: "flip", options: { padding: 5 } },
- { name: "computeStyles", options: { adaptive: !Xt } },
- ep,
- ];
- R() &&
- bn &&
- mo.push({ name: "arrow", options: { element: bn, padding: 3 } }),
- mo.push.apply(mo, (he == null ? void 0 : he.modifiers) || []),
- (h.popperInstance = Ly(
- Jo,
- g,
- Object.assign({}, he, {
- placement: pe,
- onFirstUpdate: f,
- modifiers: mo,
- })
- ));
- }
- function ae() {
- h.popperInstance &&
- (h.popperInstance.destroy(), (h.popperInstance = null));
- }
- function Y() {
- var F = h.props.appendTo,
- he,
- pe = P();
- (h.props.interactive && F === k2) || F === "parent"
- ? (he = pe.parentNode)
- : (he = S2(F, [pe])),
- he.contains(g) || he.appendChild(g),
- (h.state.isMounted = !0),
- ee();
- }
- function te() {
- return Da(g.querySelectorAll("[data-tippy-root]"));
- }
- function G(F) {
- h.clearDelayTimeouts(), F && $("onTrigger", [h, F]), Pe();
- var he = M(!0),
- pe = _(),
- Fe = pe[0],
- Ue = pe[1];
- Qn.isTouch && Fe === "hold" && Ue && (he = Ue),
- he
- ? (r = setTimeout(function () {
- h.show();
- }, he))
- : h.show();
- }
- function ue(F) {
- if (
- (h.clearDelayTimeouts(),
- $("onUntrigger", [h, F]),
- !h.state.isVisible)
- ) {
- De();
- return;
- }
- if (
- !(
- h.props.trigger.indexOf("mouseenter") >= 0 &&
- h.props.trigger.indexOf("click") >= 0 &&
- ["mouseleave", "mousemove"].indexOf(F.type) >= 0 &&
- s
- )
- ) {
- var he = M(!1);
- he
- ? (o = setTimeout(function () {
- h.state.isVisible && h.hide();
- }, he))
- : (i = requestAnimationFrame(function () {
- h.hide();
- }));
- }
- }
- function ye() {
- h.state.isEnabled = !0;
- }
- function me() {
- h.hide(), (h.state.isEnabled = !1);
- }
- function _e() {
- clearTimeout(r), clearTimeout(o), cancelAnimationFrame(i);
- }
- function $e(F) {
- if (!h.state.isDestroyed) {
- $("onBeforeUpdate", [h, F]), Ye();
- var he = h.props,
- pe = Dg(
- t,
- Object.assign({}, he, Rg(F), { ignoreAttributes: !0 })
- );
- (h.props = pe),
- He(),
- he.interactiveDebounce !== pe.interactiveDebounce &&
- (X(), (m = Ag(O, pe.interactiveDebounce))),
- he.triggerTarget && !pe.triggerTarget
- ? oi(he.triggerTarget).forEach(function (Fe) {
- Fe.removeAttribute("aria-expanded");
- })
- : pe.triggerTarget && t.removeAttribute("aria-expanded"),
- ie(),
- I(),
- x && x(he, pe),
- h.popperInstance &&
- (ee(),
- te().forEach(function (Fe) {
- requestAnimationFrame(
- Fe._tippy.popperInstance.forceUpdate
- );
- })),
- $("onAfterUpdate", [h, F]);
- }
- }
- function Qe(F) {
- h.setProps({ content: F });
- }
- function st() {
- var F = h.state.isVisible,
- he = h.state.isDestroyed,
- pe = !h.state.isEnabled,
- Fe = Qn.isTouch && !h.props.touch,
- Ue = qc(h.props.duration, 0, $n.duration);
- if (
- !(F || he || pe || Fe) &&
- !P().hasAttribute("disabled") &&
- ($("onShow", [h], !1), h.props.onShow(h) !== !1)
- ) {
- if (
- ((h.state.isVisible = !0),
- R() && (g.style.visibility = "visible"),
- I(),
- Pe(),
- h.state.isMounted || (g.style.transition = "none"),
- R())
- ) {
- var Xt = j(),
- bn = Xt.box,
- Jo = Xt.content;
- Jc([bn, Jo], 0);
- }
- (f = function () {
- var mo;
- if (!(!h.state.isVisible || u)) {
- if (
- ((u = !0),
- g.offsetHeight,
- (g.style.transition = h.props.moveTransition),
- R() && h.props.animation)
- ) {
- var rc = j(),
- ll = rc.box,
- Go = rc.content;
- Jc([ll, Go], Ue), Pg([ll, Go], "visible");
- }
- K(),
- ie(),
- Og(Yc, h),
- (mo = h.popperInstance) == null || mo.forceUpdate(),
- $("onMount", [h]),
- h.props.animation &&
- R() &&
- Z(Ue, function () {
- (h.state.isShown = !0), $("onShown", [h]);
- });
- }
- }),
- Y();
- }
- }
- function Ct() {
- var F = !h.state.isVisible,
- he = h.state.isDestroyed,
- pe = !h.state.isEnabled,
- Fe = qc(h.props.duration, 1, $n.duration);
- if (
- !(F || he || pe) &&
- ($("onHide", [h], !1), h.props.onHide(h) !== !1)
- ) {
- if (
- ((h.state.isVisible = !1),
- (h.state.isShown = !1),
- (u = !1),
- (s = !1),
- R() && (g.style.visibility = "hidden"),
- X(),
- De(),
- I(!0),
- R())
- ) {
- var Ue = j(),
- Xt = Ue.box,
- bn = Ue.content;
- h.props.animation && (Jc([Xt, bn], Fe), Pg([Xt, bn], "hidden"));
- }
- K(),
- ie(),
- h.props.animation ? R() && H(Fe, h.unmount) : h.unmount();
- }
- }
- function hn(F) {
- D().addEventListener("mousemove", m), Og(Al, m), m(F);
- }
- function Ar() {
- h.state.isVisible && h.hide(),
- h.state.isMounted &&
- (ae(),
- te().forEach(function (F) {
- F._tippy.unmount();
- }),
- g.parentNode && g.parentNode.removeChild(g),
- (Yc = Yc.filter(function (F) {
- return F !== h;
- })),
- (h.state.isMounted = !1),
- $("onHidden", [h]));
- }
- function sl() {
- h.state.isDestroyed ||
- (h.clearDelayTimeouts(),
- h.unmount(),
- Ye(),
- delete t._tippy,
- (h.state.isDestroyed = !0),
- $("onDestroy", [h]));
- }
-}
-function qo(t, e) {
- e === void 0 && (e = {});
- var n = $n.plugins.concat(e.plugins || []);
- eO();
- var r = Object.assign({}, e, { plugins: n }),
- o = GA(t),
- i = o.reduce(function (s, l) {
- var a = l && cO(l, r);
- return a && s.push(a), s;
- }, []);
- return Xu(t) ? i[0] : i;
-}
-qo.defaultProps = $n;
-qo.setDefaultProps = sO;
-qo.currentInput = Qn;
-Object.assign({}, Ay, {
- effect: function (e) {
- var n = e.state,
- r = {
- popper: {
- position: n.options.strategy,
- left: "0",
- top: "0",
- margin: "0",
- },
- arrow: { position: "absolute" },
- reference: {},
- };
- Object.assign(n.elements.popper.style, r.popper),
- (n.styles = r),
- n.elements.arrow && Object.assign(n.elements.arrow.style, r.arrow);
- },
-});
-qo.setDefaultProps({ render: M2 });
-class dO {
- constructor({
- editor: e,
- element: n,
- view: r,
- tippyOptions: o = {},
- updateDelay: i = 250,
- shouldShow: s,
- }) {
- (this.preventHide = !1),
- (this.shouldShow = ({ view: l, state: a, from: u, to: c }) => {
- const { doc: d, selection: f } = a,
- { empty: p } = f,
- m = !d.textBetween(u, c).length && Th(a.selection),
- y = this.element.contains(document.activeElement);
- return !(
- !(l.hasFocus() || y) ||
- p ||
- m ||
- !this.editor.isEditable
- );
- }),
- (this.mousedownHandler = () => {
- this.preventHide = !0;
- }),
- (this.dragstartHandler = () => {
- this.hide();
- }),
- (this.focusHandler = () => {
- setTimeout(() => this.update(this.editor.view));
- }),
- (this.blurHandler = ({ event: l }) => {
- var a;
- if (this.preventHide) {
- this.preventHide = !1;
- return;
- }
- (l != null &&
- l.relatedTarget &&
- !((a = this.element.parentNode) === null || a === void 0) &&
- a.contains(l.relatedTarget)) ||
- this.hide();
- }),
- (this.tippyBlurHandler = (l) => {
- this.blurHandler({ event: l });
- }),
- (this.handleDebouncedUpdate = (l, a) => {
- const u = !(a != null && a.selection.eq(l.state.selection)),
- c = !(a != null && a.doc.eq(l.state.doc));
- (!u && !c) ||
- (this.updateDebounceTimer &&
- clearTimeout(this.updateDebounceTimer),
- (this.updateDebounceTimer = window.setTimeout(() => {
- this.updateHandler(l, u, c, a);
- }, this.updateDelay)));
- }),
- (this.updateHandler = (l, a, u, c) => {
- var d, f, p;
- const { state: m, composing: y } = l,
- { selection: v } = m;
- if (y || (!a && !u)) return;
- this.createTooltip();
- const { ranges: S } = v,
- E = Math.min(...S.map((g) => g.$from.pos)),
- h = Math.max(...S.map((g) => g.$to.pos));
- if (
- !((d = this.shouldShow) === null || d === void 0
- ? void 0
- : d.call(this, {
- editor: this.editor,
- view: l,
- state: m,
- oldState: c,
- from: E,
- to: h,
- }))
- ) {
- this.hide();
- return;
- }
- (f = this.tippy) === null ||
- f === void 0 ||
- f.setProps({
- getReferenceClientRect:
- ((p = this.tippyOptions) === null || p === void 0
- ? void 0
- : p.getReferenceClientRect) ||
- (() => {
- if (cA(m.selection)) {
- let g = l.nodeDOM(E);
- const x = g.dataset.nodeViewWrapper
- ? g
- : g.querySelector(
- "[data-node-view-wrapper]"
- );
- if ((x && (g = x.firstChild), g))
- return g.getBoundingClientRect();
- }
- return y2(l, E, h);
- }),
- }),
- this.show();
- }),
- (this.editor = e),
- (this.element = n),
- (this.view = r),
- (this.updateDelay = i),
- s && (this.shouldShow = s),
- this.element.addEventListener("mousedown", this.mousedownHandler, {
- capture: !0,
- }),
- this.view.dom.addEventListener("dragstart", this.dragstartHandler),
- this.editor.on("focus", this.focusHandler),
- this.editor.on("blur", this.blurHandler),
- (this.tippyOptions = o),
- this.element.remove(),
- (this.element.style.visibility = "visible");
- }
- createTooltip() {
- const { element: e } = this.editor.options,
- n = !!e.parentElement;
- this.tippy ||
- !n ||
- ((this.tippy = qo(
- e,
- B(
- {
- duration: 0,
- getReferenceClientRect: null,
- content: this.element,
- interactive: !0,
- trigger: "manual",
- placement: "top",
- hideOnClick: "toggle",
- },
- this.tippyOptions
- )
- )),
- this.tippy.popper.firstChild &&
- this.tippy.popper.firstChild.addEventListener(
- "blur",
- this.tippyBlurHandler
- ));
- }
- update(e, n) {
- const { state: r } = e,
- o = r.selection.$from.pos !== r.selection.$to.pos;
- if (this.updateDelay > 0 && o) {
- this.handleDebouncedUpdate(e, n);
- return;
- }
- const i = !(n != null && n.selection.eq(e.state.selection)),
- s = !(n != null && n.doc.eq(e.state.doc));
- this.updateHandler(e, i, s, n);
- }
- show() {
- var e;
- (e = this.tippy) === null || e === void 0 || e.show();
- }
- hide() {
- var e;
- (e = this.tippy) === null || e === void 0 || e.hide();
- }
- destroy() {
- var e, n;
- !((e = this.tippy) === null || e === void 0) &&
- e.popper.firstChild &&
- this.tippy.popper.firstChild.removeEventListener(
- "blur",
- this.tippyBlurHandler
- ),
- (n = this.tippy) === null || n === void 0 || n.destroy(),
- this.element.removeEventListener(
- "mousedown",
- this.mousedownHandler,
- { capture: !0 }
- ),
- this.view.dom.removeEventListener(
- "dragstart",
- this.dragstartHandler
- ),
- this.editor.off("focus", this.focusHandler),
- this.editor.off("blur", this.blurHandler);
- }
-}
-const E2 = (t) =>
- new kt({
- key: typeof t.pluginKey == "string" ? new Dt(t.pluginKey) : t.pluginKey,
- view: (e) => new dO(B({ view: e }, t)),
- });
-Nt.create({
- name: "bubbleMenu",
- addOptions() {
- return {
- element: null,
- tippyOptions: {},
- pluginKey: "bubbleMenu",
- updateDelay: void 0,
- shouldShow: null,
- };
- },
- addProseMirrorPlugins() {
- return this.options.element
- ? [
- E2({
- pluginKey: this.options.pluginKey,
- editor: this.editor,
- element: this.options.element,
- tippyOptions: this.options.tippyOptions,
- updateDelay: this.options.updateDelay,
- shouldShow: this.options.shouldShow,
- }),
- ]
- : [];
- },
-});
-class fO {
- constructor({
- editor: e,
- element: n,
- view: r,
- tippyOptions: o = {},
- shouldShow: i,
- }) {
- (this.preventHide = !1),
- (this.shouldShow = ({ view: s, state: l }) => {
- const { selection: a } = l,
- { $anchor: u, empty: c } = a,
- d = u.depth === 1,
- f =
- u.parent.isTextblock &&
- !u.parent.type.spec.code &&
- !u.parent.textContent;
- return !(
- !s.hasFocus() ||
- !c ||
- !d ||
- !f ||
- !this.editor.isEditable
- );
- }),
- (this.mousedownHandler = () => {
- this.preventHide = !0;
- }),
- (this.focusHandler = () => {
- setTimeout(() => this.update(this.editor.view));
- }),
- (this.blurHandler = ({ event: s }) => {
- var l;
- if (this.preventHide) {
- this.preventHide = !1;
- return;
- }
- (s != null &&
- s.relatedTarget &&
- !((l = this.element.parentNode) === null || l === void 0) &&
- l.contains(s.relatedTarget)) ||
- this.hide();
- }),
- (this.tippyBlurHandler = (s) => {
- this.blurHandler({ event: s });
- }),
- (this.editor = e),
- (this.element = n),
- (this.view = r),
- i && (this.shouldShow = i),
- this.element.addEventListener("mousedown", this.mousedownHandler, {
- capture: !0,
- }),
- this.editor.on("focus", this.focusHandler),
- this.editor.on("blur", this.blurHandler),
- (this.tippyOptions = o),
- this.element.remove(),
- (this.element.style.visibility = "visible");
- }
- createTooltip() {
- const { element: e } = this.editor.options,
- n = !!e.parentElement;
- this.tippy ||
- !n ||
- ((this.tippy = qo(
- e,
- B(
- {
- duration: 0,
- getReferenceClientRect: null,
- content: this.element,
- interactive: !0,
- trigger: "manual",
- placement: "right",
- hideOnClick: "toggle",
- },
- this.tippyOptions
- )
- )),
- this.tippy.popper.firstChild &&
- this.tippy.popper.firstChild.addEventListener(
- "blur",
- this.tippyBlurHandler
- ));
- }
- update(e, n) {
- var r, o, i;
- const { state: s } = e,
- { doc: l, selection: a } = s,
- { from: u, to: c } = a;
- if (n && n.doc.eq(l) && n.selection.eq(a)) return;
- if (
- (this.createTooltip(),
- !((r = this.shouldShow) === null || r === void 0
- ? void 0
- : r.call(this, {
- editor: this.editor,
- view: e,
- state: s,
- oldState: n,
- })))
- ) {
- this.hide();
- return;
- }
- (o = this.tippy) === null ||
- o === void 0 ||
- o.setProps({
- getReferenceClientRect:
- ((i = this.tippyOptions) === null || i === void 0
- ? void 0
- : i.getReferenceClientRect) || (() => y2(e, u, c)),
- }),
- this.show();
- }
- show() {
- var e;
- (e = this.tippy) === null || e === void 0 || e.show();
- }
- hide() {
- var e;
- (e = this.tippy) === null || e === void 0 || e.hide();
- }
- destroy() {
- var e, n;
- !((e = this.tippy) === null || e === void 0) &&
- e.popper.firstChild &&
- this.tippy.popper.firstChild.removeEventListener(
- "blur",
- this.tippyBlurHandler
- ),
- (n = this.tippy) === null || n === void 0 || n.destroy(),
- this.element.removeEventListener(
- "mousedown",
- this.mousedownHandler,
- { capture: !0 }
- ),
- this.editor.off("focus", this.focusHandler),
- this.editor.off("blur", this.blurHandler);
- }
-}
-const T2 = (t) =>
- new kt({
- key: typeof t.pluginKey == "string" ? new Dt(t.pluginKey) : t.pluginKey,
- view: (e) => new fO(B({ view: e }, t)),
- });
-Nt.create({
- name: "floatingMenu",
- addOptions() {
- return {
- element: null,
- tippyOptions: {},
- pluginKey: "floatingMenu",
- shouldShow: null,
- };
- },
- addProseMirrorPlugins() {
- return this.options.element
- ? [
- T2({
- pluginKey: this.options.pluginKey,
- editor: this.editor,
- element: this.options.element,
- tippyOptions: this.options.tippyOptions,
- shouldShow: this.options.shouldShow,
- }),
- ]
- : [];
- },
-});
-const hO = Oe({
- name: "BubbleMenu",
- props: {
- pluginKey: { type: [String, Object], default: "bubbleMenu" },
- editor: { type: Object, required: !0 },
- updateDelay: { type: Number, default: void 0 },
- tippyOptions: { type: Object, default: () => ({}) },
- shouldShow: { type: Function, default: null },
- },
- setup(t, { slots: e }) {
- const n = Q(null);
- return (
- Ze(() => {
- const {
- updateDelay: r,
- editor: o,
- pluginKey: i,
- shouldShow: s,
- tippyOptions: l,
- } = t;
- o.registerPlugin(
- E2({
- updateDelay: r,
- editor: o,
- element: n.value,
- pluginKey: i,
- shouldShow: s,
- tippyOptions: l,
- })
- );
- }),
- qs(() => {
- const { pluginKey: r, editor: o } = t;
- o.unregisterPlugin(r);
- }),
- () => {
- var r;
- return Ke(
- "div",
- { ref: n },
- (r = e.default) === null || r === void 0
- ? void 0
- : r.call(e)
- );
- }
- );
- },
-});
-function $g(t) {
- return e0((e, n) => ({
- get() {
- return e(), t;
- },
- set(r) {
- (t = r),
- requestAnimationFrame(() => {
- requestAnimationFrame(() => {
- n();
- });
- });
- },
- }));
-}
-class pO extends BA {
- constructor(e = {}) {
- return (
- super(e),
- (this.vueRenderers = Yt(new Map())),
- (this.contentComponent = null),
- (this.reactiveState = $g(this.view.state)),
- (this.reactiveExtensionStorage = $g(this.extensionStorage)),
- this.on("transaction", () => {
- (this.reactiveState.value = this.view.state),
- (this.reactiveExtensionStorage.value =
- this.extensionStorage);
- }),
- vu(this)
- );
- }
- get state() {
- return this.reactiveState ? this.reactiveState.value : this.view.state;
- }
- get storage() {
- return this.reactiveExtensionStorage
- ? this.reactiveExtensionStorage.value
- : super.storage;
- }
- registerPlugin(e, n) {
- super.registerPlugin(e, n),
- (this.reactiveState.value = this.view.state);
- }
- unregisterPlugin(e) {
- super.unregisterPlugin(e), (this.reactiveState.value = this.view.state);
- }
-}
-const mO = Oe({
- name: "EditorContent",
- props: { editor: { default: null, type: Object } },
- setup(t) {
- const e = Q(),
- n = uo();
- return (
- xt(() => {
- const r = t.editor;
- r &&
- r.options.element &&
- e.value &&
- bt(() => {
- if (!e.value || !r.options.element.firstChild)
- return;
- const o = ne(e.value);
- e.value.append(...r.options.element.childNodes),
- (r.contentComponent = n.ctx._),
- r.setOptions({ element: o }),
- r.createNodeViews();
- });
- }),
- qs(() => {
- const r = t.editor;
- if (
- !r ||
- (r.isDestroyed || r.view.setProps({ nodeViews: {} }),
- (r.contentComponent = null),
- !r.options.element.firstChild)
- )
- return;
- const o = document.createElement("div");
- o.append(...r.options.element.childNodes),
- r.setOptions({ element: o });
- }),
- { rootEl: e }
- );
- },
- render() {
- const t = [];
- return (
- this.editor &&
- this.editor.vueRenderers.forEach((e) => {
- const n = Ke(
- _u,
- { to: e.teleportElement, key: e.id },
- Ke(e.component, B({ ref: e.id }, e.props))
- );
- t.push(n);
- }),
- Ke(
- "div",
- {
- ref: (e) => {
- this.rootEl = e;
- },
- },
- ...t
- )
- );
- },
- }),
- gO = Oe({
- name: "FloatingMenu",
- props: {
- pluginKey: { type: null, default: "floatingMenu" },
- editor: { type: Object, required: !0 },
- tippyOptions: { type: Object, default: () => ({}) },
- shouldShow: { type: Function, default: null },
- },
- setup(t, { slots: e }) {
- const n = Q(null);
- return (
- Ze(() => {
- const {
- pluginKey: r,
- editor: o,
- tippyOptions: i,
- shouldShow: s,
- } = t;
- o.registerPlugin(
- T2({
- pluginKey: r,
- editor: o,
- element: n.value,
- tippyOptions: i,
- shouldShow: s,
- })
- );
- }),
- qs(() => {
- const { pluginKey: r, editor: o } = t;
- o.unregisterPlugin(r);
- }),
- () => {
- var r;
- return Ke(
- "div",
- { ref: n },
- (r = e.default) === null || r === void 0
- ? void 0
- : r.call(e)
- );
- }
- );
- },
- });
-class yO {
- constructor(e, { props: n = {}, editor: r }) {
- if (
- ((this.id = Math.floor(Math.random() * 4294967295).toString()),
- (this.editor = r),
- (this.component = vu(e)),
- (this.teleportElement = document.createElement("div")),
- (this.element = this.teleportElement),
- (this.props = Yt(n)),
- this.editor.vueRenderers.set(this.id, this),
- this.editor.contentComponent)
- ) {
- if (
- (this.editor.contentComponent.update(),
- this.teleportElement.children.length !== 1)
- )
- throw Error(
- "VueRenderer doesn’t support multiple child elements."
- );
- this.element = this.teleportElement.firstElementChild;
- }
- }
- get ref() {
- var e;
- return (e = this.editor.contentComponent) === null || e === void 0
- ? void 0
- : e.refs[this.id];
- }
- updateProps(e = {}) {
- Object.entries(e).forEach(([n, r]) => {
- this.props[n] = r;
- });
- }
- destroy() {
- this.editor.vueRenderers.delete(this.id);
- }
-}
-const vO = /^\s*>\s$/,
- bO = Pt.create({
- name: "blockquote",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- content: "block+",
- group: "block",
- defining: !0,
- parseHTML() {
- return [{ tag: "blockquote" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["blockquote", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setBlockquote:
- () =>
- ({ commands: t }) =>
- t.wrapIn(this.name),
- toggleBlockquote:
- () =>
- ({ commands: t }) =>
- t.toggleWrap(this.name),
- unsetBlockquote:
- () =>
- ({ commands: t }) =>
- t.lift(this.name),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-Shift-b": () => this.editor.commands.toggleBlockquote(),
- };
- },
- addInputRules() {
- return [Hs({ find: vO, type: this.type })];
- },
- }),
- wO = /(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))$/,
- xO = /(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))/g,
- kO = /(?:^|\s)((?:__)((?:[^__]+))(?:__))$/,
- SO = /(?:^|\s)((?:__)((?:[^__]+))(?:__))/g,
- _O = vn.create({
- name: "bold",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- parseHTML() {
- return [
- { tag: "strong" },
- {
- tag: "b",
- getAttrs: (t) => t.style.fontWeight !== "normal" && null,
- },
- {
- style: "font-weight",
- getAttrs: (t) =>
- /^(bold(er)?|[5-9]\d{2,})$/.test(t) && null,
- },
- ];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["strong", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setBold:
- () =>
- ({ commands: t }) =>
- t.setMark(this.name),
- toggleBold:
- () =>
- ({ commands: t }) =>
- t.toggleMark(this.name),
- unsetBold:
- () =>
- ({ commands: t }) =>
- t.unsetMark(this.name),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-b": () => this.editor.commands.toggleBold(),
- "Mod-B": () => this.editor.commands.toggleBold(),
- };
- },
- addInputRules() {
- return [
- Vo({ find: wO, type: this.type }),
- Vo({ find: kO, type: this.type }),
- ];
- },
- addPasteRules() {
- return [
- so({ find: xO, type: this.type }),
- so({ find: SO, type: this.type }),
- ];
- },
- }),
- CO = Pt.create({
- name: "listItem",
- addOptions() {
- return {
- HTMLAttributes: {},
- bulletListTypeName: "bulletList",
- orderedListTypeName: "orderedList",
- };
- },
- content: "paragraph block*",
- defining: !0,
- parseHTML() {
- return [{ tag: "li" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["li", et(this.options.HTMLAttributes, t), 0];
- },
- addKeyboardShortcuts() {
- return {
- Enter: () => this.editor.commands.splitListItem(this.name),
- Tab: () => this.editor.commands.sinkListItem(this.name),
- "Shift-Tab": () => this.editor.commands.liftListItem(this.name),
- };
- },
- }),
- Bg = vn.create({
- name: "textStyle",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- parseHTML() {
- return [
- {
- tag: "span",
- getAttrs: (t) => (t.hasAttribute("style") ? {} : !1),
- },
- ];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["span", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- removeEmptyTextStyle:
- () =>
- ({ state: t, commands: e }) => {
- const n = il(t, this.type);
- return Object.entries(n).some(([, o]) => !!o)
- ? !0
- : e.unsetMark(this.name);
- },
- };
- },
- }),
- zg = /^\s*([-+*])\s$/,
- MO = Pt.create({
- name: "bulletList",
- addOptions() {
- return {
- itemTypeName: "listItem",
- HTMLAttributes: {},
- keepMarks: !1,
- keepAttributes: !1,
- };
- },
- group: "block list",
- content() {
- return `${this.options.itemTypeName}+`;
- },
- parseHTML() {
- return [{ tag: "ul" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["ul", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- toggleBulletList:
- () =>
- ({ commands: t, chain: e }) =>
- this.options.keepAttributes
- ? e()
- .toggleList(
- this.name,
- this.options.itemTypeName,
- this.options.keepMarks
- )
- .updateAttributes(
- CO.name,
- this.editor.getAttributes(Bg.name)
- )
- .run()
- : t.toggleList(
- this.name,
- this.options.itemTypeName,
- this.options.keepMarks
- ),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-Shift-8": () => this.editor.commands.toggleBulletList(),
- };
- },
- addInputRules() {
- let t = Hs({ find: zg, type: this.type });
- return (
- (this.options.keepMarks || this.options.keepAttributes) &&
- (t = Hs({
- find: zg,
- type: this.type,
- keepMarks: this.options.keepMarks,
- keepAttributes: this.options.keepAttributes,
- getAttributes: () => this.editor.getAttributes(Bg.name),
- editor: this.editor,
- })),
- [t]
- );
- },
- }),
- EO = /(?:^|\s)((?:`)((?:[^`]+))(?:`))$/,
- TO = /(?:^|\s)((?:`)((?:[^`]+))(?:`))/g,
- AO = vn.create({
- name: "code",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- excludes: "_",
- code: !0,
- exitable: !0,
- parseHTML() {
- return [{ tag: "code" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["code", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setCode:
- () =>
- ({ commands: t }) =>
- t.setMark(this.name),
- toggleCode:
- () =>
- ({ commands: t }) =>
- t.toggleMark(this.name),
- unsetCode:
- () =>
- ({ commands: t }) =>
- t.unsetMark(this.name),
- };
- },
- addKeyboardShortcuts() {
- return { "Mod-e": () => this.editor.commands.toggleCode() };
- },
- addInputRules() {
- return [Vo({ find: EO, type: this.type })];
- },
- addPasteRules() {
- return [so({ find: TO, type: this.type })];
- },
- }),
- OO = /^```([a-z]+)?[\s\n]$/,
- RO = /^~~~([a-z]+)?[\s\n]$/,
- PO = Pt.create({
- name: "codeBlock",
- addOptions() {
- return {
- languageClassPrefix: "language-",
- exitOnTripleEnter: !0,
- exitOnArrowDown: !0,
- HTMLAttributes: {},
- };
- },
- content: "text*",
- marks: "",
- group: "block",
- code: !0,
- defining: !0,
- addAttributes() {
- return {
- language: {
- default: null,
- parseHTML: (t) => {
- var e;
- const { languageClassPrefix: n } = this.options,
- i = [
- ...(((e = t.firstElementChild) === null ||
- e === void 0
- ? void 0
- : e.classList) || []),
- ]
- .filter((s) => s.startsWith(n))
- .map((s) => s.replace(n, ""))[0];
- return i || null;
- },
- rendered: !1,
- },
- };
- },
- parseHTML() {
- return [{ tag: "pre", preserveWhitespace: "full" }];
- },
- renderHTML({ node: t, HTMLAttributes: e }) {
- return [
- "pre",
- et(this.options.HTMLAttributes, e),
- [
- "code",
- {
- class: t.attrs.language
- ? this.options.languageClassPrefix +
- t.attrs.language
- : null,
- },
- 0,
- ],
- ];
- },
- addCommands() {
- return {
- setCodeBlock:
- (t) =>
- ({ commands: e }) =>
- e.setNode(this.name, t),
- toggleCodeBlock:
- (t) =>
- ({ commands: e }) =>
- e.toggleNode(this.name, "paragraph", t),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(),
- Backspace: () => {
- const { empty: t, $anchor: e } =
- this.editor.state.selection,
- n = e.pos === 1;
- return !t || e.parent.type.name !== this.name
- ? !1
- : n || !e.parent.textContent.length
- ? this.editor.commands.clearNodes()
- : !1;
- },
- Enter: ({ editor: t }) => {
- if (!this.options.exitOnTripleEnter) return !1;
- const { state: e } = t,
- { selection: n } = e,
- { $from: r, empty: o } = n;
- if (!o || r.parent.type !== this.type) return !1;
- const i = r.parentOffset === r.parent.nodeSize - 2,
- s = r.parent.textContent.endsWith(`
-
-`);
- return !i || !s
- ? !1
- : t
- .chain()
- .command(
- ({ tr: l }) => (
- l.delete(r.pos - 2, r.pos), !0
- )
- )
- .exitCode()
- .run();
- },
- ArrowDown: ({ editor: t }) => {
- if (!this.options.exitOnArrowDown) return !1;
- const { state: e } = t,
- { selection: n, doc: r } = e,
- { $from: o, empty: i } = n;
- if (
- !i ||
- o.parent.type !== this.type ||
- !(o.parentOffset === o.parent.nodeSize - 2)
- )
- return !1;
- const l = o.after();
- return l === void 0 || r.nodeAt(l)
- ? !1
- : t.commands.exitCode();
- },
- };
- },
- addInputRules() {
- return [
- ef({
- find: OO,
- type: this.type,
- getAttributes: (t) => ({ language: t[1] }),
- }),
- ef({
- find: RO,
- type: this.type,
- getAttributes: (t) => ({ language: t[1] }),
- }),
- ];
- },
- addProseMirrorPlugins() {
- return [
- new kt({
- key: new Dt("codeBlockVSCodeHandler"),
- props: {
- handlePaste: (t, e) => {
- if (
- !e.clipboardData ||
- this.editor.isActive(this.type.name)
- )
- return !1;
- const n = e.clipboardData.getData("text/plain"),
- r =
- e.clipboardData.getData(
- "vscode-editor-data"
- ),
- o = r ? JSON.parse(r) : void 0,
- i = o == null ? void 0 : o.mode;
- if (!n || !i) return !1;
- const { tr: s } = t.state;
- return (
- s.replaceSelectionWith(
- this.type.create({ language: i })
- ),
- s.setSelection(
- Se.near(
- s.doc.resolve(
- Math.max(0, s.selection.from - 2)
- )
- )
- ),
- s.insertText(
- n.replace(
- /\r\n?/g,
- `
-`
- )
- ),
- s.setMeta("paste", !0),
- t.dispatch(s),
- !0
- );
- },
- },
- }),
- ];
- },
- }),
- IO = Pt.create({ name: "doc", topNode: !0, content: "block+" });
-function NO(t = {}) {
- return new kt({
- view(e) {
- return new DO(e, t);
- },
- });
-}
-class DO {
- constructor(e, n) {
- var r;
- (this.editorView = e),
- (this.cursorPos = null),
- (this.element = null),
- (this.timeout = -1),
- (this.width = (r = n.width) !== null && r !== void 0 ? r : 1),
- (this.color = n.color === !1 ? void 0 : n.color || "black"),
- (this.class = n.class),
- (this.handlers = ["dragover", "dragend", "drop", "dragleave"].map(
- (o) => {
- let i = (s) => {
- this[o](s);
- };
- return (
- e.dom.addEventListener(o, i), { name: o, handler: i }
- );
- }
- ));
- }
- destroy() {
- this.handlers.forEach(({ name: e, handler: n }) =>
- this.editorView.dom.removeEventListener(e, n)
- );
- }
- update(e, n) {
- this.cursorPos != null &&
- n.doc != e.state.doc &&
- (this.cursorPos > e.state.doc.content.size
- ? this.setCursor(null)
- : this.updateOverlay());
- }
- setCursor(e) {
- e != this.cursorPos &&
- ((this.cursorPos = e),
- e == null
- ? (this.element.parentNode.removeChild(this.element),
- (this.element = null))
- : this.updateOverlay());
- }
- updateOverlay() {
- let e = this.editorView.state.doc.resolve(this.cursorPos),
- n = !e.parent.inlineContent,
- r;
- if (n) {
- let l = e.nodeBefore,
- a = e.nodeAfter;
- if (l || a) {
- let u = this.editorView.nodeDOM(
- this.cursorPos - (l ? l.nodeSize : 0)
- );
- if (u) {
- let c = u.getBoundingClientRect(),
- d = l ? c.bottom : c.top;
- l &&
- a &&
- (d =
- (d +
- this.editorView
- .nodeDOM(this.cursorPos)
- .getBoundingClientRect().top) /
- 2),
- (r = {
- left: c.left,
- right: c.right,
- top: d - this.width / 2,
- bottom: d + this.width / 2,
- });
- }
- }
- }
- if (!r) {
- let l = this.editorView.coordsAtPos(this.cursorPos);
- r = {
- left: l.left - this.width / 2,
- right: l.left + this.width / 2,
- top: l.top,
- bottom: l.bottom,
- };
- }
- let o = this.editorView.dom.offsetParent;
- this.element ||
- ((this.element = o.appendChild(document.createElement("div"))),
- this.class && (this.element.className = this.class),
- (this.element.style.cssText =
- "position: absolute; z-index: 50; pointer-events: none;"),
- this.color && (this.element.style.backgroundColor = this.color)),
- this.element.classList.toggle("prosemirror-dropcursor-block", n),
- this.element.classList.toggle("prosemirror-dropcursor-inline", !n);
- let i, s;
- if (
- !o ||
- (o == document.body && getComputedStyle(o).position == "static")
- )
- (i = -pageXOffset), (s = -pageYOffset);
- else {
- let l = o.getBoundingClientRect();
- (i = l.left - o.scrollLeft), (s = l.top - o.scrollTop);
- }
- (this.element.style.left = r.left - i + "px"),
- (this.element.style.top = r.top - s + "px"),
- (this.element.style.width = r.right - r.left + "px"),
- (this.element.style.height = r.bottom - r.top + "px");
- }
- scheduleRemoval(e) {
- clearTimeout(this.timeout),
- (this.timeout = setTimeout(() => this.setCursor(null), e));
- }
- dragover(e) {
- if (!this.editorView.editable) return;
- let n = this.editorView.posAtCoords({
- left: e.clientX,
- top: e.clientY,
- }),
- r =
- n &&
- n.inside >= 0 &&
- this.editorView.state.doc.nodeAt(n.inside),
- o = r && r.type.spec.disableDropCursor,
- i = typeof o == "function" ? o(this.editorView, n, e) : o;
- if (n && !i) {
- let s = n.pos;
- if (this.editorView.dragging && this.editorView.dragging.slice) {
- let l = mv(
- this.editorView.state.doc,
- s,
- this.editorView.dragging.slice
- );
- l != null && (s = l);
- }
- this.setCursor(s), this.scheduleRemoval(5e3);
- }
- }
- dragend() {
- this.scheduleRemoval(20);
- }
- drop() {
- this.scheduleRemoval(20);
- }
- dragleave(e) {
- (e.target == this.editorView.dom ||
- !this.editorView.dom.contains(e.relatedTarget)) &&
- this.setCursor(null);
- }
-}
-const jO = Nt.create({
- name: "dropCursor",
- addOptions() {
- return { color: "currentColor", width: 1, class: void 0 };
- },
- addProseMirrorPlugins() {
- return [NO(this.options)];
- },
-});
-class yt extends Me {
- constructor(e) {
- super(e, e);
- }
- map(e, n) {
- let r = e.resolve(n.map(this.head));
- return yt.valid(r) ? new yt(r) : Me.near(r);
- }
- content() {
- return le.empty;
- }
- eq(e) {
- return e instanceof yt && e.head == this.head;
- }
- toJSON() {
- return { type: "gapcursor", pos: this.head };
- }
- static fromJSON(e, n) {
- if (typeof n.pos != "number")
- throw new RangeError("Invalid input for GapCursor.fromJSON");
- return new yt(e.resolve(n.pos));
- }
- getBookmark() {
- return new Nh(this.anchor);
- }
- static valid(e) {
- let n = e.parent;
- if (n.isTextblock || !LO(e) || !$O(e)) return !1;
- let r = n.type.spec.allowGapCursor;
- if (r != null) return r;
- let o = n.contentMatchAt(e.index()).defaultType;
- return o && o.isTextblock;
- }
- static findGapCursorFrom(e, n, r = !1) {
- e: for (;;) {
- if (!r && yt.valid(e)) return e;
- let o = e.pos,
- i = null;
- for (let s = e.depth; ; s--) {
- let l = e.node(s);
- if (n > 0 ? e.indexAfter(s) < l.childCount : e.index(s) > 0) {
- i = l.child(n > 0 ? e.indexAfter(s) : e.index(s) - 1);
- break;
- } else if (s == 0) return null;
- o += n;
- let a = e.doc.resolve(o);
- if (yt.valid(a)) return a;
- }
- for (;;) {
- let s = n > 0 ? i.firstChild : i.lastChild;
- if (!s) {
- if (i.isAtom && !i.isText && !we.isSelectable(i)) {
- (e = e.doc.resolve(o + i.nodeSize * n)), (r = !1);
- continue e;
- }
- break;
- }
- (i = s), (o += n);
- let l = e.doc.resolve(o);
- if (yt.valid(l)) return l;
- }
- return null;
- }
- }
-}
-yt.prototype.visible = !1;
-yt.findFrom = yt.findGapCursorFrom;
-Me.jsonID("gapcursor", yt);
-class Nh {
- constructor(e) {
- this.pos = e;
- }
- map(e) {
- return new Nh(e.map(this.pos));
- }
- resolve(e) {
- let n = e.resolve(this.pos);
- return yt.valid(n) ? new yt(n) : Me.near(n);
- }
-}
-function LO(t) {
- for (let e = t.depth; e >= 0; e--) {
- let n = t.index(e),
- r = t.node(e);
- if (n == 0) {
- if (r.type.spec.isolating) return !0;
- continue;
- }
- for (let o = r.child(n - 1); ; o = o.lastChild) {
- if (
- (o.childCount == 0 && !o.inlineContent) ||
- o.isAtom ||
- o.type.spec.isolating
- )
- return !0;
- if (o.inlineContent) return !1;
- }
- }
- return !0;
-}
-function $O(t) {
- for (let e = t.depth; e >= 0; e--) {
- let n = t.indexAfter(e),
- r = t.node(e);
- if (n == r.childCount) {
- if (r.type.spec.isolating) return !0;
- continue;
- }
- for (let o = r.child(n); ; o = o.firstChild) {
- if (
- (o.childCount == 0 && !o.inlineContent) ||
- o.isAtom ||
- o.type.spec.isolating
- )
- return !0;
- if (o.inlineContent) return !1;
- }
- }
- return !0;
-}
-function BO() {
- return new kt({
- props: {
- decorations: VO,
- createSelectionBetween(t, e, n) {
- return e.pos == n.pos && yt.valid(n) ? new yt(n) : null;
- },
- handleClick: HO,
- handleKeyDown: zO,
- handleDOMEvents: { beforeinput: FO },
- },
- });
-}
-const zO = Sh({
- ArrowLeft: Ol("horiz", -1),
- ArrowRight: Ol("horiz", 1),
- ArrowUp: Ol("vert", -1),
- ArrowDown: Ol("vert", 1),
-});
-function Ol(t, e) {
- const n = t == "vert" ? (e > 0 ? "down" : "up") : e > 0 ? "right" : "left";
- return function (r, o, i) {
- let s = r.selection,
- l = e > 0 ? s.$to : s.$from,
- a = s.empty;
- if (s instanceof Se) {
- if (!i.endOfTextblock(n) || l.depth == 0) return !1;
- (a = !1), (l = r.doc.resolve(e > 0 ? l.after() : l.before()));
- }
- let u = yt.findGapCursorFrom(l, e, a);
- return u ? (o && o(r.tr.setSelection(new yt(u))), !0) : !1;
- };
-}
-function HO(t, e, n) {
- if (!t || !t.editable) return !1;
- let r = t.state.doc.resolve(e);
- if (!yt.valid(r)) return !1;
- let o = t.posAtCoords({ left: n.clientX, top: n.clientY });
- return o && o.inside > -1 && we.isSelectable(t.state.doc.nodeAt(o.inside))
- ? !1
- : (t.dispatch(t.state.tr.setSelection(new yt(r))), !0);
-}
-function FO(t, e) {
- if (
- e.inputType != "insertCompositionText" ||
- !(t.state.selection instanceof yt)
- )
- return !1;
- let { $from: n } = t.state.selection,
- r = n.parent
- .contentMatchAt(n.index())
- .findWrapping(t.state.schema.nodes.text);
- if (!r) return !1;
- let o = J.empty;
- for (let s = r.length - 1; s >= 0; s--)
- o = J.from(r[s].createAndFill(null, o));
- let i = t.state.tr.replace(n.pos, n.pos, new le(o, 0, 0));
- return i.setSelection(Se.near(i.doc.resolve(n.pos + 1))), t.dispatch(i), !1;
-}
-function VO(t) {
- if (!(t.selection instanceof yt)) return null;
- let e = document.createElement("div");
- return (
- (e.className = "ProseMirror-gapcursor"),
- ft.create(t.doc, [qt.widget(t.selection.head, e, { key: "gapcursor" })])
- );
-}
-const WO = Nt.create({
- name: "gapCursor",
- addProseMirrorPlugins() {
- return [BO()];
- },
- extendNodeSchema(t) {
- var e;
- const n = { name: t.name, options: t.options, storage: t.storage };
- return {
- allowGapCursor:
- (e = Be(fe(t, "allowGapCursor", n))) !== null &&
- e !== void 0
- ? e
- : null,
- };
- },
- }),
- UO = Pt.create({
- name: "hardBreak",
- addOptions() {
- return { keepMarks: !0, HTMLAttributes: {} };
- },
- inline: !0,
- group: "inline",
- selectable: !1,
- parseHTML() {
- return [{ tag: "br" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["br", et(this.options.HTMLAttributes, t)];
- },
- renderText() {
- return `
-`;
- },
- addCommands() {
- return {
- setHardBreak:
- () =>
- ({ commands: t, chain: e, state: n, editor: r }) =>
- t.first([
- () => t.exitCode(),
- () =>
- t.command(() => {
- const { selection: o, storedMarks: i } = n;
- if (o.$from.parent.type.spec.isolating)
- return !1;
- const { keepMarks: s } = this.options,
- { splittableMarks: l } =
- r.extensionManager,
- a =
- i ||
- (o.$to.parentOffset &&
- o.$from.marks());
- return e()
- .insertContent({ type: this.name })
- .command(({ tr: u, dispatch: c }) => {
- if (c && a && s) {
- const d = a.filter((f) =>
- l.includes(f.type.name)
- );
- u.ensureMarks(d);
- }
- return !0;
- })
- .run();
- }),
- ]),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-Enter": () => this.editor.commands.setHardBreak(),
- "Shift-Enter": () => this.editor.commands.setHardBreak(),
- };
- },
- }),
- KO = Pt.create({
- name: "heading",
- addOptions() {
- return { levels: [1, 2, 3, 4, 5, 6], HTMLAttributes: {} };
- },
- content: "inline*",
- group: "block",
- defining: !0,
- addAttributes() {
- return { level: { default: 1, rendered: !1 } };
- },
- parseHTML() {
- return this.options.levels.map((t) => ({
- tag: `h${t}`,
- attrs: { level: t },
- }));
- },
- renderHTML({ node: t, HTMLAttributes: e }) {
- return [
- `h${
- this.options.levels.includes(t.attrs.level)
- ? t.attrs.level
- : this.options.levels[0]
- }`,
- et(this.options.HTMLAttributes, e),
- 0,
- ];
- },
- addCommands() {
- return {
- setHeading:
- (t) =>
- ({ commands: e }) =>
- this.options.levels.includes(t.level)
- ? e.setNode(this.name, t)
- : !1,
- toggleHeading:
- (t) =>
- ({ commands: e }) =>
- this.options.levels.includes(t.level)
- ? e.toggleNode(this.name, "paragraph", t)
- : !1,
- };
- },
- addKeyboardShortcuts() {
- return this.options.levels.reduce(
- (t, e) =>
- ge(B({}, t), {
- [`Mod-Alt-${e}`]: () =>
- this.editor.commands.toggleHeading({ level: e }),
- }),
- {}
- );
- },
- addInputRules() {
- return this.options.levels.map((t) =>
- ef({
- find: new RegExp(`^(#{1,${t}})\\s$`),
- type: this.type,
- getAttributes: { level: t },
- })
- );
- },
- });
-var ja = 200,
- Bt = function () {};
-Bt.prototype.append = function (e) {
- return e.length
- ? ((e = Bt.from(e)),
- (!this.length && e) ||
- (e.length < ja && this.leafAppend(e)) ||
- (this.length < ja && e.leafPrepend(this)) ||
- this.appendInner(e))
- : this;
-};
-Bt.prototype.prepend = function (e) {
- return e.length ? Bt.from(e).append(this) : this;
-};
-Bt.prototype.appendInner = function (e) {
- return new qO(this, e);
-};
-Bt.prototype.slice = function (e, n) {
- return (
- e === void 0 && (e = 0),
- n === void 0 && (n = this.length),
- e >= n
- ? Bt.empty
- : this.sliceInner(Math.max(0, e), Math.min(this.length, n))
- );
-};
-Bt.prototype.get = function (e) {
- if (!(e < 0 || e >= this.length)) return this.getInner(e);
-};
-Bt.prototype.forEach = function (e, n, r) {
- n === void 0 && (n = 0),
- r === void 0 && (r = this.length),
- n <= r
- ? this.forEachInner(e, n, r, 0)
- : this.forEachInvertedInner(e, n, r, 0);
-};
-Bt.prototype.map = function (e, n, r) {
- n === void 0 && (n = 0), r === void 0 && (r = this.length);
- var o = [];
- return (
- this.forEach(
- function (i, s) {
- return o.push(e(i, s));
- },
- n,
- r
- ),
- o
- );
-};
-Bt.from = function (e) {
- return e instanceof Bt ? e : e && e.length ? new A2(e) : Bt.empty;
-};
-var A2 = (function (t) {
- function e(r) {
- t.call(this), (this.values = r);
- }
- t && (e.__proto__ = t),
- (e.prototype = Object.create(t && t.prototype)),
- (e.prototype.constructor = e);
- var n = { length: { configurable: !0 }, depth: { configurable: !0 } };
- return (
- (e.prototype.flatten = function () {
- return this.values;
- }),
- (e.prototype.sliceInner = function (o, i) {
- return o == 0 && i == this.length
- ? this
- : new e(this.values.slice(o, i));
- }),
- (e.prototype.getInner = function (o) {
- return this.values[o];
- }),
- (e.prototype.forEachInner = function (o, i, s, l) {
- for (var a = i; a < s; a++)
- if (o(this.values[a], l + a) === !1) return !1;
- }),
- (e.prototype.forEachInvertedInner = function (o, i, s, l) {
- for (var a = i - 1; a >= s; a--)
- if (o(this.values[a], l + a) === !1) return !1;
- }),
- (e.prototype.leafAppend = function (o) {
- if (this.length + o.length <= ja)
- return new e(this.values.concat(o.flatten()));
- }),
- (e.prototype.leafPrepend = function (o) {
- if (this.length + o.length <= ja)
- return new e(o.flatten().concat(this.values));
- }),
- (n.length.get = function () {
- return this.values.length;
- }),
- (n.depth.get = function () {
- return 0;
- }),
- Object.defineProperties(e.prototype, n),
- e
- );
-})(Bt);
-Bt.empty = new A2([]);
-var qO = (function (t) {
- function e(n, r) {
- t.call(this),
- (this.left = n),
- (this.right = r),
- (this.length = n.length + r.length),
- (this.depth = Math.max(n.depth, r.depth) + 1);
- }
- return (
- t && (e.__proto__ = t),
- (e.prototype = Object.create(t && t.prototype)),
- (e.prototype.constructor = e),
- (e.prototype.flatten = function () {
- return this.left.flatten().concat(this.right.flatten());
- }),
- (e.prototype.getInner = function (r) {
- return r < this.left.length
- ? this.left.get(r)
- : this.right.get(r - this.left.length);
- }),
- (e.prototype.forEachInner = function (r, o, i, s) {
- var l = this.left.length;
- if (
- (o < l &&
- this.left.forEachInner(r, o, Math.min(i, l), s) === !1) ||
- (i > l &&
- this.right.forEachInner(
- r,
- Math.max(o - l, 0),
- Math.min(this.length, i) - l,
- s + l
- ) === !1)
- )
- return !1;
- }),
- (e.prototype.forEachInvertedInner = function (r, o, i, s) {
- var l = this.left.length;
- if (
- (o > l &&
- this.right.forEachInvertedInner(
- r,
- o - l,
- Math.max(i, l) - l,
- s + l
- ) === !1) ||
- (i < l &&
- this.left.forEachInvertedInner(r, Math.min(o, l), i, s) ===
- !1)
- )
- return !1;
- }),
- (e.prototype.sliceInner = function (r, o) {
- if (r == 0 && o == this.length) return this;
- var i = this.left.length;
- return o <= i
- ? this.left.slice(r, o)
- : r >= i
- ? this.right.slice(r - i, o - i)
- : this.left.slice(r, i).append(this.right.slice(0, o - i));
- }),
- (e.prototype.leafAppend = function (r) {
- var o = this.right.leafAppend(r);
- if (o) return new e(this.left, o);
- }),
- (e.prototype.leafPrepend = function (r) {
- var o = this.left.leafPrepend(r);
- if (o) return new e(o, this.right);
- }),
- (e.prototype.appendInner = function (r) {
- return this.left.depth >= Math.max(this.right.depth, r.depth) + 1
- ? new e(this.left, new e(this.right, r))
- : new e(this, r);
- }),
- e
- );
-})(Bt);
-const JO = 500;
-class jn {
- constructor(e, n) {
- (this.items = e), (this.eventCount = n);
- }
- popEvent(e, n) {
- if (this.eventCount == 0) return null;
- let r = this.items.length;
- for (; ; r--)
- if (this.items.get(r - 1).selection) {
- --r;
- break;
- }
- let o, i;
- n && ((o = this.remapping(r, this.items.length)), (i = o.maps.length));
- let s = e.tr,
- l,
- a,
- u = [],
- c = [];
- return (
- this.items.forEach(
- (d, f) => {
- if (!d.step) {
- o ||
- ((o = this.remapping(r, f + 1)),
- (i = o.maps.length)),
- i--,
- c.push(d);
- return;
- }
- if (o) {
- c.push(new Kn(d.map));
- let p = d.step.map(o.slice(i)),
- m;
- p &&
- s.maybeStep(p).doc &&
- ((m = s.mapping.maps[s.mapping.maps.length - 1]),
- u.push(
- new Kn(m, void 0, void 0, u.length + c.length)
- )),
- i--,
- m && o.appendMap(m, i);
- } else s.maybeStep(d.step);
- if (d.selection)
- return (
- (l = o ? d.selection.map(o.slice(i)) : d.selection),
- (a = new jn(
- this.items
- .slice(0, r)
- .append(c.reverse().concat(u)),
- this.eventCount - 1
- )),
- !1
- );
- },
- this.items.length,
- 0
- ),
- { remaining: a, transform: s, selection: l }
- );
- }
- addTransform(e, n, r, o) {
- let i = [],
- s = this.eventCount,
- l = this.items,
- a = !o && l.length ? l.get(l.length - 1) : null;
- for (let c = 0; c < e.steps.length; c++) {
- let d = e.steps[c].invert(e.docs[c]),
- f = new Kn(e.mapping.maps[c], d, n),
- p;
- (p = a && a.merge(f)) &&
- ((f = p), c ? i.pop() : (l = l.slice(0, l.length - 1))),
- i.push(f),
- n && (s++, (n = void 0)),
- o || (a = f);
- }
- let u = s - r.depth;
- return u > YO && ((l = GO(l, u)), (s -= u)), new jn(l.append(i), s);
- }
- remapping(e, n) {
- let r = new mi();
- return (
- this.items.forEach(
- (o, i) => {
- let s =
- o.mirrorOffset != null && i - o.mirrorOffset >= e
- ? r.maps.length - o.mirrorOffset
- : void 0;
- r.appendMap(o.map, s);
- },
- e,
- n
- ),
- r
- );
- }
- addMaps(e) {
- return this.eventCount == 0
- ? this
- : new jn(
- this.items.append(e.map((n) => new Kn(n))),
- this.eventCount
- );
- }
- rebased(e, n) {
- if (!this.eventCount) return this;
- let r = [],
- o = Math.max(0, this.items.length - n),
- i = e.mapping,
- s = e.steps.length,
- l = this.eventCount;
- this.items.forEach((f) => {
- f.selection && l--;
- }, o);
- let a = n;
- this.items.forEach((f) => {
- let p = i.getMirror(--a);
- if (p == null) return;
- s = Math.min(s, p);
- let m = i.maps[p];
- if (f.step) {
- let y = e.steps[p].invert(e.docs[p]),
- v = f.selection && f.selection.map(i.slice(a + 1, p));
- v && l++, r.push(new Kn(m, y, v));
- } else r.push(new Kn(m));
- }, o);
- let u = [];
- for (let f = n; f < s; f++) u.push(new Kn(i.maps[f]));
- let c = this.items.slice(0, o).append(u).append(r),
- d = new jn(c, l);
- return (
- d.emptyItemCount() > JO &&
- (d = d.compress(this.items.length - r.length)),
- d
- );
- }
- emptyItemCount() {
- let e = 0;
- return (
- this.items.forEach((n) => {
- n.step || e++;
- }),
- e
- );
- }
- compress(e = this.items.length) {
- let n = this.remapping(0, e),
- r = n.maps.length,
- o = [],
- i = 0;
- return (
- this.items.forEach(
- (s, l) => {
- if (l >= e) o.push(s), s.selection && i++;
- else if (s.step) {
- let a = s.step.map(n.slice(r)),
- u = a && a.getMap();
- if ((r--, u && n.appendMap(u, r), a)) {
- let c = s.selection && s.selection.map(n.slice(r));
- c && i++;
- let d = new Kn(u.invert(), a, c),
- f,
- p = o.length - 1;
- (f = o.length && o[p].merge(d))
- ? (o[p] = f)
- : o.push(d);
- }
- } else s.map && r--;
- },
- this.items.length,
- 0
- ),
- new jn(Bt.from(o.reverse()), i)
- );
- }
-}
-jn.empty = new jn(Bt.empty, 0);
-function GO(t, e) {
- let n;
- return (
- t.forEach((r, o) => {
- if (r.selection && e-- == 0) return (n = o), !1;
- }),
- t.slice(n)
- );
-}
-class Kn {
- constructor(e, n, r, o) {
- (this.map = e),
- (this.step = n),
- (this.selection = r),
- (this.mirrorOffset = o);
- }
- merge(e) {
- if (this.step && e.step && !e.selection) {
- let n = e.step.merge(this.step);
- if (n) return new Kn(n.getMap().invert(), n, this.selection);
- }
- }
-}
-class Fr {
- constructor(e, n, r, o, i) {
- (this.done = e),
- (this.undone = n),
- (this.prevRanges = r),
- (this.prevTime = o),
- (this.prevComposition = i);
- }
-}
-const YO = 20;
-function QO(t, e, n, r) {
- let o = n.getMeta(oo),
- i;
- if (o) return o.historyState;
- n.getMeta(ZO) && (t = new Fr(t.done, t.undone, null, 0, -1));
- let s = n.getMeta("appendedTransaction");
- if (n.steps.length == 0) return t;
- if (s && s.getMeta(oo))
- return s.getMeta(oo).redo
- ? new Fr(
- t.done.addTransform(n, void 0, r, Gl(e)),
- t.undone,
- Hg(n.mapping.maps[n.steps.length - 1]),
- t.prevTime,
- t.prevComposition
- )
- : new Fr(
- t.done,
- t.undone.addTransform(n, void 0, r, Gl(e)),
- null,
- t.prevTime,
- t.prevComposition
- );
- if (
- n.getMeta("addToHistory") !== !1 &&
- !(s && s.getMeta("addToHistory") === !1)
- ) {
- let l = n.getMeta("composition"),
- a =
- t.prevTime == 0 ||
- (!s &&
- t.prevComposition != l &&
- (t.prevTime < (n.time || 0) - r.newGroupDelay ||
- !XO(n, t.prevRanges))),
- u = s
- ? Qc(t.prevRanges, n.mapping)
- : Hg(n.mapping.maps[n.steps.length - 1]);
- return new Fr(
- t.done.addTransform(
- n,
- a ? e.selection.getBookmark() : void 0,
- r,
- Gl(e)
- ),
- jn.empty,
- u,
- n.time,
- l == null ? t.prevComposition : l
- );
- } else
- return (i = n.getMeta("rebased"))
- ? new Fr(
- t.done.rebased(n, i),
- t.undone.rebased(n, i),
- Qc(t.prevRanges, n.mapping),
- t.prevTime,
- t.prevComposition
- )
- : new Fr(
- t.done.addMaps(n.mapping.maps),
- t.undone.addMaps(n.mapping.maps),
- Qc(t.prevRanges, n.mapping),
- t.prevTime,
- t.prevComposition
- );
-}
-function XO(t, e) {
- if (!e) return !1;
- if (!t.docChanged) return !0;
- let n = !1;
- return (
- t.mapping.maps[0].forEach((r, o) => {
- for (let i = 0; i < e.length; i += 2)
- r <= e[i + 1] && o >= e[i] && (n = !0);
- }),
- n
- );
-}
-function Hg(t) {
- let e = [];
- return t.forEach((n, r, o, i) => e.push(o, i)), e;
-}
-function Qc(t, e) {
- if (!t) return null;
- let n = [];
- for (let r = 0; r < t.length; r += 2) {
- let o = e.map(t[r], 1),
- i = e.map(t[r + 1], -1);
- o <= i && n.push(o, i);
- }
- return n;
-}
-function O2(t, e, n, r) {
- let o = Gl(e),
- i = oo.get(e).spec.config,
- s = (r ? t.undone : t.done).popEvent(e, o);
- if (!s) return;
- let l = s.selection.resolve(s.transform.doc),
- a = (r ? t.done : t.undone).addTransform(
- s.transform,
- e.selection.getBookmark(),
- i,
- o
- ),
- u = new Fr(r ? a : s.remaining, r ? s.remaining : a, null, 0, -1);
- n(
- s.transform
- .setSelection(l)
- .setMeta(oo, { redo: r, historyState: u })
- .scrollIntoView()
- );
-}
-let Xc = !1,
- Fg = null;
-function Gl(t) {
- let e = t.plugins;
- if (Fg != e) {
- (Xc = !1), (Fg = e);
- for (let n = 0; n < e.length; n++)
- if (e[n].spec.historyPreserveItems) {
- Xc = !0;
- break;
- }
- }
- return Xc;
-}
-const oo = new Dt("history"),
- ZO = new Dt("closeHistory");
-function e5(t = {}) {
- return (
- (t = { depth: t.depth || 100, newGroupDelay: t.newGroupDelay || 500 }),
- new kt({
- key: oo,
- state: {
- init() {
- return new Fr(jn.empty, jn.empty, null, 0, -1);
- },
- apply(e, n, r) {
- return QO(n, r, e, t);
- },
- },
- config: t,
- props: {
- handleDOMEvents: {
- beforeinput(e, n) {
- let r = n.inputType,
- o =
- r == "historyUndo"
- ? R2
- : r == "historyRedo"
- ? P2
- : null;
- return o
- ? (n.preventDefault(), o(e.state, e.dispatch))
- : !1;
- },
- },
- },
- })
- );
-}
-const R2 = (t, e) => {
- let n = oo.getState(t);
- return !n || n.done.eventCount == 0 ? !1 : (e && O2(n, t, e, !1), !0);
- },
- P2 = (t, e) => {
- let n = oo.getState(t);
- return !n || n.undone.eventCount == 0 ? !1 : (e && O2(n, t, e, !0), !0);
- },
- t5 = Nt.create({
- name: "history",
- addOptions() {
- return { depth: 100, newGroupDelay: 500 };
- },
- addCommands() {
- return {
- undo:
- () =>
- ({ state: t, dispatch: e }) =>
- R2(t, e),
- redo:
- () =>
- ({ state: t, dispatch: e }) =>
- P2(t, e),
- };
- },
- addProseMirrorPlugins() {
- return [e5(this.options)];
- },
- addKeyboardShortcuts() {
- return {
- "Mod-z": () => this.editor.commands.undo(),
- "Shift-Mod-z": () => this.editor.commands.redo(),
- "Mod-y": () => this.editor.commands.redo(),
- "Mod-я": () => this.editor.commands.undo(),
- "Shift-Mod-я": () => this.editor.commands.redo(),
- };
- },
- }),
- n5 = Pt.create({
- name: "horizontalRule",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- group: "block",
- parseHTML() {
- return [{ tag: "hr" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["hr", et(this.options.HTMLAttributes, t)];
- },
- addCommands() {
- return {
- setHorizontalRule:
- () =>
- ({ chain: t, state: e }) => {
- const { $to: n } = e.selection,
- r = t();
- return (
- n.parentOffset === 0
- ? r.insertContentAt(Math.max(n.pos - 2, 0), {
- type: this.name,
- })
- : r.insertContent({ type: this.name }),
- r
- .command(({ tr: o, dispatch: i }) => {
- var s;
- if (i) {
- const { $to: l } = o.selection,
- a = l.end();
- if (l.nodeAfter)
- l.nodeAfter.isTextblock
- ? o.setSelection(
- Se.create(
- o.doc,
- l.pos + 1
- )
- )
- : l.nodeAfter.isBlock
- ? o.setSelection(
- we.create(o.doc, l.pos)
- )
- : o.setSelection(
- Se.create(o.doc, l.pos)
- );
- else {
- const u =
- (s =
- l.parent.type.contentMatch
- .defaultType) ===
- null || s === void 0
- ? void 0
- : s.create();
- u &&
- (o.insert(a, u),
- o.setSelection(
- Se.create(o.doc, a + 1)
- ));
- }
- o.scrollIntoView();
- }
- return !0;
- })
- .run()
- );
- },
- };
- },
- addInputRules() {
- return [
- v2({ find: /^(?:---|—-|___\s|\*\*\*\s)$/, type: this.type }),
- ];
- },
- }),
- r5 = /(?:^|\s)((?:\*)((?:[^*]+))(?:\*))$/,
- o5 = /(?:^|\s)((?:\*)((?:[^*]+))(?:\*))/g,
- i5 = /(?:^|\s)((?:_)((?:[^_]+))(?:_))$/,
- s5 = /(?:^|\s)((?:_)((?:[^_]+))(?:_))/g,
- l5 = vn.create({
- name: "italic",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- parseHTML() {
- return [
- { tag: "em" },
- {
- tag: "i",
- getAttrs: (t) => t.style.fontStyle !== "normal" && null,
- },
- { style: "font-style=italic" },
- ];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["em", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setItalic:
- () =>
- ({ commands: t }) =>
- t.setMark(this.name),
- toggleItalic:
- () =>
- ({ commands: t }) =>
- t.toggleMark(this.name),
- unsetItalic:
- () =>
- ({ commands: t }) =>
- t.unsetMark(this.name),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-i": () => this.editor.commands.toggleItalic(),
- "Mod-I": () => this.editor.commands.toggleItalic(),
- };
- },
- addInputRules() {
- return [
- Vo({ find: r5, type: this.type }),
- Vo({ find: i5, type: this.type }),
- ];
- },
- addPasteRules() {
- return [
- so({ find: o5, type: this.type }),
- so({ find: s5, type: this.type }),
- ];
- },
- }),
- a5 = Pt.create({
- name: "listItem",
- addOptions() {
- return {
- HTMLAttributes: {},
- bulletListTypeName: "bulletList",
- orderedListTypeName: "orderedList",
- };
- },
- content: "paragraph block*",
- defining: !0,
- parseHTML() {
- return [{ tag: "li" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["li", et(this.options.HTMLAttributes, t), 0];
- },
- addKeyboardShortcuts() {
- return {
- Enter: () => this.editor.commands.splitListItem(this.name),
- Tab: () => this.editor.commands.sinkListItem(this.name),
- "Shift-Tab": () => this.editor.commands.liftListItem(this.name),
- };
- },
- }),
- u5 = Pt.create({
- name: "listItem",
- addOptions() {
- return {
- HTMLAttributes: {},
- bulletListTypeName: "bulletList",
- orderedListTypeName: "orderedList",
- };
- },
- content: "paragraph block*",
- defining: !0,
- parseHTML() {
- return [{ tag: "li" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["li", et(this.options.HTMLAttributes, t), 0];
- },
- addKeyboardShortcuts() {
- return {
- Enter: () => this.editor.commands.splitListItem(this.name),
- Tab: () => this.editor.commands.sinkListItem(this.name),
- "Shift-Tab": () => this.editor.commands.liftListItem(this.name),
- };
- },
- }),
- Vg = vn.create({
- name: "textStyle",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- parseHTML() {
- return [
- {
- tag: "span",
- getAttrs: (t) => (t.hasAttribute("style") ? {} : !1),
- },
- ];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["span", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- removeEmptyTextStyle:
- () =>
- ({ state: t, commands: e }) => {
- const n = il(t, this.type);
- return Object.entries(n).some(([, o]) => !!o)
- ? !0
- : e.unsetMark(this.name);
- },
- };
- },
- }),
- Wg = /^(\d+)\.\s$/,
- c5 = Pt.create({
- name: "orderedList",
- addOptions() {
- return {
- itemTypeName: "listItem",
- HTMLAttributes: {},
- keepMarks: !1,
- keepAttributes: !1,
- };
- },
- group: "block list",
- content() {
- return `${this.options.itemTypeName}+`;
- },
- addAttributes() {
- return {
- start: {
- default: 1,
- parseHTML: (t) =>
- t.hasAttribute("start")
- ? parseInt(t.getAttribute("start") || "", 10)
- : 1,
- },
- };
- },
- parseHTML() {
- return [{ tag: "ol" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- const r = t,
- { start: e } = r,
- n = tt(r, ["start"]);
- return e === 1
- ? ["ol", et(this.options.HTMLAttributes, n), 0]
- : ["ol", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- toggleOrderedList:
- () =>
- ({ commands: t, chain: e }) =>
- this.options.keepAttributes
- ? e()
- .toggleList(
- this.name,
- this.options.itemTypeName,
- this.options.keepMarks
- )
- .updateAttributes(
- u5.name,
- this.editor.getAttributes(Vg.name)
- )
- .run()
- : t.toggleList(
- this.name,
- this.options.itemTypeName,
- this.options.keepMarks
- ),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-Shift-7": () => this.editor.commands.toggleOrderedList(),
- };
- },
- addInputRules() {
- let t = Hs({
- find: Wg,
- type: this.type,
- getAttributes: (e) => ({ start: +e[1] }),
- joinPredicate: (e, n) => n.childCount + n.attrs.start === +e[1],
- });
- return (
- (this.options.keepMarks || this.options.keepAttributes) &&
- (t = Hs({
- find: Wg,
- type: this.type,
- keepMarks: this.options.keepMarks,
- keepAttributes: this.options.keepAttributes,
- getAttributes: (e) =>
- B(
- { start: +e[1] },
- this.editor.getAttributes(Vg.name)
- ),
- joinPredicate: (e, n) =>
- n.childCount + n.attrs.start === +e[1],
- editor: this.editor,
- })),
- [t]
- );
- },
- }),
- d5 = Pt.create({
- name: "paragraph",
- priority: 1e3,
- addOptions() {
- return { HTMLAttributes: {} };
- },
- group: "block",
- content: "inline*",
- parseHTML() {
- return [{ tag: "p" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["p", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setParagraph:
- () =>
- ({ commands: t }) =>
- t.setNode(this.name),
- };
- },
- addKeyboardShortcuts() {
- return { "Mod-Alt-0": () => this.editor.commands.setParagraph() };
- },
- }),
- f5 = /(?:^|\s)((?:~~)((?:[^~]+))(?:~~))$/,
- h5 = /(?:^|\s)((?:~~)((?:[^~]+))(?:~~))/g,
- p5 = vn.create({
- name: "strike",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- parseHTML() {
- return [
- { tag: "s" },
- { tag: "del" },
- { tag: "strike" },
- {
- style: "text-decoration",
- consuming: !1,
- getAttrs: (t) => (t.includes("line-through") ? {} : !1),
- },
- ];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["s", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setStrike:
- () =>
- ({ commands: t }) =>
- t.setMark(this.name),
- toggleStrike:
- () =>
- ({ commands: t }) =>
- t.toggleMark(this.name),
- unsetStrike:
- () =>
- ({ commands: t }) =>
- t.unsetMark(this.name),
- };
- },
- addKeyboardShortcuts() {
- const t = {};
- return (
- Oh()
- ? (t["Mod-Shift-s"] = () =>
- this.editor.commands.toggleStrike())
- : (t["Ctrl-Shift-s"] = () =>
- this.editor.commands.toggleStrike()),
- t
- );
- },
- addInputRules() {
- return [Vo({ find: f5, type: this.type })];
- },
- addPasteRules() {
- return [so({ find: h5, type: this.type })];
- },
- }),
- m5 = Pt.create({ name: "text", group: "inline" }),
- g5 = Nt.create({
- name: "starterKit",
- addExtensions() {
- var t, e, n, r, o, i, s, l, a, u, c, d, f, p, m, y, v, w;
- const S = [];
- return (
- this.options.blockquote !== !1 &&
- S.push(
- bO.configure(
- (t = this.options) === null || t === void 0
- ? void 0
- : t.blockquote
- )
- ),
- this.options.bold !== !1 &&
- S.push(
- _O.configure(
- (e = this.options) === null || e === void 0
- ? void 0
- : e.bold
- )
- ),
- this.options.bulletList !== !1 &&
- S.push(
- MO.configure(
- (n = this.options) === null || n === void 0
- ? void 0
- : n.bulletList
- )
- ),
- this.options.code !== !1 &&
- S.push(
- AO.configure(
- (r = this.options) === null || r === void 0
- ? void 0
- : r.code
- )
- ),
- this.options.codeBlock !== !1 &&
- S.push(
- PO.configure(
- (o = this.options) === null || o === void 0
- ? void 0
- : o.codeBlock
- )
- ),
- this.options.document !== !1 &&
- S.push(
- IO.configure(
- (i = this.options) === null || i === void 0
- ? void 0
- : i.document
- )
- ),
- this.options.dropcursor !== !1 &&
- S.push(
- jO.configure(
- (s = this.options) === null || s === void 0
- ? void 0
- : s.dropcursor
- )
- ),
- this.options.gapcursor !== !1 &&
- S.push(
- WO.configure(
- (l = this.options) === null || l === void 0
- ? void 0
- : l.gapcursor
- )
- ),
- this.options.hardBreak !== !1 &&
- S.push(
- UO.configure(
- (a = this.options) === null || a === void 0
- ? void 0
- : a.hardBreak
- )
- ),
- this.options.heading !== !1 &&
- S.push(
- KO.configure(
- (u = this.options) === null || u === void 0
- ? void 0
- : u.heading
- )
- ),
- this.options.history !== !1 &&
- S.push(
- t5.configure(
- (c = this.options) === null || c === void 0
- ? void 0
- : c.history
- )
- ),
- this.options.horizontalRule !== !1 &&
- S.push(
- n5.configure(
- (d = this.options) === null || d === void 0
- ? void 0
- : d.horizontalRule
- )
- ),
- this.options.italic !== !1 &&
- S.push(
- l5.configure(
- (f = this.options) === null || f === void 0
- ? void 0
- : f.italic
- )
- ),
- this.options.listItem !== !1 &&
- S.push(
- a5.configure(
- (p = this.options) === null || p === void 0
- ? void 0
- : p.listItem
- )
- ),
- this.options.orderedList !== !1 &&
- S.push(
- c5.configure(
- (m = this.options) === null || m === void 0
- ? void 0
- : m.orderedList
- )
- ),
- this.options.paragraph !== !1 &&
- S.push(
- d5.configure(
- (y = this.options) === null || y === void 0
- ? void 0
- : y.paragraph
- )
- ),
- this.options.strike !== !1 &&
- S.push(
- p5.configure(
- (v = this.options) === null || v === void 0
- ? void 0
- : v.strike
- )
- ),
- this.options.text !== !1 &&
- S.push(
- m5.configure(
- (w = this.options) === null || w === void 0
- ? void 0
- : w.text
- )
- ),
- S
- );
- },
- }),
- y5 = Nt.create({
- name: "placeholder",
- addOptions() {
- return {
- emptyEditorClass: "is-editor-empty",
- emptyNodeClass: "is-empty",
- placeholder: "Write something …",
- showOnlyWhenEditable: !0,
- considerAnyAsEmpty: !1,
- showOnlyCurrent: !0,
- includeChildren: !1,
- };
- },
- addProseMirrorPlugins() {
- return [
- new kt({
- key: new Dt("placeholder"),
- props: {
- decorations: ({ doc: t, selection: e }) => {
- var n;
- const r =
- this.editor.isEditable ||
- !this.options.showOnlyWhenEditable,
- { anchor: o } = e,
- i = [];
- if (!r) return null;
- const { firstChild: s } = t.content,
- l = s && s.type.isLeaf,
- a = s && s.isAtom,
- u = this.options.considerAnyAsEmpty
- ? !0
- : s &&
- s.type.name ===
- ((n =
- t.type.contentMatch
- .defaultType) === null ||
- n === void 0
- ? void 0
- : n.name),
- c =
- t.content.childCount <= 1 &&
- s &&
- u &&
- s.nodeSize <= 2 &&
- (!l || !a);
- return (
- t.descendants((d, f) => {
- const p = o >= f && o <= f + d.nodeSize,
- m = !d.isLeaf && !d.childCount;
- if (
- (p || !this.options.showOnlyCurrent) &&
- m
- ) {
- const y = [this.options.emptyNodeClass];
- c &&
- y.push(
- this.options.emptyEditorClass
- );
- const v = qt.node(f, f + d.nodeSize, {
- class: y.join(" "),
- "data-placeholder":
- typeof this.options
- .placeholder == "function"
- ? this.options.placeholder({
- editor: this.editor,
- node: d,
- pos: f,
- hasAnchor: p,
- })
- : this.options.placeholder,
- });
- i.push(v);
- }
- return this.options.includeChildren;
- }),
- ft.create(t, i)
- );
- },
- },
- }),
- ];
- },
- }),
- v5 = Nt.create({
- name: "textAlign",
- addOptions() {
- return {
- types: [],
- alignments: ["left", "center", "right", "justify"],
- defaultAlignment: "left",
- };
- },
- addGlobalAttributes() {
- return [
- {
- types: this.options.types,
- attributes: {
- textAlign: {
- default: this.options.defaultAlignment,
- parseHTML: (t) =>
- t.style.textAlign ||
- this.options.defaultAlignment,
- renderHTML: (t) =>
- t.textAlign === this.options.defaultAlignment
- ? {}
- : { style: `text-align: ${t.textAlign}` },
- },
- },
- },
- ];
- },
- addCommands() {
- return {
- setTextAlign:
- (t) =>
- ({ commands: e }) =>
- this.options.alignments.includes(t)
- ? this.options.types.every((n) =>
- e.updateAttributes(n, { textAlign: t })
- )
- : !1,
- unsetTextAlign:
- () =>
- ({ commands: t }) =>
- this.options.types.every((e) =>
- t.resetAttributes(e, "textAlign")
- ),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-Shift-l": () => this.editor.commands.setTextAlign("left"),
- "Mod-Shift-e": () =>
- this.editor.commands.setTextAlign("center"),
- "Mod-Shift-r": () => this.editor.commands.setTextAlign("right"),
- "Mod-Shift-j": () =>
- this.editor.commands.setTextAlign("justify"),
- };
- },
- });
-var of, sf;
-if (typeof WeakMap != "undefined") {
- let t = new WeakMap();
- (of = (e) => t.get(e)), (sf = (e, n) => (t.set(e, n), n));
-} else {
- const t = [];
- let n = 0;
- (of = (r) => {
- for (let o = 0; o < t.length; o += 2) if (t[o] == r) return t[o + 1];
- }),
- (sf = (r, o) => (n == 10 && (n = 0), (t[n++] = r), (t[n++] = o)));
-}
-var vt = class {
- constructor(t, e, n, r) {
- (this.width = t),
- (this.height = e),
- (this.map = n),
- (this.problems = r);
- }
- findCell(t) {
- for (let e = 0; e < this.map.length; e++) {
- const n = this.map[e];
- if (n != t) continue;
- const r = e % this.width,
- o = (e / this.width) | 0;
- let i = r + 1,
- s = o + 1;
- for (let l = 1; i < this.width && this.map[e + l] == n; l++) i++;
- for (
- let l = 1;
- s < this.height && this.map[e + this.width * l] == n;
- l++
- )
- s++;
- return { left: r, top: o, right: i, bottom: s };
- }
- throw new RangeError(`No cell with offset ${t} found`);
- }
- colCount(t) {
- for (let e = 0; e < this.map.length; e++)
- if (this.map[e] == t) return e % this.width;
- throw new RangeError(`No cell with offset ${t} found`);
- }
- nextCell(t, e, n) {
- const { left: r, right: o, top: i, bottom: s } = this.findCell(t);
- return e == "horiz"
- ? (n < 0 ? r == 0 : o == this.width)
- ? null
- : this.map[i * this.width + (n < 0 ? r - 1 : o)]
- : (n < 0 ? i == 0 : s == this.height)
- ? null
- : this.map[r + this.width * (n < 0 ? i - 1 : s)];
- }
- rectBetween(t, e) {
- const { left: n, right: r, top: o, bottom: i } = this.findCell(t),
- { left: s, right: l, top: a, bottom: u } = this.findCell(e);
- return {
- left: Math.min(n, s),
- top: Math.min(o, a),
- right: Math.max(r, l),
- bottom: Math.max(i, u),
- };
- }
- cellsInRect(t) {
- const e = [],
- n = {};
- for (let r = t.top; r < t.bottom; r++)
- for (let o = t.left; o < t.right; o++) {
- const i = r * this.width + o,
- s = this.map[i];
- n[s] ||
- ((n[s] = !0),
- !(
- (o == t.left && o && this.map[i - 1] == s) ||
- (r == t.top && r && this.map[i - this.width] == s)
- ) && e.push(s));
- }
- return e;
- }
- positionAt(t, e, n) {
- for (let r = 0, o = 0; ; r++) {
- const i = o + n.child(r).nodeSize;
- if (r == t) {
- let s = e + t * this.width;
- const l = (t + 1) * this.width;
- for (; s < l && this.map[s] < o; ) s++;
- return s == l ? i - 1 : this.map[s];
- }
- o = i;
- }
- }
- static get(t) {
- return of(t) || sf(t, b5(t));
- }
-};
-function b5(t) {
- if (t.type.spec.tableRole != "table")
- throw new RangeError("Not a table node: " + t.type.name);
- const e = w5(t),
- n = t.childCount,
- r = [];
- let o = 0,
- i = null;
- const s = [];
- for (let u = 0, c = e * n; u < c; u++) r[u] = 0;
- for (let u = 0, c = 0; u < n; u++) {
- const d = t.child(u);
- c++;
- for (let m = 0; ; m++) {
- for (; o < r.length && r[o] != 0; ) o++;
- if (m == d.childCount) break;
- const y = d.child(m),
- { colspan: v, rowspan: w, colwidth: S } = y.attrs;
- for (let E = 0; E < w; E++) {
- if (E + u >= n) {
- (i || (i = [])).push({
- type: "overlong_rowspan",
- pos: c,
- n: w - E,
- });
- break;
- }
- const h = o + E * e;
- for (let b = 0; b < v; b++) {
- r[h + b] == 0
- ? (r[h + b] = c)
- : (i || (i = [])).push({
- type: "collision",
- row: u,
- pos: c,
- n: v - b,
- });
- const g = S && S[b];
- if (g) {
- const x = ((h + b) % e) * 2,
- k = s[x];
- k == null || (k != g && s[x + 1] == 1)
- ? ((s[x] = g), (s[x + 1] = 1))
- : k == g && s[x + 1]++;
- }
- }
- }
- (o += v), (c += y.nodeSize);
- }
- const f = (u + 1) * e;
- let p = 0;
- for (; o < f; ) r[o++] == 0 && p++;
- p && (i || (i = [])).push({ type: "missing", row: u, n: p }), c++;
- }
- const l = new vt(e, n, r, i);
- let a = !1;
- for (let u = 0; !a && u < s.length; u += 2)
- s[u] != null && s[u + 1] < n && (a = !0);
- return a && x5(l, s, t), l;
-}
-function w5(t) {
- let e = -1,
- n = !1;
- for (let r = 0; r < t.childCount; r++) {
- const o = t.child(r);
- let i = 0;
- if (n)
- for (let s = 0; s < r; s++) {
- const l = t.child(s);
- for (let a = 0; a < l.childCount; a++) {
- const u = l.child(a);
- s + u.attrs.rowspan > r && (i += u.attrs.colspan);
- }
- }
- for (let s = 0; s < o.childCount; s++) {
- const l = o.child(s);
- (i += l.attrs.colspan), l.attrs.rowspan > 1 && (n = !0);
- }
- e == -1 ? (e = i) : e != i && (e = Math.max(e, i));
- }
- return e;
-}
-function x5(t, e, n) {
- t.problems || (t.problems = []);
- const r = {};
- for (let o = 0; o < t.map.length; o++) {
- const i = t.map[o];
- if (r[i]) continue;
- r[i] = !0;
- const s = n.nodeAt(i);
- if (!s) throw new RangeError(`No cell with offset ${i} found`);
- let l = null;
- const a = s.attrs;
- for (let u = 0; u < a.colspan; u++) {
- const c = (o + u) % t.width,
- d = e[c * 2];
- d != null &&
- (!a.colwidth || a.colwidth[u] != d) &&
- ((l || (l = k5(a)))[u] = d);
- }
- l &&
- t.problems.unshift({
- type: "colwidth mismatch",
- pos: i,
- colwidth: l,
- });
- }
-}
-function k5(t) {
- if (t.colwidth) return t.colwidth.slice();
- const e = [];
- for (let n = 0; n < t.colspan; n++) e.push(0);
- return e;
-}
-function Gt(t) {
- let e = t.cached.tableNodeTypes;
- if (!e) {
- e = t.cached.tableNodeTypes = {};
- for (const n in t.nodes) {
- const r = t.nodes[n],
- o = r.spec.tableRole;
- o && (e[o] = r);
- }
- }
- return e;
-}
-var Kr = new Dt("selectingCells");
-function Fi(t) {
- for (let e = t.depth - 1; e > 0; e--)
- if (t.node(e).type.spec.tableRole == "row")
- return t.node(0).resolve(t.before(e + 1));
- return null;
-}
-function S5(t) {
- for (let e = t.depth; e > 0; e--) {
- const n = t.node(e).type.spec.tableRole;
- if (n === "cell" || n === "header_cell") return t.node(e);
- }
- return null;
-}
-function Wn(t) {
- const e = t.selection.$head;
- for (let n = e.depth; n > 0; n--)
- if (e.node(n).type.spec.tableRole == "row") return !0;
- return !1;
-}
-function Zu(t) {
- const e = t.selection;
- if ("$anchorCell" in e && e.$anchorCell)
- return e.$anchorCell.pos > e.$headCell.pos
- ? e.$anchorCell
- : e.$headCell;
- if ("node" in e && e.node && e.node.type.spec.tableRole == "cell")
- return e.$anchor;
- const n = Fi(e.$head) || _5(e.$head);
- if (n) return n;
- throw new RangeError(`No cell found around position ${e.head}`);
-}
-function _5(t) {
- for (let e = t.nodeAfter, n = t.pos; e; e = e.firstChild, n++) {
- const r = e.type.spec.tableRole;
- if (r == "cell" || r == "header_cell") return t.doc.resolve(n);
- }
- for (let e = t.nodeBefore, n = t.pos; e; e = e.lastChild, n--) {
- const r = e.type.spec.tableRole;
- if (r == "cell" || r == "header_cell")
- return t.doc.resolve(n - e.nodeSize);
- }
-}
-function lf(t) {
- return t.parent.type.spec.tableRole == "row" && !!t.nodeAfter;
-}
-function C5(t) {
- return t.node(0).resolve(t.pos + t.nodeAfter.nodeSize);
-}
-function Dh(t, e) {
- return t.depth == e.depth && t.pos >= e.start(-1) && t.pos <= e.end(-1);
-}
-function I2(t, e, n) {
- const r = t.node(-1),
- o = vt.get(r),
- i = t.start(-1),
- s = o.nextCell(t.pos - i, e, n);
- return s == null ? null : t.node(0).resolve(i + s);
-}
-function Wo(t, e, n = 1) {
- const r = ge(B({}, t), { colspan: t.colspan - n });
- return (
- r.colwidth &&
- ((r.colwidth = r.colwidth.slice()),
- r.colwidth.splice(e, n),
- r.colwidth.some((o) => o > 0) || (r.colwidth = null)),
- r
- );
-}
-function N2(t, e, n = 1) {
- const r = ge(B({}, t), { colspan: t.colspan + n });
- if (r.colwidth) {
- r.colwidth = r.colwidth.slice();
- for (let o = 0; o < n; o++) r.colwidth.splice(e, 0, 0);
- }
- return r;
-}
-function M5(t, e, n) {
- const r = Gt(e.type.schema).header_cell;
- for (let o = 0; o < t.height; o++)
- if (e.nodeAt(t.map[n + o * t.width]).type != r) return !1;
- return !0;
-}
-var ut = class vr extends Me {
- constructor(e, n = e) {
- const r = e.node(-1),
- o = vt.get(r),
- i = e.start(-1),
- s = o.rectBetween(e.pos - i, n.pos - i),
- l = e.node(0),
- a = o.cellsInRect(s).filter((c) => c != n.pos - i);
- a.unshift(n.pos - i);
- const u = a.map((c) => {
- const d = r.nodeAt(c);
- if (!d) throw RangeError(`No cell with offset ${c} found`);
- const f = i + c + 1;
- return new wv(l.resolve(f), l.resolve(f + d.content.size));
- });
- super(u[0].$from, u[0].$to, u),
- (this.$anchorCell = e),
- (this.$headCell = n);
- }
- map(e, n) {
- const r = e.resolve(n.map(this.$anchorCell.pos)),
- o = e.resolve(n.map(this.$headCell.pos));
- if (lf(r) && lf(o) && Dh(r, o)) {
- const i = this.$anchorCell.node(-1) != r.node(-1);
- return i && this.isRowSelection()
- ? vr.rowSelection(r, o)
- : i && this.isColSelection()
- ? vr.colSelection(r, o)
- : new vr(r, o);
- }
- return Se.between(r, o);
- }
- content() {
- const e = this.$anchorCell.node(-1),
- n = vt.get(e),
- r = this.$anchorCell.start(-1),
- o = n.rectBetween(this.$anchorCell.pos - r, this.$headCell.pos - r),
- i = {},
- s = [];
- for (let a = o.top; a < o.bottom; a++) {
- const u = [];
- for (
- let c = a * n.width + o.left, d = o.left;
- d < o.right;
- d++, c++
- ) {
- const f = n.map[c];
- if (i[f]) continue;
- i[f] = !0;
- const p = n.findCell(f);
- let m = e.nodeAt(f);
- if (!m) throw RangeError(`No cell with offset ${f} found`);
- const y = o.left - p.left,
- v = p.right - o.right;
- if (y > 0 || v > 0) {
- let w = m.attrs;
- if (
- (y > 0 && (w = Wo(w, 0, y)),
- v > 0 && (w = Wo(w, w.colspan - v, v)),
- p.left < o.left)
- ) {
- if (((m = m.type.createAndFill(w)), !m))
- throw RangeError(
- `Could not create cell with attrs ${JSON.stringify(
- w
- )}`
- );
- } else m = m.type.create(w, m.content);
- }
- if (p.top < o.top || p.bottom > o.bottom) {
- const w = ge(B({}, m.attrs), {
- rowspan:
- Math.min(p.bottom, o.bottom) -
- Math.max(p.top, o.top),
- });
- p.top < o.top
- ? (m = m.type.createAndFill(w))
- : (m = m.type.create(w, m.content));
- }
- u.push(m);
- }
- s.push(e.child(a).copy(J.from(u)));
- }
- const l = this.isColSelection() && this.isRowSelection() ? e : s;
- return new le(J.from(l), 1, 1);
- }
- replace(e, n = le.empty) {
- const r = e.steps.length,
- o = this.ranges;
- for (let s = 0; s < o.length; s++) {
- const { $from: l, $to: a } = o[s],
- u = e.mapping.slice(r);
- e.replace(u.map(l.pos), u.map(a.pos), s ? le.empty : n);
- }
- const i = Me.findFrom(
- e.doc.resolve(e.mapping.slice(r).map(this.to)),
- -1
- );
- i && e.setSelection(i);
- }
- replaceWith(e, n) {
- this.replace(e, new le(J.from(n), 0, 0));
- }
- forEachCell(e) {
- const n = this.$anchorCell.node(-1),
- r = vt.get(n),
- o = this.$anchorCell.start(-1),
- i = r.cellsInRect(
- r.rectBetween(this.$anchorCell.pos - o, this.$headCell.pos - o)
- );
- for (let s = 0; s < i.length; s++) e(n.nodeAt(i[s]), o + i[s]);
- }
- isColSelection() {
- const e = this.$anchorCell.index(-1),
- n = this.$headCell.index(-1);
- if (Math.min(e, n) > 0) return !1;
- const r = e + this.$anchorCell.nodeAfter.attrs.rowspan,
- o = n + this.$headCell.nodeAfter.attrs.rowspan;
- return Math.max(r, o) == this.$headCell.node(-1).childCount;
- }
- static colSelection(e, n = e) {
- const r = e.node(-1),
- o = vt.get(r),
- i = e.start(-1),
- s = o.findCell(e.pos - i),
- l = o.findCell(n.pos - i),
- a = e.node(0);
- return (
- s.top <= l.top
- ? (s.top > 0 && (e = a.resolve(i + o.map[s.left])),
- l.bottom < o.height &&
- (n = a.resolve(
- i + o.map[o.width * (o.height - 1) + l.right - 1]
- )))
- : (l.top > 0 && (n = a.resolve(i + o.map[l.left])),
- s.bottom < o.height &&
- (e = a.resolve(
- i + o.map[o.width * (o.height - 1) + s.right - 1]
- ))),
- new vr(e, n)
- );
- }
- isRowSelection() {
- const e = this.$anchorCell.node(-1),
- n = vt.get(e),
- r = this.$anchorCell.start(-1),
- o = n.colCount(this.$anchorCell.pos - r),
- i = n.colCount(this.$headCell.pos - r);
- if (Math.min(o, i) > 0) return !1;
- const s = o + this.$anchorCell.nodeAfter.attrs.colspan,
- l = i + this.$headCell.nodeAfter.attrs.colspan;
- return Math.max(s, l) == n.width;
- }
- eq(e) {
- return (
- e instanceof vr &&
- e.$anchorCell.pos == this.$anchorCell.pos &&
- e.$headCell.pos == this.$headCell.pos
- );
- }
- static rowSelection(e, n = e) {
- const r = e.node(-1),
- o = vt.get(r),
- i = e.start(-1),
- s = o.findCell(e.pos - i),
- l = o.findCell(n.pos - i),
- a = e.node(0);
- return (
- s.left <= l.left
- ? (s.left > 0 && (e = a.resolve(i + o.map[s.top * o.width])),
- l.right < o.width &&
- (n = a.resolve(i + o.map[o.width * (l.top + 1) - 1])))
- : (l.left > 0 && (n = a.resolve(i + o.map[l.top * o.width])),
- s.right < o.width &&
- (e = a.resolve(i + o.map[o.width * (s.top + 1) - 1]))),
- new vr(e, n)
- );
- }
- toJSON() {
- return {
- type: "cell",
- anchor: this.$anchorCell.pos,
- head: this.$headCell.pos,
- };
- }
- static fromJSON(e, n) {
- return new vr(e.resolve(n.anchor), e.resolve(n.head));
- }
- static create(e, n, r = n) {
- return new vr(e.resolve(n), e.resolve(r));
- }
- getBookmark() {
- return new E5(this.$anchorCell.pos, this.$headCell.pos);
- }
-};
-ut.prototype.visible = !1;
-Me.jsonID("cell", ut);
-var E5 = class D2 {
- constructor(e, n) {
- (this.anchor = e), (this.head = n);
- }
- map(e) {
- return new D2(e.map(this.anchor), e.map(this.head));
- }
- resolve(e) {
- const n = e.resolve(this.anchor),
- r = e.resolve(this.head);
- return n.parent.type.spec.tableRole == "row" &&
- r.parent.type.spec.tableRole == "row" &&
- n.index() < n.parent.childCount &&
- r.index() < r.parent.childCount &&
- Dh(n, r)
- ? new ut(n, r)
- : Me.near(r, 1);
- }
-};
-function T5(t) {
- if (!(t.selection instanceof ut)) return null;
- const e = [];
- return (
- t.selection.forEachCell((n, r) => {
- e.push(qt.node(r, r + n.nodeSize, { class: "selectedCell" }));
- }),
- ft.create(t.doc, e)
- );
-}
-function A5({ $from: t, $to: e }) {
- if (t.pos == e.pos || t.pos < t.pos - 6) return !1;
- let n = t.pos,
- r = e.pos,
- o = t.depth;
- for (; o >= 0 && !(t.after(o + 1) < t.end(o)); o--, n++);
- for (let i = e.depth; i >= 0 && !(e.before(i + 1) > e.start(i)); i--, r--);
- return n == r && /row|table/.test(t.node(o).type.spec.tableRole);
-}
-function O5({ $from: t, $to: e }) {
- let n, r;
- for (let o = t.depth; o > 0; o--) {
- const i = t.node(o);
- if (
- i.type.spec.tableRole === "cell" ||
- i.type.spec.tableRole === "header_cell"
- ) {
- n = i;
- break;
- }
- }
- for (let o = e.depth; o > 0; o--) {
- const i = e.node(o);
- if (
- i.type.spec.tableRole === "cell" ||
- i.type.spec.tableRole === "header_cell"
- ) {
- r = i;
- break;
- }
- }
- return n !== r && e.parentOffset === 0;
-}
-function R5(t, e, n) {
- const r = (e || t).selection,
- o = (e || t).doc;
- let i, s;
- if (r instanceof we && (s = r.node.type.spec.tableRole)) {
- if (s == "cell" || s == "header_cell") i = ut.create(o, r.from);
- else if (s == "row") {
- const l = o.resolve(r.from + 1);
- i = ut.rowSelection(l, l);
- } else if (!n) {
- const l = vt.get(r.node),
- a = r.from + 1,
- u = a + l.map[l.width * l.height - 1];
- i = ut.create(o, a + 1, u);
- }
- } else
- r instanceof Se && A5(r)
- ? (i = Se.create(o, r.from))
- : r instanceof Se &&
- O5(r) &&
- (i = Se.create(o, r.$from.start(), r.$from.end()));
- return i && (e || (e = t.tr)).setSelection(i), e;
-}
-var P5 = new Dt("fix-tables");
-function j2(t, e, n, r) {
- const o = t.childCount,
- i = e.childCount;
- e: for (let s = 0, l = 0; s < i; s++) {
- const a = e.child(s);
- for (let u = l, c = Math.min(o, s + 3); u < c; u++)
- if (t.child(u) == a) {
- (l = u + 1), (n += a.nodeSize);
- continue e;
- }
- r(a, n),
- l < o && t.child(l).sameMarkup(a)
- ? j2(t.child(l), a, n + 1, r)
- : a.nodesBetween(0, a.content.size, r, n + 1),
- (n += a.nodeSize);
- }
-}
-function L2(t, e) {
- let n;
- const r = (o, i) => {
- o.type.spec.tableRole == "table" && (n = I5(t, o, i, n));
- };
- return (
- e ? e.doc != t.doc && j2(e.doc, t.doc, 0, r) : t.doc.descendants(r), n
- );
-}
-function I5(t, e, n, r) {
- const o = vt.get(e);
- if (!o.problems) return r;
- r || (r = t.tr);
- const i = [];
- for (let a = 0; a < o.height; a++) i.push(0);
- for (let a = 0; a < o.problems.length; a++) {
- const u = o.problems[a];
- if (u.type == "collision") {
- const c = e.nodeAt(u.pos);
- if (!c) continue;
- const d = c.attrs;
- for (let f = 0; f < d.rowspan; f++) i[u.row + f] += u.n;
- r.setNodeMarkup(
- r.mapping.map(n + 1 + u.pos),
- null,
- Wo(d, d.colspan - u.n, u.n)
- );
- } else if (u.type == "missing") i[u.row] += u.n;
- else if (u.type == "overlong_rowspan") {
- const c = e.nodeAt(u.pos);
- if (!c) continue;
- r.setNodeMarkup(
- r.mapping.map(n + 1 + u.pos),
- null,
- ge(B({}, c.attrs), { rowspan: c.attrs.rowspan - u.n })
- );
- } else if (u.type == "colwidth mismatch") {
- const c = e.nodeAt(u.pos);
- if (!c) continue;
- r.setNodeMarkup(
- r.mapping.map(n + 1 + u.pos),
- null,
- ge(B({}, c.attrs), { colwidth: u.colwidth })
- );
- }
- }
- let s, l;
- for (let a = 0; a < i.length; a++) i[a] && (s == null && (s = a), (l = a));
- for (let a = 0, u = n + 1; a < o.height; a++) {
- const c = e.child(a),
- d = u + c.nodeSize,
- f = i[a];
- if (f > 0) {
- let p = "cell";
- c.firstChild && (p = c.firstChild.type.spec.tableRole);
- const m = [];
- for (let v = 0; v < f; v++) {
- const w = Gt(t.schema)[p].createAndFill();
- w && m.push(w);
- }
- const y = (a == 0 || s == a - 1) && l == a ? u + 1 : d - 1;
- r.insert(r.mapping.map(y), m);
- }
- u = d;
- }
- return r.setMeta(P5, { fixTables: !0 });
-}
-function N5(t) {
- if (!t.size) return null;
- let { content: e, openStart: n, openEnd: r } = t;
- for (
- ;
- e.childCount == 1 &&
- ((n > 0 && r > 0) || e.child(0).type.spec.tableRole == "table");
-
- )
- n--, r--, (e = e.child(0).content);
- const o = e.child(0),
- i = o.type.spec.tableRole,
- s = o.type.schema,
- l = [];
- if (i == "row")
- for (let a = 0; a < e.childCount; a++) {
- let u = e.child(a).content;
- const c = a ? 0 : Math.max(0, n - 1),
- d = a < e.childCount - 1 ? 0 : Math.max(0, r - 1);
- (c || d) && (u = af(Gt(s).row, new le(u, c, d)).content), l.push(u);
- }
- else if (i == "cell" || i == "header_cell")
- l.push(n || r ? af(Gt(s).row, new le(e, n, r)).content : e);
- else return null;
- return D5(s, l);
-}
-function D5(t, e) {
- const n = [];
- for (let o = 0; o < e.length; o++) {
- const i = e[o];
- for (let s = i.childCount - 1; s >= 0; s--) {
- const { rowspan: l, colspan: a } = i.child(s).attrs;
- for (let u = o; u < o + l; u++) n[u] = (n[u] || 0) + a;
- }
- }
- let r = 0;
- for (let o = 0; o < n.length; o++) r = Math.max(r, n[o]);
- for (let o = 0; o < n.length; o++)
- if ((o >= e.length && e.push(J.empty), n[o] < r)) {
- const i = Gt(t).cell.createAndFill(),
- s = [];
- for (let l = n[o]; l < r; l++) s.push(i);
- e[o] = e[o].append(J.from(s));
- }
- return { height: e.length, width: r, rows: e };
-}
-function af(t, e) {
- const n = t.createAndFill();
- return new fh(n).replace(0, n.content.size, e).doc;
-}
-function j5({ width: t, height: e, rows: n }, r, o) {
- if (t != r) {
- const i = [],
- s = [];
- for (let l = 0; l < n.length; l++) {
- const a = n[l],
- u = [];
- for (let c = i[l] || 0, d = 0; c < r; d++) {
- let f = a.child(d % a.childCount);
- c + f.attrs.colspan > r &&
- (f = f.type.createChecked(
- Wo(f.attrs, f.attrs.colspan, c + f.attrs.colspan - r),
- f.content
- )),
- u.push(f),
- (c += f.attrs.colspan);
- for (let p = 1; p < f.attrs.rowspan; p++)
- i[l + p] = (i[l + p] || 0) + f.attrs.colspan;
- }
- s.push(J.from(u));
- }
- (n = s), (t = r);
- }
- if (e != o) {
- const i = [];
- for (let s = 0, l = 0; s < o; s++, l++) {
- const a = [],
- u = n[l % e];
- for (let c = 0; c < u.childCount; c++) {
- let d = u.child(c);
- s + d.attrs.rowspan > o &&
- (d = d.type.create(
- ge(B({}, d.attrs), {
- rowspan: Math.max(1, o - d.attrs.rowspan),
- }),
- d.content
- )),
- a.push(d);
- }
- i.push(J.from(a));
- }
- (n = i), (e = o);
- }
- return { width: t, height: e, rows: n };
-}
-function L5(t, e, n, r, o, i, s) {
- const l = t.doc.type.schema,
- a = Gt(l);
- let u, c;
- if (o > e.width)
- for (let d = 0, f = 0; d < e.height; d++) {
- const p = n.child(d);
- f += p.nodeSize;
- const m = [];
- let y;
- p.lastChild == null || p.lastChild.type == a.cell
- ? (y = u || (u = a.cell.createAndFill()))
- : (y = c || (c = a.header_cell.createAndFill()));
- for (let v = e.width; v < o; v++) m.push(y);
- t.insert(t.mapping.slice(s).map(f - 1 + r), m);
- }
- if (i > e.height) {
- const d = [];
- for (
- let m = 0, y = (e.height - 1) * e.width;
- m < Math.max(e.width, o);
- m++
- ) {
- const v =
- m >= e.width
- ? !1
- : n.nodeAt(e.map[y + m]).type == a.header_cell;
- d.push(
- v
- ? c || (c = a.header_cell.createAndFill())
- : u || (u = a.cell.createAndFill())
- );
- }
- const f = a.row.create(null, J.from(d)),
- p = [];
- for (let m = e.height; m < i; m++) p.push(f);
- t.insert(t.mapping.slice(s).map(r + n.nodeSize - 2), p);
- }
- return !!(u || c);
-}
-function Ug(t, e, n, r, o, i, s, l) {
- if (s == 0 || s == e.height) return !1;
- let a = !1;
- for (let u = o; u < i; u++) {
- const c = s * e.width + u,
- d = e.map[c];
- if (e.map[c - e.width] == d) {
- a = !0;
- const f = n.nodeAt(d),
- { top: p, left: m } = e.findCell(d);
- t.setNodeMarkup(
- t.mapping.slice(l).map(d + r),
- null,
- ge(B({}, f.attrs), { rowspan: s - p })
- ),
- t.insert(
- t.mapping.slice(l).map(e.positionAt(s, m, n)),
- f.type.createAndFill(
- ge(B({}, f.attrs), { rowspan: p + f.attrs.rowspan - s })
- )
- ),
- (u += f.attrs.colspan - 1);
- }
- }
- return a;
-}
-function Kg(t, e, n, r, o, i, s, l) {
- if (s == 0 || s == e.width) return !1;
- let a = !1;
- for (let u = o; u < i; u++) {
- const c = u * e.width + s,
- d = e.map[c];
- if (e.map[c - 1] == d) {
- a = !0;
- const f = n.nodeAt(d),
- p = e.colCount(d),
- m = t.mapping.slice(l).map(d + r);
- t.setNodeMarkup(
- m,
- null,
- Wo(f.attrs, s - p, f.attrs.colspan - (s - p))
- ),
- t.insert(
- m + f.nodeSize,
- f.type.createAndFill(Wo(f.attrs, 0, s - p))
- ),
- (u += f.attrs.rowspan - 1);
- }
- }
- return a;
-}
-function qg(t, e, n, r, o) {
- let i = n ? t.doc.nodeAt(n - 1) : t.doc;
- if (!i) throw new Error("No table found");
- let s = vt.get(i);
- const { top: l, left: a } = r,
- u = a + o.width,
- c = l + o.height,
- d = t.tr;
- let f = 0;
- function p() {
- if (((i = n ? d.doc.nodeAt(n - 1) : d.doc), !i))
- throw new Error("No table found");
- (s = vt.get(i)), (f = d.mapping.maps.length);
- }
- L5(d, s, i, n, u, c, f) && p(),
- Ug(d, s, i, n, a, u, l, f) && p(),
- Ug(d, s, i, n, a, u, c, f) && p(),
- Kg(d, s, i, n, l, c, a, f) && p(),
- Kg(d, s, i, n, l, c, u, f) && p();
- for (let m = l; m < c; m++) {
- const y = s.positionAt(m, a, i),
- v = s.positionAt(m, u, i);
- d.replace(
- d.mapping.slice(f).map(y + n),
- d.mapping.slice(f).map(v + n),
- new le(o.rows[m - l], 0, 0)
- );
- }
- p(),
- d.setSelection(
- new ut(
- d.doc.resolve(n + s.positionAt(l, a, i)),
- d.doc.resolve(n + s.positionAt(c - 1, u - 1, i))
- )
- ),
- e(d);
-}
-var $5 = Sh({
- ArrowLeft: Rl("horiz", -1),
- ArrowRight: Rl("horiz", 1),
- ArrowUp: Rl("vert", -1),
- ArrowDown: Rl("vert", 1),
- "Shift-ArrowLeft": Pl("horiz", -1),
- "Shift-ArrowRight": Pl("horiz", 1),
- "Shift-ArrowUp": Pl("vert", -1),
- "Shift-ArrowDown": Pl("vert", 1),
- Backspace: Il,
- "Mod-Backspace": Il,
- Delete: Il,
- "Mod-Delete": Il,
-});
-function Yl(t, e, n) {
- return n.eq(t.selection)
- ? !1
- : (e && e(t.tr.setSelection(n).scrollIntoView()), !0);
-}
-function Rl(t, e) {
- return (n, r, o) => {
- if (!o) return !1;
- const i = n.selection;
- if (i instanceof ut) return Yl(n, r, Me.near(i.$headCell, e));
- if (t != "horiz" && !i.empty) return !1;
- const s = $2(o, t, e);
- if (s == null) return !1;
- if (t == "horiz")
- return Yl(n, r, Me.near(n.doc.resolve(i.head + e), e));
- {
- const l = n.doc.resolve(s),
- a = I2(l, t, e);
- let u;
- return (
- a
- ? (u = Me.near(a, 1))
- : e < 0
- ? (u = Me.near(n.doc.resolve(l.before(-1)), -1))
- : (u = Me.near(n.doc.resolve(l.after(-1)), 1)),
- Yl(n, r, u)
- );
- }
- };
-}
-function Pl(t, e) {
- return (n, r, o) => {
- if (!o) return !1;
- const i = n.selection;
- let s;
- if (i instanceof ut) s = i;
- else {
- const a = $2(o, t, e);
- if (a == null) return !1;
- s = new ut(n.doc.resolve(a));
- }
- const l = I2(s.$headCell, t, e);
- return l ? Yl(n, r, new ut(s.$anchorCell, l)) : !1;
- };
-}
-function Il(t, e) {
- const n = t.selection;
- if (!(n instanceof ut)) return !1;
- if (e) {
- const r = t.tr,
- o = Gt(t.schema).cell.createAndFill().content;
- n.forEachCell((i, s) => {
- i.content.eq(o) ||
- r.replace(
- r.mapping.map(s + 1),
- r.mapping.map(s + i.nodeSize - 1),
- new le(o, 0, 0)
- );
- }),
- r.docChanged && e(r);
- }
- return !0;
-}
-function B5(t, e) {
- const n = t.state.doc,
- r = Fi(n.resolve(e));
- return r ? (t.dispatch(t.state.tr.setSelection(new ut(r))), !0) : !1;
-}
-function z5(t, e, n) {
- if (!Wn(t.state)) return !1;
- let r = N5(n);
- const o = t.state.selection;
- if (o instanceof ut) {
- r ||
- (r = {
- width: 1,
- height: 1,
- rows: [J.from(af(Gt(t.state.schema).cell, n))],
- });
- const i = o.$anchorCell.node(-1),
- s = o.$anchorCell.start(-1),
- l = vt
- .get(i)
- .rectBetween(o.$anchorCell.pos - s, o.$headCell.pos - s);
- return (
- (r = j5(r, l.right - l.left, l.bottom - l.top)),
- qg(t.state, t.dispatch, s, l, r),
- !0
- );
- } else if (r) {
- const i = Zu(t.state),
- s = i.start(-1);
- return (
- qg(
- t.state,
- t.dispatch,
- s,
- vt.get(i.node(-1)).findCell(i.pos - s),
- r
- ),
- !0
- );
- } else return !1;
-}
-function H5(t, e) {
- var n;
- if (e.ctrlKey || e.metaKey) return;
- const r = Jg(t, e.target);
- let o;
- if (e.shiftKey && t.state.selection instanceof ut)
- i(t.state.selection.$anchorCell, e), e.preventDefault();
- else if (
- e.shiftKey &&
- r &&
- (o = Fi(t.state.selection.$anchor)) != null &&
- ((n = Zc(t, e)) == null ? void 0 : n.pos) != o.pos
- )
- i(o, e), e.preventDefault();
- else if (!r) return;
- function i(a, u) {
- let c = Zc(t, u);
- const d = Kr.getState(t.state) == null;
- if (!c || !Dh(a, c))
- if (d) c = a;
- else return;
- const f = new ut(a, c);
- if (d || !t.state.selection.eq(f)) {
- const p = t.state.tr.setSelection(f);
- d && p.setMeta(Kr, a.pos), t.dispatch(p);
- }
- }
- function s() {
- t.root.removeEventListener("mouseup", s),
- t.root.removeEventListener("dragstart", s),
- t.root.removeEventListener("mousemove", l),
- Kr.getState(t.state) != null &&
- t.dispatch(t.state.tr.setMeta(Kr, -1));
- }
- function l(a) {
- const u = a,
- c = Kr.getState(t.state);
- let d;
- if (c != null) d = t.state.doc.resolve(c);
- else if (Jg(t, u.target) != r && ((d = Zc(t, e)), !d)) return s();
- d && i(d, u);
- }
- t.root.addEventListener("mouseup", s),
- t.root.addEventListener("dragstart", s),
- t.root.addEventListener("mousemove", l);
-}
-function $2(t, e, n) {
- if (!(t.state.selection instanceof Se)) return null;
- const { $head: r } = t.state.selection;
- for (let o = r.depth - 1; o >= 0; o--) {
- const i = r.node(o);
- if (
- (n < 0 ? r.index(o) : r.indexAfter(o)) != (n < 0 ? 0 : i.childCount)
- )
- return null;
- if (
- i.type.spec.tableRole == "cell" ||
- i.type.spec.tableRole == "header_cell"
- ) {
- const l = r.before(o),
- a =
- e == "vert"
- ? n > 0
- ? "down"
- : "up"
- : n > 0
- ? "right"
- : "left";
- return t.endOfTextblock(a) ? l : null;
- }
- }
- return null;
-}
-function Jg(t, e) {
- for (; e && e != t.dom; e = e.parentNode)
- if (e.nodeName == "TD" || e.nodeName == "TH") return e;
- return null;
-}
-function Zc(t, e) {
- const n = t.posAtCoords({ left: e.clientX, top: e.clientY });
- return n && n ? Fi(t.state.doc.resolve(n.pos)) : null;
-}
-var F5 = class {
- constructor(e, n) {
- (this.node = e),
- (this.cellMinWidth = n),
- (this.dom = document.createElement("div")),
- (this.dom.className = "tableWrapper"),
- (this.table = this.dom.appendChild(
- document.createElement("table")
- )),
- (this.colgroup = this.table.appendChild(
- document.createElement("colgroup")
- )),
- uf(e, this.colgroup, this.table, n),
- (this.contentDOM = this.table.appendChild(
- document.createElement("tbody")
- ));
- }
- update(e) {
- return e.type != this.node.type
- ? !1
- : ((this.node = e),
- uf(e, this.colgroup, this.table, this.cellMinWidth),
- !0);
- }
- ignoreMutation(e) {
- return (
- e.type == "attributes" &&
- (e.target == this.table || this.colgroup.contains(e.target))
- );
- }
-};
-function uf(t, e, n, r, o, i) {
- var s;
- let l = 0,
- a = !0,
- u = e.firstChild;
- const c = t.firstChild;
- if (c) {
- for (let d = 0, f = 0; d < c.childCount; d++) {
- const { colspan: p, colwidth: m } = c.child(d).attrs;
- for (let y = 0; y < p; y++, f++) {
- const v = o == f ? i : m && m[y],
- w = v ? v + "px" : "";
- (l += v || r),
- v || (a = !1),
- u
- ? (u.style.width != w && (u.style.width = w),
- (u = u.nextSibling))
- : (e.appendChild(
- document.createElement("col")
- ).style.width = w);
- }
- }
- for (; u; ) {
- const d = u.nextSibling;
- (s = u.parentNode) == null || s.removeChild(u), (u = d);
- }
- a
- ? ((n.style.width = l + "px"), (n.style.minWidth = ""))
- : ((n.style.width = ""), (n.style.minWidth = l + "px"));
- }
-}
-var Cn = new Dt("tableColumnResizing");
-function V5({
- handleWidth: t = 5,
- cellMinWidth: e = 25,
- View: n = F5,
- lastColumnResizable: r = !0,
-} = {}) {
- const o = new kt({
- key: Cn,
- state: {
- init(i, s) {
- return (
- (o.spec.props.nodeViews[Gt(s.schema).table.name] = (l, a) =>
- new n(l, e, a)),
- new W5(-1, !1)
- );
- },
- apply(i, s) {
- return s.apply(i);
- },
- },
- props: {
- attributes: (i) => {
- const s = Cn.getState(i);
- return s && s.activeHandle > -1
- ? { class: "resize-cursor" }
- : {};
- },
- handleDOMEvents: {
- mousemove: (i, s) => {
- U5(i, s, t, e, r);
- },
- mouseleave: (i) => {
- K5(i);
- },
- mousedown: (i, s) => {
- q5(i, s, e);
- },
- },
- decorations: (i) => {
- const s = Cn.getState(i);
- if (s && s.activeHandle > -1) return Z5(i, s.activeHandle);
- },
- nodeViews: {},
- },
- });
- return o;
-}
-var W5 = class Ql {
- constructor(e, n) {
- (this.activeHandle = e), (this.dragging = n);
- }
- apply(e) {
- const n = this,
- r = e.getMeta(Cn);
- if (r && r.setHandle != null) return new Ql(r.setHandle, !1);
- if (r && r.setDragging !== void 0)
- return new Ql(n.activeHandle, r.setDragging);
- if (n.activeHandle > -1 && e.docChanged) {
- let o = e.mapping.map(n.activeHandle, -1);
- return lf(e.doc.resolve(o)) || (o = -1), new Ql(o, n.dragging);
- }
- return n;
- }
-};
-function U5(t, e, n, r, o) {
- const i = Cn.getState(t.state);
- if (i && !i.dragging) {
- const s = G5(e.target);
- let l = -1;
- if (s) {
- const { left: a, right: u } = s.getBoundingClientRect();
- e.clientX - a <= n
- ? (l = Gg(t, e, "left", n))
- : u - e.clientX <= n && (l = Gg(t, e, "right", n));
- }
- if (l != i.activeHandle) {
- if (!o && l !== -1) {
- const a = t.state.doc.resolve(l),
- u = a.node(-1),
- c = vt.get(u),
- d = a.start(-1);
- if (
- c.colCount(a.pos - d) + a.nodeAfter.attrs.colspan - 1 ==
- c.width - 1
- )
- return;
- }
- B2(t, l);
- }
- }
-}
-function K5(t) {
- const e = Cn.getState(t.state);
- e && e.activeHandle > -1 && !e.dragging && B2(t, -1);
-}
-function q5(t, e, n) {
- const r = Cn.getState(t.state);
- if (!r || r.activeHandle == -1 || r.dragging) return !1;
- const o = t.state.doc.nodeAt(r.activeHandle),
- i = J5(t, r.activeHandle, o.attrs);
- t.dispatch(
- t.state.tr.setMeta(Cn, {
- setDragging: { startX: e.clientX, startWidth: i },
- })
- );
- function s(a) {
- window.removeEventListener("mouseup", s),
- window.removeEventListener("mousemove", l);
- const u = Cn.getState(t.state);
- u != null &&
- u.dragging &&
- (Y5(t, u.activeHandle, Yg(u.dragging, a, n)),
- t.dispatch(t.state.tr.setMeta(Cn, { setDragging: null })));
- }
- function l(a) {
- if (!a.which) return s(a);
- const u = Cn.getState(t.state);
- if (u && u.dragging) {
- const c = Yg(u.dragging, a, n);
- Q5(t, u.activeHandle, c, n);
- }
- }
- return (
- window.addEventListener("mouseup", s),
- window.addEventListener("mousemove", l),
- e.preventDefault(),
- !0
- );
-}
-function J5(t, e, { colspan: n, colwidth: r }) {
- const o = r && r[r.length - 1];
- if (o) return o;
- const i = t.domAtPos(e);
- let l = i.node.childNodes[i.offset].offsetWidth,
- a = n;
- if (r) for (let u = 0; u < n; u++) r[u] && ((l -= r[u]), a--);
- return l / a;
-}
-function G5(t) {
- for (; t && t.nodeName != "TD" && t.nodeName != "TH"; )
- t =
- t.classList && t.classList.contains("ProseMirror")
- ? null
- : t.parentNode;
- return t;
-}
-function Gg(t, e, n, r) {
- const o = n == "right" ? -r : r,
- i = t.posAtCoords({ left: e.clientX + o, top: e.clientY });
- if (!i) return -1;
- const { pos: s } = i,
- l = Fi(t.state.doc.resolve(s));
- if (!l) return -1;
- if (n == "right") return l.pos;
- const a = vt.get(l.node(-1)),
- u = l.start(-1),
- c = a.map.indexOf(l.pos - u);
- return c % a.width == 0 ? -1 : u + a.map[c - 1];
-}
-function Yg(t, e, n) {
- const r = e.clientX - t.startX;
- return Math.max(n, t.startWidth + r);
-}
-function B2(t, e) {
- t.dispatch(t.state.tr.setMeta(Cn, { setHandle: e }));
-}
-function Y5(t, e, n) {
- const r = t.state.doc.resolve(e),
- o = r.node(-1),
- i = vt.get(o),
- s = r.start(-1),
- l = i.colCount(r.pos - s) + r.nodeAfter.attrs.colspan - 1,
- a = t.state.tr;
- for (let u = 0; u < i.height; u++) {
- const c = u * i.width + l;
- if (u && i.map[c] == i.map[c - i.width]) continue;
- const d = i.map[c],
- f = o.nodeAt(d).attrs,
- p = f.colspan == 1 ? 0 : l - i.colCount(d);
- if (f.colwidth && f.colwidth[p] == n) continue;
- const m = f.colwidth ? f.colwidth.slice() : X5(f.colspan);
- (m[p] = n), a.setNodeMarkup(s + d, null, ge(B({}, f), { colwidth: m }));
- }
- a.docChanged && t.dispatch(a);
-}
-function Q5(t, e, n, r) {
- const o = t.state.doc.resolve(e),
- i = o.node(-1),
- s = o.start(-1),
- l = vt.get(i).colCount(o.pos - s) + o.nodeAfter.attrs.colspan - 1;
- let a = t.domAtPos(o.start(-1)).node;
- for (; a && a.nodeName != "TABLE"; ) a = a.parentNode;
- a && uf(i, a.firstChild, a, r, l, n);
-}
-function X5(t) {
- return Array(t).fill(0);
-}
-function Z5(t, e) {
- const n = [],
- r = t.doc.resolve(e),
- o = r.node(-1);
- if (!o) return ft.empty;
- const i = vt.get(o),
- s = r.start(-1),
- l = i.colCount(r.pos - s) + r.nodeAfter.attrs.colspan;
- for (let a = 0; a < i.height; a++) {
- const u = l + a * i.width - 1;
- if (
- (l == i.width || i.map[u] != i.map[u + 1]) &&
- (a == 0 || i.map[u] != i.map[u - i.width])
- ) {
- const c = i.map[u],
- d = s + c + o.nodeAt(c).nodeSize - 1,
- f = document.createElement("div");
- (f.className = "column-resize-handle"), n.push(qt.widget(d, f));
- }
- }
- return ft.create(t.doc, n);
-}
-function hr(t) {
- const e = t.selection,
- n = Zu(t),
- r = n.node(-1),
- o = n.start(-1),
- i = vt.get(r),
- s =
- e instanceof ut
- ? i.rectBetween(e.$anchorCell.pos - o, e.$headCell.pos - o)
- : i.findCell(n.pos - o);
- return ge(B({}, s), { tableStart: o, map: i, table: r });
-}
-function z2(t, { map: e, tableStart: n, table: r }, o) {
- let i = o > 0 ? -1 : 0;
- M5(e, r, o + i) && (i = o == 0 || o == e.width ? null : 0);
- for (let s = 0; s < e.height; s++) {
- const l = s * e.width + o;
- if (o > 0 && o < e.width && e.map[l - 1] == e.map[l]) {
- const a = e.map[l],
- u = r.nodeAt(a);
- t.setNodeMarkup(
- t.mapping.map(n + a),
- null,
- N2(u.attrs, o - e.colCount(a))
- ),
- (s += u.attrs.rowspan - 1);
- } else {
- const a =
- i == null
- ? Gt(r.type.schema).cell
- : r.nodeAt(e.map[l + i]).type,
- u = e.positionAt(s, o, r);
- t.insert(t.mapping.map(n + u), a.createAndFill());
- }
- }
- return t;
-}
-function e6(t, e) {
- if (!Wn(t)) return !1;
- if (e) {
- const n = hr(t);
- e(z2(t.tr, n, n.left));
- }
- return !0;
-}
-function t6(t, e) {
- if (!Wn(t)) return !1;
- if (e) {
- const n = hr(t);
- e(z2(t.tr, n, n.right));
- }
- return !0;
-}
-function n6(t, { map: e, table: n, tableStart: r }, o) {
- const i = t.mapping.maps.length;
- for (let s = 0; s < e.height; ) {
- const l = s * e.width + o,
- a = e.map[l],
- u = n.nodeAt(a),
- c = u.attrs;
- if (
- (o > 0 && e.map[l - 1] == a) ||
- (o < e.width - 1 && e.map[l + 1] == a)
- )
- t.setNodeMarkup(
- t.mapping.slice(i).map(r + a),
- null,
- Wo(c, o - e.colCount(a))
- );
- else {
- const d = t.mapping.slice(i).map(r + a);
- t.delete(d, d + u.nodeSize);
- }
- s += c.rowspan;
- }
-}
-function r6(t, e) {
- if (!Wn(t)) return !1;
- if (e) {
- const n = hr(t),
- r = t.tr;
- if (n.left == 0 && n.right == n.map.width) return !1;
- for (let o = n.right - 1; n6(r, n, o), o != n.left; o--) {
- const i = n.tableStart ? r.doc.nodeAt(n.tableStart - 1) : r.doc;
- if (!i) throw RangeError("No table found");
- (n.table = i), (n.map = vt.get(i));
- }
- e(r);
- }
- return !0;
-}
-function o6(t, e, n) {
- var r;
- const o = Gt(e.type.schema).header_cell;
- for (let i = 0; i < t.width; i++)
- if (
- ((r = e.nodeAt(t.map[i + n * t.width])) == null
- ? void 0
- : r.type) != o
- )
- return !1;
- return !0;
-}
-function H2(t, { map: e, tableStart: n, table: r }, o) {
- var i;
- let s = n;
- for (let u = 0; u < o; u++) s += r.child(u).nodeSize;
- const l = [];
- let a = o > 0 ? -1 : 0;
- o6(e, r, o + a) && (a = o == 0 || o == e.height ? null : 0);
- for (let u = 0, c = e.width * o; u < e.width; u++, c++)
- if (o > 0 && o < e.height && e.map[c] == e.map[c - e.width]) {
- const d = e.map[c],
- f = r.nodeAt(d).attrs;
- t.setNodeMarkup(
- n + d,
- null,
- ge(B({}, f), { rowspan: f.rowspan + 1 })
- ),
- (u += f.colspan - 1);
- } else {
- const d =
- a == null
- ? Gt(r.type.schema).cell
- : (i = r.nodeAt(e.map[c + a * e.width])) == null
- ? void 0
- : i.type,
- f = d == null ? void 0 : d.createAndFill();
- f && l.push(f);
- }
- return t.insert(s, Gt(r.type.schema).row.create(null, l)), t;
-}
-function i6(t, e) {
- if (!Wn(t)) return !1;
- if (e) {
- const n = hr(t);
- e(H2(t.tr, n, n.top));
- }
- return !0;
-}
-function s6(t, e) {
- if (!Wn(t)) return !1;
- if (e) {
- const n = hr(t);
- e(H2(t.tr, n, n.bottom));
- }
- return !0;
-}
-function l6(t, { map: e, table: n, tableStart: r }, o) {
- let i = 0;
- for (let u = 0; u < o; u++) i += n.child(u).nodeSize;
- const s = i + n.child(o).nodeSize,
- l = t.mapping.maps.length;
- t.delete(i + r, s + r);
- const a = new Set();
- for (let u = 0, c = o * e.width; u < e.width; u++, c++) {
- const d = e.map[c];
- if (!a.has(d)) {
- if ((a.add(d), o > 0 && d == e.map[c - e.width])) {
- const f = n.nodeAt(d).attrs;
- t.setNodeMarkup(
- t.mapping.slice(l).map(d + r),
- null,
- ge(B({}, f), { rowspan: f.rowspan - 1 })
- ),
- (u += f.colspan - 1);
- } else if (o < e.height && d == e.map[c + e.width]) {
- const f = n.nodeAt(d),
- p = f.attrs,
- m = f.type.create(
- ge(B({}, p), { rowspan: f.attrs.rowspan - 1 }),
- f.content
- ),
- y = e.positionAt(o + 1, u, n);
- t.insert(t.mapping.slice(l).map(r + y), m),
- (u += p.colspan - 1);
- }
- }
- }
-}
-function a6(t, e) {
- if (!Wn(t)) return !1;
- if (e) {
- const n = hr(t),
- r = t.tr;
- if (n.top == 0 && n.bottom == n.map.height) return !1;
- for (let o = n.bottom - 1; l6(r, n, o), o != n.top; o--) {
- const i = n.tableStart ? r.doc.nodeAt(n.tableStart - 1) : r.doc;
- if (!i) throw RangeError("No table found");
- (n.table = i), (n.map = vt.get(n.table));
- }
- e(r);
- }
- return !0;
-}
-function Qg(t) {
- const e = t.content;
- return (
- e.childCount == 1 &&
- e.child(0).isTextblock &&
- e.child(0).childCount == 0
- );
-}
-function u6({ width: t, height: e, map: n }, r) {
- let o = r.top * t + r.left,
- i = o,
- s = (r.bottom - 1) * t + r.left,
- l = o + (r.right - r.left - 1);
- for (let a = r.top; a < r.bottom; a++) {
- if (
- (r.left > 0 && n[i] == n[i - 1]) ||
- (r.right < t && n[l] == n[l + 1])
- )
- return !0;
- (i += t), (l += t);
- }
- for (let a = r.left; a < r.right; a++) {
- if (
- (r.top > 0 && n[o] == n[o - t]) ||
- (r.bottom < e && n[s] == n[s + t])
- )
- return !0;
- o++, s++;
- }
- return !1;
-}
-function Xg(t, e) {
- const n = t.selection;
- if (!(n instanceof ut) || n.$anchorCell.pos == n.$headCell.pos) return !1;
- const r = hr(t),
- { map: o } = r;
- if (u6(o, r)) return !1;
- if (e) {
- const i = t.tr,
- s = {};
- let l = J.empty,
- a,
- u;
- for (let c = r.top; c < r.bottom; c++)
- for (let d = r.left; d < r.right; d++) {
- const f = o.map[c * o.width + d],
- p = r.table.nodeAt(f);
- if (!(s[f] || !p))
- if (((s[f] = !0), a == null)) (a = f), (u = p);
- else {
- Qg(p) || (l = l.append(p.content));
- const m = i.mapping.map(f + r.tableStart);
- i.delete(m, m + p.nodeSize);
- }
- }
- if (a == null || u == null) return !0;
- if (
- (i.setNodeMarkup(
- a + r.tableStart,
- null,
- ge(
- B(
- {},
- N2(
- u.attrs,
- u.attrs.colspan,
- r.right - r.left - u.attrs.colspan
- )
- ),
- { rowspan: r.bottom - r.top }
- )
- ),
- l.size)
- ) {
- const c = a + 1 + u.content.size,
- d = Qg(u) ? a + 1 : c;
- i.replaceWith(d + r.tableStart, c + r.tableStart, l);
- }
- i.setSelection(new ut(i.doc.resolve(a + r.tableStart))), e(i);
- }
- return !0;
-}
-function Zg(t, e) {
- const n = Gt(t.schema);
- return c6(({ node: r }) => n[r.type.spec.tableRole])(t, e);
-}
-function c6(t) {
- return (e, n) => {
- var r;
- const o = e.selection;
- let i, s;
- if (o instanceof ut) {
- if (o.$anchorCell.pos != o.$headCell.pos) return !1;
- (i = o.$anchorCell.nodeAfter), (s = o.$anchorCell.pos);
- } else {
- if (((i = S5(o.$from)), !i)) return !1;
- s = (r = Fi(o.$from)) == null ? void 0 : r.pos;
- }
- if (
- i == null ||
- s == null ||
- (i.attrs.colspan == 1 && i.attrs.rowspan == 1)
- )
- return !1;
- if (n) {
- let l = i.attrs;
- const a = [],
- u = l.colwidth;
- l.rowspan > 1 && (l = ge(B({}, l), { rowspan: 1 })),
- l.colspan > 1 && (l = ge(B({}, l), { colspan: 1 }));
- const c = hr(e),
- d = e.tr;
- for (let p = 0; p < c.right - c.left; p++)
- a.push(
- u
- ? ge(B({}, l), { colwidth: u && u[p] ? [u[p]] : null })
- : l
- );
- let f;
- for (let p = c.top; p < c.bottom; p++) {
- let m = c.map.positionAt(p, c.left, c.table);
- p == c.top && (m += i.nodeSize);
- for (let y = c.left, v = 0; y < c.right; y++, v++)
- (y == c.left && p == c.top) ||
- d.insert(
- (f = d.mapping.map(m + c.tableStart, 1)),
- t({ node: i, row: p, col: y }).createAndFill(a[v])
- );
- }
- d.setNodeMarkup(s, t({ node: i, row: c.top, col: c.left }), a[0]),
- o instanceof ut &&
- d.setSelection(
- new ut(
- d.doc.resolve(o.$anchorCell.pos),
- f ? d.doc.resolve(f) : void 0
- )
- ),
- n(d);
- }
- return !0;
- };
-}
-function d6(t, e) {
- return function (n, r) {
- if (!Wn(n)) return !1;
- const o = Zu(n);
- if (o.nodeAfter.attrs[t] === e) return !1;
- if (r) {
- const i = n.tr;
- n.selection instanceof ut
- ? n.selection.forEachCell((s, l) => {
- s.attrs[t] !== e &&
- i.setNodeMarkup(
- l,
- null,
- ge(B({}, s.attrs), { [t]: e })
- );
- })
- : i.setNodeMarkup(
- o.pos,
- null,
- ge(B({}, o.nodeAfter.attrs), { [t]: e })
- ),
- r(i);
- }
- return !0;
- };
-}
-function f6(t) {
- return function (e, n) {
- if (!Wn(e)) return !1;
- if (n) {
- const r = Gt(e.schema),
- o = hr(e),
- i = e.tr,
- s = o.map.cellsInRect(
- t == "column"
- ? {
- left: o.left,
- top: 0,
- right: o.right,
- bottom: o.map.height,
- }
- : t == "row"
- ? {
- left: 0,
- top: o.top,
- right: o.map.width,
- bottom: o.bottom,
- }
- : o
- ),
- l = s.map((a) => o.table.nodeAt(a));
- for (let a = 0; a < s.length; a++)
- l[a].type == r.header_cell &&
- i.setNodeMarkup(o.tableStart + s[a], r.cell, l[a].attrs);
- if (i.steps.length == 0)
- for (let a = 0; a < s.length; a++)
- i.setNodeMarkup(
- o.tableStart + s[a],
- r.header_cell,
- l[a].attrs
- );
- n(i);
- }
- return !0;
- };
-}
-function e1(t, e, n) {
- const r = e.map.cellsInRect({
- left: 0,
- top: 0,
- right: t == "row" ? e.map.width : 1,
- bottom: t == "column" ? e.map.height : 1,
- });
- for (let o = 0; o < r.length; o++) {
- const i = e.table.nodeAt(r[o]);
- if (i && i.type !== n.header_cell) return !1;
- }
- return !0;
-}
-function Fs(t, e) {
- return (
- (e = e || { useDeprecatedLogic: !1 }),
- e.useDeprecatedLogic
- ? f6(t)
- : function (n, r) {
- if (!Wn(n)) return !1;
- if (r) {
- const o = Gt(n.schema),
- i = hr(n),
- s = n.tr,
- l = e1("row", i, o),
- a = e1("column", i, o),
- c = (t === "column" ? l : t === "row" ? a : !1)
- ? 1
- : 0,
- d =
- t == "column"
- ? {
- left: 0,
- top: c,
- right: 1,
- bottom: i.map.height,
- }
- : t == "row"
- ? {
- left: c,
- top: 0,
- right: i.map.width,
- bottom: 1,
- }
- : i,
- f =
- t == "column"
- ? a
- ? o.cell
- : o.header_cell
- : t == "row"
- ? l
- ? o.cell
- : o.header_cell
- : o.cell;
- i.map.cellsInRect(d).forEach((p) => {
- const m = p + i.tableStart,
- y = s.doc.nodeAt(m);
- y && s.setNodeMarkup(m, f, y.attrs);
- }),
- r(s);
- }
- return !0;
- }
- );
-}
-Fs("row", { useDeprecatedLogic: !0 });
-Fs("column", { useDeprecatedLogic: !0 });
-var h6 = Fs("cell", { useDeprecatedLogic: !0 });
-function p6(t, e) {
- if (e < 0) {
- const n = t.nodeBefore;
- if (n) return t.pos - n.nodeSize;
- for (let r = t.index(-1) - 1, o = t.before(); r >= 0; r--) {
- const i = t.node(-1).child(r),
- s = i.lastChild;
- if (s) return o - 1 - s.nodeSize;
- o -= i.nodeSize;
- }
- } else {
- if (t.index() < t.parent.childCount - 1)
- return t.pos + t.nodeAfter.nodeSize;
- const n = t.node(-1);
- for (let r = t.indexAfter(-1), o = t.after(); r < n.childCount; r++) {
- const i = n.child(r);
- if (i.childCount) return o + 1;
- o += i.nodeSize;
- }
- }
- return null;
-}
-function t1(t) {
- return function (e, n) {
- if (!Wn(e)) return !1;
- const r = p6(Zu(e), t);
- if (r == null) return !1;
- if (n) {
- const o = e.doc.resolve(r);
- n(e.tr.setSelection(Se.between(o, C5(o))).scrollIntoView());
- }
- return !0;
- };
-}
-function m6(t, e) {
- const n = t.selection.$anchor;
- for (let r = n.depth; r > 0; r--)
- if (n.node(r).type.spec.tableRole == "table")
- return (
- e && e(t.tr.delete(n.before(r), n.after(r)).scrollIntoView()),
- !0
- );
- return !1;
-}
-function g6({ allowTableNodeSelection: t = !1 } = {}) {
- return new kt({
- key: Kr,
- state: {
- init() {
- return null;
- },
- apply(e, n) {
- const r = e.getMeta(Kr);
- if (r != null) return r == -1 ? null : r;
- if (n == null || !e.docChanged) return n;
- const { deleted: o, pos: i } = e.mapping.mapResult(n);
- return o ? null : i;
- },
- },
- props: {
- decorations: T5,
- handleDOMEvents: { mousedown: H5 },
- createSelectionBetween(e) {
- return Kr.getState(e.state) != null ? e.state.selection : null;
- },
- handleTripleClick: B5,
- handleKeyDown: $5,
- handlePaste: z5,
- },
- appendTransaction(e, n, r) {
- return R5(r, L2(r, n), t);
- },
- });
-}
-function n1(t, e, n, r, o, i) {
- let s = 0,
- l = !0,
- a = e.firstChild;
- const u = t.firstChild;
- for (let c = 0, d = 0; c < u.childCount; c += 1) {
- const { colspan: f, colwidth: p } = u.child(c).attrs;
- for (let m = 0; m < f; m += 1, d += 1) {
- const y = o === d ? i : p && p[m],
- v = y ? `${y}px` : "";
- (s += y || r),
- y || (l = !1),
- a
- ? (a.style.width !== v && (a.style.width = v),
- (a = a.nextSibling))
- : (e.appendChild(
- document.createElement("col")
- ).style.width = v);
- }
- }
- for (; a; ) {
- const c = a.nextSibling;
- a.parentNode.removeChild(a), (a = c);
- }
- l
- ? ((n.style.width = `${s}px`), (n.style.minWidth = ""))
- : ((n.style.width = ""), (n.style.minWidth = `${s}px`));
-}
-class y6 {
- constructor(e, n) {
- (this.node = e),
- (this.cellMinWidth = n),
- (this.dom = document.createElement("div")),
- (this.dom.className = "tableWrapper"),
- (this.table = this.dom.appendChild(
- document.createElement("table")
- )),
- (this.colgroup = this.table.appendChild(
- document.createElement("colgroup")
- )),
- n1(e, this.colgroup, this.table, n),
- (this.contentDOM = this.table.appendChild(
- document.createElement("tbody")
- ));
- }
- update(e) {
- return e.type !== this.node.type
- ? !1
- : ((this.node = e),
- n1(e, this.colgroup, this.table, this.cellMinWidth),
- !0);
- }
- ignoreMutation(e) {
- return (
- e.type === "attributes" &&
- (e.target === this.table || this.colgroup.contains(e.target))
- );
- }
-}
-function v6(t, e, n, r) {
- let o = 0,
- i = !0;
- const s = [],
- l = t.firstChild;
- if (!l) return {};
- for (let d = 0, f = 0; d < l.childCount; d += 1) {
- const { colspan: p, colwidth: m } = l.child(d).attrs;
- for (let y = 0; y < p; y += 1, f += 1) {
- const v = n === f ? r : m && m[y],
- w = v ? `${v}px` : "";
- (o += v || e),
- v || (i = !1),
- s.push(["col", w ? { style: `width: ${w}` } : {}]);
- }
- }
- const a = i ? `${o}px` : "",
- u = i ? "" : `${o}px`;
- return {
- colgroup: ["colgroup", {}, ...s],
- tableWidth: a,
- tableMinWidth: u,
- };
-}
-function r1(t, e) {
- return e ? t.createChecked(null, e) : t.createAndFill();
-}
-function b6(t) {
- if (t.cached.tableNodeTypes) return t.cached.tableNodeTypes;
- const e = {};
- return (
- Object.keys(t.nodes).forEach((n) => {
- const r = t.nodes[n];
- r.spec.tableRole && (e[r.spec.tableRole] = r);
- }),
- (t.cached.tableNodeTypes = e),
- e
- );
-}
-function w6(t, e, n, r, o) {
- const i = b6(t),
- s = [],
- l = [];
- for (let u = 0; u < n; u += 1) {
- const c = r1(i.cell, o);
- if ((c && l.push(c), r)) {
- const d = r1(i.header_cell, o);
- d && s.push(d);
- }
- }
- const a = [];
- for (let u = 0; u < e; u += 1)
- a.push(i.row.createChecked(null, r && u === 0 ? s : l));
- return i.table.createChecked(null, a);
-}
-function x6(t) {
- return t instanceof ut;
-}
-const Nl = ({ editor: t }) => {
- const { selection: e } = t.state;
- if (!x6(e)) return !1;
- let n = 0;
- const r = m2(e.ranges[0].$from, (i) => i.type.name === "table");
- return (
- r == null ||
- r.node.descendants((i) => {
- if (i.type.name === "table") return !1;
- ["tableCell", "tableHeader"].includes(i.type.name) &&
- (n += 1);
- }),
- n === e.ranges.length ? (t.commands.deleteTable(), !0) : !1
- );
- },
- k6 = Pt.create({
- name: "table",
- addOptions() {
- return {
- HTMLAttributes: {},
- resizable: !1,
- handleWidth: 5,
- cellMinWidth: 25,
- View: y6,
- lastColumnResizable: !0,
- allowTableNodeSelection: !1,
- };
- },
- content: "tableRow+",
- tableRole: "table",
- isolating: !0,
- group: "block",
- parseHTML() {
- return [{ tag: "table" }];
- },
- renderHTML({ node: t, HTMLAttributes: e }) {
- const {
- colgroup: n,
- tableWidth: r,
- tableMinWidth: o,
- } = v6(t, this.options.cellMinWidth);
- return [
- "table",
- et(this.options.HTMLAttributes, e, {
- style: r ? `width: ${r}` : `minWidth: ${o}`,
- }),
- n,
- ["tbody", 0],
- ];
- },
- addCommands() {
- return {
- insertTable:
- ({
- rows: t = 3,
- cols: e = 3,
- withHeaderRow: n = !0,
- } = {}) =>
- ({ tr: r, dispatch: o, editor: i }) => {
- const s = w6(i.schema, t, e, n);
- if (o) {
- const l = r.selection.anchor + 1;
- r.replaceSelectionWith(s)
- .scrollIntoView()
- .setSelection(Se.near(r.doc.resolve(l)));
- }
- return !0;
- },
- addColumnBefore:
- () =>
- ({ state: t, dispatch: e }) =>
- e6(t, e),
- addColumnAfter:
- () =>
- ({ state: t, dispatch: e }) =>
- t6(t, e),
- deleteColumn:
- () =>
- ({ state: t, dispatch: e }) =>
- r6(t, e),
- addRowBefore:
- () =>
- ({ state: t, dispatch: e }) =>
- i6(t, e),
- addRowAfter:
- () =>
- ({ state: t, dispatch: e }) =>
- s6(t, e),
- deleteRow:
- () =>
- ({ state: t, dispatch: e }) =>
- a6(t, e),
- deleteTable:
- () =>
- ({ state: t, dispatch: e }) =>
- m6(t, e),
- mergeCells:
- () =>
- ({ state: t, dispatch: e }) =>
- Xg(t, e),
- splitCell:
- () =>
- ({ state: t, dispatch: e }) =>
- Zg(t, e),
- toggleHeaderColumn:
- () =>
- ({ state: t, dispatch: e }) =>
- Fs("column")(t, e),
- toggleHeaderRow:
- () =>
- ({ state: t, dispatch: e }) =>
- Fs("row")(t, e),
- toggleHeaderCell:
- () =>
- ({ state: t, dispatch: e }) =>
- h6(t, e),
- mergeOrSplit:
- () =>
- ({ state: t, dispatch: e }) =>
- Xg(t, e) ? !0 : Zg(t, e),
- setCellAttribute:
- (t, e) =>
- ({ state: n, dispatch: r }) =>
- d6(t, e)(n, r),
- goToNextCell:
- () =>
- ({ state: t, dispatch: e }) =>
- t1(1)(t, e),
- goToPreviousCell:
- () =>
- ({ state: t, dispatch: e }) =>
- t1(-1)(t, e),
- fixTables:
- () =>
- ({ state: t, dispatch: e }) => (e && L2(t), !0),
- setCellSelection:
- (t) =>
- ({ tr: e, dispatch: n }) => {
- if (n) {
- const r = ut.create(
- e.doc,
- t.anchorCell,
- t.headCell
- );
- e.setSelection(r);
- }
- return !0;
- },
- };
- },
- addKeyboardShortcuts() {
- return {
- Tab: () =>
- this.editor.commands.goToNextCell()
- ? !0
- : this.editor.can().addRowAfter()
- ? this.editor.chain().addRowAfter().goToNextCell().run()
- : !1,
- "Shift-Tab": () => this.editor.commands.goToPreviousCell(),
- Backspace: Nl,
- "Mod-Backspace": Nl,
- Delete: Nl,
- "Mod-Delete": Nl,
- };
- },
- addProseMirrorPlugins() {
- return [
- ...(this.options.resizable && this.editor.isEditable
- ? [
- V5({
- handleWidth: this.options.handleWidth,
- cellMinWidth: this.options.cellMinWidth,
- View: this.options.View,
- lastColumnResizable:
- this.options.lastColumnResizable,
- }),
- ]
- : []),
- g6({
- allowTableNodeSelection:
- this.options.allowTableNodeSelection,
- }),
- ];
- },
- extendNodeSchema(t) {
- const e = { name: t.name, options: t.options, storage: t.storage };
- return { tableRole: Be(fe(t, "tableRole", e)) };
- },
- }),
- S6 = Pt.create({
- name: "tableCell",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- content: "block+",
- addAttributes() {
- return {
- colspan: { default: 1 },
- rowspan: { default: 1 },
- colwidth: {
- default: null,
- parseHTML: (t) => {
- const e = t.getAttribute("colwidth");
- return e ? [parseInt(e, 10)] : null;
- },
- },
- };
- },
- tableRole: "cell",
- isolating: !0,
- parseHTML() {
- return [{ tag: "td" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["td", et(this.options.HTMLAttributes, t), 0];
- },
- }),
- _6 = Pt.create({
- name: "tableHeader",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- content: "block+",
- addAttributes() {
- return {
- colspan: { default: 1 },
- rowspan: { default: 1 },
- colwidth: {
- default: null,
- parseHTML: (t) => {
- const e = t.getAttribute("colwidth");
- return e ? [parseInt(e, 10)] : null;
- },
- },
- };
- },
- tableRole: "header_cell",
- isolating: !0,
- parseHTML() {
- return [{ tag: "th" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["th", et(this.options.HTMLAttributes, t), 0];
- },
- }),
- C6 = Pt.create({
- name: "tableRow",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- content: "(tableCell | tableHeader)*",
- tableRole: "row",
- parseHTML() {
- return [{ tag: "tr" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["tr", et(this.options.HTMLAttributes, t), 0];
- },
- }),
- o1 = (t) =>
- new Promise((e) => {
- let n = new FileReader();
- (n.onloadend = () => {
- e(n.result);
- }),
- n.readAsDataURL(t);
- }),
- M6 = /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,
- E6 = Pt.create({
- name: "image",
- addOptions() {
- return { inline: !1, HTMLAttributes: {} };
- },
- inline() {
- return this.options.inline;
- },
- group() {
- return this.options.inline ? "inline" : "block";
- },
- draggable: !0,
- addAttributes() {
- return {
- src: { default: null },
- alt: { default: null },
- title: { default: null },
- };
- },
- parseHTML() {
- return [{ tag: "img[src]" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["img", et(this.options.HTMLAttributes, t)];
- },
- addCommands() {
- return {
- setImage:
- (t) =>
- ({ commands: e }) =>
- e.insertContent({ type: this.name, attrs: t }),
- };
- },
- addInputRules() {
- return [
- v2({
- find: M6,
- type: this.type,
- getAttributes: (t) => {
- const [, , e, n, r] = t;
- return { src: n, alt: e, title: r };
- },
- }),
- ];
- },
- addProseMirrorPlugins() {
- return [T6()];
- },
- }),
- T6 = () =>
- new kt({
- props: {
- handlePaste(t, e, n) {
- var i;
- const r = Array.from(
- ((i = e.clipboardData) == null
- ? void 0
- : i.items) || []
- ),
- { schema: o } = t.state;
- return (
- r.forEach((s) => {
- const l = s.getAsFile();
- l &&
- s.type.indexOf("image") === 0 &&
- (e.preventDefault(),
- o1(l).then((a) => {
- const u = o.nodes.image.create({ src: a }),
- c = t.state.tr.replaceSelectionWith(u);
- t.dispatch(c);
- }));
- }),
- !1
- );
- },
- handleDOMEvents: {
- drop: (t, e) => {
- var s, l;
- if (
- !(
- e.dataTransfer &&
- e.dataTransfer.files &&
- e.dataTransfer.files.length
- )
- )
- return !1;
- const r = Array.from(
- (l =
- (s = e.dataTransfer) == null
- ? void 0
- : s.files) != null
- ? l
- : []
- ).filter((a) => /image/i.test(a.type));
- if (r.length === 0) return !1;
- e.preventDefault();
- const { schema: o } = t.state,
- i = t.posAtCoords({
- left: e.clientX,
- top: e.clientY,
- });
- return i
- ? (r.forEach((a) =>
- pr(void 0, null, function* () {
- o1(a).then((u) => {
- const c = o.nodes.image.create({
- src: u,
- }),
- d = t.state.tr.insert(i.pos, c);
- t.dispatch(d);
- });
- })
- ),
- !0)
- : !1;
- },
- },
- },
- }),
- A6 = Pt.create({
- name: "video",
- group: "block",
- selectable: !0,
- draggable: !0,
- atom: !0,
- addAttributes() {
- return { src: { default: null } };
- },
- parseHTML() {
- return [{ tag: "video" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["video", et(t)];
- },
- addNodeView() {
- return ({ editor: t, node: e }) => {
- const n = document.createElement("div");
- n.className =
- "relative aspect-w-16 aspect-h-9" +
- (t.isEditable ? " cursor-pointer" : "");
- const r = document.createElement("video");
- if (
- (t.isEditable && (r.className = "pointer-events-none"),
- (r.src = e.attrs.src),
- !t.isEditable)
- )
- r.setAttribute("controls", "");
- else {
- let o = document.createElement("div");
- (o.className =
- "absolute top-0 right-0 text-xs m-2 bg-gray-800 text-white px-2 py-1 rounded-md"),
- (o.innerHTML = "Video"),
- n.append(o);
- }
- return n.append(r), { dom: n };
- };
- },
- }),
- O6 =
- "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster6d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",
- R6 =
- "ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",
- ji = (t, e) => {
- for (const n in e) t[n] = e[n];
- return t;
- },
- cf = "numeric",
- df = "ascii",
- ff = "alpha",
- Xl = "asciinumeric",
- Dl = "alphanumeric",
- hf = "domain",
- F2 = "emoji",
- P6 = "scheme",
- I6 = "slashscheme",
- i1 = "whitespace";
-function N6(t, e) {
- return t in e || (e[t] = []), e[t];
-}
-function Ao(t, e, n) {
- e[cf] && ((e[Xl] = !0), (e[Dl] = !0)),
- e[df] && ((e[Xl] = !0), (e[ff] = !0)),
- e[Xl] && (e[Dl] = !0),
- e[ff] && (e[Dl] = !0),
- e[Dl] && (e[hf] = !0),
- e[F2] && (e[hf] = !0);
- for (const r in e) {
- const o = N6(r, n);
- o.indexOf(t) < 0 && o.push(t);
- }
-}
-function D6(t, e) {
- const n = {};
- for (const r in e) e[r].indexOf(t) >= 0 && (n[r] = !0);
- return n;
-}
-function ln(t) {
- t === void 0 && (t = null),
- (this.j = {}),
- (this.jr = []),
- (this.jd = null),
- (this.t = t);
-}
-ln.groups = {};
-ln.prototype = {
- accepts() {
- return !!this.t;
- },
- go(t) {
- const e = this,
- n = e.j[t];
- if (n) return n;
- for (let r = 0; r < e.jr.length; r++) {
- const o = e.jr[r][0],
- i = e.jr[r][1];
- if (i && o.test(t)) return i;
- }
- return e.jd;
- },
- has(t, e) {
- return e === void 0 && (e = !1), e ? t in this.j : !!this.go(t);
- },
- ta(t, e, n, r) {
- for (let o = 0; o < t.length; o++) this.tt(t[o], e, n, r);
- },
- tr(t, e, n, r) {
- r = r || ln.groups;
- let o;
- return (
- e && e.j ? (o = e) : ((o = new ln(e)), n && r && Ao(e, n, r)),
- this.jr.push([t, o]),
- o
- );
- },
- ts(t, e, n, r) {
- let o = this;
- const i = t.length;
- if (!i) return o;
- for (let s = 0; s < i - 1; s++) o = o.tt(t[s]);
- return o.tt(t[i - 1], e, n, r);
- },
- tt(t, e, n, r) {
- r = r || ln.groups;
- const o = this;
- if (e && e.j) return (o.j[t] = e), e;
- const i = e;
- let s,
- l = o.go(t);
- if (
- (l
- ? ((s = new ln()),
- ji(s.j, l.j),
- s.jr.push.apply(s.jr, l.jr),
- (s.jd = l.jd),
- (s.t = l.t))
- : (s = new ln()),
- i)
- ) {
- if (r)
- if (s.t && typeof s.t == "string") {
- const a = ji(D6(s.t, r), n);
- Ao(i, a, r);
- } else n && Ao(i, n, r);
- s.t = i;
- }
- return (o.j[t] = s), s;
- },
-};
-const Ve = (t, e, n, r, o) => t.ta(e, n, r, o),
- xn = (t, e, n, r, o) => t.tr(e, n, r, o),
- s1 = (t, e, n, r, o) => t.ts(e, n, r, o),
- se = (t, e, n, r, o) => t.tt(e, n, r, o),
- br = "WORD",
- pf = "UWORD",
- Vs = "LOCALHOST",
- mf = "TLD",
- gf = "UTLD",
- Zl = "SCHEME",
- ii = "SLASH_SCHEME",
- jh = "NUM",
- V2 = "WS",
- Lh = "NL",
- bs = "OPENBRACE",
- ws = "CLOSEBRACE",
- La = "OPENBRACKET",
- $a = "CLOSEBRACKET",
- Ba = "OPENPAREN",
- za = "CLOSEPAREN",
- Ha = "OPENANGLEBRACKET",
- Fa = "CLOSEANGLEBRACKET",
- Va = "FULLWIDTHLEFTPAREN",
- Wa = "FULLWIDTHRIGHTPAREN",
- Ua = "LEFTCORNERBRACKET",
- Ka = "RIGHTCORNERBRACKET",
- qa = "LEFTWHITECORNERBRACKET",
- Ja = "RIGHTWHITECORNERBRACKET",
- Ga = "FULLWIDTHLESSTHAN",
- Ya = "FULLWIDTHGREATERTHAN",
- Qa = "AMPERSAND",
- Xa = "APOSTROPHE",
- Za = "ASTERISK",
- Vr = "AT",
- eu = "BACKSLASH",
- tu = "BACKTICK",
- nu = "CARET",
- qr = "COLON",
- $h = "COMMA",
- ru = "DOLLAR",
- qn = "DOT",
- ou = "EQUALS",
- Bh = "EXCLAMATION",
- Jn = "HYPHEN",
- iu = "PERCENT",
- su = "PIPE",
- lu = "PLUS",
- au = "POUND",
- uu = "QUERY",
- zh = "QUOTE",
- Hh = "SEMI",
- Gn = "SLASH",
- xs = "TILDE",
- cu = "UNDERSCORE",
- W2 = "EMOJI",
- du = "SYM";
-var U2 = Object.freeze({
- __proto__: null,
- WORD: br,
- UWORD: pf,
- LOCALHOST: Vs,
- TLD: mf,
- UTLD: gf,
- SCHEME: Zl,
- SLASH_SCHEME: ii,
- NUM: jh,
- WS: V2,
- NL: Lh,
- OPENBRACE: bs,
- CLOSEBRACE: ws,
- OPENBRACKET: La,
- CLOSEBRACKET: $a,
- OPENPAREN: Ba,
- CLOSEPAREN: za,
- OPENANGLEBRACKET: Ha,
- CLOSEANGLEBRACKET: Fa,
- FULLWIDTHLEFTPAREN: Va,
- FULLWIDTHRIGHTPAREN: Wa,
- LEFTCORNERBRACKET: Ua,
- RIGHTCORNERBRACKET: Ka,
- LEFTWHITECORNERBRACKET: qa,
- RIGHTWHITECORNERBRACKET: Ja,
- FULLWIDTHLESSTHAN: Ga,
- FULLWIDTHGREATERTHAN: Ya,
- AMPERSAND: Qa,
- APOSTROPHE: Xa,
- ASTERISK: Za,
- AT: Vr,
- BACKSLASH: eu,
- BACKTICK: tu,
- CARET: nu,
- COLON: qr,
- COMMA: $h,
- DOLLAR: ru,
- DOT: qn,
- EQUALS: ou,
- EXCLAMATION: Bh,
- HYPHEN: Jn,
- PERCENT: iu,
- PIPE: su,
- PLUS: lu,
- POUND: au,
- QUERY: uu,
- QUOTE: zh,
- SEMI: Hh,
- SLASH: Gn,
- TILDE: xs,
- UNDERSCORE: cu,
- EMOJI: W2,
- SYM: du,
-});
-const Zo = /[a-z]/,
- ed = new RegExp("\\p{L}", "u"),
- td = new RegExp("\\p{Emoji}", "u"),
- nd = /\d/,
- l1 = /\s/,
- a1 = `
-`,
- j6 = "️",
- L6 = "";
-let jl = null,
- Ll = null;
-function $6(t) {
- t === void 0 && (t = []);
- const e = {};
- ln.groups = e;
- const n = new ln();
- jl == null && (jl = u1(O6)),
- Ll == null && (Ll = u1(R6)),
- se(n, "'", Xa),
- se(n, "{", bs),
- se(n, "}", ws),
- se(n, "[", La),
- se(n, "]", $a),
- se(n, "(", Ba),
- se(n, ")", za),
- se(n, "<", Ha),
- se(n, ">", Fa),
- se(n, "(", Va),
- se(n, ")", Wa),
- se(n, "「", Ua),
- se(n, "」", Ka),
- se(n, "『", qa),
- se(n, "』", Ja),
- se(n, "<", Ga),
- se(n, ">", Ya),
- se(n, "&", Qa),
- se(n, "*", Za),
- se(n, "@", Vr),
- se(n, "`", tu),
- se(n, "^", nu),
- se(n, ":", qr),
- se(n, ",", $h),
- se(n, "$", ru),
- se(n, ".", qn),
- se(n, "=", ou),
- se(n, "!", Bh),
- se(n, "-", Jn),
- se(n, "%", iu),
- se(n, "|", su),
- se(n, "+", lu),
- se(n, "#", au),
- se(n, "?", uu),
- se(n, '"', zh),
- se(n, "/", Gn),
- se(n, ";", Hh),
- se(n, "~", xs),
- se(n, "_", cu),
- se(n, "\\", eu);
- const r = xn(n, nd, jh, { [cf]: !0 });
- xn(r, nd, r);
- const o = xn(n, Zo, br, { [df]: !0 });
- xn(o, Zo, o);
- const i = xn(n, ed, pf, { [ff]: !0 });
- xn(i, Zo), xn(i, ed, i);
- const s = xn(n, l1, V2, { [i1]: !0 });
- se(n, a1, Lh, { [i1]: !0 }), se(s, a1), xn(s, l1, s);
- const l = xn(n, td, W2, { [F2]: !0 });
- xn(l, td, l), se(l, j6, l);
- const a = se(l, L6);
- xn(a, td, l);
- const u = [[Zo, o]],
- c = [
- [Zo, null],
- [ed, i],
- ];
- for (let d = 0; d < jl.length; d++) Ir(n, jl[d], mf, br, u);
- for (let d = 0; d < Ll.length; d++) Ir(n, Ll[d], gf, pf, c);
- Ao(mf, { tld: !0, ascii: !0 }, e),
- Ao(gf, { utld: !0, alpha: !0 }, e),
- Ir(n, "file", Zl, br, u),
- Ir(n, "mailto", Zl, br, u),
- Ir(n, "http", ii, br, u),
- Ir(n, "https", ii, br, u),
- Ir(n, "ftp", ii, br, u),
- Ir(n, "ftps", ii, br, u),
- Ao(Zl, { scheme: !0, ascii: !0 }, e),
- Ao(ii, { slashscheme: !0, ascii: !0 }, e),
- (t = t.sort((d, f) => (d[0] > f[0] ? 1 : -1)));
- for (let d = 0; d < t.length; d++) {
- const f = t[d][0],
- m = t[d][1] ? { [P6]: !0 } : { [I6]: !0 };
- f.indexOf("-") >= 0
- ? (m[hf] = !0)
- : Zo.test(f)
- ? nd.test(f)
- ? (m[Xl] = !0)
- : (m[df] = !0)
- : (m[cf] = !0),
- s1(n, f, f, m);
- }
- return (
- s1(n, "localhost", Vs, { ascii: !0 }),
- (n.jd = new ln(du)),
- { start: n, tokens: ji({ groups: e }, U2) }
- );
-}
-function B6(t, e) {
- const n = z6(e.replace(/[A-Z]/g, (l) => l.toLowerCase())),
- r = n.length,
- o = [];
- let i = 0,
- s = 0;
- for (; s < r; ) {
- let l = t,
- a = null,
- u = 0,
- c = null,
- d = -1,
- f = -1;
- for (; s < r && (a = l.go(n[s])); )
- (l = a),
- l.accepts()
- ? ((d = 0), (f = 0), (c = l))
- : d >= 0 && ((d += n[s].length), f++),
- (u += n[s].length),
- (i += n[s].length),
- s++;
- (i -= d),
- (s -= f),
- (u -= d),
- o.push({ t: c.t, v: e.slice(i - u, i), s: i - u, e: i });
- }
- return o;
-}
-function z6(t) {
- const e = [],
- n = t.length;
- let r = 0;
- for (; r < n; ) {
- let o = t.charCodeAt(r),
- i,
- s =
- o < 55296 ||
- o > 56319 ||
- r + 1 === n ||
- (i = t.charCodeAt(r + 1)) < 56320 ||
- i > 57343
- ? t[r]
- : t.slice(r, r + 2);
- e.push(s), (r += s.length);
- }
- return e;
-}
-function Ir(t, e, n, r, o) {
- let i;
- const s = e.length;
- for (let l = 0; l < s - 1; l++) {
- const a = e[l];
- t.j[a]
- ? (i = t.j[a])
- : ((i = new ln(r)), (i.jr = o.slice()), (t.j[a] = i)),
- (t = i);
- }
- return (i = new ln(n)), (i.jr = o.slice()), (t.j[e[s - 1]] = i), i;
-}
-function u1(t) {
- const e = [],
- n = [];
- let r = 0,
- o = "0123456789";
- for (; r < t.length; ) {
- let i = 0;
- for (; o.indexOf(t[r + i]) >= 0; ) i++;
- if (i > 0) {
- e.push(n.join(""));
- for (let s = parseInt(t.substring(r, r + i), 10); s > 0; s--)
- n.pop();
- r += i;
- } else n.push(t[r]), r++;
- }
- return e;
-}
-const Ws = {
- defaultProtocol: "http",
- events: null,
- format: c1,
- formatHref: c1,
- nl2br: !1,
- tagName: "a",
- target: null,
- rel: null,
- validate: !0,
- truncate: 1 / 0,
- className: null,
- attributes: null,
- ignoreTags: [],
- render: null,
-};
-function Fh(t, e) {
- e === void 0 && (e = null);
- let n = ji({}, Ws);
- t && (n = ji(n, t instanceof Fh ? t.o : t));
- const r = n.ignoreTags,
- o = [];
- for (let i = 0; i < r.length; i++) o.push(r[i].toUpperCase());
- (this.o = n), e && (this.defaultRender = e), (this.ignoreTags = o);
-}
-Fh.prototype = {
- o: Ws,
- ignoreTags: [],
- defaultRender(t) {
- return t;
- },
- check(t) {
- return this.get("validate", t.toString(), t);
- },
- get(t, e, n) {
- const r = e != null;
- let o = this.o[t];
- return (
- o &&
- (typeof o == "object"
- ? ((o = n.t in o ? o[n.t] : Ws[t]),
- typeof o == "function" && r && (o = o(e, n)))
- : typeof o == "function" && r && (o = o(e, n.t, n)),
- o)
- );
- },
- getObj(t, e, n) {
- let r = this.o[t];
- return typeof r == "function" && e != null && (r = r(e, n.t, n)), r;
- },
- render(t) {
- const e = t.render(this);
- return (this.get("render", null, t) || this.defaultRender)(e, t.t, t);
- },
-};
-function c1(t) {
- return t;
-}
-function K2(t, e) {
- (this.t = "token"), (this.v = t), (this.tk = e);
-}
-K2.prototype = {
- isLink: !1,
- toString() {
- return this.v;
- },
- toHref(t) {
- return this.toString();
- },
- toFormattedString(t) {
- const e = this.toString(),
- n = t.get("truncate", e, this),
- r = t.get("format", e, this);
- return n && r.length > n ? r.substring(0, n) + "…" : r;
- },
- toFormattedHref(t) {
- return t.get("formatHref", this.toHref(t.get("defaultProtocol")), this);
- },
- startIndex() {
- return this.tk[0].s;
- },
- endIndex() {
- return this.tk[this.tk.length - 1].e;
- },
- toObject(t) {
- return (
- t === void 0 && (t = Ws.defaultProtocol),
- {
- type: this.t,
- value: this.toString(),
- isLink: this.isLink,
- href: this.toHref(t),
- start: this.startIndex(),
- end: this.endIndex(),
- }
- );
- },
- toFormattedObject(t) {
- return {
- type: this.t,
- value: this.toFormattedString(t),
- isLink: this.isLink,
- href: this.toFormattedHref(t),
- start: this.startIndex(),
- end: this.endIndex(),
- };
- },
- validate(t) {
- return t.get("validate", this.toString(), this);
- },
- render(t) {
- const e = this,
- n = this.toHref(t.get("defaultProtocol")),
- r = t.get("formatHref", n, this),
- o = t.get("tagName", n, e),
- i = this.toFormattedString(t),
- s = {},
- l = t.get("className", n, e),
- a = t.get("target", n, e),
- u = t.get("rel", n, e),
- c = t.getObj("attributes", n, e),
- d = t.getObj("events", n, e);
- return (
- (s.href = r),
- l && (s.class = l),
- a && (s.target = a),
- u && (s.rel = u),
- c && ji(s, c),
- { tagName: o, attributes: s, content: i, eventListeners: d }
- );
- },
-};
-function ec(t, e) {
- class n extends K2 {
- constructor(o, i) {
- super(o, i), (this.t = t);
- }
- }
- for (const r in e) n.prototype[r] = e[r];
- return (n.t = t), n;
-}
-const d1 = ec("email", {
- isLink: !0,
- toHref() {
- return "mailto:" + this.toString();
- },
- }),
- f1 = ec("text"),
- H6 = ec("nl"),
- $l = ec("url", {
- isLink: !0,
- toHref(t) {
- return (
- t === void 0 && (t = Ws.defaultProtocol),
- this.hasProtocol() ? this.v : `${t}://${this.v}`
- );
- },
- hasProtocol() {
- const t = this.tk;
- return t.length >= 2 && t[0].t !== Vs && t[1].t === qr;
- },
- }),
- kn = (t) => new ln(t);
-function F6(t) {
- let { groups: e } = t;
- const n = e.domain.concat([
- Qa,
- Za,
- Vr,
- eu,
- tu,
- nu,
- ru,
- ou,
- Jn,
- jh,
- iu,
- su,
- lu,
- au,
- Gn,
- du,
- xs,
- cu,
- ]),
- r = [
- Xa,
- qr,
- $h,
- qn,
- Bh,
- uu,
- zh,
- Hh,
- Ha,
- Fa,
- bs,
- ws,
- $a,
- La,
- Ba,
- za,
- Va,
- Wa,
- Ua,
- Ka,
- qa,
- Ja,
- Ga,
- Ya,
- ],
- o = [
- Qa,
- Xa,
- Za,
- eu,
- tu,
- nu,
- ru,
- ou,
- Jn,
- bs,
- ws,
- iu,
- su,
- lu,
- au,
- uu,
- Gn,
- du,
- xs,
- cu,
- ],
- i = kn(),
- s = se(i, xs);
- Ve(s, o, s), Ve(s, e.domain, s);
- const l = kn(),
- a = kn(),
- u = kn();
- Ve(i, e.domain, l),
- Ve(i, e.scheme, a),
- Ve(i, e.slashscheme, u),
- Ve(l, o, s),
- Ve(l, e.domain, l);
- const c = se(l, Vr);
- se(s, Vr, c), se(a, Vr, c), se(u, Vr, c);
- const d = se(s, qn);
- Ve(d, o, s), Ve(d, e.domain, s);
- const f = kn();
- Ve(c, e.domain, f), Ve(f, e.domain, f);
- const p = se(f, qn);
- Ve(p, e.domain, f);
- const m = kn(d1);
- Ve(p, e.tld, m), Ve(p, e.utld, m), se(c, Vs, m);
- const y = se(f, Jn);
- Ve(y, e.domain, f), Ve(m, e.domain, f), se(m, qn, p), se(m, Jn, y);
- const v = se(m, qr);
- Ve(v, e.numeric, d1);
- const w = se(l, Jn),
- S = se(l, qn);
- Ve(w, e.domain, l), Ve(S, o, s), Ve(S, e.domain, l);
- const E = kn($l);
- Ve(S, e.tld, E),
- Ve(S, e.utld, E),
- Ve(E, e.domain, l),
- Ve(E, o, s),
- se(E, qn, S),
- se(E, Jn, w),
- se(E, Vr, c);
- const h = se(E, qr),
- b = kn($l);
- Ve(h, e.numeric, b);
- const g = kn($l),
- x = kn();
- Ve(g, n, g),
- Ve(g, r, x),
- Ve(x, n, g),
- Ve(x, r, x),
- se(E, Gn, g),
- se(b, Gn, g);
- const k = se(a, qr),
- C = se(u, qr),
- _ = se(C, Gn),
- T = se(_, Gn);
- Ve(a, e.domain, l),
- se(a, qn, S),
- se(a, Jn, w),
- Ve(u, e.domain, l),
- se(u, qn, S),
- se(u, Jn, w),
- Ve(k, e.domain, g),
- se(k, Gn, g),
- Ve(T, e.domain, g),
- Ve(T, n, g),
- se(T, Gn, g);
- const R = [
- [bs, ws],
- [La, $a],
- [Ba, za],
- [Ha, Fa],
- [Va, Wa],
- [Ua, Ka],
- [qa, Ja],
- [Ga, Ya],
- ];
- for (let P = 0; P < R.length; P++) {
- const [D, j] = R[P],
- M = se(g, D);
- se(x, D, M), se(M, j, g);
- const I = kn($l);
- Ve(M, n, I);
- const $ = kn();
- Ve(M, r),
- Ve(I, n, I),
- Ve(I, r, $),
- Ve($, n, I),
- Ve($, r, $),
- se(I, j, g),
- se($, j, g);
- }
- return se(i, Vs, E), se(i, Lh, H6), { start: i, tokens: U2 };
-}
-function V6(t, e, n) {
- let r = n.length,
- o = 0,
- i = [],
- s = [];
- for (; o < r; ) {
- let l = t,
- a = null,
- u = null,
- c = 0,
- d = null,
- f = -1;
- for (; o < r && !(a = l.go(n[o].t)); ) s.push(n[o++]);
- for (; o < r && (u = a || l.go(n[o].t)); )
- (a = null),
- (l = u),
- l.accepts() ? ((f = 0), (d = l)) : f >= 0 && f++,
- o++,
- c++;
- if (f < 0) (o -= c), o < r && (s.push(n[o]), o++);
- else {
- s.length > 0 && (i.push(rd(f1, e, s)), (s = [])),
- (o -= f),
- (c -= f);
- const p = d.t,
- m = n.slice(o - c, o);
- i.push(rd(p, e, m));
- }
- }
- return s.length > 0 && i.push(rd(f1, e, s)), i;
-}
-function rd(t, e, n) {
- const r = n[0].s,
- o = n[n.length - 1].e,
- i = e.slice(r, o);
- return new t(i, n);
-}
-const W6 =
- (typeof console != "undefined" && console && console.warn) ||
- (() => {}),
- U6 =
- "until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",
- ht = {
- scanner: null,
- parser: null,
- tokenQueue: [],
- pluginQueue: [],
- customSchemes: [],
- initialized: !1,
- };
-function K6() {
- (ln.groups = {}),
- (ht.scanner = null),
- (ht.parser = null),
- (ht.tokenQueue = []),
- (ht.pluginQueue = []),
- (ht.customSchemes = []),
- (ht.initialized = !1);
-}
-function h1(t, e) {
- if (
- (e === void 0 && (e = !1),
- ht.initialized &&
- W6(
- `linkifyjs: already initialized - will not register custom scheme "${t}" ${U6}`
- ),
- !/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))
- )
- throw new Error(`linkifyjs: incorrect scheme format.
-1. Must only contain digits, lowercase ASCII letters or "-"
-2. Cannot start or end with "-"
-3. "-" cannot repeat`);
- ht.customSchemes.push([t, e]);
-}
-function q6() {
- ht.scanner = $6(ht.customSchemes);
- for (let t = 0; t < ht.tokenQueue.length; t++)
- ht.tokenQueue[t][1]({ scanner: ht.scanner });
- ht.parser = F6(ht.scanner.tokens);
- for (let t = 0; t < ht.pluginQueue.length; t++)
- ht.pluginQueue[t][1]({ scanner: ht.scanner, parser: ht.parser });
- ht.initialized = !0;
-}
-function J6(t) {
- return (
- ht.initialized || q6(), V6(ht.parser.start, t, B6(ht.scanner.start, t))
- );
-}
-function Vh(t, e, n) {
- if (
- (e === void 0 && (e = null),
- n === void 0 && (n = null),
- e && typeof e == "object")
- ) {
- if (n)
- throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);
- (n = e), (e = null);
- }
- const r = new Fh(n),
- o = J6(t),
- i = [];
- for (let s = 0; s < o.length; s++) {
- const l = o[s];
- l.isLink &&
- (!e || l.t === e) &&
- r.check(l) &&
- i.push(l.toFormattedObject(r));
- }
- return i;
-}
-function G6(t) {
- return new kt({
- key: new Dt("autolink"),
- appendTransaction: (e, n, r) => {
- const o = e.some((u) => u.docChanged) && !n.doc.eq(r.doc),
- i = e.some((u) => u.getMeta("preventAutolink"));
- if (!o || i) return;
- const { tr: s } = r,
- l = Z4(n.doc, [...e]);
- if (
- (lA(l).forEach(({ newRange: u }) => {
- const c = tA(r.doc, u, (p) => p.isTextblock);
- let d, f;
- if (
- (c.length > 1
- ? ((d = c[0]),
- (f = r.doc.textBetween(
- d.pos,
- d.pos + d.node.nodeSize,
- void 0,
- " "
- )))
- : c.length &&
- r.doc
- .textBetween(u.from, u.to, " ", " ")
- .endsWith(" ") &&
- ((d = c[0]),
- (f = r.doc.textBetween(
- d.pos,
- u.to,
- void 0,
- " "
- ))),
- d && f)
- ) {
- const p = f.split(" ").filter((v) => v !== "");
- if (p.length <= 0) return !1;
- const m = p[p.length - 1],
- y = d.pos + f.lastIndexOf(m);
- if (!m) return !1;
- Vh(m)
- .filter((v) => v.isLink)
- .map((v) =>
- ge(B({}, v), {
- from: y + v.start + 1,
- to: y + v.end + 1,
- })
- )
- .filter((v) =>
- r.schema.marks.code
- ? !r.doc.rangeHasMark(
- v.from,
- v.to,
- r.schema.marks.code
- )
- : !0
- )
- .filter((v) =>
- t.validate ? t.validate(v.value) : !0
- )
- .forEach((v) => {
- Ph(v.from, v.to, r.doc).some(
- (w) => w.mark.type === t.type
- ) ||
- s.addMark(
- v.from,
- v.to,
- t.type.create({ href: v.href })
- );
- });
- }
- }),
- !!s.steps.length)
- )
- return s;
- },
- });
-}
-function Y6(t) {
- return new kt({
- key: new Dt("handleClickLink"),
- props: {
- handleClick: (e, n, r) => {
- var o, i;
- if (r.button !== 0) return !1;
- let s = r.target;
- const l = [];
- for (; s.nodeName !== "DIV"; ) l.push(s), (s = s.parentNode);
- if (!l.find((f) => f.nodeName === "A")) return !1;
- const a = g2(e.state, t.type.name),
- u = r.target,
- c =
- (o = u == null ? void 0 : u.href) !== null &&
- o !== void 0
- ? o
- : a.href,
- d =
- (i = u == null ? void 0 : u.target) !== null &&
- i !== void 0
- ? i
- : a.target;
- return u && c ? (window.open(c, d), !0) : !1;
- },
- },
- });
-}
-function Q6(t) {
- return new kt({
- key: new Dt("handlePasteLink"),
- props: {
- handlePaste: (e, n, r) => {
- const { state: o } = e,
- { selection: i } = o,
- { empty: s } = i;
- if (s) return !1;
- let l = "";
- r.content.forEach((u) => {
- l += u.textContent;
- });
- const a = Vh(l).find((u) => u.isLink && u.value === l);
- return !l || !a
- ? !1
- : (t.editor.commands.setMark(t.type, { href: a.href }), !0);
- },
- },
- });
-}
-const X6 = vn.create({
- name: "link",
- priority: 1e3,
- keepOnSplit: !1,
- onCreate() {
- this.options.protocols.forEach((t) => {
- if (typeof t == "string") {
- h1(t);
- return;
- }
- h1(t.scheme, t.optionalSlashes);
- });
- },
- onDestroy() {
- K6();
- },
- inclusive() {
- return this.options.autolink;
- },
- addOptions() {
- return {
- openOnClick: !0,
- linkOnPaste: !0,
- autolink: !0,
- protocols: [],
- HTMLAttributes: {
- target: "_blank",
- rel: "noopener noreferrer nofollow",
- class: null,
- },
- validate: void 0,
- };
- },
- addAttributes() {
- return {
- href: { default: null },
- target: { default: this.options.HTMLAttributes.target },
- rel: { default: this.options.HTMLAttributes.rel },
- class: { default: this.options.HTMLAttributes.class },
- };
- },
- parseHTML() {
- return [{ tag: 'a[href]:not([href *= "javascript:" i])' }];
- },
- renderHTML({ HTMLAttributes: t }) {
- var e;
- return !((e = t.href) === null || e === void 0) &&
- e.startsWith("javascript:")
- ? [
- "a",
- et(
- this.options.HTMLAttributes,
- ge(B({}, t), { href: "" })
- ),
- 0,
- ]
- : ["a", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setLink:
- (t) =>
- ({ chain: e }) =>
- e()
- .setMark(this.name, t)
- .setMeta("preventAutolink", !0)
- .run(),
- toggleLink:
- (t) =>
- ({ chain: e }) =>
- e()
- .toggleMark(this.name, t, {
- extendEmptyMarkRange: !0,
- })
- .setMeta("preventAutolink", !0)
- .run(),
- unsetLink:
- () =>
- ({ chain: t }) =>
- t()
- .unsetMark(this.name, { extendEmptyMarkRange: !0 })
- .setMeta("preventAutolink", !0)
- .run(),
- };
- },
- addPasteRules() {
- return [
- so({
- find: (t, e) => {
- var n;
- const r =
- (n = e == null ? void 0 : e.clipboardData) ===
- null || n === void 0
- ? void 0
- : n.getData("text/html"),
- o = [];
- if (r) {
- const i = new DOMParser().parseFromString(
- r,
- "text/html"
- ),
- s = i.querySelectorAll("a");
- s.length &&
- [...s].forEach((l) =>
- o.push({
- text: l.innerText,
- data: { href: l.getAttribute("href") },
- index:
- i.body.innerText.indexOf(
- l.innerText
- ) + l.innerText.length,
- })
- );
- }
- if (t) {
- const i = Vh(t).filter((s) => s.isLink);
- i.length &&
- i.forEach((s) =>
- o.push({
- text: s.value,
- data: { href: s.href },
- index: s.start,
- })
- );
- }
- return o;
- },
- type: this.type,
- getAttributes: (t) => {
- var e;
- return {
- href:
- (e = t.data) === null || e === void 0
- ? void 0
- : e.href,
- };
- },
- }),
- ];
- },
- addProseMirrorPlugins() {
- const t = [];
- return (
- this.options.autolink &&
- t.push(
- G6({ type: this.type, validate: this.options.validate })
- ),
- this.options.openOnClick && t.push(Y6({ type: this.type })),
- this.options.linkOnPaste &&
- t.push(Q6({ editor: this.editor, type: this.type })),
- t
- );
- },
- }),
- Z6 = (t) => St({ find: /--$/, replace: t != null ? t : "—" }),
- eR = (t) => St({ find: /\.\.\.$/, replace: t != null ? t : "…" }),
- tR = (t) =>
- St({
- find: /(?:^|[\s{[(<'"\u2018\u201C])(")$/,
- replace: t != null ? t : "“",
- }),
- nR = (t) => St({ find: /"$/, replace: t != null ? t : "”" }),
- rR = (t) =>
- St({
- find: /(?:^|[\s{[(<'"\u2018\u201C])(')$/,
- replace: t != null ? t : "‘",
- }),
- oR = (t) => St({ find: /'$/, replace: t != null ? t : "’" }),
- iR = (t) => St({ find: /<-$/, replace: t != null ? t : "←" }),
- sR = (t) => St({ find: /->$/, replace: t != null ? t : "→" }),
- lR = (t) => St({ find: /\(c\)$/, replace: t != null ? t : "©" }),
- aR = (t) => St({ find: /\(tm\)$/, replace: t != null ? t : "™" }),
- uR = (t) => St({ find: /\(sm\)$/, replace: t != null ? t : "℠" }),
- cR = (t) => St({ find: /\(r\)$/, replace: t != null ? t : "®" }),
- dR = (t) => St({ find: /(?:^|\s)(1\/2)\s$/, replace: t != null ? t : "½" }),
- fR = (t) => St({ find: /\+\/-$/, replace: t != null ? t : "±" }),
- hR = (t) => St({ find: /!=$/, replace: t != null ? t : "≠" }),
- pR = (t) => St({ find: /<<$/, replace: t != null ? t : "«" }),
- mR = (t) => St({ find: />>$/, replace: t != null ? t : "»" }),
- gR = (t) =>
- St({ find: /\d+\s?([*x])\s?\d+$/, replace: t != null ? t : "×" }),
- yR = (t) => St({ find: /\^2$/, replace: t != null ? t : "²" }),
- vR = (t) => St({ find: /\^3$/, replace: t != null ? t : "³" }),
- bR = (t) => St({ find: /(?:^|\s)(1\/4)\s$/, replace: t != null ? t : "¼" }),
- wR = (t) => St({ find: /(?:^|\s)(3\/4)\s$/, replace: t != null ? t : "¾" }),
- xR = Nt.create({
- name: "typography",
- addInputRules() {
- const t = [];
- return (
- this.options.emDash !== !1 && t.push(Z6(this.options.emDash)),
- this.options.ellipsis !== !1 &&
- t.push(eR(this.options.ellipsis)),
- this.options.openDoubleQuote !== !1 &&
- t.push(tR(this.options.openDoubleQuote)),
- this.options.closeDoubleQuote !== !1 &&
- t.push(nR(this.options.closeDoubleQuote)),
- this.options.openSingleQuote !== !1 &&
- t.push(rR(this.options.openSingleQuote)),
- this.options.closeSingleQuote !== !1 &&
- t.push(oR(this.options.closeSingleQuote)),
- this.options.leftArrow !== !1 &&
- t.push(iR(this.options.leftArrow)),
- this.options.rightArrow !== !1 &&
- t.push(sR(this.options.rightArrow)),
- this.options.copyright !== !1 &&
- t.push(lR(this.options.copyright)),
- this.options.trademark !== !1 &&
- t.push(aR(this.options.trademark)),
- this.options.servicemark !== !1 &&
- t.push(uR(this.options.servicemark)),
- this.options.registeredTrademark !== !1 &&
- t.push(cR(this.options.registeredTrademark)),
- this.options.oneHalf !== !1 && t.push(dR(this.options.oneHalf)),
- this.options.plusMinus !== !1 &&
- t.push(fR(this.options.plusMinus)),
- this.options.notEqual !== !1 &&
- t.push(hR(this.options.notEqual)),
- this.options.laquo !== !1 && t.push(pR(this.options.laquo)),
- this.options.raquo !== !1 && t.push(mR(this.options.raquo)),
- this.options.multiplication !== !1 &&
- t.push(gR(this.options.multiplication)),
- this.options.superscriptTwo !== !1 &&
- t.push(yR(this.options.superscriptTwo)),
- this.options.superscriptThree !== !1 &&
- t.push(vR(this.options.superscriptThree)),
- this.options.oneQuarter !== !1 &&
- t.push(bR(this.options.oneQuarter)),
- this.options.threeQuarters !== !1 &&
- t.push(wR(this.options.threeQuarters)),
- t
- );
- },
- }),
- kR = vn.create({
- name: "textStyle",
- addOptions() {
- return { HTMLAttributes: {} };
- },
- parseHTML() {
- return [
- {
- tag: "span",
- getAttrs: (t) => (t.hasAttribute("style") ? {} : !1),
- },
- ];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["span", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- removeEmptyTextStyle:
- () =>
- ({ state: t, commands: e }) => {
- const n = il(t, this.type);
- return Object.entries(n).some(([, o]) => !!o)
- ? !0
- : e.unsetMark(this.name);
- },
- };
- },
- }),
- SR = /(?:^|\s)((?:==)((?:[^~=]+))(?:==))$/,
- _R = /(?:^|\s)((?:==)((?:[^~=]+))(?:==))/g,
- CR = vn.create({
- name: "highlight",
- addOptions() {
- return { multicolor: !1, HTMLAttributes: {} };
- },
- addAttributes() {
- return this.options.multicolor
- ? {
- color: {
- default: null,
- parseHTML: (t) =>
- t.getAttribute("data-color") ||
- t.style.backgroundColor,
- renderHTML: (t) =>
- t.color
- ? {
- "data-color": t.color,
- style: `background-color: ${t.color}; color: inherit`,
- }
- : {},
- },
- }
- : {};
- },
- parseHTML() {
- return [{ tag: "mark" }];
- },
- renderHTML({ HTMLAttributes: t }) {
- return ["mark", et(this.options.HTMLAttributes, t), 0];
- },
- addCommands() {
- return {
- setHighlight:
- (t) =>
- ({ commands: e }) =>
- e.setMark(this.name, t),
- toggleHighlight:
- (t) =>
- ({ commands: e }) =>
- e.toggleMark(this.name, t),
- unsetHighlight:
- () =>
- ({ commands: t }) =>
- t.unsetMark(this.name),
- };
- },
- addKeyboardShortcuts() {
- return {
- "Mod-Shift-h": () => this.editor.commands.toggleHighlight(),
- };
- },
- addInputRules() {
- return [Vo({ find: SR, type: this.type })];
- },
- addPasteRules() {
- return [so({ find: _R, type: this.type })];
- },
- }),
- MR = Nt.create({
- name: "color",
- addOptions() {
- return { types: ["textStyle"] };
- },
- addGlobalAttributes() {
- return [
- {
- types: this.options.types,
- attributes: {
- color: {
- default: null,
- parseHTML: (t) => {
- var e;
- return (e = t.style.color) === null ||
- e === void 0
- ? void 0
- : e.replace(/['"]+/g, "");
- },
- renderHTML: (t) =>
- t.color ? { style: `color: ${t.color}` } : {},
- },
- },
- },
- ];
- },
- addCommands() {
- return {
- setColor:
- (t) =>
- ({ chain: e }) =>
- e().setMark("textStyle", { color: t }).run(),
- unsetColor:
- () =>
- ({ chain: t }) =>
- t()
- .setMark("textStyle", { color: null })
- .removeEmptyTextStyle()
- .run(),
- };
- },
- });
-function ER(t) {
- var e;
- const {
- char: n,
- allowSpaces: r,
- allowedPrefixes: o,
- startOfLine: i,
- $position: s,
- } = t,
- l = zA(n),
- a = new RegExp(`\\s${l}$`),
- u = i ? "^" : "",
- c = r
- ? new RegExp(`${u}${l}.*?(?=\\s${l}|$)`, "gm")
- : new RegExp(`${u}(?:^)?${l}[^\\s${l}]*`, "gm"),
- d =
- ((e = s.nodeBefore) === null || e === void 0 ? void 0 : e.isText) &&
- s.nodeBefore.text;
- if (!d) return null;
- const f = s.pos - d.length,
- p = Array.from(d.matchAll(c)).pop();
- if (!p || p.input === void 0 || p.index === void 0) return null;
- const m = p.input.slice(Math.max(0, p.index - 1), p.index),
- y = new RegExp(`^[${o == null ? void 0 : o.join("")}\0]?$`).test(m);
- if (o !== null && !y) return null;
- const v = f + p.index;
- let w = v + p[0].length;
- return (
- r && a.test(d.slice(w - 1, w + 1)) && ((p[0] += " "), (w += 1)),
- v < s.pos && w >= s.pos
- ? {
- range: { from: v, to: w },
- query: p[0].slice(n.length),
- text: p[0],
- }
- : null
- );
-}
-const TR = new Dt("suggestion");
-function AR({
- pluginKey: t = TR,
- editor: e,
- char: n = "@",
- allowSpaces: r = !1,
- allowedPrefixes: o = [" "],
- startOfLine: i = !1,
- decorationTag: s = "span",
- decorationClass: l = "suggestion",
- command: a = () => null,
- items: u = () => [],
- render: c = () => ({}),
- allow: d = () => !0,
- findSuggestionMatch: f = ER,
-}) {
- let p;
- const m = c == null ? void 0 : c(),
- y = new kt({
- key: t,
- view() {
- return {
- update: (v, w) =>
- pr(this, null, function* () {
- var S, E, h, b, g, x, k;
- const C =
- (S = this.key) === null || S === void 0
- ? void 0
- : S.getState(w),
- _ =
- (E = this.key) === null || E === void 0
- ? void 0
- : E.getState(v.state),
- T =
- C.active &&
- _.active &&
- C.range.from !== _.range.from,
- R = !C.active && _.active,
- P = C.active && !_.active,
- D = !R && !P && C.query !== _.query,
- j = R || T,
- M = D && !T,
- I = P || T;
- if (!j && !M && !I) return;
- const $ = I && !j ? C : _,
- K = v.dom.querySelector(
- `[data-decoration-id="${$.decorationId}"]`
- );
- (p = {
- editor: e,
- range: $.range,
- query: $.query,
- text: $.text,
- items: [],
- command: (ie) => {
- a({ editor: e, range: $.range, props: ie });
- },
- decorationNode: K,
- clientRect: K
- ? () => {
- var ie;
- const { decorationId: X } =
- (ie = this.key) === null ||
- ie === void 0
- ? void 0
- : ie.getState(e.state),
- de = v.dom.querySelector(
- `[data-decoration-id="${X}"]`
- );
- return (
- (de == null
- ? void 0
- : de.getBoundingClientRect()) ||
- null
- );
- }
- : null,
- }),
- j &&
- ((h =
- m == null
- ? void 0
- : m.onBeforeStart) === null ||
- h === void 0 ||
- h.call(m, p)),
- M &&
- ((b =
- m == null
- ? void 0
- : m.onBeforeUpdate) === null ||
- b === void 0 ||
- b.call(m, p)),
- (M || j) &&
- (p.items = yield u({
- editor: e,
- query: $.query,
- })),
- I &&
- ((g = m == null ? void 0 : m.onExit) ===
- null ||
- g === void 0 ||
- g.call(m, p)),
- M &&
- ((x = m == null ? void 0 : m.onUpdate) ===
- null ||
- x === void 0 ||
- x.call(m, p)),
- j &&
- ((k = m == null ? void 0 : m.onStart) ===
- null ||
- k === void 0 ||
- k.call(m, p));
- }),
- destroy: () => {
- var v;
- p &&
- ((v = m == null ? void 0 : m.onExit) === null ||
- v === void 0 ||
- v.call(m, p));
- },
- };
- },
- state: {
- init() {
- return {
- active: !1,
- range: { from: 0, to: 0 },
- query: null,
- text: null,
- composing: !1,
- };
- },
- apply(v, w, S, E) {
- const { isEditable: h } = e,
- { composing: b } = e.view,
- { selection: g } = v,
- { empty: x, from: k } = g,
- C = B({}, w);
- if (((C.composing = b), h && (x || e.view.composing))) {
- (k < w.range.from || k > w.range.to) &&
- !b &&
- !w.composing &&
- (C.active = !1);
- const _ = f({
- char: n,
- allowSpaces: r,
- allowedPrefixes: o,
- startOfLine: i,
- $position: g.$from,
- }),
- T = `id_${Math.floor(Math.random() * 4294967295)}`;
- _ && d({ editor: e, state: E, range: _.range })
- ? ((C.active = !0),
- (C.decorationId = w.decorationId
- ? w.decorationId
- : T),
- (C.range = _.range),
- (C.query = _.query),
- (C.text = _.text))
- : (C.active = !1);
- } else C.active = !1;
- return (
- C.active ||
- ((C.decorationId = null),
- (C.range = { from: 0, to: 0 }),
- (C.query = null),
- (C.text = null)),
- C
- );
- },
- },
- props: {
- handleKeyDown(v, w) {
- var S;
- const { active: E, range: h } = y.getState(v.state);
- return (
- (E &&
- ((S = m == null ? void 0 : m.onKeyDown) === null ||
- S === void 0
- ? void 0
- : S.call(m, {
- view: v,
- event: w,
- range: h,
- }))) ||
- !1
- );
- },
- decorations(v) {
- const {
- active: w,
- range: S,
- decorationId: E,
- } = y.getState(v);
- return w
- ? ft.create(v.doc, [
- qt.inline(S.from, S.to, {
- nodeName: s,
- class: l,
- "data-decoration-id": E,
- }),
- ])
- : null;
- },
- },
- });
- return y;
-}
-const OR = new Dt("mention"),
- RR = Pt.create({
- name: "mention",
- addOptions() {
- return {
- HTMLAttributes: {},
- renderText({ options: t, node: e }) {
- var n;
- return `${t.suggestion.char}${
- (n = e.attrs.label) !== null && n !== void 0
- ? n
- : e.attrs.id
- }`;
- },
- renderHTML({ options: t, node: e }) {
- var n;
- return [
- "span",
- this.HTMLAttributes,
- `${t.suggestion.char}${
- (n = e.attrs.label) !== null && n !== void 0
- ? n
- : e.attrs.id
- }`,
- ];
- },
- suggestion: {
- char: "@",
- pluginKey: OR,
- command: ({ editor: t, range: e, props: n }) => {
- var r, o;
- const i = t.view.state.selection.$to.nodeAfter;
- ((r = i == null ? void 0 : i.text) === null ||
- r === void 0
- ? void 0
- : r.startsWith(" ")) && (e.to += 1),
- t
- .chain()
- .focus()
- .insertContentAt(e, [
- { type: this.name, attrs: n },
- { type: "text", text: " " },
- ])
- .run(),
- (o = window.getSelection()) === null ||
- o === void 0 ||
- o.collapseToEnd();
- },
- allow: ({ state: t, range: e }) => {
- const n = t.doc.resolve(e.from),
- r = t.schema.nodes[this.name];
- return !!n.parent.type.contentMatch.matchType(r);
- },
- },
- };
- },
- group: "inline",
- inline: !0,
- selectable: !1,
- atom: !0,
- addAttributes() {
- return {
- id: {
- default: null,
- parseHTML: (t) => t.getAttribute("data-id"),
- renderHTML: (t) => (t.id ? { "data-id": t.id } : {}),
- },
- label: {
- default: null,
- parseHTML: (t) => t.getAttribute("data-label"),
- renderHTML: (t) =>
- t.label ? { "data-label": t.label } : {},
- },
- };
- },
- parseHTML() {
- return [{ tag: `span[data-type="${this.name}"]` }];
- },
- renderHTML({ node: t, HTMLAttributes: e }) {
- if (this.options.renderLabel !== void 0)
- return (
- console.warn(
- "renderLabel is deprecated use renderText and renderHTML instead"
- ),
- [
- "span",
- et(
- { "data-type": this.name },
- this.options.HTMLAttributes,
- e
- ),
- this.options.renderLabel({
- options: this.options,
- node: t,
- }),
- ]
- );
- const n = this.options.renderHTML({
- options: this.options,
- node: t,
- });
- return typeof n == "string"
- ? [
- "span",
- et(
- { "data-type": this.name },
- this.options.HTMLAttributes,
- e
- ),
- n,
- ]
- : n;
- },
- renderText({ node: t }) {
- return this.options.renderLabel !== void 0
- ? (console.warn(
- "renderLabel is deprecated use renderText and renderHTML instead"
- ),
- this.options.renderLabel({ options: this.options, node: t }))
- : this.options.renderText({ options: this.options, node: t });
- },
- addKeyboardShortcuts() {
- return {
- Backspace: () =>
- this.editor.commands.command(({ tr: t, state: e }) => {
- let n = !1;
- const { selection: r } = e,
- { empty: o, anchor: i } = r;
- return o
- ? (e.doc.nodesBetween(i - 1, i, (s, l) => {
- if (s.type.name === this.name)
- return (
- (n = !0),
- t.insertText(
- this.options.suggestion.char ||
- "",
- l,
- l + s.nodeSize
- ),
- !1
- );
- }),
- n)
- : !1;
- }),
- };
- },
- addProseMirrorPlugins() {
- return [AR(B({ editor: this.editor }, this.options.suggestion))];
- },
- }),
- PR = {
- props: {
- items: { type: Array, required: !0 },
- command: { type: Function, required: !0 },
- },
- data() {
- return { selectedIndex: 0 };
- },
- watch: {
- items() {
- this.selectedIndex = 0;
- },
- },
- methods: {
- onKeyDown({ event: t }) {
- return t.key === "ArrowUp"
- ? (this.upHandler(), !0)
- : t.key === "ArrowDown"
- ? (this.downHandler(), !0)
- : t.key === "Enter"
- ? (this.enterHandler(), !0)
- : !1;
- },
- upHandler() {
- this.selectedIndex =
- (this.selectedIndex + this.items.length - 1) %
- this.items.length;
- },
- downHandler() {
- this.selectedIndex =
- (this.selectedIndex + 1) % this.items.length;
- },
- enterHandler() {
- this.selectItem(this.selectedIndex);
- },
- selectItem(t) {
- const e = this.items[t];
- e && this.command({ id: e.value, label: e.label });
- },
- },
- },
- IR = {
- key: 0,
- class: "min-w-40 rounded-lg border bg-white p-1 text-base shadow-lg",
- },
- NR = ["onClick", "onMouseover"];
-function DR(t, e, n, r, o, i) {
- return (
- N(),
- W("div", null, [
- n.items.length
- ? (N(),
- W("div", IR, [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- n.items,
- (s, l) => (
- N(),
- W(
- "button",
- {
- class: be([
- l === o.selectedIndex
- ? "bg-gray-100"
- : "text-gray-900",
- "flex w-full items-center whitespace-nowrap rounded-md px-2 py-2 text-sm",
- ]),
- key: l,
- onClick: (a) => i.selectItem(l),
- onMouseover: (a) =>
- (o.selectedIndex = l),
- },
- We(s.label),
- 43,
- NR
- )
- )
- ),
- 128
- )),
- ]))
- : Re("", !0),
- ])
- );
-}
-const jR = Le(PR, [["render", DR]]);
-function LR(t) {
- return RR.configure({
- HTMLAttributes: { class: "mention" },
- suggestion: $R(t),
- });
-}
-function $R(t) {
- return {
- items: ({ query: e }) =>
- t
- .filter((n) =>
- n.label.toLowerCase().startsWith(e.toLowerCase())
- )
- .slice(0, 5),
- render: () => {
- let e, n;
- return {
- onStart: (r) => {
- (e = new yO(jR, { props: r, editor: r.editor })),
- r.clientRect &&
- (n = qo("body", {
- getReferenceClientRect: r.clientRect,
- appendTo: () => document.body,
- content: e.element,
- showOnCreate: !0,
- interactive: !0,
- trigger: "manual",
- placement: "bottom-start",
- }));
- },
- onUpdate(r) {
- e.updateProps(r),
- r.clientRect &&
- n[0].setProps({
- getReferenceClientRect: r.clientRect,
- });
- },
- onKeyDown(r) {
- var o;
- return r.event.key === "Escape"
- ? (n[0].hide(), !0)
- : (o = e.ref) == null
- ? void 0
- : o.onKeyDown(r);
- },
- onExit() {
- n[0].destroy(), e.destroy();
- },
- };
- },
- };
-}
-const BR = {
- name: "TipTapMenu",
- props: ["buttons"],
- inject: ["editor"],
- components: { Popover: tl },
- methods: {
- onButtonClick(t) {
- t.action(this.editor);
- },
- },
- },
- zR = { class: "inline-flex bg-white px-1 py-1" },
- HR = { class: "inline-flex items-center gap-1" },
- FR = { key: 0, class: "h-4 w-[2px] border-l" },
- VR = { key: 1, class: "shrink-0" },
- WR = ["onClick", "set"],
- UR = { key: 1 },
- KR = { class: "rounded border bg-white p-1 shadow-md" },
- qR = { class: "w-full" },
- JR = ["onClick"],
- GR = ["onClick", "title"],
- YR = { key: 1, class: "inline-block h-4 min-w-[1rem] text-sm leading-4" };
-function QR(t, e, n, r, o, i) {
- const s = Je("Popover");
- return (
- N(),
- W("div", zR, [
- V("div", HR, [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- n.buttons,
- (l) => (
- N(),
- W(
- Ne,
- { key: l.label },
- [
- l.type === "separator"
- ? (N(), W("div", FR))
- : l.map
- ? (N(),
- W("div", VR, [
- ve(
- s,
- null,
- {
- target: Ce(
- ({
- togglePopover:
- a,
- }) => [
- V(
- "button",
- {
- class: "rounded px-2 py-1 text-base font-medium text-gray-800 transition-colors hover:bg-gray-100",
- onClick:
- a,
- set: (t.activeBtn =
- l.find(
- (
- u
- ) =>
- u.isActive(
- i.editor
- )
- ) ||
- l[0]),
- },
- [
- t
- .activeBtn
- .icon
- ? (N(),
- Te(
- Bn(
- t
- .activeBtn
- .icon
- ),
- {
- key: 0,
- class: "h-4 w-4",
- }
- ))
- : (N(),
- W(
- "span",
- UR,
- We(
- t
- .activeBtn
- .label
- ),
- 1
- )),
- ],
- 8,
- WR
- ),
- ]
- ),
- body: Ce(
- ({ close: a }) => [
- V("ul", KR, [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- l,
- (
- u
- ) =>
- ca(
- (N(),
- W(
- "li",
- qR,
- [
- V(
- "button",
- {
- class: "w-full rounded px-2 py-1 text-left text-base hover:bg-gray-50",
- onClick:
- () => {
- i.onButtonClick(
- u
- ),
- a();
- },
- },
- We(
- u.label
- ),
- 9,
- JR
- ),
- ],
- 512
- )),
- [
- [
- ma,
- u.isDisabled
- ? !u.isDisabled(
- i.editor
- )
- : !0,
- ],
- ]
- )
- ),
- 256
- )),
- ]),
- ]
- ),
- _: 2,
- },
- 1024
- ),
- ]))
- : (N(),
- Te(
- Bn(l.component || "div"),
- Et(
- pt(
- { key: 2 },
- { editor: i.editor }
- )
- ),
- {
- default: Ce((a) => [
- V(
- "button",
- {
- class: be([
- "flex rounded p-1 text-gray-800 transition-colors",
- l.isActive(
- i.editor
- ) ||
- (a !=
- null &&
- a.isActive)
- ? "bg-gray-100"
- : "hover:bg-gray-100",
- ]),
- onClick: (u) =>
- a != null &&
- a.onClick
- ? a.onClick(
- l
- )
- : i.onButtonClick(
- l
- ),
- title: l.label,
- },
- [
- l.icon
- ? (N(),
- Te(
- Bn(
- l.icon
- ),
- {
- key: 0,
- class: "h-4 w-4",
- }
- ))
- : (N(),
- W(
- "span",
- YR,
- We(
- l.text
- ),
- 1
- )),
- ],
- 10,
- GR
- ),
- ]),
- _: 2,
- },
- 1040
- )),
- ],
- 64
- )
- )
- ),
- 128
- )),
- ]),
- ])
- );
-}
-const q2 = Le(BR, [["render", QR]]),
- XR = {},
- ZR = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- eP = V("path", { fill: "none", d: "M0 0H24V24H0z" }, null, -1),
- tP = V(
- "path",
- {
- d: "M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm8-12v12h-2v-9.796l-2 .536V8.67L19.5 8H21z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- nP = [eP, tP];
-function rP(t, e) {
- return N(), W("svg", ZR, nP);
-}
-const oP = Le(XR, [["render", rP]]),
- iP = {},
- sP = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- lP = V("path", { fill: "none", d: "M0 0H24V24H0z" }, null, -1),
- aP = V(
- "path",
- {
- d: "M4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 4c2.071 0 3.75 1.679 3.75 3.75 0 .857-.288 1.648-.772 2.28l-.148.18L18.034 18H22v2h-7v-1.556l4.82-5.546c.268-.307.43-.709.43-1.148 0-.966-.784-1.75-1.75-1.75-.918 0-1.671.707-1.744 1.606l-.006.144h-2C14.75 9.679 16.429 8 18.5 8z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- uP = [lP, aP];
-function cP(t, e) {
- return N(), W("svg", sP, uP);
-}
-const dP = Le(iP, [["render", cP]]),
- fP = {},
- hP = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- pP = V("path", { fill: "none", d: "M0 0H24V24H0z" }, null, -1),
- mP = V(
- "path",
- {
- d: "M22 8l-.002 2-2.505 2.883c1.59.435 2.757 1.89 2.757 3.617 0 2.071-1.679 3.75-3.75 3.75-1.826 0-3.347-1.305-3.682-3.033l1.964-.382c.156.806.866 1.415 1.718 1.415.966 0 1.75-.784 1.75-1.75s-.784-1.75-1.75-1.75c-.286 0-.556.069-.794.19l-1.307-1.547L19.35 10H15V8h7zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- gP = [pP, mP];
-function yP(t, e) {
- return N(), W("svg", hP, gP);
-}
-const vP = Le(fP, [["render", yP]]),
- bP = {},
- wP = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- xP = V("path", { fill: "none", d: "M0 0H24V24H0z" }, null, -1),
- kP = V(
- "path",
- {
- d: "M13 20h-2v-7H4v7H2V4h2v7h7V4h2v16zm9-12v8h1.5v2H22v2h-2v-2h-5.5v-1.34l5-8.66H22zm-2 3.133L17.19 16H20v-4.867z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- SP = [xP, kP];
-function _P(t, e) {
- return N(), W("svg", wP, SP);
-}
-const CP = Le(bP, [["render", _P]]),
- MP = {},
- EP = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- TP = V("path", { fill: "none", d: "M0 0H24V24H0z" }, null, -1),
- AP = V(
- "path",
- {
- d: "M22 8v2h-4.323l-.464 2.636c.33-.089.678-.136 1.037-.136 2.21 0 4 1.79 4 4s-1.79 4-4 4c-1.827 0-3.367-1.224-3.846-2.897l1.923-.551c.24.836 1.01 1.448 1.923 1.448 1.105 0 2-.895 2-2s-.895-2-2-2c-.63 0-1.193.292-1.56.748l-1.81-.904L16 8h6zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- OP = [TP, AP];
-function RP(t, e) {
- return N(), W("svg", EP, OP);
-}
-const PP = Le(MP, [["render", RP]]),
- IP = {},
- NP = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- DP = V("path", { fill: "none", d: "M0 0H24V24H0z" }, null, -1),
- jP = V(
- "path",
- {
- d: "M21.097 8l-2.598 4.5c2.21 0 4.001 1.79 4.001 4s-1.79 4-4 4-4-1.79-4-4c0-.736.199-1.426.546-2.019L18.788 8h2.309zM4 4v7h7V4h2v16h-2v-7H4v7H2V4h2zm14.5 10.5c-1.105 0-2 .895-2 2s.895 2 2 2 2-.895 2-2-.895-2-2-2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- LP = [DP, jP];
-function $P(t, e) {
- return N(), W("svg", NP, LP);
-}
-const BP = Le(IP, [["render", $P]]),
- zP = {},
- HP = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- FP = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- VP = V(
- "path",
- { d: "M13 6v15h-2V6H5V4h14v2z", fill: "currentColor" },
- null,
- -1
- ),
- WP = [FP, VP];
-function UP(t, e) {
- return N(), W("svg", HP, WP);
-}
-const KP = Le(zP, [["render", UP]]),
- qP = {},
- JP = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- GP = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- YP = V(
- "path",
- {
- d: "M8 11h4.5a2.5 2.5 0 1 0 0-5H8v5zm10 4.5a4.5 4.5 0 0 1-4.5 4.5H6V4h6.5a4.5 4.5 0 0 1 3.256 7.606A4.498 4.498 0 0 1 18 15.5zM8 13v5h5.5a2.5 2.5 0 1 0 0-5H8z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- QP = [GP, YP];
-function XP(t, e) {
- return N(), W("svg", JP, QP);
-}
-const ZP = Le(qP, [["render", XP]]),
- eI = {},
- tI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- nI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- rI = V(
- "path",
- {
- d: "M15 20H7v-2h2.927l2.116-12H9V4h8v2h-2.927l-2.116 12H15z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- oI = [nI, rI];
-function iI(t, e) {
- return N(), W("svg", tI, oI);
-}
-const sI = Le(eI, [["render", iI]]),
- lI = {},
- aI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- uI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- cI = V(
- "path",
- {
- d: "M8 3v9a4 4 0 1 0 8 0V3h2v9a6 6 0 1 1-12 0V3h2zM4 20h16v2H4v-2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- dI = [uI, cI];
-function fI(t, e) {
- return N(), W("svg", aI, dI);
-}
-const hI = Le(lI, [["render", fI]]),
- pI = {},
- mI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- gI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- yI = V(
- "path",
- {
- d: "M3 4h18v2H3V4zm2 15h14v2H5v-2zm-2-5h18v2H3v-2zm2-5h14v2H5V9z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- vI = [gI, yI];
-function bI(t, e) {
- return N(), W("svg", mI, vI);
-}
-const wI = Le(pI, [["render", bI]]),
- xI = {},
- kI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- SI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- _I = V(
- "path",
- {
- d: "M3 4h18v2H3V4zm0 15h14v2H3v-2zm0-5h18v2H3v-2zm0-5h14v2H3V9z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- CI = [SI, _I];
-function MI(t, e) {
- return N(), W("svg", kI, CI);
-}
-const EI = Le(xI, [["render", MI]]),
- TI = {},
- AI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- OI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- RI = V(
- "path",
- {
- d: "M3 4h18v2H3V4zm4 15h14v2H7v-2zm-4-5h18v2H3v-2zm4-5h14v2H7V9z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- PI = [OI, RI];
-function II(t, e) {
- return N(), W("svg", AI, PI);
-}
-const NI = Le(TI, [["render", II]]),
- DI = {},
- jI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- LI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- $I = V(
- "path",
- {
- d: "M15.246 14H8.754l-1.6 4H5l6-15h2l6 15h-2.154l-1.6-4zm-.8-2L12 5.885 9.554 12h4.892zM3 20h18v2H3v-2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- BI = [LI, $I];
-function zI(t, e) {
- return N(), W("svg", jI, BI);
-}
-const HI = Le(DI, [["render", zI]]),
- FI = {},
- VI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- WI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- UI = V(
- "path",
- {
- d: "M8 4h13v2H8V4zM5 3v3h1v1H3V6h1V4H3V3h2zM3 14v-2.5h2V11H3v-1h3v2.5H4v.5h2v1H3zm2 5.5H3v-1h2V18H3v-1h3v4H3v-1h2v-.5zM8 11h13v2H8v-2zm0 7h13v2H8v-2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- KI = [WI, UI];
-function qI(t, e) {
- return N(), W("svg", VI, KI);
-}
-const JI = Le(FI, [["render", qI]]),
- GI = {},
- YI = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- QI = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- XI = V(
- "path",
- {
- d: "M8 4h13v2H8V4zM4.5 6.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm0 6.9a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zM8 11h13v2H8v-2zm0 7h13v2H8v-2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- ZI = [QI, XI];
-function eN(t, e) {
- return N(), W("svg", YI, ZI);
-}
-const tN = Le(GI, [["render", eN]]),
- nN = {},
- rN = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- oN = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- iN = V(
- "path",
- {
- d: "M19.417 6.679C20.447 7.773 21 9 21 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311-1.804-.167-3.226-1.648-3.226-3.489a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179zm-10 0C10.447 7.773 11 9 11 10.989c0 3.5-2.457 6.637-6.03 8.188l-.893-1.378c3.335-1.804 3.987-4.145 4.247-5.621-.537.278-1.24.375-1.929.311C4.591 12.322 3.17 10.841 3.17 9a3.5 3.5 0 0 1 3.5-3.5c1.073 0 2.099.49 2.748 1.179z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- sN = [oN, iN];
-function lN(t, e) {
- return N(), W("svg", rN, sN);
-}
-const aN = Le(nN, [["render", lN]]),
- uN = {},
- cN = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- dN = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- fN = V(
- "path",
- {
- d: "M16.95 8.464l1.414-1.414 4.95 4.95-4.95 4.95-1.414-1.414L20.485 12 16.95 8.464zm-9.9 0L3.515 12l3.535 3.536-1.414 1.414L.686 12l4.95-4.95L7.05 8.464z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- hN = [dN, fN];
-function pN(t, e) {
- return N(), W("svg", cN, hN);
-}
-const mN = Le(uN, [["render", pN]]),
- gN = {},
- yN = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- vN = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- bN = V(
- "path",
- {
- d: "M18.364 15.536L16.95 14.12l1.414-1.414a5 5 0 1 0-7.071-7.071L9.879 7.05 8.464 5.636 9.88 4.222a7 7 0 0 1 9.9 9.9l-1.415 1.414zm-2.828 2.828l-1.415 1.414a7 7 0 0 1-9.9-9.9l1.415-1.414L7.05 9.88l-1.414 1.414a5 5 0 1 0 7.071 7.071l1.414-1.414 1.415 1.414zm-.708-10.607l1.415 1.415-7.071 7.07-1.415-1.414 7.071-7.07z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- wN = [vN, bN];
-function xN(t, e) {
- return N(), W("svg", yN, wN);
-}
-const kN = Le(gN, [["render", xN]]),
- SN = {},
- _N = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- CN = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- MN = V(
- "path",
- {
- d: "M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm.008-12c.548 0 .992.445.992.993V13h-2V5H4v13.999L14 9l3 3v2.829l-3-3L6.827 19H14v2H2.992A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016zM8 7a2 2 0 1 1 0 4 2 2 0 0 1 0-4z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- EN = [CN, MN];
-function TN(t, e) {
- return N(), W("svg", _N, EN);
-}
-const AN = Le(SN, [["render", TN]]),
- ON = {},
- RN = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- PN = V("path", { fill: "none", d: "M0 0H24V24H0z" }, null, -1),
- IN = V(
- "path",
- {
- d: "M16 4c.552 0 1 .448 1 1v4.2l5.213-3.65c.226-.158.538-.103.697.124.058.084.09.184.09.286v12.08c0 .276-.224.5-.5.5-.103 0-.203-.032-.287-.09L17 14.8V19c0 .552-.448 1-1 1H2c-.552 0-1-.448-1-1V5c0-.552.448-1 1-1h14zm-1 2H3v12h12V6zM8 8h2v3h3v2H9.999L10 16H8l-.001-3H5v-2h3V8zm13 .841l-4 2.8v.718l4 2.8V8.84z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- NN = [PN, IN];
-function DN(t, e) {
- return N(), W("svg", RN, NN);
-}
-const jN = Le(ON, [["render", DN]]),
- LN = {},
- $N = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- BN = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- zN = V(
- "path",
- {
- d: "M5.828 7l2.536 2.536L6.95 10.95 2 6l4.95-4.95 1.414 1.414L5.828 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 1 0 0-12H5.828z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- HN = [BN, zN];
-function FN(t, e) {
- return N(), W("svg", $N, HN);
-}
-const VN = Le(LN, [["render", FN]]),
- WN = {},
- UN = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- KN = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- qN = V(
- "path",
- {
- d: "M18.172 7H11a6 6 0 1 0 0 12h9v2h-9a8 8 0 1 1 0-16h7.172l-2.536-2.536L17.05 1.05 22 6l-4.95 4.95-1.414-1.414L18.172 7z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- JN = [KN, qN];
-function GN(t, e) {
- return N(), W("svg", UN, JN);
-}
-const YN = Le(WN, [["render", GN]]),
- QN = {},
- XN = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- ZN = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- eD = V(
- "path",
- {
- d: "M2 11h2v2H2v-2zm4 0h12v2H6v-2zm14 0h2v2h-2v-2z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- tD = [ZN, eD];
-function nD(t, e) {
- return N(), W("svg", XN, tD);
-}
-const rD = Le(QN, [["render", nD]]),
- oD = {},
- iD = {
- xmlns: "http://www.w3.org/2000/svg",
- viewBox: "0 0 24 24",
- width: "24",
- height: "24",
- },
- sD = V("path", { fill: "none", d: "M0 0h24v24H0z" }, null, -1),
- lD = V(
- "path",
- {
- d: "M13 10v4h6v-4h-6zm-2 0H5v4h6v-4zm2 9h6v-3h-6v3zm-2 0v-3H5v3h6zm2-14v3h6V5h-6zm-2 0H5v3h6V5zM4 3h16a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z",
- fill: "currentColor",
- },
- null,
- -1
- ),
- aD = [sD, lD];
-function uD(t, e) {
- return N(), W("svg", iD, aD);
-}
-const cD = Le(oD, [["render", uD]]),
- dD = {
- Paragraph: {
- label: "Paragraph",
- icon: KP,
- action: (t) => t.chain().focus().setParagraph().run(),
- isActive: (t) => t.isActive("paragraph"),
- },
- "Heading 1": {
- label: "Heading 1",
- text: "H1",
- icon: oP,
- action: (t) => t.chain().focus().toggleHeading({ level: 1 }).run(),
- isActive: (t) => t.isActive("heading", { level: 1 }),
- },
- "Heading 2": {
- label: "Heading 2",
- text: "H2",
- icon: dP,
- action: (t) => t.chain().focus().toggleHeading({ level: 2 }).run(),
- isActive: (t) => t.isActive("heading", { level: 2 }),
- },
- "Heading 3": {
- label: "Heading 3",
- text: "H3",
- icon: vP,
- action: (t) => t.chain().focus().toggleHeading({ level: 3 }).run(),
- isActive: (t) => t.isActive("heading", { level: 3 }),
- },
- "Heading 4": {
- label: "Heading 4",
- text: "H4",
- icon: CP,
- action: (t) => t.chain().focus().toggleHeading({ level: 4 }).run(),
- isActive: (t) => t.isActive("heading", { level: 4 }),
- },
- "Heading 5": {
- label: "Heading 5",
- text: "H5",
- icon: PP,
- action: (t) => t.chain().focus().toggleHeading({ level: 5 }).run(),
- isActive: (t) => t.isActive("heading", { level: 5 }),
- },
- "Heading 6": {
- label: "Heading 6",
- text: "H6",
- icon: BP,
- action: (t) => t.chain().focus().toggleHeading({ level: 6 }).run(),
- isActive: (t) => t.isActive("heading", { level: 6 }),
- },
- Bold: {
- label: "Bold",
- icon: ZP,
- action: (t) => t.chain().focus().toggleBold().run(),
- isActive: (t) => t.isActive("bold"),
- },
- Italic: {
- label: "Italic",
- icon: sI,
- action: (t) => t.chain().focus().toggleItalic().run(),
- isActive: (t) => t.isActive("italic"),
- },
- Underline: {
- label: "Underline",
- icon: hI,
- action: (t) => t.chain().focus().toggleUnderline().run(),
- isActive: (t) => t.isActive("underline"),
- },
- "Bullet List": {
- label: "Bullet List",
- icon: tN,
- action: (t) => t.chain().focus().toggleBulletList().run(),
- isActive: (t) => t.isActive("bulletList"),
- },
- "Numbered List": {
- label: "Numbered List",
- icon: JI,
- action: (t) => t.chain().focus().toggleOrderedList().run(),
- isActive: (t) => t.isActive("orderedList"),
- },
- "Align Center": {
- label: "Align Center",
- icon: wI,
- action: (t) => t.chain().focus().setTextAlign("center").run(),
- isActive: (t) => t.isActive({ textAlign: "center" }),
- },
- "Align Left": {
- label: "Align Left",
- icon: EI,
- action: (t) => t.chain().focus().setTextAlign("left").run(),
- isActive: (t) => t.isActive({ textAlign: "left" }),
- },
- "Align Right": {
- label: "Align Right",
- icon: NI,
- action: (t) => t.chain().focus().setTextAlign("right").run(),
- isActive: (t) => t.isActive({ textAlign: "right" }),
- },
- FontColor: {
- label: "Font Color",
- icon: HI,
- isActive: (t) => t.isActive("textStyle") || t.isActive("highlight"),
- component: yl(() =>
- bl(() => import("./FontColor-NRf-JuEv.js"), __vite__mapDeps([]))
- ),
- },
- Blockquote: {
- label: "Blockquote",
- icon: aN,
- action: (t) => t.chain().focus().toggleBlockquote().run(),
- isActive: (t) => t.isActive("blockquote"),
- },
- Code: {
- label: "Code",
- icon: mN,
- action: (t) => t.chain().focus().toggleCodeBlock().run(),
- isActive: (t) => t.isActive("codeBlock"),
- },
- "Horizontal Rule": {
- label: "Horizontal Rule",
- icon: rD,
- action: (t) => t.chain().focus().setHorizontalRule().run(),
- isActive: (t) => !1,
- },
- Link: {
- label: "Link",
- icon: kN,
- isActive: (t) => t.isActive("link"),
- component: yl(() =>
- bl(
- () => import("./InsertLink-3qvgmeYz.js"),
- __vite__mapDeps([])
- )
- ),
- },
- Image: {
- label: "Image",
- icon: AN,
- isActive: (t) => !1,
- component: yl(() =>
- bl(
- () => import("./InsertImage-CtNAKsXz.js"),
- __vite__mapDeps([])
- )
- ),
- },
- Video: {
- label: "Video",
- icon: jN,
- isActive: (t) => !1,
- component: yl(() =>
- bl(
- () => import("./InsertVideo-BLJom6bq.js"),
- __vite__mapDeps([])
- )
- ),
- },
- Undo: {
- label: "Undo",
- icon: VN,
- action: (t) => t.chain().focus().undo().run(),
- isActive: (t) => !1,
- },
- Redo: {
- label: "Redo",
- icon: YN,
- action: (t) => t.chain().focus().redo().run(),
- isActive: (t) => !1,
- },
- InsertTable: {
- label: "Insert Table",
- icon: cD,
- action: (t) =>
- t
- .chain()
- .focus()
- .insertTable({ rows: 3, cols: 3, withHeaderRow: !0 })
- .run(),
- isActive: (t) => !1,
- },
- AddColumnBefore: {
- label: "Add Column Before",
- action: (t) => t.chain().focus().addColumnBefore().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().addColumnBefore(),
- },
- AddColumnAfter: {
- label: "Add Column After",
- action: (t) => t.chain().focus().addColumnAfter().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().addColumnAfter(),
- },
- DeleteColumn: {
- label: "Delete Column",
- action: (t) => t.chain().focus().deleteColumn().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().deleteColumn(),
- },
- AddRowBefore: {
- label: "Add Row Before",
- action: (t) => t.chain().focus().addRowBefore().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().addRowBefore(),
- },
- AddRowAfter: {
- label: "Add Row After",
- action: (t) => t.chain().focus().addRowAfter().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().addRowAfter(),
- },
- DeleteRow: {
- label: "Delete Row",
- action: (t) => t.chain().focus().deleteRow().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().deleteRow(),
- },
- DeleteTable: {
- label: "Delete Table",
- action: (t) => t.chain().focus().deleteTable().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().deleteTable(),
- },
- MergeCells: {
- label: "Merge Cells",
- action: (t) => t.chain().focus().mergeCells().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().mergeCells(),
- },
- SplitCell: {
- label: "Split Cell",
- action: (t) => t.chain().focus().splitCell().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().splitCell(),
- },
- ToggleHeaderColumn: {
- label: "Toggle Header Column",
- action: (t) => t.chain().focus().toggleHeaderColumn().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().toggleHeaderColumn(),
- },
- ToggleHeaderRow: {
- label: "Toggle Header Row",
- action: (t) => t.chain().focus().toggleHeaderRow().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().toggleHeaderRow(),
- },
- ToggleHeaderCell: {
- label: "Toggle Header Cell",
- action: (t) => t.chain().focus().toggleHeaderCell().run(),
- isActive: (t) => !1,
- isDisabled: (t) => !t.can().toggleHeaderCell(),
- },
- Separator: { type: "separator" },
- };
-function tc(t) {
- return t instanceof Array ? t.map(tc) : typeof t == "object" ? t : dD[t];
-}
-const fD = {
- name: "TextEditorFixedMenu",
- props: ["buttons"],
- components: { Menu: q2 },
- inject: ["editor"],
- computed: {
- fixedMenuButtons() {
- if (!this.buttons) return !1;
- let t;
- return (
- Array.isArray(this.buttons)
- ? (t = this.buttons)
- : (t = [
- [
- "Heading 1",
- "Heading 2",
- "Heading 3",
- "Heading 4",
- "Heading 5",
- "Heading 6",
- ],
- "Paragraph",
- "Separator",
- "Bold",
- "Italic",
- "Separator",
- "Bullet List",
- "Numbered List",
- "Separator",
- "Align Left",
- "Align Center",
- "Align Right",
- "FontColor",
- "Separator",
- "Image",
- "Video",
- "Link",
- "Blockquote",
- "Code",
- "Horizontal Rule",
- [
- "InsertTable",
- "AddColumnBefore",
- "AddColumnAfter",
- "DeleteColumn",
- "AddRowBefore",
- "AddRowAfter",
- "DeleteRow",
- "MergeCells",
- "SplitCell",
- "ToggleHeaderColumn",
- "ToggleHeaderRow",
- "ToggleHeaderCell",
- "DeleteTable",
- ],
- "Separator",
- "Undo",
- "Redo",
- ]),
- t.map(tc)
- );
- },
- },
-};
-function hD(t, e, n, r, o, i) {
- const s = Je("Menu");
- return i.fixedMenuButtons
- ? (N(),
- Te(s, { key: 0, buttons: i.fixedMenuButtons }, null, 8, ["buttons"]))
- : Re("", !0);
-}
-const pD = Le(fD, [["render", hD]]),
- mD = {
- name: "TextEditorBubbleMenu",
- props: ["buttons", "options"],
- components: { BubbleMenu: hO, Menu: q2 },
- inject: ["editor"],
- computed: {
- bubbleMenuButtons() {
- if (!this.buttons) return !1;
- let t;
- return (
- Array.isArray(this.buttons)
- ? (t = this.buttons)
- : (t = [
- "Paragraph",
- "Heading 2",
- "Heading 3",
- "Separator",
- "Bold",
- "Italic",
- "Link",
- "Separator",
- "Bullet List",
- "Numbered List",
- "Separator",
- "Image",
- "Video",
- "Blockquote",
- "Code",
- [
- "InsertTable",
- "AddColumnBefore",
- "AddColumnAfter",
- "DeleteColumn",
- "AddRowBefore",
- "AddRowAfter",
- "DeleteRow",
- "MergeCells",
- "SplitCell",
- "ToggleHeaderColumn",
- "ToggleHeaderRow",
- "ToggleHeaderCell",
- "DeleteTable",
- ],
- ]),
- t.map(tc)
- );
- },
- },
- };
-function gD(t, e, n, r, o, i) {
- const s = Je("Menu"),
- l = Je("BubbleMenu");
- return i.bubbleMenuButtons
- ? (N(),
- Te(
- l,
- pt(
- {
- key: 0,
- class: "bubble-menu rounded-md shadow-sm",
- "tippy-options": { duration: 100 },
- editor: i.editor,
- },
- n.options
- ),
- {
- default: Ce(() => [
- ve(
- s,
- {
- class: "rounded-md border border-gray-100 shadow-lg",
- buttons: i.bubbleMenuButtons,
- },
- null,
- 8,
- ["buttons"]
- ),
- ]),
- _: 1,
- },
- 16,
- ["editor"]
- ))
- : Re("", !0);
-}
-const yD = Le(mD, [["render", gD]]),
- vD = {
- name: "TextEditorFloatingMenu",
- props: ["buttons"],
- components: { FloatingMenu: gO },
- inject: ["editor"],
- computed: {
- floatingMenuButtons() {
- if (!this.buttons) return !1;
- let t;
- return (
- Array.isArray(this.buttons)
- ? (t = this.buttons)
- : (t = [
- "Paragraph",
- "Heading 2",
- "Heading 3",
- "Bullet List",
- "Numbered List",
- "Blockquote",
- "Code",
- "Horizontal Rule",
- ]),
- t.map(tc)
- );
- },
- },
- },
- bD = ["onClick", "title"],
- wD = { key: 1, class: "inline-block h-4 min-w-[1rem] text-sm leading-4" };
-function xD(t, e, n, r, o, i) {
- const s = Je("FloatingMenu");
- return i.floatingMenuButtons
- ? (N(),
- Te(
- s,
- {
- key: 0,
- "tippy-options": { duration: 100 },
- editor: i.editor,
- class: "flex",
- },
- {
- default: Ce(() => [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- i.floatingMenuButtons,
- (l) => (
- N(),
- W(
- "button",
- {
- key: l.label,
- class: be([
- "flex rounded p-1 text-gray-800 transition-colors",
- l.isActive(i.editor)
- ? "bg-gray-100"
- : "hover:bg-gray-100",
- ]),
- onClick: () => l.action(i.editor),
- title: l.label,
- },
- [
- l.icon
- ? (N(),
- Te(Bn(l.icon), {
- key: 0,
- class: "h-4 w-4",
- }))
- : (N(),
- W("span", wD, We(l.text), 1)),
- ],
- 10,
- bD
- )
- )
- ),
- 128
- )),
- ]),
- _: 1,
- },
- 8,
- ["editor"]
- ))
- : Re("", !0);
-}
-const kD = Le(vD, [["render", xD]]);
-var J2 = { exports: {} };
-(function (t) {
- (function () {
- function e(h) {
- var b = {
- omitExtraWLInCodeBlocks: {
- defaultValue: !1,
- describe:
- "Omit the default extra whiteline added to code blocks",
- type: "boolean",
- },
- noHeaderId: {
- defaultValue: !1,
- describe: "Turn on/off generated header id",
- type: "boolean",
- },
- prefixHeaderId: {
- defaultValue: !1,
- describe:
- "Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",
- type: "string",
- },
- rawPrefixHeaderId: {
- defaultValue: !1,
- describe:
- 'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',
- type: "boolean",
- },
- ghCompatibleHeaderId: {
- defaultValue: !1,
- describe:
- "Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",
- type: "boolean",
- },
- rawHeaderId: {
- defaultValue: !1,
- describe: `Remove only spaces, ' and " from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids`,
- type: "boolean",
- },
- headerLevelStart: {
- defaultValue: !1,
- describe: "The header blocks level start",
- type: "integer",
- },
- parseImgDimensions: {
- defaultValue: !1,
- describe: "Turn on/off image dimension parsing",
- type: "boolean",
- },
- simplifiedAutoLink: {
- defaultValue: !1,
- describe: "Turn on/off GFM autolink style",
- type: "boolean",
- },
- excludeTrailingPunctuationFromURLs: {
- defaultValue: !1,
- describe:
- "Excludes trailing punctuation from links generated with autoLinking",
- type: "boolean",
- },
- literalMidWordUnderscores: {
- defaultValue: !1,
- describe:
- "Parse midword underscores as literal underscores",
- type: "boolean",
- },
- literalMidWordAsterisks: {
- defaultValue: !1,
- describe: "Parse midword asterisks as literal asterisks",
- type: "boolean",
- },
- strikethrough: {
- defaultValue: !1,
- describe: "Turn on/off strikethrough support",
- type: "boolean",
- },
- tables: {
- defaultValue: !1,
- describe: "Turn on/off tables support",
- type: "boolean",
- },
- tablesHeaderId: {
- defaultValue: !1,
- describe: "Add an id to table headers",
- type: "boolean",
- },
- ghCodeBlocks: {
- defaultValue: !0,
- describe: "Turn on/off GFM fenced code blocks support",
- type: "boolean",
- },
- tasklists: {
- defaultValue: !1,
- describe: "Turn on/off GFM tasklist support",
- type: "boolean",
- },
- smoothLivePreview: {
- defaultValue: !1,
- describe:
- "Prevents weird effects in live previews due to incomplete input",
- type: "boolean",
- },
- smartIndentationFix: {
- defaultValue: !1,
- describe: "Tries to smartly fix indentation in es6 strings",
- type: "boolean",
- },
- disableForced4SpacesIndentedSublists: {
- defaultValue: !1,
- describe:
- "Disables the requirement of indenting nested sublists by 4 spaces",
- type: "boolean",
- },
- simpleLineBreaks: {
- defaultValue: !1,
- describe: "Parses simple line breaks as
(GFM Style)",
- type: "boolean",
- },
- requireSpaceBeforeHeadingText: {
- defaultValue: !1,
- describe:
- "Makes adding a space between `#` and the header text mandatory (GFM Style)",
- type: "boolean",
- },
- ghMentions: {
- defaultValue: !1,
- describe: "Enables github @mentions",
- type: "boolean",
- },
- ghMentionsLink: {
- defaultValue: "https://github.com/{u}",
- describe:
- "Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",
- type: "string",
- },
- encodeEmails: {
- defaultValue: !0,
- describe:
- "Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",
- type: "boolean",
- },
- openLinksInNewWindow: {
- defaultValue: !1,
- describe: "Open all links in new windows",
- type: "boolean",
- },
- backslashEscapesHTMLTags: {
- defaultValue: !1,
- describe:
- "Support for HTML Tag escaping. ex: foo",
- type: "boolean",
- },
- emoji: {
- defaultValue: !1,
- describe:
- "Enable emoji support. Ex: `this is a :smile: emoji`",
- type: "boolean",
- },
- underline: {
- defaultValue: !1,
- describe:
- "Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",
- type: "boolean",
- },
- ellipsis: {
- defaultValue: !0,
- describe:
- "Replaces three dots with the ellipsis unicode character",
- type: "boolean",
- },
- completeHTMLDocument: {
- defaultValue: !1,
- describe:
- "Outputs a complete html document, including ``, `` and `` tags",
- type: "boolean",
- },
- metadata: {
- defaultValue: !1,
- describe:
- "Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",
- type: "boolean",
- },
- splitAdjacentBlockquotes: {
- defaultValue: !1,
- describe: "Split adjacent blockquote blocks",
- type: "boolean",
- },
- };
- if (h === !1) return JSON.parse(JSON.stringify(b));
- var g = {};
- for (var x in b) b.hasOwnProperty(x) && (g[x] = b[x].defaultValue);
- return g;
- }
- function n() {
- var h = e(!0),
- b = {};
- for (var g in h) h.hasOwnProperty(g) && (b[g] = !0);
- return b;
- }
- var r = {},
- o = {},
- i = {},
- s = e(!0),
- l = "vanilla",
- a = {
- github: {
- omitExtraWLInCodeBlocks: !0,
- simplifiedAutoLink: !0,
- excludeTrailingPunctuationFromURLs: !0,
- literalMidWordUnderscores: !0,
- strikethrough: !0,
- tables: !0,
- tablesHeaderId: !0,
- ghCodeBlocks: !0,
- tasklists: !0,
- disableForced4SpacesIndentedSublists: !0,
- simpleLineBreaks: !0,
- requireSpaceBeforeHeadingText: !0,
- ghCompatibleHeaderId: !0,
- ghMentions: !0,
- backslashEscapesHTMLTags: !0,
- emoji: !0,
- splitAdjacentBlockquotes: !0,
- },
- original: { noHeaderId: !0, ghCodeBlocks: !1 },
- ghost: {
- omitExtraWLInCodeBlocks: !0,
- parseImgDimensions: !0,
- simplifiedAutoLink: !0,
- excludeTrailingPunctuationFromURLs: !0,
- literalMidWordUnderscores: !0,
- strikethrough: !0,
- tables: !0,
- tablesHeaderId: !0,
- ghCodeBlocks: !0,
- tasklists: !0,
- smoothLivePreview: !0,
- simpleLineBreaks: !0,
- requireSpaceBeforeHeadingText: !0,
- ghMentions: !1,
- encodeEmails: !0,
- },
- vanilla: e(!0),
- allOn: n(),
- };
- (r.helper = {}),
- (r.extensions = {}),
- (r.setOption = function (h, b) {
- return (s[h] = b), this;
- }),
- (r.getOption = function (h) {
- return s[h];
- }),
- (r.getOptions = function () {
- return s;
- }),
- (r.resetOptions = function () {
- s = e(!0);
- }),
- (r.setFlavor = function (h) {
- if (!a.hasOwnProperty(h))
- throw Error(h + " flavor was not found");
- r.resetOptions();
- var b = a[h];
- l = h;
- for (var g in b) b.hasOwnProperty(g) && (s[g] = b[g]);
- }),
- (r.getFlavor = function () {
- return l;
- }),
- (r.getFlavorOptions = function (h) {
- if (a.hasOwnProperty(h)) return a[h];
- }),
- (r.getDefaultOptions = function (h) {
- return e(h);
- }),
- (r.subParser = function (h, b) {
- if (r.helper.isString(h))
- if (typeof b != "undefined") o[h] = b;
- else {
- if (o.hasOwnProperty(h)) return o[h];
- throw Error(
- "SubParser named " + h + " not registered!"
- );
- }
- }),
- (r.extension = function (h, b) {
- if (!r.helper.isString(h))
- throw Error("Extension 'name' must be a string");
- if (((h = r.helper.stdExtName(h)), r.helper.isUndefined(b))) {
- if (!i.hasOwnProperty(h))
- throw Error(
- "Extension named " + h + " is not registered!"
- );
- return i[h];
- } else {
- typeof b == "function" && (b = b()),
- r.helper.isArray(b) || (b = [b]);
- var g = u(b, h);
- if (g.valid) i[h] = b;
- else throw Error(g.error);
- }
- }),
- (r.getAllExtensions = function () {
- return i;
- }),
- (r.removeExtension = function (h) {
- delete i[h];
- }),
- (r.resetExtensions = function () {
- i = {};
- });
- function u(h, b) {
- var g = b
- ? "Error in " + b + " extension->"
- : "Error in unnamed extension",
- x = { valid: !0, error: "" };
- r.helper.isArray(h) || (h = [h]);
- for (var k = 0; k < h.length; ++k) {
- var C = g + " sub-extension " + k + ": ",
- _ = h[k];
- if (typeof _ != "object")
- return (
- (x.valid = !1),
- (x.error =
- C +
- "must be an object, but " +
- typeof _ +
- " given"),
- x
- );
- if (!r.helper.isString(_.type))
- return (
- (x.valid = !1),
- (x.error =
- C +
- 'property "type" must be a string, but ' +
- typeof _.type +
- " given"),
- x
- );
- var T = (_.type = _.type.toLowerCase());
- if (
- (T === "language" && (T = _.type = "lang"),
- T === "html" && (T = _.type = "output"),
- T !== "lang" && T !== "output" && T !== "listener")
- )
- return (
- (x.valid = !1),
- (x.error =
- C +
- "type " +
- T +
- ' is not recognized. Valid values: "lang/language", "output/html" or "listener"'),
- x
- );
- if (T === "listener") {
- if (r.helper.isUndefined(_.listeners))
- return (
- (x.valid = !1),
- (x.error =
- C +
- '. Extensions of type "listener" must have a property called "listeners"'),
- x
- );
- } else if (
- r.helper.isUndefined(_.filter) &&
- r.helper.isUndefined(_.regex)
- )
- return (
- (x.valid = !1),
- (x.error =
- C +
- T +
- ' extensions must define either a "regex" property or a "filter" method'),
- x
- );
- if (_.listeners) {
- if (typeof _.listeners != "object")
- return (
- (x.valid = !1),
- (x.error =
- C +
- '"listeners" property must be an object but ' +
- typeof _.listeners +
- " given"),
- x
- );
- for (var R in _.listeners)
- if (
- _.listeners.hasOwnProperty(R) &&
- typeof _.listeners[R] != "function"
- )
- return (
- (x.valid = !1),
- (x.error =
- C +
- '"listeners" property must be an hash of [event name]: [callback]. listeners.' +
- R +
- " must be a function but " +
- typeof _.listeners[R] +
- " given"),
- x
- );
- }
- if (_.filter) {
- if (typeof _.filter != "function")
- return (
- (x.valid = !1),
- (x.error =
- C +
- '"filter" must be a function, but ' +
- typeof _.filter +
- " given"),
- x
- );
- } else if (_.regex) {
- if (
- (r.helper.isString(_.regex) &&
- (_.regex = new RegExp(_.regex, "g")),
- !(_.regex instanceof RegExp))
- )
- return (
- (x.valid = !1),
- (x.error =
- C +
- '"regex" property must either be a string or a RegExp object, but ' +
- typeof _.regex +
- " given"),
- x
- );
- if (r.helper.isUndefined(_.replace))
- return (
- (x.valid = !1),
- (x.error =
- C +
- '"regex" extensions must implement a replace string or function'),
- x
- );
- }
- }
- return x;
- }
- (r.validateExtension = function (h) {
- var b = u(h, null);
- return b.valid ? !0 : (console.warn(b.error), !1);
- }),
- r.hasOwnProperty("helper") || (r.helper = {}),
- (r.helper.isString = function (h) {
- return typeof h == "string" || h instanceof String;
- }),
- (r.helper.isFunction = function (h) {
- var b = {};
- return h && b.toString.call(h) === "[object Function]";
- }),
- (r.helper.isArray = function (h) {
- return Array.isArray(h);
- }),
- (r.helper.isUndefined = function (h) {
- return typeof h == "undefined";
- }),
- (r.helper.forEach = function (h, b) {
- if (r.helper.isUndefined(h))
- throw new Error("obj param is required");
- if (r.helper.isUndefined(b))
- throw new Error("callback param is required");
- if (!r.helper.isFunction(b))
- throw new Error(
- "callback param must be a function/closure"
- );
- if (typeof h.forEach == "function") h.forEach(b);
- else if (r.helper.isArray(h))
- for (var g = 0; g < h.length; g++) b(h[g], g, h);
- else if (typeof h == "object")
- for (var x in h) h.hasOwnProperty(x) && b(h[x], x, h);
- else
- throw new Error(
- "obj does not seem to be an array or an iterable object"
- );
- }),
- (r.helper.stdExtName = function (h) {
- return h
- .replace(/[_?*+\/\\.^-]/g, "")
- .replace(/\s/g, "")
- .toLowerCase();
- });
- function c(h, b) {
- var g = b.charCodeAt(0);
- return "¨E" + g + "E";
- }
- (r.helper.escapeCharactersCallback = c),
- (r.helper.escapeCharacters = function (h, b, g) {
- var x = "([" + b.replace(/([\[\]\\])/g, "\\$1") + "])";
- g && (x = "\\\\" + x);
- var k = new RegExp(x, "g");
- return (h = h.replace(k, c)), h;
- }),
- (r.helper.unescapeHTMLEntities = function (h) {
- return h
- .replace(/"/g, '"')
- .replace(/</g, "<")
- .replace(/>/g, ">")
- .replace(/&/g, "&");
- });
- var d = function (h, b, g, x) {
- var k = x || "",
- C = k.indexOf("g") > -1,
- _ = new RegExp(b + "|" + g, "g" + k.replace(/g/g, "")),
- T = new RegExp(b, k.replace(/g/g, "")),
- R = [],
- P,
- D,
- j,
- M,
- I;
- do
- for (P = 0; (j = _.exec(h)); )
- if (T.test(j[0]))
- P++ || ((D = _.lastIndex), (M = D - j[0].length));
- else if (P && !--P) {
- I = j.index + j[0].length;
- var $ = {
- left: { start: M, end: D },
- match: { start: D, end: j.index },
- right: { start: j.index, end: I },
- wholeMatch: { start: M, end: I },
- };
- if ((R.push($), !C)) return R;
- }
- while (P && (_.lastIndex = D));
- return R;
- };
- (r.helper.matchRecursiveRegExp = function (h, b, g, x) {
- for (var k = d(h, b, g, x), C = [], _ = 0; _ < k.length; ++_)
- C.push([
- h.slice(k[_].wholeMatch.start, k[_].wholeMatch.end),
- h.slice(k[_].match.start, k[_].match.end),
- h.slice(k[_].left.start, k[_].left.end),
- h.slice(k[_].right.start, k[_].right.end),
- ]);
- return C;
- }),
- (r.helper.replaceRecursiveRegExp = function (h, b, g, x, k) {
- if (!r.helper.isFunction(b)) {
- var C = b;
- b = function () {
- return C;
- };
- }
- var _ = d(h, g, x, k),
- T = h,
- R = _.length;
- if (R > 0) {
- var P = [];
- _[0].wholeMatch.start !== 0 &&
- P.push(h.slice(0, _[0].wholeMatch.start));
- for (var D = 0; D < R; ++D)
- P.push(
- b(
- h.slice(
- _[D].wholeMatch.start,
- _[D].wholeMatch.end
- ),
- h.slice(_[D].match.start, _[D].match.end),
- h.slice(_[D].left.start, _[D].left.end),
- h.slice(_[D].right.start, _[D].right.end)
- )
- ),
- D < R - 1 &&
- P.push(
- h.slice(
- _[D].wholeMatch.end,
- _[D + 1].wholeMatch.start
- )
- );
- _[R - 1].wholeMatch.end < h.length &&
- P.push(h.slice(_[R - 1].wholeMatch.end)),
- (T = P.join(""));
- }
- return T;
- }),
- (r.helper.regexIndexOf = function (h, b, g) {
- if (!r.helper.isString(h))
- throw "InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";
- if (!(b instanceof RegExp))
- throw "InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp";
- var x = h.substring(g || 0).search(b);
- return x >= 0 ? x + (g || 0) : x;
- }),
- (r.helper.splitAtIndex = function (h, b) {
- if (!r.helper.isString(h))
- throw "InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";
- return [h.substring(0, b), h.substring(b)];
- }),
- (r.helper.encodeEmailAddress = function (h) {
- var b = [
- function (g) {
- return "" + g.charCodeAt(0) + ";";
- },
- function (g) {
- return "" + g.charCodeAt(0).toString(16) + ";";
- },
- function (g) {
- return g;
- },
- ];
- return (
- (h = h.replace(/./g, function (g) {
- if (g === "@") g = b[Math.floor(Math.random() * 2)](g);
- else {
- var x = Math.random();
- g =
- x > 0.9
- ? b[2](g)
- : x > 0.45
- ? b[1](g)
- : b[0](g);
- }
- return g;
- })),
- h
- );
- }),
- (r.helper.padEnd = function (b, g, x) {
- return (
- (g = g >> 0),
- (x = String(x || " ")),
- b.length > g
- ? String(b)
- : ((g = g - b.length),
- g > x.length && (x += x.repeat(g / x.length)),
- String(b) + x.slice(0, g))
- );
- }),
- typeof console == "undefined" &&
- (console = {
- warn: function (h) {
- alert(h);
- },
- log: function (h) {
- alert(h);
- },
- error: function (h) {
- throw h;
- },
- }),
- (r.helper.regexes = { asteriskDashAndColon: /([*_:~])/g }),
- (r.helper.emojis = {
- "+1": "👍",
- "-1": "👎",
- 100: "💯",
- 1234: "🔢",
- "1st_place_medal": "🥇",
- "2nd_place_medal": "🥈",
- "3rd_place_medal": "🥉",
- "8ball": "🎱",
- a: "🅰️",
- ab: "🆎",
- abc: "🔤",
- abcd: "🔡",
- accept: "🉑",
- aerial_tramway: "🚡",
- airplane: "✈️",
- alarm_clock: "⏰",
- alembic: "⚗️",
- alien: "👽",
- ambulance: "🚑",
- amphora: "🏺",
- anchor: "⚓️",
- angel: "👼",
- anger: "💢",
- angry: "😠",
- anguished: "😧",
- ant: "🐜",
- apple: "🍎",
- aquarius: "♒️",
- aries: "♈️",
- arrow_backward: "◀️",
- arrow_double_down: "⏬",
- arrow_double_up: "⏫",
- arrow_down: "⬇️",
- arrow_down_small: "🔽",
- arrow_forward: "▶️",
- arrow_heading_down: "⤵️",
- arrow_heading_up: "⤴️",
- arrow_left: "⬅️",
- arrow_lower_left: "↙️",
- arrow_lower_right: "↘️",
- arrow_right: "➡️",
- arrow_right_hook: "↪️",
- arrow_up: "⬆️",
- arrow_up_down: "↕️",
- arrow_up_small: "🔼",
- arrow_upper_left: "↖️",
- arrow_upper_right: "↗️",
- arrows_clockwise: "🔃",
- arrows_counterclockwise: "🔄",
- art: "🎨",
- articulated_lorry: "🚛",
- artificial_satellite: "🛰",
- astonished: "😲",
- athletic_shoe: "👟",
- atm: "🏧",
- atom_symbol: "⚛️",
- avocado: "🥑",
- b: "🅱️",
- baby: "👶",
- baby_bottle: "🍼",
- baby_chick: "🐤",
- baby_symbol: "🚼",
- back: "🔙",
- bacon: "🥓",
- badminton: "🏸",
- baggage_claim: "🛄",
- baguette_bread: "🥖",
- balance_scale: "⚖️",
- balloon: "🎈",
- ballot_box: "🗳",
- ballot_box_with_check: "☑️",
- bamboo: "🎍",
- banana: "🍌",
- bangbang: "‼️",
- bank: "🏦",
- bar_chart: "📊",
- barber: "💈",
- baseball: "⚾️",
- basketball: "🏀",
- basketball_man: "⛹️",
- basketball_woman: "⛹️♀️",
- bat: "🦇",
- bath: "🛀",
- bathtub: "🛁",
- battery: "🔋",
- beach_umbrella: "🏖",
- bear: "🐻",
- bed: "🛏",
- bee: "🐝",
- beer: "🍺",
- beers: "🍻",
- beetle: "🐞",
- beginner: "🔰",
- bell: "🔔",
- bellhop_bell: "🛎",
- bento: "🍱",
- biking_man: "🚴",
- bike: "🚲",
- biking_woman: "🚴♀️",
- bikini: "👙",
- biohazard: "☣️",
- bird: "🐦",
- birthday: "🎂",
- black_circle: "⚫️",
- black_flag: "🏴",
- black_heart: "🖤",
- black_joker: "🃏",
- black_large_square: "⬛️",
- black_medium_small_square: "◾️",
- black_medium_square: "◼️",
- black_nib: "✒️",
- black_small_square: "▪️",
- black_square_button: "🔲",
- blonde_man: "👱",
- blonde_woman: "👱♀️",
- blossom: "🌼",
- blowfish: "🐡",
- blue_book: "📘",
- blue_car: "🚙",
- blue_heart: "💙",
- blush: "😊",
- boar: "🐗",
- boat: "⛵️",
- bomb: "💣",
- book: "📖",
- bookmark: "🔖",
- bookmark_tabs: "📑",
- books: "📚",
- boom: "💥",
- boot: "👢",
- bouquet: "💐",
- bowing_man: "🙇",
- bow_and_arrow: "🏹",
- bowing_woman: "🙇♀️",
- bowling: "🎳",
- boxing_glove: "🥊",
- boy: "👦",
- bread: "🍞",
- bride_with_veil: "👰",
- bridge_at_night: "🌉",
- briefcase: "💼",
- broken_heart: "💔",
- bug: "🐛",
- building_construction: "🏗",
- bulb: "💡",
- bullettrain_front: "🚅",
- bullettrain_side: "🚄",
- burrito: "🌯",
- bus: "🚌",
- business_suit_levitating: "🕴",
- busstop: "🚏",
- bust_in_silhouette: "👤",
- busts_in_silhouette: "👥",
- butterfly: "🦋",
- cactus: "🌵",
- cake: "🍰",
- calendar: "📆",
- call_me_hand: "🤙",
- calling: "📲",
- camel: "🐫",
- camera: "📷",
- camera_flash: "📸",
- camping: "🏕",
- cancer: "♋️",
- candle: "🕯",
- candy: "🍬",
- canoe: "🛶",
- capital_abcd: "🔠",
- capricorn: "♑️",
- car: "🚗",
- card_file_box: "🗃",
- card_index: "📇",
- card_index_dividers: "🗂",
- carousel_horse: "🎠",
- carrot: "🥕",
- cat: "🐱",
- cat2: "🐈",
- cd: "💿",
- chains: "⛓",
- champagne: "🍾",
- chart: "💹",
- chart_with_downwards_trend: "📉",
- chart_with_upwards_trend: "📈",
- checkered_flag: "🏁",
- cheese: "🧀",
- cherries: "🍒",
- cherry_blossom: "🌸",
- chestnut: "🌰",
- chicken: "🐔",
- children_crossing: "🚸",
- chipmunk: "🐿",
- chocolate_bar: "🍫",
- christmas_tree: "🎄",
- church: "⛪️",
- cinema: "🎦",
- circus_tent: "🎪",
- city_sunrise: "🌇",
- city_sunset: "🌆",
- cityscape: "🏙",
- cl: "🆑",
- clamp: "🗜",
- clap: "👏",
- clapper: "🎬",
- classical_building: "🏛",
- clinking_glasses: "🥂",
- clipboard: "📋",
- clock1: "🕐",
- clock10: "🕙",
- clock1030: "🕥",
- clock11: "🕚",
- clock1130: "🕦",
- clock12: "🕛",
- clock1230: "🕧",
- clock130: "🕜",
- clock2: "🕑",
- clock230: "🕝",
- clock3: "🕒",
- clock330: "🕞",
- clock4: "🕓",
- clock430: "🕟",
- clock5: "🕔",
- clock530: "🕠",
- clock6: "🕕",
- clock630: "🕡",
- clock7: "🕖",
- clock730: "🕢",
- clock8: "🕗",
- clock830: "🕣",
- clock9: "🕘",
- clock930: "🕤",
- closed_book: "📕",
- closed_lock_with_key: "🔐",
- closed_umbrella: "🌂",
- cloud: "☁️",
- cloud_with_lightning: "🌩",
- cloud_with_lightning_and_rain: "⛈",
- cloud_with_rain: "🌧",
- cloud_with_snow: "🌨",
- clown_face: "🤡",
- clubs: "♣️",
- cocktail: "🍸",
- coffee: "☕️",
- coffin: "⚰️",
- cold_sweat: "😰",
- comet: "☄️",
- computer: "💻",
- computer_mouse: "🖱",
- confetti_ball: "🎊",
- confounded: "😖",
- confused: "😕",
- congratulations: "㊗️",
- construction: "🚧",
- construction_worker_man: "👷",
- construction_worker_woman: "👷♀️",
- control_knobs: "🎛",
- convenience_store: "🏪",
- cookie: "🍪",
- cool: "🆒",
- policeman: "👮",
- copyright: "©️",
- corn: "🌽",
- couch_and_lamp: "🛋",
- couple: "👫",
- couple_with_heart_woman_man: "💑",
- couple_with_heart_man_man: "👨❤️👨",
- couple_with_heart_woman_woman: "👩❤️👩",
- couplekiss_man_man: "👨❤️💋👨",
- couplekiss_man_woman: "💏",
- couplekiss_woman_woman: "👩❤️💋👩",
- cow: "🐮",
- cow2: "🐄",
- cowboy_hat_face: "🤠",
- crab: "🦀",
- crayon: "🖍",
- credit_card: "💳",
- crescent_moon: "🌙",
- cricket: "🏏",
- crocodile: "🐊",
- croissant: "🥐",
- crossed_fingers: "🤞",
- crossed_flags: "🎌",
- crossed_swords: "⚔️",
- crown: "👑",
- cry: "😢",
- crying_cat_face: "😿",
- crystal_ball: "🔮",
- cucumber: "🥒",
- cupid: "💘",
- curly_loop: "➰",
- currency_exchange: "💱",
- curry: "🍛",
- custard: "🍮",
- customs: "🛃",
- cyclone: "🌀",
- dagger: "🗡",
- dancer: "💃",
- dancing_women: "👯",
- dancing_men: "👯♂️",
- dango: "🍡",
- dark_sunglasses: "🕶",
- dart: "🎯",
- dash: "💨",
- date: "📅",
- deciduous_tree: "🌳",
- deer: "🦌",
- department_store: "🏬",
- derelict_house: "🏚",
- desert: "🏜",
- desert_island: "🏝",
- desktop_computer: "🖥",
- male_detective: "🕵️",
- diamond_shape_with_a_dot_inside: "💠",
- diamonds: "♦️",
- disappointed: "😞",
- disappointed_relieved: "😥",
- dizzy: "💫",
- dizzy_face: "😵",
- do_not_litter: "🚯",
- dog: "🐶",
- dog2: "🐕",
- dollar: "💵",
- dolls: "🎎",
- dolphin: "🐬",
- door: "🚪",
- doughnut: "🍩",
- dove: "🕊",
- dragon: "🐉",
- dragon_face: "🐲",
- dress: "👗",
- dromedary_camel: "🐪",
- drooling_face: "🤤",
- droplet: "💧",
- drum: "🥁",
- duck: "🦆",
- dvd: "📀",
- "e-mail": "📧",
- eagle: "🦅",
- ear: "👂",
- ear_of_rice: "🌾",
- earth_africa: "🌍",
- earth_americas: "🌎",
- earth_asia: "🌏",
- egg: "🥚",
- eggplant: "🍆",
- eight_pointed_black_star: "✴️",
- eight_spoked_asterisk: "✳️",
- electric_plug: "🔌",
- elephant: "🐘",
- email: "✉️",
- end: "🔚",
- envelope_with_arrow: "📩",
- euro: "💶",
- european_castle: "🏰",
- european_post_office: "🏤",
- evergreen_tree: "🌲",
- exclamation: "❗️",
- expressionless: "😑",
- eye: "👁",
- eye_speech_bubble: "👁🗨",
- eyeglasses: "👓",
- eyes: "👀",
- face_with_head_bandage: "🤕",
- face_with_thermometer: "🤒",
- fist_oncoming: "👊",
- factory: "🏭",
- fallen_leaf: "🍂",
- family_man_woman_boy: "👪",
- family_man_boy: "👨👦",
- family_man_boy_boy: "👨👦👦",
- family_man_girl: "👨👧",
- family_man_girl_boy: "👨👧👦",
- family_man_girl_girl: "👨👧👧",
- family_man_man_boy: "👨👨👦",
- family_man_man_boy_boy: "👨👨👦👦",
- family_man_man_girl: "👨👨👧",
- family_man_man_girl_boy: "👨👨👧👦",
- family_man_man_girl_girl: "👨👨👧👧",
- family_man_woman_boy_boy: "👨👩👦👦",
- family_man_woman_girl: "👨👩👧",
- family_man_woman_girl_boy: "👨👩👧👦",
- family_man_woman_girl_girl: "👨👩👧👧",
- family_woman_boy: "👩👦",
- family_woman_boy_boy: "👩👦👦",
- family_woman_girl: "👩👧",
- family_woman_girl_boy: "👩👧👦",
- family_woman_girl_girl: "👩👧👧",
- family_woman_woman_boy: "👩👩👦",
- family_woman_woman_boy_boy: "👩👩👦👦",
- family_woman_woman_girl: "👩👩👧",
- family_woman_woman_girl_boy: "👩👩👧👦",
- family_woman_woman_girl_girl: "👩👩👧👧",
- fast_forward: "⏩",
- fax: "📠",
- fearful: "😨",
- feet: "🐾",
- female_detective: "🕵️♀️",
- ferris_wheel: "🎡",
- ferry: "⛴",
- field_hockey: "🏑",
- file_cabinet: "🗄",
- file_folder: "📁",
- film_projector: "📽",
- film_strip: "🎞",
- fire: "🔥",
- fire_engine: "🚒",
- fireworks: "🎆",
- first_quarter_moon: "🌓",
- first_quarter_moon_with_face: "🌛",
- fish: "🐟",
- fish_cake: "🍥",
- fishing_pole_and_fish: "🎣",
- fist_raised: "✊",
- fist_left: "🤛",
- fist_right: "🤜",
- flags: "🎏",
- flashlight: "🔦",
- fleur_de_lis: "⚜️",
- flight_arrival: "🛬",
- flight_departure: "🛫",
- floppy_disk: "💾",
- flower_playing_cards: "🎴",
- flushed: "😳",
- fog: "🌫",
- foggy: "🌁",
- football: "🏈",
- footprints: "👣",
- fork_and_knife: "🍴",
- fountain: "⛲️",
- fountain_pen: "🖋",
- four_leaf_clover: "🍀",
- fox_face: "🦊",
- framed_picture: "🖼",
- free: "🆓",
- fried_egg: "🍳",
- fried_shrimp: "🍤",
- fries: "🍟",
- frog: "🐸",
- frowning: "😦",
- frowning_face: "☹️",
- frowning_man: "🙍♂️",
- frowning_woman: "🙍",
- middle_finger: "🖕",
- fuelpump: "⛽️",
- full_moon: "🌕",
- full_moon_with_face: "🌝",
- funeral_urn: "⚱️",
- game_die: "🎲",
- gear: "⚙️",
- gem: "💎",
- gemini: "♊️",
- ghost: "👻",
- gift: "🎁",
- gift_heart: "💝",
- girl: "👧",
- globe_with_meridians: "🌐",
- goal_net: "🥅",
- goat: "🐐",
- golf: "⛳️",
- golfing_man: "🏌️",
- golfing_woman: "🏌️♀️",
- gorilla: "🦍",
- grapes: "🍇",
- green_apple: "🍏",
- green_book: "📗",
- green_heart: "💚",
- green_salad: "🥗",
- grey_exclamation: "❕",
- grey_question: "❔",
- grimacing: "😬",
- grin: "😁",
- grinning: "😀",
- guardsman: "💂",
- guardswoman: "💂♀️",
- guitar: "🎸",
- gun: "🔫",
- haircut_woman: "💇",
- haircut_man: "💇♂️",
- hamburger: "🍔",
- hammer: "🔨",
- hammer_and_pick: "⚒",
- hammer_and_wrench: "🛠",
- hamster: "🐹",
- hand: "✋",
- handbag: "👜",
- handshake: "🤝",
- hankey: "💩",
- hatched_chick: "🐥",
- hatching_chick: "🐣",
- headphones: "🎧",
- hear_no_evil: "🙉",
- heart: "❤️",
- heart_decoration: "💟",
- heart_eyes: "😍",
- heart_eyes_cat: "😻",
- heartbeat: "💓",
- heartpulse: "💗",
- hearts: "♥️",
- heavy_check_mark: "✔️",
- heavy_division_sign: "➗",
- heavy_dollar_sign: "💲",
- heavy_heart_exclamation: "❣️",
- heavy_minus_sign: "➖",
- heavy_multiplication_x: "✖️",
- heavy_plus_sign: "➕",
- helicopter: "🚁",
- herb: "🌿",
- hibiscus: "🌺",
- high_brightness: "🔆",
- high_heel: "👠",
- hocho: "🔪",
- hole: "🕳",
- honey_pot: "🍯",
- horse: "🐴",
- horse_racing: "🏇",
- hospital: "🏥",
- hot_pepper: "🌶",
- hotdog: "🌭",
- hotel: "🏨",
- hotsprings: "♨️",
- hourglass: "⌛️",
- hourglass_flowing_sand: "⏳",
- house: "🏠",
- house_with_garden: "🏡",
- houses: "🏘",
- hugs: "🤗",
- hushed: "😯",
- ice_cream: "🍨",
- ice_hockey: "🏒",
- ice_skate: "⛸",
- icecream: "🍦",
- id: "🆔",
- ideograph_advantage: "🉐",
- imp: "👿",
- inbox_tray: "📥",
- incoming_envelope: "📨",
- tipping_hand_woman: "💁",
- information_source: "ℹ️",
- innocent: "😇",
- interrobang: "⁉️",
- iphone: "📱",
- izakaya_lantern: "🏮",
- jack_o_lantern: "🎃",
- japan: "🗾",
- japanese_castle: "🏯",
- japanese_goblin: "👺",
- japanese_ogre: "👹",
- jeans: "👖",
- joy: "😂",
- joy_cat: "😹",
- joystick: "🕹",
- kaaba: "🕋",
- key: "🔑",
- keyboard: "⌨️",
- keycap_ten: "🔟",
- kick_scooter: "🛴",
- kimono: "👘",
- kiss: "💋",
- kissing: "😗",
- kissing_cat: "😽",
- kissing_closed_eyes: "😚",
- kissing_heart: "😘",
- kissing_smiling_eyes: "😙",
- kiwi_fruit: "🥝",
- koala: "🐨",
- koko: "🈁",
- label: "🏷",
- large_blue_circle: "🔵",
- large_blue_diamond: "🔷",
- large_orange_diamond: "🔶",
- last_quarter_moon: "🌗",
- last_quarter_moon_with_face: "🌜",
- latin_cross: "✝️",
- laughing: "😆",
- leaves: "🍃",
- ledger: "📒",
- left_luggage: "🛅",
- left_right_arrow: "↔️",
- leftwards_arrow_with_hook: "↩️",
- lemon: "🍋",
- leo: "♌️",
- leopard: "🐆",
- level_slider: "🎚",
- libra: "♎️",
- light_rail: "🚈",
- link: "🔗",
- lion: "🦁",
- lips: "👄",
- lipstick: "💄",
- lizard: "🦎",
- lock: "🔒",
- lock_with_ink_pen: "🔏",
- lollipop: "🍭",
- loop: "➿",
- loud_sound: "🔊",
- loudspeaker: "📢",
- love_hotel: "🏩",
- love_letter: "💌",
- low_brightness: "🔅",
- lying_face: "🤥",
- m: "Ⓜ️",
- mag: "🔍",
- mag_right: "🔎",
- mahjong: "🀄️",
- mailbox: "📫",
- mailbox_closed: "📪",
- mailbox_with_mail: "📬",
- mailbox_with_no_mail: "📭",
- man: "👨",
- man_artist: "👨🎨",
- man_astronaut: "👨🚀",
- man_cartwheeling: "🤸♂️",
- man_cook: "👨🍳",
- man_dancing: "🕺",
- man_facepalming: "🤦♂️",
- man_factory_worker: "👨🏭",
- man_farmer: "👨🌾",
- man_firefighter: "👨🚒",
- man_health_worker: "👨⚕️",
- man_in_tuxedo: "🤵",
- man_judge: "👨⚖️",
- man_juggling: "🤹♂️",
- man_mechanic: "👨🔧",
- man_office_worker: "👨💼",
- man_pilot: "👨✈️",
- man_playing_handball: "🤾♂️",
- man_playing_water_polo: "🤽♂️",
- man_scientist: "👨🔬",
- man_shrugging: "🤷♂️",
- man_singer: "👨🎤",
- man_student: "👨🎓",
- man_teacher: "👨🏫",
- man_technologist: "👨💻",
- man_with_gua_pi_mao: "👲",
- man_with_turban: "👳",
- tangerine: "🍊",
- mans_shoe: "👞",
- mantelpiece_clock: "🕰",
- maple_leaf: "🍁",
- martial_arts_uniform: "🥋",
- mask: "😷",
- massage_woman: "💆",
- massage_man: "💆♂️",
- meat_on_bone: "🍖",
- medal_military: "🎖",
- medal_sports: "🏅",
- mega: "📣",
- melon: "🍈",
- memo: "📝",
- men_wrestling: "🤼♂️",
- menorah: "🕎",
- mens: "🚹",
- metal: "🤘",
- metro: "🚇",
- microphone: "🎤",
- microscope: "🔬",
- milk_glass: "🥛",
- milky_way: "🌌",
- minibus: "🚐",
- minidisc: "💽",
- mobile_phone_off: "📴",
- money_mouth_face: "🤑",
- money_with_wings: "💸",
- moneybag: "💰",
- monkey: "🐒",
- monkey_face: "🐵",
- monorail: "🚝",
- moon: "🌔",
- mortar_board: "🎓",
- mosque: "🕌",
- motor_boat: "🛥",
- motor_scooter: "🛵",
- motorcycle: "🏍",
- motorway: "🛣",
- mount_fuji: "🗻",
- mountain: "⛰",
- mountain_biking_man: "🚵",
- mountain_biking_woman: "🚵♀️",
- mountain_cableway: "🚠",
- mountain_railway: "🚞",
- mountain_snow: "🏔",
- mouse: "🐭",
- mouse2: "🐁",
- movie_camera: "🎥",
- moyai: "🗿",
- mrs_claus: "🤶",
- muscle: "💪",
- mushroom: "🍄",
- musical_keyboard: "🎹",
- musical_note: "🎵",
- musical_score: "🎼",
- mute: "🔇",
- nail_care: "💅",
- name_badge: "📛",
- national_park: "🏞",
- nauseated_face: "🤢",
- necktie: "👔",
- negative_squared_cross_mark: "❎",
- nerd_face: "🤓",
- neutral_face: "😐",
- new: "🆕",
- new_moon: "🌑",
- new_moon_with_face: "🌚",
- newspaper: "📰",
- newspaper_roll: "🗞",
- next_track_button: "⏭",
- ng: "🆖",
- no_good_man: "🙅♂️",
- no_good_woman: "🙅",
- night_with_stars: "🌃",
- no_bell: "🔕",
- no_bicycles: "🚳",
- no_entry: "⛔️",
- no_entry_sign: "🚫",
- no_mobile_phones: "📵",
- no_mouth: "😶",
- no_pedestrians: "🚷",
- no_smoking: "🚭",
- "non-potable_water": "🚱",
- nose: "👃",
- notebook: "📓",
- notebook_with_decorative_cover: "📔",
- notes: "🎶",
- nut_and_bolt: "🔩",
- o: "⭕️",
- o2: "🅾️",
- ocean: "🌊",
- octopus: "🐙",
- oden: "🍢",
- office: "🏢",
- oil_drum: "🛢",
- ok: "🆗",
- ok_hand: "👌",
- ok_man: "🙆♂️",
- ok_woman: "🙆",
- old_key: "🗝",
- older_man: "👴",
- older_woman: "👵",
- om: "🕉",
- on: "🔛",
- oncoming_automobile: "🚘",
- oncoming_bus: "🚍",
- oncoming_police_car: "🚔",
- oncoming_taxi: "🚖",
- open_file_folder: "📂",
- open_hands: "👐",
- open_mouth: "😮",
- open_umbrella: "☂️",
- ophiuchus: "⛎",
- orange_book: "📙",
- orthodox_cross: "☦️",
- outbox_tray: "📤",
- owl: "🦉",
- ox: "🐂",
- package: "📦",
- page_facing_up: "📄",
- page_with_curl: "📃",
- pager: "📟",
- paintbrush: "🖌",
- palm_tree: "🌴",
- pancakes: "🥞",
- panda_face: "🐼",
- paperclip: "📎",
- paperclips: "🖇",
- parasol_on_ground: "⛱",
- parking: "🅿️",
- part_alternation_mark: "〽️",
- partly_sunny: "⛅️",
- passenger_ship: "🛳",
- passport_control: "🛂",
- pause_button: "⏸",
- peace_symbol: "☮️",
- peach: "🍑",
- peanuts: "🥜",
- pear: "🍐",
- pen: "🖊",
- pencil2: "✏️",
- penguin: "🐧",
- pensive: "😔",
- performing_arts: "🎭",
- persevere: "😣",
- person_fencing: "🤺",
- pouting_woman: "🙎",
- phone: "☎️",
- pick: "⛏",
- pig: "🐷",
- pig2: "🐖",
- pig_nose: "🐽",
- pill: "💊",
- pineapple: "🍍",
- ping_pong: "🏓",
- pisces: "♓️",
- pizza: "🍕",
- place_of_worship: "🛐",
- plate_with_cutlery: "🍽",
- play_or_pause_button: "⏯",
- point_down: "👇",
- point_left: "👈",
- point_right: "👉",
- point_up: "☝️",
- point_up_2: "👆",
- police_car: "🚓",
- policewoman: "👮♀️",
- poodle: "🐩",
- popcorn: "🍿",
- post_office: "🏣",
- postal_horn: "📯",
- postbox: "📮",
- potable_water: "🚰",
- potato: "🥔",
- pouch: "👝",
- poultry_leg: "🍗",
- pound: "💷",
- rage: "😡",
- pouting_cat: "😾",
- pouting_man: "🙎♂️",
- pray: "🙏",
- prayer_beads: "📿",
- pregnant_woman: "🤰",
- previous_track_button: "⏮",
- prince: "🤴",
- princess: "👸",
- printer: "🖨",
- purple_heart: "💜",
- purse: "👛",
- pushpin: "📌",
- put_litter_in_its_place: "🚮",
- question: "❓",
- rabbit: "🐰",
- rabbit2: "🐇",
- racehorse: "🐎",
- racing_car: "🏎",
- radio: "📻",
- radio_button: "🔘",
- radioactive: "☢️",
- railway_car: "🚃",
- railway_track: "🛤",
- rainbow: "🌈",
- rainbow_flag: "🏳️🌈",
- raised_back_of_hand: "🤚",
- raised_hand_with_fingers_splayed: "🖐",
- raised_hands: "🙌",
- raising_hand_woman: "🙋",
- raising_hand_man: "🙋♂️",
- ram: "🐏",
- ramen: "🍜",
- rat: "🐀",
- record_button: "⏺",
- recycle: "♻️",
- red_circle: "🔴",
- registered: "®️",
- relaxed: "☺️",
- relieved: "😌",
- reminder_ribbon: "🎗",
- repeat: "🔁",
- repeat_one: "🔂",
- rescue_worker_helmet: "⛑",
- restroom: "🚻",
- revolving_hearts: "💞",
- rewind: "⏪",
- rhinoceros: "🦏",
- ribbon: "🎀",
- rice: "🍚",
- rice_ball: "🍙",
- rice_cracker: "🍘",
- rice_scene: "🎑",
- right_anger_bubble: "🗯",
- ring: "💍",
- robot: "🤖",
- rocket: "🚀",
- rofl: "🤣",
- roll_eyes: "🙄",
- roller_coaster: "🎢",
- rooster: "🐓",
- rose: "🌹",
- rosette: "🏵",
- rotating_light: "🚨",
- round_pushpin: "📍",
- rowing_man: "🚣",
- rowing_woman: "🚣♀️",
- rugby_football: "🏉",
- running_man: "🏃",
- running_shirt_with_sash: "🎽",
- running_woman: "🏃♀️",
- sa: "🈂️",
- sagittarius: "♐️",
- sake: "🍶",
- sandal: "👡",
- santa: "🎅",
- satellite: "📡",
- saxophone: "🎷",
- school: "🏫",
- school_satchel: "🎒",
- scissors: "✂️",
- scorpion: "🦂",
- scorpius: "♏️",
- scream: "😱",
- scream_cat: "🙀",
- scroll: "📜",
- seat: "💺",
- secret: "㊙️",
- see_no_evil: "🙈",
- seedling: "🌱",
- selfie: "🤳",
- shallow_pan_of_food: "🥘",
- shamrock: "☘️",
- shark: "🦈",
- shaved_ice: "🍧",
- sheep: "🐑",
- shell: "🐚",
- shield: "🛡",
- shinto_shrine: "⛩",
- ship: "🚢",
- shirt: "👕",
- shopping: "🛍",
- shopping_cart: "🛒",
- shower: "🚿",
- shrimp: "🦐",
- signal_strength: "📶",
- six_pointed_star: "🔯",
- ski: "🎿",
- skier: "⛷",
- skull: "💀",
- skull_and_crossbones: "☠️",
- sleeping: "😴",
- sleeping_bed: "🛌",
- sleepy: "😪",
- slightly_frowning_face: "🙁",
- slightly_smiling_face: "🙂",
- slot_machine: "🎰",
- small_airplane: "🛩",
- small_blue_diamond: "🔹",
- small_orange_diamond: "🔸",
- small_red_triangle: "🔺",
- small_red_triangle_down: "🔻",
- smile: "😄",
- smile_cat: "😸",
- smiley: "😃",
- smiley_cat: "😺",
- smiling_imp: "😈",
- smirk: "😏",
- smirk_cat: "😼",
- smoking: "🚬",
- snail: "🐌",
- snake: "🐍",
- sneezing_face: "🤧",
- snowboarder: "🏂",
- snowflake: "❄️",
- snowman: "⛄️",
- snowman_with_snow: "☃️",
- sob: "😭",
- soccer: "⚽️",
- soon: "🔜",
- sos: "🆘",
- sound: "🔉",
- space_invader: "👾",
- spades: "♠️",
- spaghetti: "🍝",
- sparkle: "❇️",
- sparkler: "🎇",
- sparkles: "✨",
- sparkling_heart: "💖",
- speak_no_evil: "🙊",
- speaker: "🔈",
- speaking_head: "🗣",
- speech_balloon: "💬",
- speedboat: "🚤",
- spider: "🕷",
- spider_web: "🕸",
- spiral_calendar: "🗓",
- spiral_notepad: "🗒",
- spoon: "🥄",
- squid: "🦑",
- stadium: "🏟",
- star: "⭐️",
- star2: "🌟",
- star_and_crescent: "☪️",
- star_of_david: "✡️",
- stars: "🌠",
- station: "🚉",
- statue_of_liberty: "🗽",
- steam_locomotive: "🚂",
- stew: "🍲",
- stop_button: "⏹",
- stop_sign: "🛑",
- stopwatch: "⏱",
- straight_ruler: "📏",
- strawberry: "🍓",
- stuck_out_tongue: "😛",
- stuck_out_tongue_closed_eyes: "😝",
- stuck_out_tongue_winking_eye: "😜",
- studio_microphone: "🎙",
- stuffed_flatbread: "🥙",
- sun_behind_large_cloud: "🌥",
- sun_behind_rain_cloud: "🌦",
- sun_behind_small_cloud: "🌤",
- sun_with_face: "🌞",
- sunflower: "🌻",
- sunglasses: "😎",
- sunny: "☀️",
- sunrise: "🌅",
- sunrise_over_mountains: "🌄",
- surfing_man: "🏄",
- surfing_woman: "🏄♀️",
- sushi: "🍣",
- suspension_railway: "🚟",
- sweat: "😓",
- sweat_drops: "💦",
- sweat_smile: "😅",
- sweet_potato: "🍠",
- swimming_man: "🏊",
- swimming_woman: "🏊♀️",
- symbols: "🔣",
- synagogue: "🕍",
- syringe: "💉",
- taco: "🌮",
- tada: "🎉",
- tanabata_tree: "🎋",
- taurus: "♉️",
- taxi: "🚕",
- tea: "🍵",
- telephone_receiver: "📞",
- telescope: "🔭",
- tennis: "🎾",
- tent: "⛺️",
- thermometer: "🌡",
- thinking: "🤔",
- thought_balloon: "💭",
- ticket: "🎫",
- tickets: "🎟",
- tiger: "🐯",
- tiger2: "🐅",
- timer_clock: "⏲",
- tipping_hand_man: "💁♂️",
- tired_face: "😫",
- tm: "™️",
- toilet: "🚽",
- tokyo_tower: "🗼",
- tomato: "🍅",
- tongue: "👅",
- top: "🔝",
- tophat: "🎩",
- tornado: "🌪",
- trackball: "🖲",
- tractor: "🚜",
- traffic_light: "🚥",
- train: "🚋",
- train2: "🚆",
- tram: "🚊",
- triangular_flag_on_post: "🚩",
- triangular_ruler: "📐",
- trident: "🔱",
- triumph: "😤",
- trolleybus: "🚎",
- trophy: "🏆",
- tropical_drink: "🍹",
- tropical_fish: "🐠",
- truck: "🚚",
- trumpet: "🎺",
- tulip: "🌷",
- tumbler_glass: "🥃",
- turkey: "🦃",
- turtle: "🐢",
- tv: "📺",
- twisted_rightwards_arrows: "🔀",
- two_hearts: "💕",
- two_men_holding_hands: "👬",
- two_women_holding_hands: "👭",
- u5272: "🈹",
- u5408: "🈴",
- u55b6: "🈺",
- u6307: "🈯️",
- u6708: "🈷️",
- u6709: "🈶",
- u6e80: "🈵",
- u7121: "🈚️",
- u7533: "🈸",
- u7981: "🈲",
- u7a7a: "🈳",
- umbrella: "☔️",
- unamused: "😒",
- underage: "🔞",
- unicorn: "🦄",
- unlock: "🔓",
- up: "🆙",
- upside_down_face: "🙃",
- v: "✌️",
- vertical_traffic_light: "🚦",
- vhs: "📼",
- vibration_mode: "📳",
- video_camera: "📹",
- video_game: "🎮",
- violin: "🎻",
- virgo: "♍️",
- volcano: "🌋",
- volleyball: "🏐",
- vs: "🆚",
- vulcan_salute: "🖖",
- walking_man: "🚶",
- walking_woman: "🚶♀️",
- waning_crescent_moon: "🌘",
- waning_gibbous_moon: "🌖",
- warning: "⚠️",
- wastebasket: "🗑",
- watch: "⌚️",
- water_buffalo: "🐃",
- watermelon: "🍉",
- wave: "👋",
- wavy_dash: "〰️",
- waxing_crescent_moon: "🌒",
- wc: "🚾",
- weary: "😩",
- wedding: "💒",
- weight_lifting_man: "🏋️",
- weight_lifting_woman: "🏋️♀️",
- whale: "🐳",
- whale2: "🐋",
- wheel_of_dharma: "☸️",
- wheelchair: "♿️",
- white_check_mark: "✅",
- white_circle: "⚪️",
- white_flag: "🏳️",
- white_flower: "💮",
- white_large_square: "⬜️",
- white_medium_small_square: "◽️",
- white_medium_square: "◻️",
- white_small_square: "▫️",
- white_square_button: "🔳",
- wilted_flower: "🥀",
- wind_chime: "🎐",
- wind_face: "🌬",
- wine_glass: "🍷",
- wink: "😉",
- wolf: "🐺",
- woman: "👩",
- woman_artist: "👩🎨",
- woman_astronaut: "👩🚀",
- woman_cartwheeling: "🤸♀️",
- woman_cook: "👩🍳",
- woman_facepalming: "🤦♀️",
- woman_factory_worker: "👩🏭",
- woman_farmer: "👩🌾",
- woman_firefighter: "👩🚒",
- woman_health_worker: "👩⚕️",
- woman_judge: "👩⚖️",
- woman_juggling: "🤹♀️",
- woman_mechanic: "👩🔧",
- woman_office_worker: "👩💼",
- woman_pilot: "👩✈️",
- woman_playing_handball: "🤾♀️",
- woman_playing_water_polo: "🤽♀️",
- woman_scientist: "👩🔬",
- woman_shrugging: "🤷♀️",
- woman_singer: "👩🎤",
- woman_student: "👩🎓",
- woman_teacher: "👩🏫",
- woman_technologist: "👩💻",
- woman_with_turban: "👳♀️",
- womans_clothes: "👚",
- womans_hat: "👒",
- women_wrestling: "🤼♀️",
- womens: "🚺",
- world_map: "🗺",
- worried: "😟",
- wrench: "🔧",
- writing_hand: "✍️",
- x: "❌",
- yellow_heart: "💛",
- yen: "💴",
- yin_yang: "☯️",
- yum: "😋",
- zap: "⚡️",
- zipper_mouth_face: "🤐",
- zzz: "💤",
- octocat:
- '
',
- showdown: `S`,
- }),
- (r.Converter = function (h) {
- var b = {},
- g = [],
- x = [],
- k = {},
- C = l,
- _ = { parsed: {}, raw: "", format: "" };
- T();
- function T() {
- h = h || {};
- for (var M in s) s.hasOwnProperty(M) && (b[M] = s[M]);
- if (typeof h == "object")
- for (var I in h) h.hasOwnProperty(I) && (b[I] = h[I]);
- else
- throw Error(
- "Converter expects the passed parameter to be an object, but " +
- typeof h +
- " was passed instead."
- );
- b.extensions && r.helper.forEach(b.extensions, R);
- }
- function R(M, I) {
- if (((I = I || null), r.helper.isString(M)))
- if (
- ((M = r.helper.stdExtName(M)),
- (I = M),
- r.extensions[M])
- ) {
- console.warn(
- "DEPRECATION WARNING: " +
- M +
- " is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"
- ),
- P(r.extensions[M], M);
- return;
- } else if (!r.helper.isUndefined(i[M])) M = i[M];
- else
- throw Error(
- 'Extension "' +
- M +
- '" could not be loaded. It was either not found or is not a valid extension.'
- );
- typeof M == "function" && (M = M()),
- r.helper.isArray(M) || (M = [M]);
- var $ = u(M, I);
- if (!$.valid) throw Error($.error);
- for (var K = 0; K < M.length; ++K) {
- switch (M[K].type) {
- case "lang":
- g.push(M[K]);
- break;
- case "output":
- x.push(M[K]);
- break;
- }
- if (M[K].hasOwnProperty("listeners"))
- for (var ie in M[K].listeners)
- M[K].listeners.hasOwnProperty(ie) &&
- D(ie, M[K].listeners[ie]);
- }
- }
- function P(M, I) {
- typeof M == "function" && (M = M(new r.Converter())),
- r.helper.isArray(M) || (M = [M]);
- var $ = u(M, I);
- if (!$.valid) throw Error($.error);
- for (var K = 0; K < M.length; ++K)
- switch (M[K].type) {
- case "lang":
- g.push(M[K]);
- break;
- case "output":
- x.push(M[K]);
- break;
- default:
- throw Error(
- "Extension loader error: Type unrecognized!!!"
- );
- }
- }
- function D(M, I) {
- if (!r.helper.isString(M))
- throw Error(
- "Invalid argument in converter.listen() method: name must be a string, but " +
- typeof M +
- " given"
- );
- if (typeof I != "function")
- throw Error(
- "Invalid argument in converter.listen() method: callback must be a function, but " +
- typeof I +
- " given"
- );
- k.hasOwnProperty(M) || (k[M] = []), k[M].push(I);
- }
- function j(M) {
- var I = M.match(/^\s*/)[0].length,
- $ = new RegExp("^\\s{0," + I + "}", "gm");
- return M.replace($, "");
- }
- (this._dispatch = function (I, $, K, ie) {
- if (k.hasOwnProperty(I))
- for (var X = 0; X < k[I].length; ++X) {
- var de = k[I][X](I, $, this, K, ie);
- de && typeof de != "undefined" && ($ = de);
- }
- return $;
- }),
- (this.listen = function (M, I) {
- return D(M, I), this;
- }),
- (this.makeHtml = function (M) {
- if (!M) return M;
- var I = {
- gHtmlBlocks: [],
- gHtmlMdBlocks: [],
- gHtmlSpans: [],
- gUrls: {},
- gTitles: {},
- gDimensions: {},
- gListLevel: 0,
- hashLinkCounts: {},
- langExtensions: g,
- outputModifiers: x,
- converter: this,
- ghCodeBlocks: [],
- metadata: { parsed: {}, raw: "", format: "" },
- };
- return (
- (M = M.replace(/¨/g, "¨T")),
- (M = M.replace(/\$/g, "¨D")),
- (M = M.replace(
- /\r\n/g,
- `
-`
- )),
- (M = M.replace(
- /\r/g,
- `
-`
- )),
- (M = M.replace(/\u00A0/g, " ")),
- b.smartIndentationFix && (M = j(M)),
- (M =
- `
-
-` +
- M +
- `
-
-`),
- (M = r.subParser("detab")(M, b, I)),
- (M = M.replace(/^[ \t]+$/gm, "")),
- r.helper.forEach(g, function ($) {
- M = r.subParser("runExtension")($, M, b, I);
- }),
- (M = r.subParser("metadata")(M, b, I)),
- (M = r.subParser("hashPreCodeTags")(M, b, I)),
- (M = r.subParser("githubCodeBlocks")(M, b, I)),
- (M = r.subParser("hashHTMLBlocks")(M, b, I)),
- (M = r.subParser("hashCodeTags")(M, b, I)),
- (M = r.subParser("stripLinkDefinitions")(M, b, I)),
- (M = r.subParser("blockGamut")(M, b, I)),
- (M = r.subParser("unhashHTMLSpans")(M, b, I)),
- (M = r.subParser("unescapeSpecialChars")(M, b, I)),
- (M = M.replace(/¨D/g, "$$")),
- (M = M.replace(/¨T/g, "¨")),
- (M = r.subParser("completeHTMLDocument")(M, b, I)),
- r.helper.forEach(x, function ($) {
- M = r.subParser("runExtension")($, M, b, I);
- }),
- (_ = I.metadata),
- M
- );
- }),
- (this.makeMarkdown = this.makeMd =
- function (M, I) {
- if (
- ((M = M.replace(
- /\r\n/g,
- `
-`
- )),
- (M = M.replace(
- /\r/g,
- `
-`
- )),
- (M = M.replace(/>[ \t]+, ">¨NBSP;<")),
- !I)
- )
- if (window && window.document)
- I = window.document;
- else
- throw new Error(
- "HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM"
- );
- var $ = I.createElement("div");
- $.innerHTML = M;
- var K = { preList: Ee($) };
- ze($);
- for (
- var ie = $.childNodes, X = "", de = 0;
- de < ie.length;
- de++
- )
- X += r.subParser("makeMarkdown.node")(
- ie[de],
- K
- );
- function ze(Pe) {
- for (
- var De = 0;
- De < Pe.childNodes.length;
- ++De
- ) {
- var H = Pe.childNodes[De];
- H.nodeType === 3
- ? !/\S/.test(H.nodeValue) &&
- !/^[ ]+$/.test(H.nodeValue)
- ? (Pe.removeChild(H), --De)
- : ((H.nodeValue = H.nodeValue
- .split(
- `
-`
- )
- .join(" ")),
- (H.nodeValue =
- H.nodeValue.replace(
- /(\s)+/g,
- "$1"
- )))
- : H.nodeType === 1 && ze(H);
- }
- }
- function Ee(Pe) {
- for (
- var De = Pe.querySelectorAll("pre"),
- H = [],
- Z = 0;
- Z < De.length;
- ++Z
- )
- if (
- De[Z].childElementCount === 1 &&
- De[
- Z
- ].firstChild.tagName.toLowerCase() ===
- "code"
- ) {
- var oe =
- De[
- Z
- ].firstChild.innerHTML.trim(),
- ce =
- De[Z].firstChild.getAttribute(
- "data-language"
- ) || "";
- if (ce === "")
- for (
- var He =
- De[
- Z
- ].firstChild.className.split(
- " "
- ),
- Ye = 0;
- Ye < He.length;
- ++Ye
- ) {
- var A =
- He[Ye].match(
- /^language-(.+)$/
- );
- if (A !== null) {
- ce = A[1];
- break;
- }
- }
- (oe =
- r.helper.unescapeHTMLEntities(oe)),
- H.push(oe),
- (De[Z].outerHTML =
- ' ');
- } else
- H.push(De[Z].innerHTML),
- (De[Z].innerHTML = ""),
- De[Z].setAttribute(
- "prenum",
- Z.toString()
- );
- return H;
- }
- return X;
- }),
- (this.setOption = function (M, I) {
- b[M] = I;
- }),
- (this.getOption = function (M) {
- return b[M];
- }),
- (this.getOptions = function () {
- return b;
- }),
- (this.addExtension = function (M, I) {
- (I = I || null), R(M, I);
- }),
- (this.useExtension = function (M) {
- R(M);
- }),
- (this.setFlavor = function (M) {
- if (!a.hasOwnProperty(M))
- throw Error(M + " flavor was not found");
- var I = a[M];
- C = M;
- for (var $ in I) I.hasOwnProperty($) && (b[$] = I[$]);
- }),
- (this.getFlavor = function () {
- return C;
- }),
- (this.removeExtension = function (M) {
- r.helper.isArray(M) || (M = [M]);
- for (var I = 0; I < M.length; ++I) {
- for (var $ = M[I], K = 0; K < g.length; ++K)
- g[K] === $ && g.splice(K, 1);
- for (var ie = 0; ie < x.length; ++ie)
- x[ie] === $ && x.splice(ie, 1);
- }
- }),
- (this.getAllExtensions = function () {
- return { language: g, output: x };
- }),
- (this.getMetadata = function (M) {
- return M ? _.raw : _.parsed;
- }),
- (this.getMetadataFormat = function () {
- return _.format;
- }),
- (this._setMetadataPair = function (M, I) {
- _.parsed[M] = I;
- }),
- (this._setMetadataFormat = function (M) {
- _.format = M;
- }),
- (this._setMetadataRaw = function (M) {
- _.raw = M;
- });
- }),
- r.subParser("anchors", function (h, b, g) {
- h = g.converter._dispatch("anchors.before", h, b, g);
- var x = function (k, C, _, T, R, P, D) {
- if (
- (r.helper.isUndefined(D) && (D = ""),
- (_ = _.toLowerCase()),
- k.search(/\(\s*>? ?(['"].*['"])?\)$/m) > -1)
- )
- T = "";
- else if (!T)
- if (
- (_ || (_ = C.toLowerCase().replace(/ ?\n/g, " ")),
- (T = "#" + _),
- !r.helper.isUndefined(g.gUrls[_]))
- )
- (T = g.gUrls[_]),
- r.helper.isUndefined(g.gTitles[_]) ||
- (D = g.gTitles[_]);
- else return k;
- T = T.replace(
- r.helper.regexes.asteriskDashAndColon,
- r.helper.escapeCharactersCallback
- );
- var j = '" + C + ""),
- j
- );
- };
- return (
- (h = h.replace(
- /\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,
- x
- )),
- (h = h.replace(
- /\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,
- x
- )),
- (h = h.replace(
- /\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,
- x
- )),
- (h = h.replace(/\[([^\[\]]+)]()()()()()/g, x)),
- b.ghMentions &&
- (h = h.replace(
- /(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim,
- function (k, C, _, T, R) {
- if (_ === "\\") return C + T;
- if (!r.helper.isString(b.ghMentionsLink))
- throw new Error(
- "ghMentionsLink option must be a string"
- );
- var P = b.ghMentionsLink.replace(/\{u}/g, R),
- D = "";
- return (
- b.openLinksInNewWindow &&
- (D =
- ' rel="noopener noreferrer" target="¨E95Eblank"'),
- C +
- '" +
- T +
- ""
- );
- }
- )),
- (h = g.converter._dispatch("anchors.after", h, b, g)),
- h
- );
- });
- var f =
- /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,
- p =
- /([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,
- m = /()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,
- y =
- /(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,
- v = /<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,
- w = function (h) {
- return function (b, g, x, k, C, _, T) {
- x = x.replace(
- r.helper.regexes.asteriskDashAndColon,
- r.helper.escapeCharactersCallback
- );
- var R = x,
- P = "",
- D = "",
- j = g || "",
- M = T || "";
- return (
- /^www\./i.test(x) &&
- (x = x.replace(/^www\./i, "http://www.")),
- h.excludeTrailingPunctuationFromURLs && _ && (P = _),
- h.openLinksInNewWindow &&
- (D =
- ' rel="noopener noreferrer" target="¨E95Eblank"'),
- j + '" + R + "" + P + M
- );
- };
- },
- S = function (h, b) {
- return function (g, x, k) {
- var C = "mailto:";
- return (
- (x = x || ""),
- (k = r.subParser("unescapeSpecialChars")(k, h, b)),
- h.encodeEmails
- ? ((C = r.helper.encodeEmailAddress(C + k)),
- (k = r.helper.encodeEmailAddress(k)))
- : (C = C + k),
- x + '' + k + ""
- );
- };
- };
- r.subParser("autoLinks", function (h, b, g) {
- return (
- (h = g.converter._dispatch("autoLinks.before", h, b, g)),
- (h = h.replace(m, w(b))),
- (h = h.replace(v, S(b, g))),
- (h = g.converter._dispatch("autoLinks.after", h, b, g)),
- h
- );
- }),
- r.subParser("simplifiedAutoLinks", function (h, b, g) {
- return (
- b.simplifiedAutoLink &&
- ((h = g.converter._dispatch(
- "simplifiedAutoLinks.before",
- h,
- b,
- g
- )),
- b.excludeTrailingPunctuationFromURLs
- ? (h = h.replace(p, w(b)))
- : (h = h.replace(f, w(b))),
- (h = h.replace(y, S(b, g))),
- (h = g.converter._dispatch(
- "simplifiedAutoLinks.after",
- h,
- b,
- g
- ))),
- h
- );
- }),
- r.subParser("blockGamut", function (h, b, g) {
- return (
- (h = g.converter._dispatch("blockGamut.before", h, b, g)),
- (h = r.subParser("blockQuotes")(h, b, g)),
- (h = r.subParser("headers")(h, b, g)),
- (h = r.subParser("horizontalRule")(h, b, g)),
- (h = r.subParser("lists")(h, b, g)),
- (h = r.subParser("codeBlocks")(h, b, g)),
- (h = r.subParser("tables")(h, b, g)),
- (h = r.subParser("hashHTMLBlocks")(h, b, g)),
- (h = r.subParser("paragraphs")(h, b, g)),
- (h = g.converter._dispatch("blockGamut.after", h, b, g)),
- h
- );
- }),
- r.subParser("blockQuotes", function (h, b, g) {
- (h = g.converter._dispatch("blockQuotes.before", h, b, g)),
- (h =
- h +
- `
-
-`);
- var x = /(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;
- return (
- b.splitAdjacentBlockquotes &&
- (x = /^ {0,3}>[\s\S]*?(?:\n\n)/gm),
- (h = h.replace(x, function (k) {
- return (
- (k = k.replace(/^[ \t]*>[ \t]?/gm, "")),
- (k = k.replace(/¨0/g, "")),
- (k = k.replace(/^[ \t]+$/gm, "")),
- (k = r.subParser("githubCodeBlocks")(k, b, g)),
- (k = r.subParser("blockGamut")(k, b, g)),
- (k = k.replace(/(^|\n)/g, "$1 ")),
- (k = k.replace(
- /(\s*[^\r]+?<\/pre>)/gm,
- function (C, _) {
- var T = _;
- return (
- (T = T.replace(/^ /gm, "¨0")),
- (T = T.replace(/¨0/g, "")),
- T
- );
- }
- )),
- r.subParser("hashBlock")(
- `
-` +
- k +
- `
-
`,
- b,
- g
- )
- );
- })),
- (h = g.converter._dispatch("blockQuotes.after", h, b, g)),
- h
- );
- }),
- r.subParser("codeBlocks", function (h, b, g) {
- (h = g.converter._dispatch("codeBlocks.before", h, b, g)),
- (h += "¨0");
- var x =
- /(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g;
- return (
- (h = h.replace(x, function (k, C, _) {
- var T = C,
- R = _,
- P = `
-`;
- return (
- (T = r.subParser("outdent")(T, b, g)),
- (T = r.subParser("encodeCode")(T, b, g)),
- (T = r.subParser("detab")(T, b, g)),
- (T = T.replace(/^\n+/g, "")),
- (T = T.replace(/\n+$/g, "")),
- b.omitExtraWLInCodeBlocks && (P = ""),
- (T = "" + T + P + "
"),
- r.subParser("hashBlock")(T, b, g) + R
- );
- })),
- (h = h.replace(/¨0/, "")),
- (h = g.converter._dispatch("codeBlocks.after", h, b, g)),
- h
- );
- }),
- r.subParser("codeSpans", function (h, b, g) {
- return (
- (h = g.converter._dispatch("codeSpans.before", h, b, g)),
- typeof h == "undefined" && (h = ""),
- (h = h.replace(
- /(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,
- function (x, k, C, _) {
- var T = _;
- return (
- (T = T.replace(/^([ \t]*)/g, "")),
- (T = T.replace(/[ \t]*$/g, "")),
- (T = r.subParser("encodeCode")(T, b, g)),
- (T = k + "" + T + ""),
- (T = r.subParser("hashHTMLSpans")(T, b, g)),
- T
- );
- }
- )),
- (h = g.converter._dispatch("codeSpans.after", h, b, g)),
- h
- );
- }),
- r.subParser("completeHTMLDocument", function (h, b, g) {
- if (!b.completeHTMLDocument) return h;
- h = g.converter._dispatch(
- "completeHTMLDocument.before",
- h,
- b,
- g
- );
- var x = "html",
- k = `
-`,
- C = "",
- _ = `
-`,
- T = "",
- R = "";
- typeof g.metadata.parsed.doctype != "undefined" &&
- ((k =
- "
-`),
- (x = g.metadata.parsed.doctype.toString().toLowerCase()),
- (x === "html" || x === "html5") &&
- (_ = ''));
- for (var P in g.metadata.parsed)
- if (g.metadata.parsed.hasOwnProperty(P))
- switch (P.toLowerCase()) {
- case "doctype":
- break;
- case "title":
- C =
- "" +
- g.metadata.parsed.title +
- `
-`;
- break;
- case "charset":
- x === "html" || x === "html5"
- ? (_ =
- '
-`)
- : (_ =
- '
-`);
- break;
- case "language":
- case "lang":
- (T = ' lang="' + g.metadata.parsed[P] + '"'),
- (R +=
- '
-`);
- break;
- default:
- R +=
- '
-`;
- }
- return (
- (h =
- k +
- "
-
-` +
- C +
- _ +
- R +
- `
-
-` +
- h.trim() +
- `
-
-`),
- (h = g.converter._dispatch(
- "completeHTMLDocument.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("detab", function (h, b, g) {
- return (
- (h = g.converter._dispatch("detab.before", h, b, g)),
- (h = h.replace(/\t(?=\t)/g, " ")),
- (h = h.replace(/\t/g, "¨A¨B")),
- (h = h.replace(/¨B(.+?)¨A/g, function (x, k) {
- for (
- var C = k, _ = 4 - (C.length % 4), T = 0;
- T < _;
- T++
- )
- C += " ";
- return C;
- })),
- (h = h.replace(/¨A/g, " ")),
- (h = h.replace(/¨B/g, "")),
- (h = g.converter._dispatch("detab.after", h, b, g)),
- h
- );
- }),
- r.subParser("ellipsis", function (h, b, g) {
- return (
- b.ellipsis &&
- ((h = g.converter._dispatch(
- "ellipsis.before",
- h,
- b,
- g
- )),
- (h = h.replace(/\.\.\./g, "…")),
- (h = g.converter._dispatch("ellipsis.after", h, b, g))),
- h
- );
- }),
- r.subParser("emoji", function (h, b, g) {
- if (!b.emoji) return h;
- h = g.converter._dispatch("emoji.before", h, b, g);
- var x = /:([\S]+?):/g;
- return (
- (h = h.replace(x, function (k, C) {
- return r.helper.emojis.hasOwnProperty(C)
- ? r.helper.emojis[C]
- : k;
- })),
- (h = g.converter._dispatch("emoji.after", h, b, g)),
- h
- );
- }),
- r.subParser("encodeAmpsAndAngles", function (h, b, g) {
- return (
- (h = g.converter._dispatch(
- "encodeAmpsAndAngles.before",
- h,
- b,
- g
- )),
- (h = h.replace(
- /&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,
- "&"
- )),
- (h = h.replace(/<(?![a-z\/?$!])/gi, "<")),
- (h = h.replace(//g, ">")),
- (h = g.converter._dispatch(
- "encodeAmpsAndAngles.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("encodeBackslashEscapes", function (h, b, g) {
- return (
- (h = g.converter._dispatch(
- "encodeBackslashEscapes.before",
- h,
- b,
- g
- )),
- (h = h.replace(
- /\\(\\)/g,
- r.helper.escapeCharactersCallback
- )),
- (h = h.replace(
- /\\([`*_{}\[\]()>#+.!~=|:-])/g,
- r.helper.escapeCharactersCallback
- )),
- (h = g.converter._dispatch(
- "encodeBackslashEscapes.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("encodeCode", function (h, b, g) {
- return (
- (h = g.converter._dispatch("encodeCode.before", h, b, g)),
- (h = h
- .replace(/&/g, "&")
- .replace(//g, ">")
- .replace(
- /([*_{}\[\]\\=~-])/g,
- r.helper.escapeCharactersCallback
- )),
- (h = g.converter._dispatch("encodeCode.after", h, b, g)),
- h
- );
- }),
- r.subParser(
- "escapeSpecialCharsWithinTagAttributes",
- function (h, b, g) {
- h = g.converter._dispatch(
- "escapeSpecialCharsWithinTagAttributes.before",
- h,
- b,
- g
- );
- var x = /<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,
- k = /-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;
- return (
- (h = h.replace(x, function (C) {
- return C.replace(
- /(.)<\/?code>(?=.)/g,
- "$1`"
- ).replace(
- /([\\`*_~=|])/g,
- r.helper.escapeCharactersCallback
- );
- })),
- (h = h.replace(k, function (C) {
- return C.replace(
- /([\\`*_~=|])/g,
- r.helper.escapeCharactersCallback
- );
- })),
- (h = g.converter._dispatch(
- "escapeSpecialCharsWithinTagAttributes.after",
- h,
- b,
- g
- )),
- h
- );
- }
- ),
- r.subParser("githubCodeBlocks", function (h, b, g) {
- return b.ghCodeBlocks
- ? ((h = g.converter._dispatch(
- "githubCodeBlocks.before",
- h,
- b,
- g
- )),
- (h += "¨0"),
- (h = h.replace(
- /(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,
- function (x, k, C, _) {
- var T = b.omitExtraWLInCodeBlocks
- ? ""
- : `
-`;
- return (
- (_ = r.subParser("encodeCode")(_, b, g)),
- (_ = r.subParser("detab")(_, b, g)),
- (_ = _.replace(/^\n+/g, "")),
- (_ = _.replace(/\n+$/g, "")),
- (_ =
- "" +
- _ +
- T +
- "
"),
- (_ = r.subParser("hashBlock")(_, b, g)),
- `
-
-¨G` +
- (g.ghCodeBlocks.push({
- text: x,
- codeblock: _,
- }) -
- 1) +
- `G
-
-`
- );
- }
- )),
- (h = h.replace(/¨0/, "")),
- g.converter._dispatch("githubCodeBlocks.after", h, b, g))
- : h;
- }),
- r.subParser("hashBlock", function (h, b, g) {
- return (
- (h = g.converter._dispatch("hashBlock.before", h, b, g)),
- (h = h.replace(/(^\n+|\n+$)/g, "")),
- (h =
- `
-
-¨K` +
- (g.gHtmlBlocks.push(h) - 1) +
- `K
-
-`),
- (h = g.converter._dispatch("hashBlock.after", h, b, g)),
- h
- );
- }),
- r.subParser("hashCodeTags", function (h, b, g) {
- h = g.converter._dispatch("hashCodeTags.before", h, b, g);
- var x = function (k, C, _, T) {
- var R = _ + r.subParser("encodeCode")(C, b, g) + T;
- return "¨C" + (g.gHtmlSpans.push(R) - 1) + "C";
- };
- return (
- (h = r.helper.replaceRecursiveRegExp(
- h,
- x,
- "]*>",
- "",
- "gim"
- )),
- (h = g.converter._dispatch("hashCodeTags.after", h, b, g)),
- h
- );
- }),
- r.subParser("hashElement", function (h, b, g) {
- return function (x, k) {
- var C = k;
- return (
- (C = C.replace(
- /\n\n/g,
- `
-`
- )),
- (C = C.replace(/^\n/, "")),
- (C = C.replace(/\n+$/g, "")),
- (C =
- `
-
-¨K` +
- (g.gHtmlBlocks.push(C) - 1) +
- `K
-
-`),
- C
- );
- };
- }),
- r.subParser("hashHTMLBlocks", function (h, b, g) {
- h = g.converter._dispatch("hashHTMLBlocks.before", h, b, g);
- var x = [
- "pre",
- "div",
- "h1",
- "h2",
- "h3",
- "h4",
- "h5",
- "h6",
- "blockquote",
- "table",
- "dl",
- "ol",
- "ul",
- "script",
- "noscript",
- "form",
- "fieldset",
- "iframe",
- "math",
- "style",
- "section",
- "header",
- "footer",
- "nav",
- "article",
- "aside",
- "address",
- "audio",
- "canvas",
- "figure",
- "hgroup",
- "output",
- "video",
- "p",
- ],
- k = function (M, I, $, K) {
- var ie = M;
- return (
- $.search(/\bmarkdown\b/) !== -1 &&
- (ie = $ + g.converter.makeHtml(I) + K),
- `
-
-¨K` +
- (g.gHtmlBlocks.push(ie) - 1) +
- `K
-
-`
- );
- };
- b.backslashEscapesHTMLTags &&
- (h = h.replace(/\\<(\/?[^>]+?)>/g, function (M, I) {
- return "<" + I + ">";
- }));
- for (var C = 0; C < x.length; ++C)
- for (
- var _,
- T = new RegExp(
- "^ {0,3}(<" + x[C] + "\\b[^>]*>)",
- "im"
- ),
- R = "<" + x[C] + "\\b[^>]*>",
- P = "" + x[C] + ">";
- (_ = r.helper.regexIndexOf(h, T)) !== -1;
-
- ) {
- var D = r.helper.splitAtIndex(h, _),
- j = r.helper.replaceRecursiveRegExp(
- D[1],
- k,
- R,
- P,
- "im"
- );
- if (j === D[1]) break;
- h = D[0].concat(j);
- }
- return (
- (h = h.replace(
- /(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,
- r.subParser("hashElement")(h, b, g)
- )),
- (h = r.helper.replaceRecursiveRegExp(
- h,
- function (M) {
- return (
- `
-
-¨K` +
- (g.gHtmlBlocks.push(M) - 1) +
- `K
-
-`
- );
- },
- "^ {0,3}",
- "gm"
- )),
- (h = h.replace(
- /(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,
- r.subParser("hashElement")(h, b, g)
- )),
- (h = g.converter._dispatch(
- "hashHTMLBlocks.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("hashHTMLSpans", function (h, b, g) {
- h = g.converter._dispatch("hashHTMLSpans.before", h, b, g);
- function x(k) {
- return "¨C" + (g.gHtmlSpans.push(k) - 1) + "C";
- }
- return (
- (h = h.replace(/<[^>]+?\/>/gi, function (k) {
- return x(k);
- })),
- (h = h.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g, function (k) {
- return x(k);
- })),
- (h = h.replace(
- /<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,
- function (k) {
- return x(k);
- }
- )),
- (h = h.replace(/<[^>]+?>/gi, function (k) {
- return x(k);
- })),
- (h = g.converter._dispatch("hashHTMLSpans.after", h, b, g)),
- h
- );
- }),
- r.subParser("unhashHTMLSpans", function (h, b, g) {
- h = g.converter._dispatch("unhashHTMLSpans.before", h, b, g);
- for (var x = 0; x < g.gHtmlSpans.length; ++x) {
- for (var k = g.gHtmlSpans[x], C = 0; /¨C(\d+)C/.test(k); ) {
- var _ = RegExp.$1;
- if (
- ((k = k.replace("¨C" + _ + "C", g.gHtmlSpans[_])),
- C === 10)
- ) {
- console.error(
- "maximum nesting of 10 spans reached!!!"
- );
- break;
- }
- ++C;
- }
- h = h.replace("¨C" + x + "C", k);
- }
- return (
- (h = g.converter._dispatch(
- "unhashHTMLSpans.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("hashPreCodeTags", function (h, b, g) {
- h = g.converter._dispatch("hashPreCodeTags.before", h, b, g);
- var x = function (k, C, _, T) {
- var R = _ + r.subParser("encodeCode")(C, b, g) + T;
- return (
- `
-
-¨G` +
- (g.ghCodeBlocks.push({ text: k, codeblock: R }) - 1) +
- `G
-
-`
- );
- };
- return (
- (h = r.helper.replaceRecursiveRegExp(
- h,
- x,
- "^ {0,3}]*>\\s*]*>",
- "^ {0,3}\\s*
",
- "gim"
- )),
- (h = g.converter._dispatch(
- "hashPreCodeTags.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("headers", function (h, b, g) {
- h = g.converter._dispatch("headers.before", h, b, g);
- var x = isNaN(parseInt(b.headerLevelStart))
- ? 1
- : parseInt(b.headerLevelStart),
- k = b.smoothLivePreview
- ? /^(.+)[ \t]*\n={2,}[ \t]*\n+/gm
- : /^(.+)[ \t]*\n=+[ \t]*\n+/gm,
- C = b.smoothLivePreview
- ? /^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm
- : /^(.+)[ \t]*\n-+[ \t]*\n+/gm;
- (h = h.replace(k, function (R, P) {
- var D = r.subParser("spanGamut")(P, b, g),
- j = b.noHeaderId ? "" : ' id="' + T(P) + '"',
- M = x,
- I = "" + D + " ";
- return r.subParser("hashBlock")(I, b, g);
- })),
- (h = h.replace(C, function (R, P) {
- var D = r.subParser("spanGamut")(P, b, g),
- j = b.noHeaderId ? "" : ' id="' + T(P) + '"',
- M = x + 1,
- I = "" + D + " ";
- return r.subParser("hashBlock")(I, b, g);
- }));
- var _ = b.requireSpaceBeforeHeadingText
- ? /^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm
- : /^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;
- h = h.replace(_, function (R, P, D) {
- var j = D;
- b.customizedHeaderId &&
- (j = D.replace(/\s?\{([^{]+?)}\s*$/, ""));
- var M = r.subParser("spanGamut")(j, b, g),
- I = b.noHeaderId ? "" : ' id="' + T(D) + '"',
- $ = x - 1 + P.length,
- K = "" + M + " ";
- return r.subParser("hashBlock")(K, b, g);
- });
- function T(R) {
- var P, D;
- if (b.customizedHeaderId) {
- var j = R.match(/\{([^{]+?)}\s*$/);
- j && j[1] && (R = j[1]);
- }
- return (
- (P = R),
- r.helper.isString(b.prefixHeaderId)
- ? (D = b.prefixHeaderId)
- : b.prefixHeaderId === !0
- ? (D = "section-")
- : (D = ""),
- b.rawPrefixHeaderId || (P = D + P),
- b.ghCompatibleHeaderId
- ? (P = P.replace(/ /g, "-")
- .replace(/&/g, "")
- .replace(/¨T/g, "")
- .replace(/¨D/g, "")
- .replace(
- /[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,
- ""
- )
- .toLowerCase())
- : b.rawHeaderId
- ? (P = P.replace(/ /g, "-")
- .replace(/&/g, "&")
- .replace(/¨T/g, "¨")
- .replace(/¨D/g, "$")
- .replace(/["']/g, "-")
- .toLowerCase())
- : (P = P.replace(/[^\w]/g, "").toLowerCase()),
- b.rawPrefixHeaderId && (P = D + P),
- g.hashLinkCounts[P]
- ? (P = P + "-" + g.hashLinkCounts[P]++)
- : (g.hashLinkCounts[P] = 1),
- P
- );
- }
- return (h = g.converter._dispatch("headers.after", h, b, g)), h;
- }),
- r.subParser("horizontalRule", function (h, b, g) {
- h = g.converter._dispatch("horizontalRule.before", h, b, g);
- var x = r.subParser("hashBlock")("
", b, g);
- return (
- (h = h.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm, x)),
- (h = h.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm, x)),
- (h = h.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm, x)),
- (h = g.converter._dispatch(
- "horizontalRule.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("images", function (h, b, g) {
- h = g.converter._dispatch("images.before", h, b, g);
- var x =
- /!\[([^\]]*?)][ \t]*()\([ \t]?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,
- k =
- /!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,
- C =
- /!\[([^\]]*?)][ \t]*()\([ \t]?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,
- _ = /!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,
- T = /!\[([^\[\]]+)]()()()()()/g;
- function R(D, j, M, I, $, K, ie, X) {
- return (
- (I = I.replace(/\s/g, "")), P(D, j, M, I, $, K, ie, X)
- );
- }
- function P(D, j, M, I, $, K, ie, X) {
- var de = g.gUrls,
- ze = g.gTitles,
- Ee = g.gDimensions;
- if (
- ((M = M.toLowerCase()),
- X || (X = ""),
- D.search(/\(\s*>? ?(['"].*['"])?\)$/m) > -1)
- )
- I = "";
- else if (I === "" || I === null)
- if (
- ((M === "" || M === null) &&
- (M = j.toLowerCase().replace(/ ?\n/g, " ")),
- (I = "#" + M),
- !r.helper.isUndefined(de[M]))
- )
- (I = de[M]),
- r.helper.isUndefined(ze[M]) || (X = ze[M]),
- r.helper.isUndefined(Ee[M]) ||
- (($ = Ee[M].width), (K = Ee[M].height));
- else return D;
- (j = j
- .replace(/"/g, """)
- .replace(
- r.helper.regexes.asteriskDashAndColon,
- r.helper.escapeCharactersCallback
- )),
- (I = I.replace(
- r.helper.regexes.asteriskDashAndColon,
- r.helper.escapeCharactersCallback
- ));
- var Pe = '
"),
- Pe
- );
- }
- return (
- (h = h.replace(_, P)),
- (h = h.replace(C, R)),
- (h = h.replace(k, P)),
- (h = h.replace(x, P)),
- (h = h.replace(T, P)),
- (h = g.converter._dispatch("images.after", h, b, g)),
- h
- );
- }),
- r.subParser("italicsAndBold", function (h, b, g) {
- h = g.converter._dispatch("italicsAndBold.before", h, b, g);
- function x(k, C, _) {
- return C + k + _;
- }
- return (
- b.literalMidWordUnderscores
- ? ((h = h.replace(
- /\b___(\S[\s\S]*?)___\b/g,
- function (k, C) {
- return x(
- C,
- "",
- ""
- );
- }
- )),
- (h = h.replace(
- /\b__(\S[\s\S]*?)__\b/g,
- function (k, C) {
- return x(C, "", "");
- }
- )),
- (h = h.replace(
- /\b_(\S[\s\S]*?)_\b/g,
- function (k, C) {
- return x(C, "", "");
- }
- )))
- : ((h = h.replace(
- /___(\S[\s\S]*?)___/g,
- function (k, C) {
- return /\S$/.test(C)
- ? x(C, "", "")
- : k;
- }
- )),
- (h = h.replace(/__(\S[\s\S]*?)__/g, function (k, C) {
- return /\S$/.test(C)
- ? x(C, "", "")
- : k;
- })),
- (h = h.replace(
- /_([^\s_][\s\S]*?)_/g,
- function (k, C) {
- return /\S$/.test(C)
- ? x(C, "", "")
- : k;
- }
- ))),
- b.literalMidWordAsterisks
- ? ((h = h.replace(
- /([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,
- function (k, C, _) {
- return x(
- _,
- C + "",
- ""
- );
- }
- )),
- (h = h.replace(
- /([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,
- function (k, C, _) {
- return x(_, C + "", "");
- }
- )),
- (h = h.replace(
- /([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,
- function (k, C, _) {
- return x(_, C + "", "");
- }
- )))
- : ((h = h.replace(
- /\*\*\*(\S[\s\S]*?)\*\*\*/g,
- function (k, C) {
- return /\S$/.test(C)
- ? x(C, "", "")
- : k;
- }
- )),
- (h = h.replace(
- /\*\*(\S[\s\S]*?)\*\*/g,
- function (k, C) {
- return /\S$/.test(C)
- ? x(C, "", "")
- : k;
- }
- )),
- (h = h.replace(
- /\*([^\s*][\s\S]*?)\*/g,
- function (k, C) {
- return /\S$/.test(C)
- ? x(C, "", "")
- : k;
- }
- ))),
- (h = g.converter._dispatch(
- "italicsAndBold.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("lists", function (h, b, g) {
- function x(_, T) {
- g.gListLevel++,
- (_ = _.replace(
- /\n{2,}$/,
- `
-`
- )),
- (_ += "¨0");
- var R =
- /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,
- P = /\n[ \t]*\n(?!¨0)/.test(_);
- return (
- b.disableForced4SpacesIndentedSublists &&
- (R =
- /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),
- (_ = _.replace(R, function (D, j, M, I, $, K, ie) {
- ie = ie && ie.trim() !== "";
- var X = r.subParser("outdent")($, b, g),
- de = "";
- return (
- K &&
- b.tasklists &&
- ((de =
- ' class="task-list-item" style="list-style-type: none;"'),
- (X = X.replace(
- /^[ \t]*\[(x|X| )?]/m,
- function () {
- var ze =
- '"),
- ze
- );
- }
- ))),
- (X = X.replace(
- /^([-*+]|\d\.)[ \t]+[\S\n ]*/g,
- function (ze) {
- return "¨A" + ze;
- }
- )),
- j || X.search(/\n{2,}/) > -1
- ? ((X = r.subParser("githubCodeBlocks")(
- X,
- b,
- g
- )),
- (X = r.subParser("blockGamut")(X, b, g)))
- : ((X = r.subParser("lists")(X, b, g)),
- (X = X.replace(/\n$/, "")),
- (X = r.subParser("hashHTMLBlocks")(
- X,
- b,
- g
- )),
- (X = X.replace(
- /\n\n+/g,
- `
-
-`
- )),
- P
- ? (X = r.subParser("paragraphs")(
- X,
- b,
- g
- ))
- : (X = r.subParser("spanGamut")(
- X,
- b,
- g
- ))),
- (X = X.replace("¨A", "")),
- (X =
- "" +
- X +
- `
-`),
- X
- );
- })),
- (_ = _.replace(/¨0/g, "")),
- g.gListLevel--,
- T && (_ = _.replace(/\s+$/, "")),
- _
- );
- }
- function k(_, T) {
- if (T === "ol") {
- var R = _.match(/^ *(\d+)\./);
- if (R && R[1] !== "1") return ' start="' + R[1] + '"';
- }
- return "";
- }
- function C(_, T, R) {
- var P = b.disableForced4SpacesIndentedSublists
- ? /^ ?\d+\.[ \t]/gm
- : /^ {0,3}\d+\.[ \t]/gm,
- D = b.disableForced4SpacesIndentedSublists
- ? /^ ?[*+-][ \t]/gm
- : /^ {0,3}[*+-][ \t]/gm,
- j = T === "ul" ? P : D,
- M = "";
- if (_.search(j) !== -1)
- (function $(K) {
- var ie = K.search(j),
- X = k(_, T);
- ie !== -1
- ? ((M +=
- `
-
-<` +
- T +
- X +
- `>
-` +
- x(K.slice(0, ie), !!R) +
- "" +
- T +
- `>
-`),
- (T = T === "ul" ? "ol" : "ul"),
- (j = T === "ul" ? P : D),
- $(K.slice(ie)))
- : (M +=
- `
-
-<` +
- T +
- X +
- `>
-` +
- x(K, !!R) +
- "" +
- T +
- `>
-`);
- })(_);
- else {
- var I = k(_, T);
- M =
- `
-
-<` +
- T +
- I +
- `>
-` +
- x(_, !!R) +
- "" +
- T +
- `>
-`;
- }
- return M;
- }
- return (
- (h = g.converter._dispatch("lists.before", h, b, g)),
- (h += "¨0"),
- g.gListLevel
- ? (h = h.replace(
- /^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,
- function (_, T, R) {
- var P =
- R.search(/[*+-]/g) > -1 ? "ul" : "ol";
- return C(T, P, !0);
- }
- ))
- : (h = h.replace(
- /(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,
- function (_, T, R, P) {
- var D =
- P.search(/[*+-]/g) > -1 ? "ul" : "ol";
- return C(R, D, !1);
- }
- )),
- (h = h.replace(/¨0/, "")),
- (h = g.converter._dispatch("lists.after", h, b, g)),
- h
- );
- }),
- r.subParser("metadata", function (h, b, g) {
- if (!b.metadata) return h;
- h = g.converter._dispatch("metadata.before", h, b, g);
- function x(k) {
- (g.metadata.raw = k),
- (k = k.replace(/&/g, "&").replace(/"/g, """)),
- (k = k.replace(/\n {4}/g, " ")),
- k.replace(
- /^([\S ]+): +([\s\S]+?)$/gm,
- function (C, _, T) {
- return (g.metadata.parsed[_] = T), "";
- }
- );
- }
- return (
- (h = h.replace(
- /^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,
- function (k, C, _) {
- return x(_), "¨M";
- }
- )),
- (h = h.replace(
- /^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,
- function (k, C, _) {
- return C && (g.metadata.format = C), x(_), "¨M";
- }
- )),
- (h = h.replace(/¨M/g, "")),
- (h = g.converter._dispatch("metadata.after", h, b, g)),
- h
- );
- }),
- r.subParser("outdent", function (h, b, g) {
- return (
- (h = g.converter._dispatch("outdent.before", h, b, g)),
- (h = h.replace(/^(\t|[ ]{1,4})/gm, "¨0")),
- (h = h.replace(/¨0/g, "")),
- (h = g.converter._dispatch("outdent.after", h, b, g)),
- h
- );
- }),
- r.subParser("paragraphs", function (h, b, g) {
- (h = g.converter._dispatch("paragraphs.before", h, b, g)),
- (h = h.replace(/^\n+/g, "")),
- (h = h.replace(/\n+$/g, ""));
- for (
- var x = h.split(/\n{2,}/g), k = [], C = x.length, _ = 0;
- _ < C;
- _++
- ) {
- var T = x[_];
- T.search(/¨(K|G)(\d+)\1/g) >= 0
- ? k.push(T)
- : T.search(/\S/) >= 0 &&
- ((T = r.subParser("spanGamut")(T, b, g)),
- (T = T.replace(/^([ \t]*)/g, "")),
- (T += "
"),
- k.push(T));
- }
- for (C = k.length, _ = 0; _ < C; _++) {
- for (
- var R = "", P = k[_], D = !1;
- /¨(K|G)(\d+)\1/.test(P);
-
- ) {
- var j = RegExp.$1,
- M = RegExp.$2;
- j === "K"
- ? (R = g.gHtmlBlocks[M])
- : D
- ? (R = r.subParser("encodeCode")(
- g.ghCodeBlocks[M].text,
- b,
- g
- ))
- : (R = g.ghCodeBlocks[M].codeblock),
- (R = R.replace(/\$/g, "$$$$")),
- (P = P.replace(/(\n\n)?¨(K|G)\d+\2(\n\n)?/, R)),
- /^]*>\s*]*>/.test(P) && (D = !0);
- }
- k[_] = P;
- }
- return (
- (h = k.join(`
-`)),
- (h = h.replace(/^\n+/g, "")),
- (h = h.replace(/\n+$/g, "")),
- g.converter._dispatch("paragraphs.after", h, b, g)
- );
- }),
- r.subParser("runExtension", function (h, b, g, x) {
- if (h.filter) b = h.filter(b, x.converter, g);
- else if (h.regex) {
- var k = h.regex;
- k instanceof RegExp || (k = new RegExp(k, "g")),
- (b = b.replace(k, h.replace));
- }
- return b;
- }),
- r.subParser("spanGamut", function (h, b, g) {
- return (
- (h = g.converter._dispatch("spanGamut.before", h, b, g)),
- (h = r.subParser("codeSpans")(h, b, g)),
- (h = r.subParser("escapeSpecialCharsWithinTagAttributes")(
- h,
- b,
- g
- )),
- (h = r.subParser("encodeBackslashEscapes")(h, b, g)),
- (h = r.subParser("images")(h, b, g)),
- (h = r.subParser("anchors")(h, b, g)),
- (h = r.subParser("autoLinks")(h, b, g)),
- (h = r.subParser("simplifiedAutoLinks")(h, b, g)),
- (h = r.subParser("emoji")(h, b, g)),
- (h = r.subParser("underline")(h, b, g)),
- (h = r.subParser("italicsAndBold")(h, b, g)),
- (h = r.subParser("strikethrough")(h, b, g)),
- (h = r.subParser("ellipsis")(h, b, g)),
- (h = r.subParser("hashHTMLSpans")(h, b, g)),
- (h = r.subParser("encodeAmpsAndAngles")(h, b, g)),
- b.simpleLineBreaks
- ? /\n\n¨K/.test(h) ||
- (h = h.replace(
- /\n+/g,
- `
-`
- ))
- : (h = h.replace(
- / +\n/g,
- `
-`
- )),
- (h = g.converter._dispatch("spanGamut.after", h, b, g)),
- h
- );
- }),
- r.subParser("strikethrough", function (h, b, g) {
- function x(k) {
- return (
- b.simplifiedAutoLink &&
- (k = r.subParser("simplifiedAutoLinks")(k, b, g)),
- "" + k + ""
- );
- }
- return (
- b.strikethrough &&
- ((h = g.converter._dispatch(
- "strikethrough.before",
- h,
- b,
- g
- )),
- (h = h.replace(
- /(?:~){2}([\s\S]+?)(?:~){2}/g,
- function (k, C) {
- return x(C);
- }
- )),
- (h = g.converter._dispatch(
- "strikethrough.after",
- h,
- b,
- g
- ))),
- h
- );
- }),
- r.subParser("stripLinkDefinitions", function (h, b, g) {
- var x =
- /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,
- k =
- /^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;
- h += "¨0";
- var C = function (_, T, R, P, D, j, M) {
- return (
- (T = T.toLowerCase()),
- h.toLowerCase().split(T).length - 1 < 2
- ? _
- : (R.match(/^data:.+?\/.+?;base64,/)
- ? (g.gUrls[T] = R.replace(/\s/g, ""))
- : (g.gUrls[T] = r.subParser(
- "encodeAmpsAndAngles"
- )(R, b, g)),
- j
- ? j + M
- : (M &&
- (g.gTitles[T] = M.replace(
- /"|'/g,
- """
- )),
- b.parseImgDimensions &&
- P &&
- D &&
- (g.gDimensions[T] = {
- width: P,
- height: D,
- }),
- ""))
- );
- };
- return (
- (h = h.replace(k, C)),
- (h = h.replace(x, C)),
- (h = h.replace(/¨0/, "")),
- h
- );
- }),
- r.subParser("tables", function (h, b, g) {
- if (!b.tables) return h;
- var x =
- /^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,
- k =
- /^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm;
- function C(D) {
- return /^:[ \t]*--*$/.test(D)
- ? ' style="text-align:left;"'
- : /^--*[ \t]*:[ \t]*$/.test(D)
- ? ' style="text-align:right;"'
- : /^:[ \t]*--*[ \t]*:$/.test(D)
- ? ' style="text-align:center;"'
- : "";
- }
- function _(D, j) {
- var M = "";
- return (
- (D = D.trim()),
- (b.tablesHeaderId || b.tableHeaderId) &&
- (M =
- ' id="' +
- D.replace(/ /g, "_").toLowerCase() +
- '"'),
- (D = r.subParser("spanGamut")(D, b, g)),
- "" +
- D +
- `
-`
- );
- }
- function T(D, j) {
- var M = r.subParser("spanGamut")(D, b, g);
- return (
- "" +
- M +
- `
-`
- );
- }
- function R(D, j) {
- for (
- var M = `
-
-
-`,
- I = D.length,
- $ = 0;
- $ < I;
- ++$
- )
- M += D[$];
- for (
- M += `
-
-
-`,
- $ = 0;
- $ < j.length;
- ++$
- ) {
- M += `
-`;
- for (var K = 0; K < I; ++K) M += j[$][K];
- M += `
-`;
- }
- return (
- (M += `
-
-`),
- M
- );
- }
- function P(D) {
- var j,
- M = D.split(`
-`);
- for (j = 0; j < M.length; ++j)
- /^ {0,3}\|/.test(M[j]) &&
- (M[j] = M[j].replace(/^ {0,3}\|/, "")),
- /\|[ \t]*$/.test(M[j]) &&
- (M[j] = M[j].replace(/\|[ \t]*$/, "")),
- (M[j] = r.subParser("codeSpans")(M[j], b, g));
- var I = M[0].split("|").map(function (Pe) {
- return Pe.trim();
- }),
- $ = M[1].split("|").map(function (Pe) {
- return Pe.trim();
- }),
- K = [],
- ie = [],
- X = [],
- de = [];
- for (M.shift(), M.shift(), j = 0; j < M.length; ++j)
- M[j].trim() !== "" &&
- K.push(
- M[j].split("|").map(function (Pe) {
- return Pe.trim();
- })
- );
- if (I.length < $.length) return D;
- for (j = 0; j < $.length; ++j) X.push(C($[j]));
- for (j = 0; j < I.length; ++j)
- r.helper.isUndefined(X[j]) && (X[j] = ""),
- ie.push(_(I[j], X[j]));
- for (j = 0; j < K.length; ++j) {
- for (var ze = [], Ee = 0; Ee < ie.length; ++Ee)
- r.helper.isUndefined(K[j][Ee]),
- ze.push(T(K[j][Ee], X[Ee]));
- de.push(ze);
- }
- return R(ie, de);
- }
- return (
- (h = g.converter._dispatch("tables.before", h, b, g)),
- (h = h.replace(
- /\\(\|)/g,
- r.helper.escapeCharactersCallback
- )),
- (h = h.replace(x, P)),
- (h = h.replace(k, P)),
- (h = g.converter._dispatch("tables.after", h, b, g)),
- h
- );
- }),
- r.subParser("underline", function (h, b, g) {
- return (
- b.underline &&
- ((h = g.converter._dispatch(
- "underline.before",
- h,
- b,
- g
- )),
- b.literalMidWordUnderscores
- ? ((h = h.replace(
- /\b___(\S[\s\S]*?)___\b/g,
- function (x, k) {
- return "" + k + "";
- }
- )),
- (h = h.replace(
- /\b__(\S[\s\S]*?)__\b/g,
- function (x, k) {
- return "" + k + "";
- }
- )))
- : ((h = h.replace(
- /___(\S[\s\S]*?)___/g,
- function (x, k) {
- return /\S$/.test(k)
- ? "" + k + ""
- : x;
- }
- )),
- (h = h.replace(
- /__(\S[\s\S]*?)__/g,
- function (x, k) {
- return /\S$/.test(k)
- ? "" + k + ""
- : x;
- }
- ))),
- (h = h.replace(
- /(_)/g,
- r.helper.escapeCharactersCallback
- )),
- (h = g.converter._dispatch(
- "underline.after",
- h,
- b,
- g
- ))),
- h
- );
- }),
- r.subParser("unescapeSpecialChars", function (h, b, g) {
- return (
- (h = g.converter._dispatch(
- "unescapeSpecialChars.before",
- h,
- b,
- g
- )),
- (h = h.replace(/¨E(\d+)E/g, function (x, k) {
- var C = parseInt(k);
- return String.fromCharCode(C);
- })),
- (h = g.converter._dispatch(
- "unescapeSpecialChars.after",
- h,
- b,
- g
- )),
- h
- );
- }),
- r.subParser("makeMarkdown.blockquote", function (h, b) {
- var g = "";
- if (h.hasChildNodes())
- for (
- var x = h.childNodes, k = x.length, C = 0;
- C < k;
- ++C
- ) {
- var _ = r.subParser("makeMarkdown.node")(x[C], b);
- _ !== "" && (g += _);
- }
- return (
- (g = g.trim()),
- (g =
- "> " +
- g.split(`
-`).join(`
-> `)),
- g
- );
- }),
- r.subParser("makeMarkdown.codeBlock", function (h, b) {
- var g = h.getAttribute("language"),
- x = h.getAttribute("precodenum");
- return (
- "```" +
- g +
- `
-` +
- b.preList[x] +
- "\n```"
- );
- }),
- r.subParser("makeMarkdown.codeSpan", function (h) {
- return "`" + h.innerHTML + "`";
- }),
- r.subParser("makeMarkdown.emphasis", function (h, b) {
- var g = "";
- if (h.hasChildNodes()) {
- g += "*";
- for (var x = h.childNodes, k = x.length, C = 0; C < k; ++C)
- g += r.subParser("makeMarkdown.node")(x[C], b);
- g += "*";
- }
- return g;
- }),
- r.subParser("makeMarkdown.header", function (h, b, g) {
- var x = new Array(g + 1).join("#"),
- k = "";
- if (h.hasChildNodes()) {
- k = x + " ";
- for (var C = h.childNodes, _ = C.length, T = 0; T < _; ++T)
- k += r.subParser("makeMarkdown.node")(C[T], b);
- }
- return k;
- }),
- r.subParser("makeMarkdown.hr", function () {
- return "---";
- }),
- r.subParser("makeMarkdown.image", function (h) {
- var b = "";
- return (
- h.hasAttribute("src") &&
- ((b += ",
- (b += "<" + h.getAttribute("src") + ">"),
- h.hasAttribute("width") &&
- h.hasAttribute("height") &&
- (b +=
- " =" +
- h.getAttribute("width") +
- "x" +
- h.getAttribute("height")),
- h.hasAttribute("title") &&
- (b += ' "' + h.getAttribute("title") + '"'),
- (b += ")")),
- b
- );
- }),
- r.subParser("makeMarkdown.links", function (h, b) {
- var g = "";
- if (h.hasChildNodes() && h.hasAttribute("href")) {
- var x = h.childNodes,
- k = x.length;
- g = "[";
- for (var C = 0; C < k; ++C)
- g += r.subParser("makeMarkdown.node")(x[C], b);
- (g += "]("),
- (g += "<" + h.getAttribute("href") + ">"),
- h.hasAttribute("title") &&
- (g += ' "' + h.getAttribute("title") + '"'),
- (g += ")");
- }
- return g;
- }),
- r.subParser("makeMarkdown.list", function (h, b, g) {
- var x = "";
- if (!h.hasChildNodes()) return "";
- for (
- var k = h.childNodes,
- C = k.length,
- _ = h.getAttribute("start") || 1,
- T = 0;
- T < C;
- ++T
- )
- if (
- !(
- typeof k[T].tagName == "undefined" ||
- k[T].tagName.toLowerCase() !== "li"
- )
- ) {
- var R = "";
- g === "ol" ? (R = _.toString() + ". ") : (R = "- "),
- (x +=
- R +
- r.subParser("makeMarkdown.listItem")(k[T], b)),
- ++_;
- }
- return (
- (x += `
-
-`),
- x.trim()
- );
- }),
- r.subParser("makeMarkdown.listItem", function (h, b) {
- for (
- var g = "", x = h.childNodes, k = x.length, C = 0;
- C < k;
- ++C
- )
- g += r.subParser("makeMarkdown.node")(x[C], b);
- return (
- /\n$/.test(g)
- ? (g = g
- .split(
- `
-`
- )
- .join(
- `
- `
- )
- .replace(/^ {4}$/gm, "")
- .replace(
- /\n\n+/g,
- `
-
-`
- ))
- : (g += `
-`),
- g
- );
- }),
- r.subParser("makeMarkdown.node", function (h, b, g) {
- g = g || !1;
- var x = "";
- if (h.nodeType === 3)
- return r.subParser("makeMarkdown.txt")(h, b);
- if (h.nodeType === 8)
- return (
- "
-
-`
- );
- if (h.nodeType !== 1) return "";
- var k = h.tagName.toLowerCase();
- switch (k) {
- case "h1":
- g ||
- (x =
- r.subParser("makeMarkdown.header")(h, b, 1) +
- `
-
-`);
- break;
- case "h2":
- g ||
- (x =
- r.subParser("makeMarkdown.header")(h, b, 2) +
- `
-
-`);
- break;
- case "h3":
- g ||
- (x =
- r.subParser("makeMarkdown.header")(h, b, 3) +
- `
-
-`);
- break;
- case "h4":
- g ||
- (x =
- r.subParser("makeMarkdown.header")(h, b, 4) +
- `
-
-`);
- break;
- case "h5":
- g ||
- (x =
- r.subParser("makeMarkdown.header")(h, b, 5) +
- `
-
-`);
- break;
- case "h6":
- g ||
- (x =
- r.subParser("makeMarkdown.header")(h, b, 6) +
- `
-
-`);
- break;
- case "p":
- g ||
- (x =
- r.subParser("makeMarkdown.paragraph")(h, b) +
- `
-
-`);
- break;
- case "blockquote":
- g ||
- (x =
- r.subParser("makeMarkdown.blockquote")(h, b) +
- `
-
-`);
- break;
- case "hr":
- g ||
- (x =
- r.subParser("makeMarkdown.hr")(h, b) +
- `
-
-`);
- break;
- case "ol":
- g ||
- (x =
- r.subParser("makeMarkdown.list")(h, b, "ol") +
- `
-
-`);
- break;
- case "ul":
- g ||
- (x =
- r.subParser("makeMarkdown.list")(h, b, "ul") +
- `
-
-`);
- break;
- case "precode":
- g ||
- (x =
- r.subParser("makeMarkdown.codeBlock")(h, b) +
- `
-
-`);
- break;
- case "pre":
- g ||
- (x =
- r.subParser("makeMarkdown.pre")(h, b) +
- `
-
-`);
- break;
- case "table":
- g ||
- (x =
- r.subParser("makeMarkdown.table")(h, b) +
- `
-
-`);
- break;
- case "code":
- x = r.subParser("makeMarkdown.codeSpan")(h, b);
- break;
- case "em":
- case "i":
- x = r.subParser("makeMarkdown.emphasis")(h, b);
- break;
- case "strong":
- case "b":
- x = r.subParser("makeMarkdown.strong")(h, b);
- break;
- case "del":
- x = r.subParser("makeMarkdown.strikethrough")(h, b);
- break;
- case "a":
- x = r.subParser("makeMarkdown.links")(h, b);
- break;
- case "img":
- x = r.subParser("makeMarkdown.image")(h, b);
- break;
- default:
- x =
- h.outerHTML +
- `
-
-`;
- }
- return x;
- }),
- r.subParser("makeMarkdown.paragraph", function (h, b) {
- var g = "";
- if (h.hasChildNodes())
- for (var x = h.childNodes, k = x.length, C = 0; C < k; ++C)
- g += r.subParser("makeMarkdown.node")(x[C], b);
- return (g = g.trim()), g;
- }),
- r.subParser("makeMarkdown.pre", function (h, b) {
- var g = h.getAttribute("prenum");
- return "" + b.preList[g] + "
";
- }),
- r.subParser("makeMarkdown.strikethrough", function (h, b) {
- var g = "";
- if (h.hasChildNodes()) {
- g += "~~";
- for (var x = h.childNodes, k = x.length, C = 0; C < k; ++C)
- g += r.subParser("makeMarkdown.node")(x[C], b);
- g += "~~";
- }
- return g;
- }),
- r.subParser("makeMarkdown.strong", function (h, b) {
- var g = "";
- if (h.hasChildNodes()) {
- g += "**";
- for (var x = h.childNodes, k = x.length, C = 0; C < k; ++C)
- g += r.subParser("makeMarkdown.node")(x[C], b);
- g += "**";
- }
- return g;
- }),
- r.subParser("makeMarkdown.table", function (h, b) {
- var g = "",
- x = [[], []],
- k = h.querySelectorAll("thead>tr>th"),
- C = h.querySelectorAll("tbody>tr"),
- _,
- T;
- for (_ = 0; _ < k.length; ++_) {
- var R = r.subParser("makeMarkdown.tableCell")(k[_], b),
- P = "---";
- if (k[_].hasAttribute("style")) {
- var D = k[_].getAttribute("style")
- .toLowerCase()
- .replace(/\s/g, "");
- switch (D) {
- case "text-align:left;":
- P = ":---";
- break;
- case "text-align:right;":
- P = "---:";
- break;
- case "text-align:center;":
- P = ":---:";
- break;
- }
- }
- (x[0][_] = R.trim()), (x[1][_] = P);
- }
- for (_ = 0; _ < C.length; ++_) {
- var j = x.push([]) - 1,
- M = C[_].getElementsByTagName("td");
- for (T = 0; T < k.length; ++T) {
- var I = " ";
- typeof M[T] != "undefined" &&
- (I = r.subParser("makeMarkdown.tableCell")(
- M[T],
- b
- )),
- x[j].push(I);
- }
- }
- var $ = 3;
- for (_ = 0; _ < x.length; ++_)
- for (T = 0; T < x[_].length; ++T) {
- var K = x[_][T].length;
- K > $ && ($ = K);
- }
- for (_ = 0; _ < x.length; ++_) {
- for (T = 0; T < x[_].length; ++T)
- _ === 1
- ? x[_][T].slice(-1) === ":"
- ? (x[_][T] =
- r.helper.padEnd(
- x[_][T].slice(-1),
- $ - 1,
- "-"
- ) + ":")
- : (x[_][T] = r.helper.padEnd(x[_][T], $, "-"))
- : (x[_][T] = r.helper.padEnd(x[_][T], $));
- g +=
- "| " +
- x[_].join(" | ") +
- ` |
-`;
- }
- return g.trim();
- }),
- r.subParser("makeMarkdown.tableCell", function (h, b) {
- var g = "";
- if (!h.hasChildNodes()) return "";
- for (var x = h.childNodes, k = x.length, C = 0; C < k; ++C)
- g += r.subParser("makeMarkdown.node")(x[C], b, !0);
- return g.trim();
- }),
- r.subParser("makeMarkdown.txt", function (h) {
- var b = h.nodeValue;
- return (
- (b = b.replace(/ +/g, " ")),
- (b = b.replace(/¨NBSP;/g, " ")),
- (b = r.helper.unescapeHTMLEntities(b)),
- (b = b.replace(/([*_~|`])/g, "\\$1")),
- (b = b.replace(/^(\s*)>/g, "\\$1>")),
- (b = b.replace(/^#/gm, "\\#")),
- (b = b.replace(/^(\s*)([-=]{3,})(\s*)$/, "$1\\$2$3")),
- (b = b.replace(/^( {0,3}\d+)\./gm, "$1\\.")),
- (b = b.replace(/^( {0,3})([+-])/gm, "$1\\$2")),
- (b = b.replace(/]([\s]*)\(/g, "\\]$1\\(")),
- (b = b.replace(/^ {0,3}\[([\S \t]*?)]:/gm, "\\[$1]:")),
- b
- );
- });
- var E = this;
- t.exports ? (t.exports = r) : (E.showdown = r);
- }.call($y));
-})(J2);
-var SD = J2.exports;
-const _D = uh(SD);
-function CD(t) {
- return new _D.Converter().makeHtml(t);
-}
-function MD(t) {
- return (
- t
- .split(
- `
-`
- )
- .filter(
- (r) =>
- r.startsWith("![") ||
- r.startsWith("#") ||
- r.startsWith("> ") ||
- r.startsWith("*") ||
- r.startsWith("- ") ||
- r.startsWith("1. ") ||
- r.startsWith("```") ||
- r.startsWith("`") ||
- r.startsWith("[") ||
- r.startsWith("---")
- ).length > 0
- );
-}
-const ED = {
- name: "TextEditor",
- inheritAttrs: !1,
- components: {
- EditorContent: mO,
- TextEditorFixedMenu: pD,
- TextEditorBubbleMenu: yD,
- TextEditorFloatingMenu: kD,
- },
- props: {
- content: { type: String, default: null },
- placeholder: { type: [String, Function], default: "" },
- editorClass: { type: [String, Array, Object], default: "" },
- editable: { type: Boolean, default: !0 },
- bubbleMenu: { type: [Boolean, Array], default: !1 },
- bubbleMenuOptions: { type: Object, default: () => ({}) },
- fixedMenu: { type: [Boolean, Array], default: !1 },
- floatingMenu: { type: [Boolean, Array], default: !1 },
- extensions: { type: Array, default: () => [] },
- starterkitOptions: { type: Object, default: () => ({}) },
- mentions: { type: Array, default: () => [] },
- },
- emits: ["change", "focus", "blur"],
- expose: ["editor"],
- provide() {
- return { editor: Q1(() => this.editor) };
- },
- data() {
- return { editor: null };
- },
- watch: {
- content(t) {
- this.editor.getHTML() !== t && this.editor.commands.setContent(t);
- },
- editable(t) {
- this.editor.setEditable(t);
- },
- editorProps: {
- deep: !0,
- handler(t) {
- this.editor && this.editor.setOptions({ editorProps: t });
- },
- },
- },
- mounted() {
- this.editor = new pO({
- content: this.content || null,
- editorProps: this.editorProps,
- editable: this.editable,
- extensions: [
- g5.configure(B({}, this.starterkitOptions)),
- k6.configure({ resizable: !0 }),
- C6,
- _6,
- S6,
- xR,
- v5.configure({ types: ["heading", "paragraph"] }),
- kR,
- MR,
- CR.configure({ multicolor: !0 }),
- E6,
- A6,
- X6.configure({ openOnClick: !1 }),
- y5.configure({
- showOnlyWhenEditable: !1,
- placeholder:
- typeof this.placeholder == "function"
- ? this.placeholder
- : () => this.placeholder,
- }),
- LR(this.mentions),
- ...(this.extensions || []),
- ],
- onUpdate: ({ editor: t }) => {
- this.$emit("change", t.getHTML());
- },
- onFocus: ({ editor: t, event: e }) => {
- this.$emit("focus", e);
- },
- onBlur: ({ editor: t, event: e }) => {
- this.$emit("blur", e);
- },
- });
- },
- beforeUnmount() {
- this.editor.destroy(), (this.editor = null);
- },
- computed: {
- editorProps() {
- return {
- attributes: {
- class: be([
- "prose prose-table:table-fixed prose-td:p-2 prose-th:p-2 prose-td:border prose-th:border prose-td:border-gray-300 prose-th:border-gray-300 prose-td:relative prose-th:relative prose-th:bg-gray-100",
- this.editorClass,
- ]),
- },
- clipboardTextParser: (t, e) => {
- if (
- !MD(t) ||
- !confirm(
- "Do you want to convert markdown content to HTML before pasting?"
- )
- )
- return;
- let n = document.createElement("div");
- return (
- (n.innerHTML = CD(t)),
- (
- this.editor.view.someProp("clipboardParser") ||
- this.editor.view.someProp("domParser") ||
- zu.fromSchema(this.editor.schema)
- ).parseSlice(n, { preserveWhitespace: !0, context: e })
- );
- },
- };
- },
- },
-};
-function TD(t, e, n, r, o, i) {
- const s = Je("TextEditorBubbleMenu"),
- l = Je("TextEditorFixedMenu"),
- a = Je("TextEditorFloatingMenu"),
- u = Je("editor-content");
- return o.editor
- ? (N(),
- W(
- "div",
- { key: 0, class: be(["relative w-full", t.$attrs.class]) },
- [
- ve(
- s,
- { buttons: n.bubbleMenu, options: n.bubbleMenuOptions },
- null,
- 8,
- ["buttons", "options"]
- ),
- ve(
- l,
- {
- class: "w-full overflow-x-auto rounded-t-lg border border-gray-200",
- buttons: n.fixedMenu,
- },
- null,
- 8,
- ["buttons"]
- ),
- ve(a, { buttons: n.floatingMenu }, null, 8, ["buttons"]),
- xe(t.$slots, "top"),
- xe(t.$slots, "editor", { editor: o.editor }, () => [
- ve(u, { editor: o.editor }, null, 8, ["editor"]),
- ]),
- xe(t.$slots, "bottom"),
- ],
- 2
- ))
- : Re("", !0);
-}
-const FL = Le(ED, [["render", TD]]);
-function G2(t, e = !0) {
- let n = e ? "14px " : "",
- r = t
- .map((o) => {
- let i = o.width || 1;
- return typeof i == "number" ? i + "fr" : i;
- })
- .join(" ");
- return n + r;
-}
-const Wh = {
- left: "justify-start",
- start: "justify-start",
- center: "justify-center",
- middle: "justify-center",
- right: "justify-end",
- end: "justify-end",
- },
- AD = {
- __name: "ListHeaderItem",
- props: { item: { type: Object, required: !0 } },
- setup(t) {
- return (e, n) => (
- N(),
- W(
- "div",
- {
- class: be([
- "flex items-center space-x-2 text-base text-gray-600",
- ne(Wh)[t.item.align],
- ]),
- },
- [
- xe(e.$slots, "prefix", Et(Lt({ item: t.item }))),
- V("div", null, We(t.item.label), 1),
- xe(e.$slots, "suffix", Et(Lt({ item: t.item }))),
- ],
- 2
- )
- );
- },
- },
- OD = {
- __name: "ListHeader",
- setup(t) {
- const e = Ge("list");
- return (n, r) => (
- N(),
- W(
- "div",
- {
- class: "mb-2 grid items-center space-x-4 rounded bg-gray-100 p-2",
- style: ao({
- gridTemplateColumns: ne(G2)(
- ne(e).columns,
- ne(e).options.selectable
- ),
- }),
- },
- [
- ne(e).options.selectable
- ? (N(),
- Te(
- Lu,
- {
- key: 0,
- class: "cursor-pointer duration-300",
- modelValue: ne(e).allRowsSelected,
- onClick: $0(ne(e).toggleAllRows, [
- "stop",
- ]),
- },
- null,
- 8,
- ["modelValue", "onClick"]
- ))
- : Re("", !0),
- xe(n.$slots, "default", {}, () => [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- ne(e).columns,
- (o) => (
- N(),
- Te(
- AD,
- { key: o.key, item: o },
- null,
- 8,
- ["item"]
- )
- )
- ),
- 128
- )),
- ]),
- ],
- 4
- )
- );
- },
- },
- RD = {
- name: "Tooltip",
- components: { Popover: tl },
- props: {
- hoverDelay: { default: 0.5 },
- placement: { default: "top" },
- text: { type: String, default: null },
- },
- },
- PD = {
- key: 0,
- class: "rounded bg-gray-900 px-2 py-1 text-xs text-white shadow-xl",
- },
- ID = { class: "py-px" };
-function ND(t, e, n, r, o, i) {
- const s = Je("Popover");
- return (
- N(),
- Te(
- s,
- {
- trigger: "hover",
- hoverDelay: n.hoverDelay,
- placement: n.placement,
- },
- {
- target: Ce(() => [xe(t.$slots, "default")]),
- body: Ce(() => [
- xe(t.$slots, "body", {}, () => [
- n.text
- ? (N(), W("div", PD, [V("div", ID, We(n.text), 1)]))
- : Re("", !0),
- ]),
- ]),
- _: 3,
- },
- 8,
- ["hoverDelay", "placement"]
- )
- );
-}
-const DD = Le(RD, [["render", ND]]),
- jD = { class: "truncate text-base" },
- LD = {
- __name: "ListRowItem",
- props: {
- item: { type: [String, Number, Object], default: "" },
- align: { type: String, default: "left" },
- },
- setup(t) {
- const e = t,
- n = z(() => r(e.item).label || "");
- function r(i) {
- return i && typeof i == "object" ? i : { label: i };
- }
- const o = Ge("list");
- return (i, s) => (
- N(),
- Te(
- Bn(ne(o).options.showTooltip ? DD : "div"),
- pt(ne(o).options.showTooltip ? { text: n.value } : {}, {
- class: ["flex items-center space-x-2", ne(Wh)[t.align]],
- }),
- {
- default: Ce(() => [
- xe(i.$slots, "prefix"),
- xe(
- i.$slots,
- "default",
- Et(Lt({ label: n.value })),
- () => [V("div", jD, We(n.value), 1)]
- ),
- xe(i.$slots, "suffix"),
- ]),
- _: 3,
- },
- 16,
- ["class"]
- )
- );
- },
- },
- $D = { key: 0, class: "mx-2 h-px border-t border-gray-200" },
- BD = {
- __name: "ListRow",
- props: { row: { type: Object, required: !0 } },
- setup(t) {
- const e = t,
- n = Ge("list"),
- r = z(() => {
- var o;
- return (o = n.value.rows) != null && o.length
- ? n.value.rows[n.value.rows.length - 1][
- n.value.rowKey
- ] === e.row[n.value.rowKey]
- : !1;
- });
- return (o, i) => (
- N(),
- Te(
- Bn(ne(n).options.getRowRoute ? "router-link" : "div"),
- pt(
- {
- class: "flex cursor-pointer flex-col transition-all duration-300 ease-in-out",
- },
- ne(n).options.getRowRoute
- ? { to: ne(n).options.getRowRoute(t.row) }
- : { onClick: () => ne(n).options.onRowClick(t.row) }
- ),
- {
- default: Ce(() => [
- (N(),
- Te(
- Bn(
- ne(n).options.getRowRoute
- ? "template"
- : "button"
- ),
- { class: "[all:unset] hover:[all:unset]" },
- {
- default: Ce(() => [
- V(
- "div",
- {
- class: be([
- "grid items-center space-x-4 rounded px-2 py-2.5",
- ne(n).selections.has(
- t.row[ne(n).rowKey]
- )
- ? "bg-gray-100 hover:bg-gray-200"
- : "hover:bg-gray-50",
- ]),
- style: ao({
- gridTemplateColumns: ne(G2)(
- ne(n).columns,
- ne(n).options.selectable
- ),
- }),
- },
- [
- ne(n).options.selectable
- ? (N(),
- Te(
- Lu,
- {
- key: 0,
- modelValue: ne(
- n
- ).selections.has(
- t.row[
- ne(n)
- .rowKey
- ]
- ),
- onClick:
- i[0] ||
- (i[0] = $0(
- (s) =>
- ne(
- n
- ).toggleRow(
- t
- .row[
- ne(
- n
- )
- .rowKey
- ]
- ),
- ["stop"]
- )),
- class: "cursor-pointer duration-300",
- },
- null,
- 8,
- ["modelValue"]
- ))
- : Re("", !0),
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- ne(n).columns,
- (s) => (
- N(),
- W(
- "div",
- {
- key: s.key,
- class: be(
- ne(Wh)[
- s
- .align
- ]
- ),
- },
- [
- xe(
- o.$slots,
- "default",
- Et(
- Lt({
- column: s,
- item: t
- .row[
- s
- .key
- ],
- })
- ),
- () => [
- ve(
- LD,
- {
- item: t
- .row[
- s
- .key
- ],
- align: s.align,
- },
- null,
- 8,
- [
- "item",
- "align",
- ]
- ),
- ]
- ),
- ],
- 2
- )
- )
- ),
- 128
- )),
- ],
- 6
- ),
- r.value
- ? Re("", !0)
- : (N(), W("div", $D)),
- ]),
- _: 3,
- }
- )),
- ]),
- _: 3,
- },
- 16
- )
- );
- },
- },
- zD = { class: "h-full overflow-y-auto" },
- HD = {
- __name: "ListRows",
- setup(t) {
- const e = Ge("list");
- return (n, r) => (
- N(),
- W("div", zD, [
- xe(n.$slots, "default", {}, () => [
- (N(!0),
- W(
- Ne,
- null,
- Rt(
- ne(e).rows,
- (o) => (
- N(),
- Te(
- BD,
- { key: o[ne(e).rowKey], row: o },
- null,
- 8,
- ["row"]
- )
- )
- ),
- 128
- )),
- ]),
- ])
- );
- },
- },
- FD = {
- key: 0,
- class: "absolute inset-x-0 bottom-6 mx-auto w-max text-base",
- },
- VD = {
- class: "flex flex-1 justify-between border-r border-gray-300 text-gray-900",
- },
- WD = { class: "flex items-center space-x-3" },
- UD = { class: "mr-3" },
- KD = { class: "flex items-center space-x-1" },
- qD = Object.assign(
- { inheritAttrs: !1 },
- {
- __name: "ListSelectBanner",
- setup(t) {
- const e = Ge("list");
- let n = z(() => {
- let r = e.value.selections.size === 1 ? "Row" : "Rows";
- return `${e.value.selections.size} ${r} selected`;
- });
- return (r, o) => (
- N(),
- Te(
- Tu,
- {
- "enter-active-class": "duration-300 ease-out",
- "enter-from-class": "transform opacity-0",
- "enter-to-class": "opacity-100",
- "leave-active-class": "duration-300 ease-in",
- "leave-from-class": "opacity-100",
- "leave-to-class": "transform opacity-0",
- },
- {
- default: Ce(() => [
- ne(e).selections.size
- ? (N(),
- W("div", FD, [
- V(
- "div",
- {
- class: be([
- "flex min-w-[596px] items-center space-x-3 rounded-lg bg-white px-4 py-2 shadow-2xl",
- r.$attrs.class,
- ]),
- },
- [
- xe(
- r.$slots,
- "default",
- Et(
- Lt({
- selections:
- ne(e)
- .selections,
- allRowsSelected:
- ne(e)
- .allRowsSelected,
- selectAll: () =>
- ne(
- e
- ).toggleAllRows(
- !0
- ),
- unselectAll:
- () =>
- ne(
- e
- ).toggleAllRows(
- !1
- ),
- })
- ),
- () => [
- V("div", VD, [
- V("div", WD, [
- ve(Lu, {
- modelValue:
- !0,
- disabled:
- !0,
- class: "text-gray-900",
- }),
- V(
- "div",
- null,
- We(
- ne(
- n
- )
- ),
- 1
- ),
- ]),
- V("div", UD, [
- xe(
- r.$slots,
- "actions",
- Et(
- Lt({
- selections:
- ne(
- e
- )
- .selections,
- allRowsSelected:
- ne(
- e
- )
- .allRowsSelected,
- selectAll:
- () =>
- ne(
- e
- ).toggleAllRows(
- !0
- ),
- unselectAll:
- () =>
- ne(
- e
- ).toggleAllRows(
- !1
- ),
- })
- )
- ),
- ]),
- ]),
- V("div", KD, [
- ve(
- Oi,
- {
- class: be(
- [
- "w- text-gray-700",
- ne(
- e
- )
- .allRowsSelected
- ? "cursor-not-allowed"
- : "",
- ]
- ),
- disabled:
- ne(
- e
- )
- .allRowsSelected,
- variant:
- "ghost",
- onClick:
- o[0] ||
- (o[0] =
- (
- i
- ) =>
- ne(
- e
- ).toggleAllRows(
- !0
- )),
- },
- {
- default:
- Ce(
- () => [
- lr(
- " Select all "
- ),
- ]
- ),
- _: 1,
- },
- 8,
- [
- "disabled",
- "class",
- ]
- ),
- ve(Oi, {
- icon: "x",
- variant:
- "ghost",
- onClick:
- o[1] ||
- (o[1] =
- (
- i
- ) =>
- ne(
- e
- ).toggleAllRows(
- !1
- )),
- }),
- ]),
- ]
- ),
- ],
- 2
- ),
- ]))
- : Re("", !0),
- ]),
- _: 3,
- }
- )
- );
- },
- }
- ),
- JD = { class: "relative flex w-full flex-1 flex-col overflow-x-auto" },
- VL = Object.assign(
- { inheritAttrs: !1 },
- {
- __name: "ListView",
- props: {
- columns: { type: Array, default: [] },
- rows: { type: Array, default: [] },
- rowKey: { type: String, required: !0 },
- options: {
- type: Object,
- default: {
- getRowRoute: null,
- onRowClick: null,
- showTooltip: !0,
- selectable: !0,
- },
- },
- },
- setup(t) {
- const e = t;
- let n = Yt(new Set()),
- r = z(() => {
- function l(a) {
- return a === void 0 ? !0 : a;
- }
- return {
- getRowRoute: e.options.getRowRoute || null,
- onRowClick: e.options.onRowClick || null,
- showTooltip: l(e.options.showTooltip),
- selectable: l(e.options.selectable),
- };
- });
- const o = z(() =>
- e.rows.length ? n.size === e.rows.length : !1
- );
- function i(l) {
- n.delete(l) || n.add(l);
- }
- function s(l) {
- if (!l || o.value) {
- n.clear();
- return;
- }
- e.rows.forEach((a) => n.add(a[e.rowKey]));
- }
- return (
- wt(
- "list",
- z(() => ({
- rowKey: e.rowKey,
- rows: e.rows,
- columns: e.columns,
- options: r.value,
- selections: n,
- allRowsSelected: o.value,
- toggleRow: i,
- toggleAllRows: s,
- }))
- ),
- (l, a) => (
- N(),
- W("div", JD, [
- V(
- "div",
- {
- class: be([
- "flex w-max min-w-full flex-col overflow-y-hidden",
- l.$attrs.class,
- ]),
- },
- [
- xe(l.$slots, "default", {}, () => [
- ve(OD),
- ve(HD),
- ne(r).selectable
- ? (N(), Te(qD, { key: 0 }))
- : Re("", !0),
- ]),
- ],
- 2
- ),
- ])
- )
- );
- },
- }
- ),
- GD = {
- name: "Toast",
- props: {
- position: { type: String, default: "top-center" },
- icon: { type: String },
- iconClasses: { type: String },
- title: { type: String },
- text: { type: String },
- timeout: { type: Number, default: 5 },
- },
- emits: ["close"],
- components: { FeatherIcon: _r },
- mounted() {
- this.timeout > 0 &&
- setTimeout(() => {
- this.$emit("close");
- }, this.timeout * 1e3);
- },
- },
- YD = {
- class: "my-2 min-w-[15rem] max-w-[40rem] rounded-lg border bg-white p-4 shadow-md",
- },
- QD = { class: "flex items-start" },
- XD = { key: 0, class: "mr-3 grid h-5 w-5 place-items-center" },
- ZD = { key: 1, class: "text-base text-gray-600" },
- ej = { class: "ml-auto pl-2" };
-function tj(t, e, n, r, o, i) {
- const s = Je("FeatherIcon");
- return (
- N(),
- W("div", YD, [
- V("div", QD, [
- n.icon
- ? (N(),
- W("div", XD, [
- ve(
- s,
- {
- name: n.icon,
- class: be(["h-5 w-5", n.iconClasses]),
- },
- null,
- 8,
- ["name", "class"]
- ),
- ]))
- : Re("", !0),
- V("div", null, [
- xe(t.$slots, "default", {}, () => [
- n.title
- ? (N(),
- W(
- "p",
- {
- key: 0,
- class: be([
- "text-base font-medium text-gray-900",
- { "mb-1": n.text },
- ]),
- },
- We(n.title),
- 3
- ))
- : Re("", !0),
- n.text ? (N(), W("p", ZD, We(n.text), 1)) : Re("", !0),
- ]),
- ]),
- V("div", ej, [
- xe(t.$slots, "actions", {}, () => [
- V(
- "button",
- {
- class: "grid h-5 w-5 place-items-center rounded hover:bg-gray-100",
- onClick:
- e[0] || (e[0] = (l) => t.$emit("close")),
- },
- [
- ve(s, {
- name: "x",
- class: "h-4 w-4 text-gray-700",
- }),
- ]
- ),
- ]),
- ]),
- ]),
- ])
- );
-}
-const nj = Le(GD, [["render", tj]]);
-let ea = Q([]),
- WL = {
- name: "Toasts",
- created() {
- if (
- typeof window != "undefined" &&
- !document.getElementById("frappeui-toast-root")
- ) {
- const t = document.createElement("div");
- (t.id = "frappeui-toast-root"),
- (t.style.position = "fixed"),
- (t.style.top = "16px"),
- (t.style.right = "16px"),
- (t.style.bottom = "16px"),
- (t.style.left = "16px"),
- (t.style.zIndex = "9999"),
- (t.style.pointerEvents = "none"),
- document.body.appendChild(t);
- }
- },
- render() {
- return Ke(_u, { to: "#frappeui-toast-root" }, [
- ei("top-left"),
- ei("top-center"),
- ei("top-right"),
- ei("bottom-left"),
- ei("bottom-center"),
- ei("bottom-right"),
- ]);
- },
- };
-function ei(t) {
- let e = "transition duration-[230ms] ease-[cubic-bezier(.21,1.02,.73,1)]",
- n = ["absolute"];
- return (
- t === "top-left" && n.push("top-0 left-0"),
- t === "top-right" && n.push("top-0 right-0"),
- t === "top-center" && n.push("top-0 left-1/2 -translate-x-1/2"),
- t === "bottom-left" && n.push("bottom-0 left-0"),
- t === "bottom-right" && n.push("bottom-0 right-0"),
- t === "bottom-center" && n.push("bottom-0 left-1/2 -translate-x-1/2"),
- Ke(
- Ox,
- {
- tag: "div",
- class: n,
- moveClass: e,
- enterActiveClass: e,
- enterFromClass: "translate-y-1 opacity-0",
- enterToClass: "translate-y-0 opacity-100",
- leaveActiveClass: `${e} absolute`,
- leaveFromClass: "translate-y-0 opacity-100",
- leaveToClass: "translate-y-1 opacity-0",
- },
- () =>
- ea.value
- .filter((r) => r.position === t)
- .map((r) =>
- Ke(
- "div",
- { key: r.key, class: "pointer-events-auto flex" },
- Ke(
- nj,
- ge(B({}, r), {
- onClose: () => {
- ea.value = ea.value.filter(
- (o) => o !== r
- );
- },
- })
- )
- )
- )
- )
- );
-}
-function UL(t) {
- let e = `toast-${Math.random().toString(36).slice(2, 9)}`,
- n = Yt(B({ key: e, position: "top-center" }, t));
- return ea.value.push(n), e;
-}
-function rj(r, o) {
- return pr(this, arguments, function* (t, e, n = {}) {
- e || (e = {});
- let i = Object.assign(
- {
- Accept: "application/json",
- "Content-Type": "application/json; charset=utf-8",
- "X-Frappe-Site-Name": window.location.hostname,
- },
- n.headers || {}
- );
- window.csrf_token &&
- window.csrf_token !== "{{ csrf_token }}" &&
- (i["X-Frappe-CSRF-Token"] = window.csrf_token);
- let s = t.startsWith("/") ? t : `/api/method/${t}`;
- const l = yield fetch(s, {
- method: "POST",
- headers: i,
- body: JSON.stringify(e),
- });
- if (l.ok) {
- const a = yield l.json();
- if (a.docs || t === "login") return a;
- if (a.exc)
- try {
- console.groupCollapsed(t),
- console.log(`method: ${t}`),
- console.log("params:", e);
- let u = JSON.parse(a.exc);
- for (let c of u) console.log(c);
- console.groupEnd();
- } catch (u) {
- console.warn("Error printing debug messages", u);
- }
- return a.message;
- } else {
- let a = yield l.text(),
- u,
- c;
- try {
- u = JSON.parse(a);
- } catch (p) {}
- let d = [
- [t, u.exc_type, u._error_message].filter(Boolean).join(" "),
- ];
- if (u.exc) {
- c = u.exc;
- try {
- (c = JSON.parse(c)[0]), console.log(c);
- } catch (p) {}
- }
- let f = new Error(
- d.join(`
-`)
- );
- throw (
- ((f.exc_type = u.exc_type),
- (f.exc = c),
- (f.status = l.status),
- (f.messages = u._server_messages
- ? JSON.parse(u._server_messages)
- : []),
- (f.messages = f.messages.concat(u.message)),
- (f.messages = f.messages.map((p) => {
- try {
- return JSON.parse(p).message;
- } catch (m) {
- return p;
- }
- })),
- (f.messages = f.messages.filter(Boolean)),
- f.messages.length ||
- (f.messages = u._error_message
- ? [u._error_message]
- : ["Internal Server Error"]),
- n.onError &&
- n.onError({ response: l, status: l.status, error: f }),
- f)
- );
- }
- });
-}
-let ta = document.querySelector('link[rel="icon"]'),
- oj = ta.href;
-function ij(t) {
- at(
- () => {
- try {
- return t();
- } catch (e) {
- return null;
- }
- },
- (e) => {
- if (e)
- if ((e.title && (document.title = e.title), e.emoji)) {
- let n = `data:image/svg+xml,`;
- ta.href = n;
- } else e.icon ? (ta.href = e.icon) : (ta.href = oj);
- },
- { immediate: !0, deep: !0 }
- );
-}
-const KL = {
- install(t) {
- t.mixin(sj());
- },
-};
-function sj() {
- return {
- created() {
- if (this.$options.pageMeta) {
- let t = this.$options.pageMeta.bind(this);
- ij(t);
- }
- },
- };
-}
-function Y2(t) {
- let e = Object.assign({}, t);
- if (!e.url) throw new Error("[request] options.url is required");
- e.transformRequest && (e = e.transformRequest(t)),
- e.responseType || (e.responseType = "json"),
- e.method || (e.method = "GET");
- let n = e.url,
- r;
- if (e.params)
- if (e.method === "GET") {
- let o = new URLSearchParams();
- for (let i in e.params) o.append(i, e.params[i]);
- n = e.url + "?" + o.toString();
- } else r = JSON.stringify(e.params);
- return fetch(n, {
- method: e.method || "GET",
- headers: e.headers,
- body: r,
- }).then((o) => {
- if (e.transformResponse) return e.transformResponse(o, e);
- if (o.status >= 200 && o.status < 300)
- return e.responseType === "json" ? o.json() : o;
- {
- let i = new Error(o.statusText);
- throw ((i.response = o), i);
- }
- });
-}
-function Uh(t) {
- return new Promise((e, n) => {
- (t.oncomplete = t.onsuccess = () => e(t.result)),
- (t.onabort = t.onerror = () => n(t.error));
- });
-}
-function lj(t, e) {
- const n = indexedDB.open(t);
- n.onupgradeneeded = () => n.result.createObjectStore(e);
- const r = Uh(n);
- return (o, i) => r.then((s) => i(s.transaction(e, o).objectStore(e)));
-}
-let od;
-function Q2() {
- return od || (od = lj("keyval-store", "keyval")), od;
-}
-function aj(t, e = Q2()) {
- return e("readonly", (n) => Uh(n.get(t)));
-}
-function uj(t, e, n = Q2()) {
- return n("readwrite", (r) => (r.put(e, t), Uh(r.transaction)));
-}
-function Kh(t, e) {
- return typeof indexedDB == "undefined"
- ? Promise.resolve(null)
- : t
- ? uj(t, JSON.stringify(e))
- : Promise.resolve();
-}
-function qh(t) {
- return typeof indexedDB == "undefined"
- ? Promise.resolve(null)
- : aj(t).then((e) => e && JSON.parse(e));
-}
-let X2 = {};
-function qL(t, e) {
- X2[t] = e;
-}
-function er(t) {
- return X2[t] || null;
-}
-let na = {};
-function mn(t, e) {
- let n = null;
- if (t.cache) {
- n = Vi(t.cache);
- let d = na[n];
- if (d) return d.auto && d.reload(), d;
- }
- typeof t == "string" && (t = { url: t, auto: !0 });
- let r = t.debounce ? $u(i, t.debounce) : i,
- o = Yt({
- method: t.method,
- url: t.url,
- data: t.initialData || null,
- previousData: null,
- loading: !1,
- fetched: !1,
- error: null,
- promise: null,
- auto: t.auto,
- params: null,
- fetch: r,
- reload: r,
- submit: r,
- reset: l,
- update: s,
- setData: u,
- });
- function i(p) {
- return pr(this, arguments, function* (d, f = {}) {
- let m = t.resourceFetcher || er("resourceFetcher") || Y2;
- d instanceof Event && (d = null),
- (d = d || o.params),
- t.makeParams && (d = t.makeParams.call(e, d)),
- (o.params = d),
- (o.previousData = o.data
- ? JSON.parse(JSON.stringify(o.data))
- : null),
- (o.loading = !0),
- (o.error = null),
- t.onFetch && t.onFetch.call(e, o.params);
- let y = [t.beforeSubmit, f.beforeSubmit];
- for (let h of y) h && h.call(e, o.params);
- let v = f.validate || t.validate,
- w = [t.onError, f.onError],
- S = [t.onSuccess, f.onSuccess],
- E = [t.onData, f.onData];
- if (v) {
- let h;
- try {
- if (
- ((h = yield v.call(e, o.params)),
- h && typeof h == "string")
- )
- throw new Error(h);
- } catch (b) {
- a(b, w);
- return;
- }
- }
- try {
- o.promise = m(ge(B({}, t), { params: d || t.params }));
- let h = yield o.promise;
- Kh(n, h), (o.data = c(h)), (o.fetched = !0);
- for (let b of S) b && b.call(e, h);
- for (let b of E) b && b.call(e, h);
- } catch (h) {
- a(h, w);
- }
- return (o.loading = !1), o.data;
- });
- }
- function s({ method: d, url: f, params: p, auto: m }) {
- d && d !== t.method && (o.method = d),
- f && f !== t.url && (o.url = f),
- p && p !== t.params && (o.params = p),
- m !== void 0 && m !== o.auto && (o.auto = m);
- }
- function l() {
- (o.data = t.initialData || null),
- (o.previousData = null),
- (o.loading = !1),
- (o.fetched = !1),
- (o.error = null),
- (o.params = null),
- (o.auto = t.auto);
- }
- function a(d, f) {
- (o.loading = !1),
- o.previousData && (o.data = o.previousData),
- (o.error = d);
- for (let p of f) p && p.call(e, d);
- throw d;
- }
- function u(d) {
- typeof d == "function" && (d = d.call(e, o.data)), (o.data = c(d));
- }
- function c(d) {
- if (t.transform) {
- let f = t.transform.call(e, d);
- if (f != null) return f;
- }
- return d;
- }
- return (
- n &&
- !na[n] &&
- ((na[n] = o),
- qh(n).then((d) => {
- var f;
- (o.loading || !o.fetched) &&
- d &&
- (u(d), (f = t.onData) == null || f.call(e, d));
- })),
- t.auto && o.fetch(),
- o
- );
-}
-function Vi(t) {
- return t ? (typeof t == "string" && (t = [t]), JSON.stringify(t)) : null;
-}
-function cj(t) {
- return (t = Vi(t)), na[t] || null;
-}
-function Z2(t, e, n) {
- dj(t, e),
- t.on("list_update", (r) => {
- r.doctype == e && n(r.name);
- });
-}
-let p1 = {};
-function dj(t, e) {
- p1[e] || (t.emit("doctype_subscribe", e), (p1[e] = !0));
-}
-let yf = Yt({}),
- bi = {};
-function fj(t, e) {
- var w, S, E, h, b;
- if (!t.doctype) throw new Error("List resource requires doctype");
- let n = Vi(t.cache);
- if (n) {
- let g = yf[n];
- if (g) return g.auto && g.reload(), g;
- }
- let r = er("defaultListUrl") || "frappe.client.get_list",
- o = er("defaultDocInsertUrl") || "frappe.client.insert",
- i = er("defaultDocUpdateUrl") || "frappe.client.set_value",
- s = er("defaultDocDeleteUrl") || "frappe.client.delete",
- l = er("defaultRunDocMethodUrl") || "run_doc_method",
- a = Yt({
- doctype: t.doctype,
- fields: t.fields,
- filters: t.filters,
- orderBy: t.orderBy,
- start: t.start || 0,
- pageLength: t.pageLength || 20,
- groupBy: t.groupBy,
- parent: t.parent,
- debug: t.debug || 0,
- originalData: null,
- dataMap: {},
- data: null,
- previous: m,
- hasPreviousPage: !1,
- next: y,
- hasNextPage: !0,
- auto: t.auto,
- list: mn(
- {
- url: t.url || r,
- makeParams() {
- return {
- doctype: a.doctype,
- fields: a.fields,
- filters: a.filters,
- order_by: a.orderBy,
- start: a.start,
- limit: a.pageLength,
- limit_start: a.start,
- limit_page_length: a.pageLength,
- group_by: a.groupBy,
- parent: a.parent,
- debug: a.debug,
- };
- },
- onSuccess(g) {
- var k;
- (a.hasPreviousPage = !!a.start),
- g.length < a.pageLength && (a.hasNextPage = !1);
- let x;
- !a.start || a.start == 0
- ? (x = g)
- : a.start > 0 && (x = a.originalData.concat(g)),
- Kh(n, x),
- p(x),
- (k = t.onSuccess) == null || k.call(e, a.data);
- },
- onError: t.onError,
- },
- e
- ),
- fetchOne: mn(
- {
- url: t.url || r,
- makeParams(g) {
- return {
- doctype: a.doctype,
- fields: a.fields || "*",
- filters: { name: g },
- };
- },
- onSuccess(g) {
- var x, k;
- if (g.length > 0 && a.originalData) {
- let C = g[0];
- ks(a.doctype, C);
- }
- (k = (x = t.fetchOne) == null ? void 0 : x.onSuccess) ==
- null || k.call(e, a.data);
- },
- onError: (w = t.fetchOne) == null ? void 0 : w.onError,
- },
- e
- ),
- insert: mn(
- {
- url: o,
- makeParams(g) {
- return { doc: B({ doctype: a.doctype }, g) };
- },
- onSuccess(g) {
- var x, k;
- a.list.fetch(),
- (k =
- (x = t.insert) == null
- ? void 0
- : x.onSuccess) == null || k.call(e, g);
- },
- onError: (S = t.insert) == null ? void 0 : S.onError,
- },
- e
- ),
- setValue: mn(
- {
- url: i,
- makeParams(g) {
- let C = g,
- { name: x } = C,
- k = tt(C, ["name"]);
- return { doctype: a.doctype, name: x, fieldname: k };
- },
- onSuccess(g) {
- var x, k;
- ks(a.doctype, g),
- (k =
- (x = t.setValue) == null
- ? void 0
- : x.onSuccess) == null || k.call(e, g);
- },
- onError: (E = t.setValue) == null ? void 0 : E.onError,
- },
- e
- ),
- delete: mn(
- {
- url: s,
- makeParams(g) {
- return { doctype: a.doctype, name: g };
- },
- onSuccess(g) {
- var x, k;
- a.list.fetch(),
- (k =
- (x = t.delete) == null
- ? void 0
- : x.onSuccess) == null || k.call(e, g);
- },
- onError: (h = t.delete) == null ? void 0 : h.onError,
- },
- e
- ),
- runDocMethod: mn(
- {
- url: l,
- makeParams(C) {
- var _ = C,
- { method: g, name: x } = _,
- k = tt(_, ["method", "name"]);
- return {
- dt: a.doctype,
- dn: x,
- method: g,
- args: JSON.stringify(k),
- };
- },
- onSuccess(g) {
- var x, k;
- if (g.docs) for (let C of g.docs) ks(C.doctype, C);
- (k =
- (x = t.runDocMethod) == null
- ? void 0
- : x.onSuccess) == null || k.call(e, g);
- },
- onError: (b = t.runDocMethod) == null ? void 0 : b.onError,
- },
- e
- ),
- update: u,
- fetch: f,
- reload: d,
- setData: p,
- transform: c,
- getRow: v,
- });
- function u(g) {
- Object.assign(a, g);
- }
- function c(g) {
- if (t.transform) {
- let x = t.transform.call(e, g);
- if (x != null) return x;
- }
- return g;
- }
- function d() {
- let g = a.start,
- x = a.pageLength;
- return (
- a.start > 0 &&
- ((a.start = 0), (a.pageLength = a.originalData.length)),
- a.list.fetch().finally(() => {
- (a.start = g), (a.pageLength = x);
- })
- );
- }
- function f() {
- d();
- }
- function p(g) {
- if (
- ((a.originalData = g),
- typeof g == "function" && (g = g.call(e, a.data)),
- (a.data = c(g)),
- Array.isArray(a.data))
- ) {
- a.dataMap = {};
- for (let x of a.data) {
- if (!x.name) continue;
- let k = x.name.toString();
- a.dataMap[k] = x;
- }
- }
- }
- function m() {
- (a.start = a.start - a.pageLength), a.list.fetch();
- }
- function y() {
- (a.start = a.start + a.pageLength), a.list.fetch();
- }
- function v(g) {
- let x = g.toString();
- return a.dataMap[x];
- }
- return (
- t.realtime &&
- e != null &&
- e.$socket &&
- Z2(e.$socket, a.doctype, (g) => {
- var x;
- (x = a.originalData) != null &&
- x.find((k) => k.name === g) &&
- a.fetchOne.submit(g);
- }),
- n &&
- ((yf[n] = a),
- qh(n).then((g) => {
- var x;
- (a.list.loading || !a.list.fetched) &&
- g &&
- (p(g), (x = t.onData) == null || x.call(e, g));
- })),
- t.auto && a.list.fetch(),
- (bi[a.doctype] = bi[a.doctype] || []),
- bi[a.doctype].push(a),
- a
- );
-}
-function hj(t) {
- return (t = Vi(t)), yf[t] || null;
-}
-function ks(t, e) {
- if (!e.name) return;
- let n = bi[t] || [];
- for (let r of n)
- if (r.originalData) {
- for (let o of r.originalData)
- if (o.name && o.name == e.name) {
- delete o._previousData;
- let i = JSON.stringify(o);
- for (let s in o) s in e && (o[s] = e[s]);
- o._previousData = i;
- }
- r.data = r.transform(r.originalData);
- }
-}
-function pj(t, e) {
- let n = bi[t] || [];
- for (let r of n)
- r.originalData &&
- ((r.originalData = r.originalData.filter(
- (o) => o.name.toString() !== e.toString()
- )),
- (r.data = r.transform(r.originalData)));
-}
-function mj(t, e) {
- let n = bi[t] || [];
- for (let r of n)
- if (r.originalData) {
- for (let o of r.originalData)
- if (o.name && o.name == e.name) {
- let i = JSON.parse(o._previousData);
- for (let s in o) o[s] = i[s];
- delete o._previousData;
- }
- r.data = r.transform(r.originalData);
- }
-}
-let vf = Yt({});
-function gj(t, e) {
- var m;
- if (!(t.doctype && t.name)) return;
- let n = Vi([t.doctype, t.name]),
- r = vf[n];
- if (r) return r.auto && r.reload(), r;
- let o = er("defaultDocGetUrl") || "frappe.client.get",
- i = er("defaultDocUpdateUrl") || "frappe.client.set_value",
- s = er("defaultDocDeleteUrl") || "frappe.client.delete",
- l = er("defaultRunDocMethodUrl") || "run_doc_method",
- a = {
- url: i,
- makeParams(v) {
- return { doctype: c.doctype, name: c.name, fieldname: v };
- },
- beforeSubmit(v) {
- (c.previousDoc = JSON.stringify(c.doc)),
- Object.assign(c.doc, v.fieldname || {}),
- ks(c.doctype, c.doc);
- },
- onSuccess(v) {
- var w, S;
- (c.doc = p(v)),
- (c.originalDoc = JSON.parse(JSON.stringify(c.doc))),
- (S = (w = t.setValue) == null ? void 0 : w.onSuccess) ==
- null || S.call(e, v);
- },
- onError(v) {
- var w, S;
- (c.doc = JSON.parse(c.previousDoc)),
- (S = (w = t.setValue) == null ? void 0 : w.onError) ==
- null || S.call(e, v),
- mj(c.doctype, c.doc);
- },
- };
- const u = t.auto !== void 0;
- let c = Yt({
- doctype: t.doctype,
- name: t.name,
- doc: null,
- originalDoc: null,
- isDirty: !1,
- auto: u ? t.auto : !0,
- get: mn(
- {
- url: o,
- makeParams() {
- return { doctype: c.doctype, name: c.name };
- },
- onSuccess(v) {
- var w;
- Kh(n, v),
- (c.doc = p(v)),
- (c.originalDoc = JSON.parse(JSON.stringify(c.doc))),
- (w = t.onSuccess) == null || w.call(e, c.doc);
- },
- onError: t.onError,
- },
- e
- ),
- setValue: mn(a, e),
- setValueDebounced: mn(ge(B({}, a), { debounce: t.debounce || 500 }), e),
- save: mn(
- ge(B({}, a), {
- makeParams() {
- let v = JSON.parse(JSON.stringify(c.doc));
- return (
- delete v.doctype,
- delete v.name,
- { doctype: c.doctype, name: c.name, fieldname: v }
- );
- },
- }),
- e
- ),
- delete: mn(
- {
- url: s,
- makeParams() {
- return { doctype: c.doctype, name: c.name };
- },
- onSuccess() {
- var v, w;
- (c.doc = null),
- (w = (v = t.delete) == null ? void 0 : v.onSuccess) ==
- null || w.call(e),
- pj(c.doctype, c.name);
- },
- onError: (m = t.delete) == null ? void 0 : m.onError,
- },
- e
- ),
- reload: d,
- setDoc: f,
- });
- at(
- () => c.doc,
- () => {
- c.isDirty = JSON.stringify(c.doc) !== JSON.stringify(c.originalDoc);
- },
- { deep: !0 }
- );
- for (let v in t.whitelistedMethods) {
- let w = t.whitelistedMethods[v];
- typeof w == "string" && (w = { method: w });
- let y = w,
- { method: S, onSuccess: E } = y,
- h = tt(y, ["method", "onSuccess"]);
- c[v] = mn(
- B(
- {
- url: l,
- makeParams(b) {
- return {
- dt: c.doctype,
- dn: c.name,
- method: S,
- args: b,
- };
- },
- onSuccess(b) {
- if (b.docs) {
- for (let g of b.docs)
- if (
- g.doctype === c.doctype &&
- g.name.toString() === c.name.toString()
- ) {
- (c.doc = p(g)), ks(c.doctype, c.doc);
- break;
- }
- }
- E == null || E.call(e, b.message);
- },
- },
- h
- ),
- e
- );
- }
- function d() {
- return c.get.fetch();
- }
- function f(v) {
- typeof v == "function" && (v = v.call(e, c.doc)), (c.doc = p(v));
- }
- function p(v) {
- if (t.transform) {
- let w = t.transform.call(e, v);
- if (typeof w == "object") return w;
- }
- return v;
- }
- return (
- t.realtime &&
- e.$socket &&
- Z2(e.$socket, c.doctype, (v) => {
- v == c.name && c.get.fetch();
- }),
- (vf[n] = c),
- qh(n).then((v) => {
- (c.get.loading || !c.get.fetched) && v && (c.doc = p(v));
- }),
- c.auto && c.get.fetch(),
- c
- );
-}
-function yj(t, e) {
- let n = Vi([t, e]);
- return vf[n] || null;
-}
-let vj = (t) => ({
- created() {
- if (this.$options.resources) {
- this._resources = Yt({});
- for (let e in this.$options.resources) {
- let n = this.$options.resources[e];
- if (typeof n == "function")
- at(
- () => {
- try {
- return n.call(this);
- } catch (r) {
- return (
- console.warn(
- `Failed to get resource options
-
-`,
- r
- ),
- null
- );
- }
- },
- (r, o) => {
- !r ||
- !(
- !o ||
- JSON.stringify(r) !== JSON.stringify(o)
- ) ||
- (this._resources[e] = m1(r, this));
- },
- { immediate: !0 }
- );
- else {
- let r = m1(n, this);
- this._resources[e] = r;
- }
- }
- }
- },
- methods: {
- $getResource(e) {
- return cj(e);
- },
- $getDocumentResource(e, n) {
- return yj(e, n);
- },
- $getDoc(e, n) {
- let r = this.$getDocumentResource(e, n);
- return r ? r.doc : null;
- },
- $getListResource(e) {
- return hj(e);
- },
- $refetchResource(e) {
- let n = this.$getResource(e);
- n && n.fetch();
- },
- },
- computed: {
- $resources() {
- return this._resources;
- },
- },
-});
-function m1(t, e) {
- return t.type === "document"
- ? gj(t, e)
- : t.type === "list"
- ? fj(t, e)
- : mn(t, e);
-}
-const bj = {
- install(t, e) {
- let n = vj();
- t.mixin(n);
- },
-};
-function JL(t) {
- return Y2(
- ge(B({}, t), {
- transformRequest: (e = {}) => {
- if (!e.url)
- throw new Error("[frappeRequest] options.url is required");
- let n = Object.assign(
- {
- Accept: "application/json",
- "Content-Type": "application/json; charset=utf-8",
- "X-Frappe-Site-Name": window.location.hostname,
- },
- e.headers || {}
- );
- return (
- window.csrf_token &&
- window.csrf_token !== "{{ csrf_token }}" &&
- (n["X-Frappe-CSRF-Token"] = window.csrf_token),
- !e.url.startsWith("/") &&
- !e.url.startsWith("http") &&
- (e.url = "/api/method/" + e.url),
- ge(B({}, e), { method: e.method || "POST", headers: n })
- );
- },
- transformResponse: (e, n) =>
- pr(this, null, function* () {
- let r = n.url;
- if (e.ok) {
- const o = yield e.json();
- if (o.docs || r === "login") return o;
- if (o.exc)
- try {
- console.groupCollapsed(r), console.log(n);
- let i = JSON.parse(o.exc);
- for (let s of i) console.log(s);
- console.groupEnd();
- } catch (i) {
- console.warn(
- "Error printing debug messages",
- i
- );
- }
- return o.message;
- } else {
- let o = yield e.text(),
- i,
- s;
- try {
- i = JSON.parse(o);
- } catch (u) {}
- let l = [
- [n.url, i.exc_type, i._error_message]
- .filter(Boolean)
- .join(" "),
- ];
- if (i.exc) {
- s = i.exc;
- try {
- (s = JSON.parse(s)[0]), console.log(s);
- } catch (u) {}
- }
- let a = new Error(
- l.join(`
-`)
- );
- throw (
- ((a.exc_type = i.exc_type),
- (a.exc = s),
- (a.response = e),
- (a.status = o.status),
- (a.messages = i._server_messages
- ? JSON.parse(i._server_messages)
- : []),
- (a.messages = a.messages.concat(i.message)),
- (a.messages = a.messages.map((u) => {
- try {
- return JSON.parse(u).message;
- } catch (c) {
- return u;
- }
- })),
- (a.messages = a.messages.filter(Boolean)),
- a.messages.length ||
- (a.messages = i._error_message
- ? [i._error_message]
- : ["Internal Server Error"]),
- n.onError && n.onError(a),
- a)
- );
- }
- }),
- })
- );
-}
-const dr = Object.create(null);
-dr.open = "0";
-dr.close = "1";
-dr.ping = "2";
-dr.pong = "3";
-dr.message = "4";
-dr.upgrade = "5";
-dr.noop = "6";
-const ra = Object.create(null);
-Object.keys(dr).forEach((t) => {
- ra[dr[t]] = t;
-});
-const bf = { type: "error", data: "parser error" },
- eb =
- typeof Blob == "function" ||
- (typeof Blob != "undefined" &&
- Object.prototype.toString.call(Blob) ===
- "[object BlobConstructor]"),
- tb = typeof ArrayBuffer == "function",
- nb = (t) =>
- typeof ArrayBuffer.isView == "function"
- ? ArrayBuffer.isView(t)
- : t && t.buffer instanceof ArrayBuffer,
- Jh = ({ type: t, data: e }, n, r) =>
- eb && e instanceof Blob
- ? n
- ? r(e)
- : g1(e, r)
- : tb && (e instanceof ArrayBuffer || nb(e))
- ? n
- ? r(e)
- : g1(new Blob([e]), r)
- : r(dr[t] + (e || "")),
- g1 = (t, e) => {
- const n = new FileReader();
- return (
- (n.onload = function () {
- const r = n.result.split(",")[1];
- e("b" + (r || ""));
- }),
- n.readAsDataURL(t)
- );
- };
-function y1(t) {
- return t instanceof Uint8Array
- ? t
- : t instanceof ArrayBuffer
- ? new Uint8Array(t)
- : new Uint8Array(t.buffer, t.byteOffset, t.byteLength);
-}
-let id;
-function wj(t, e) {
- if (eb && t.data instanceof Blob)
- return t.data.arrayBuffer().then(y1).then(e);
- if (tb && (t.data instanceof ArrayBuffer || nb(t.data)))
- return e(y1(t.data));
- Jh(t, !1, (n) => {
- id || (id = new TextEncoder()), e(id.encode(n));
- });
-}
-const v1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
- is = typeof Uint8Array == "undefined" ? [] : new Uint8Array(256);
-for (let t = 0; t < v1.length; t++) is[v1.charCodeAt(t)] = t;
-const xj = (t) => {
- let e = t.length * 0.75,
- n = t.length,
- r,
- o = 0,
- i,
- s,
- l,
- a;
- t[t.length - 1] === "=" && (e--, t[t.length - 2] === "=" && e--);
- const u = new ArrayBuffer(e),
- c = new Uint8Array(u);
- for (r = 0; r < n; r += 4)
- (i = is[t.charCodeAt(r)]),
- (s = is[t.charCodeAt(r + 1)]),
- (l = is[t.charCodeAt(r + 2)]),
- (a = is[t.charCodeAt(r + 3)]),
- (c[o++] = (i << 2) | (s >> 4)),
- (c[o++] = ((s & 15) << 4) | (l >> 2)),
- (c[o++] = ((l & 3) << 6) | (a & 63));
- return u;
- },
- kj = typeof ArrayBuffer == "function",
- Gh = (t, e) => {
- if (typeof t != "string") return { type: "message", data: rb(t, e) };
- const n = t.charAt(0);
- return n === "b"
- ? { type: "message", data: Sj(t.substring(1), e) }
- : ra[n]
- ? t.length > 1
- ? { type: ra[n], data: t.substring(1) }
- : { type: ra[n] }
- : bf;
- },
- Sj = (t, e) => {
- if (kj) {
- const n = xj(t);
- return rb(n, e);
- } else return { base64: !0, data: t };
- },
- rb = (t, e) => {
- switch (e) {
- case "blob":
- return t instanceof Blob ? t : new Blob([t]);
- case "arraybuffer":
- default:
- return t instanceof ArrayBuffer ? t : t.buffer;
- }
- },
- ob = "",
- _j = (t, e) => {
- const n = t.length,
- r = new Array(n);
- let o = 0;
- t.forEach((i, s) => {
- Jh(i, !1, (l) => {
- (r[s] = l), ++o === n && e(r.join(ob));
- });
- });
- },
- Cj = (t, e) => {
- const n = t.split(ob),
- r = [];
- for (let o = 0; o < n.length; o++) {
- const i = Gh(n[o], e);
- if ((r.push(i), i.type === "error")) break;
- }
- return r;
- };
-function Mj() {
- return new TransformStream({
- transform(t, e) {
- wj(t, (n) => {
- const r = n.length;
- let o;
- if (r < 126)
- (o = new Uint8Array(1)),
- new DataView(o.buffer).setUint8(0, r);
- else if (r < 65536) {
- o = new Uint8Array(3);
- const i = new DataView(o.buffer);
- i.setUint8(0, 126), i.setUint16(1, r);
- } else {
- o = new Uint8Array(9);
- const i = new DataView(o.buffer);
- i.setUint8(0, 127), i.setBigUint64(1, BigInt(r));
- }
- t.data && typeof t.data != "string" && (o[0] |= 128),
- e.enqueue(o),
- e.enqueue(n);
- });
- },
- });
-}
-let sd;
-function Bl(t) {
- return t.reduce((e, n) => e + n.length, 0);
-}
-function zl(t, e) {
- if (t[0].length === e) return t.shift();
- const n = new Uint8Array(e);
- let r = 0;
- for (let o = 0; o < e; o++)
- (n[o] = t[0][r++]), r === t[0].length && (t.shift(), (r = 0));
- return t.length && r < t[0].length && (t[0] = t[0].slice(r)), n;
-}
-function Ej(t, e) {
- sd || (sd = new TextDecoder());
- const n = [];
- let r = 0,
- o = -1,
- i = !1;
- return new TransformStream({
- transform(s, l) {
- for (n.push(s); ; ) {
- if (r === 0) {
- if (Bl(n) < 1) break;
- const a = zl(n, 1);
- (i = (a[0] & 128) === 128),
- (o = a[0] & 127),
- o < 126 ? (r = 3) : o === 126 ? (r = 1) : (r = 2);
- } else if (r === 1) {
- if (Bl(n) < 2) break;
- const a = zl(n, 2);
- (o = new DataView(
- a.buffer,
- a.byteOffset,
- a.length
- ).getUint16(0)),
- (r = 3);
- } else if (r === 2) {
- if (Bl(n) < 8) break;
- const a = zl(n, 8),
- u = new DataView(a.buffer, a.byteOffset, a.length),
- c = u.getUint32(0);
- if (c > Math.pow(2, 21) - 1) {
- l.enqueue(bf);
- break;
- }
- (o = c * Math.pow(2, 32) + u.getUint32(4)), (r = 3);
- } else {
- if (Bl(n) < o) break;
- const a = zl(n, o);
- l.enqueue(Gh(i ? a : sd.decode(a), e)), (r = 0);
- }
- if (o === 0 || o > t) {
- l.enqueue(bf);
- break;
- }
- }
- },
- });
-}
-const ib = 4;
-function Ot(t) {
- if (t) return Tj(t);
-}
-function Tj(t) {
- for (var e in Ot.prototype) t[e] = Ot.prototype[e];
- return t;
-}
-Ot.prototype.on = Ot.prototype.addEventListener = function (t, e) {
- return (
- (this._callbacks = this._callbacks || {}),
- (this._callbacks["$" + t] = this._callbacks["$" + t] || []).push(e),
- this
- );
-};
-Ot.prototype.once = function (t, e) {
- function n() {
- this.off(t, n), e.apply(this, arguments);
- }
- return (n.fn = e), this.on(t, n), this;
-};
-Ot.prototype.off =
- Ot.prototype.removeListener =
- Ot.prototype.removeAllListeners =
- Ot.prototype.removeEventListener =
- function (t, e) {
- if (
- ((this._callbacks = this._callbacks || {}),
- arguments.length == 0)
- )
- return (this._callbacks = {}), this;
- var n = this._callbacks["$" + t];
- if (!n) return this;
- if (arguments.length == 1)
- return delete this._callbacks["$" + t], this;
- for (var r, o = 0; o < n.length; o++)
- if (((r = n[o]), r === e || r.fn === e)) {
- n.splice(o, 1);
- break;
- }
- return n.length === 0 && delete this._callbacks["$" + t], this;
- };
-Ot.prototype.emit = function (t) {
- this._callbacks = this._callbacks || {};
- for (
- var e = new Array(arguments.length - 1),
- n = this._callbacks["$" + t],
- r = 1;
- r < arguments.length;
- r++
- )
- e[r - 1] = arguments[r];
- if (n) {
- n = n.slice(0);
- for (var r = 0, o = n.length; r < o; ++r) n[r].apply(this, e);
- }
- return this;
-};
-Ot.prototype.emitReserved = Ot.prototype.emit;
-Ot.prototype.listeners = function (t) {
- return (
- (this._callbacks = this._callbacks || {}),
- this._callbacks["$" + t] || []
- );
-};
-Ot.prototype.hasListeners = function (t) {
- return !!this.listeners(t).length;
-};
-const _n =
- typeof self != "undefined"
- ? self
- : typeof window != "undefined"
- ? window
- : Function("return this")();
-function sb(t, ...e) {
- return e.reduce((n, r) => (t.hasOwnProperty(r) && (n[r] = t[r]), n), {});
-}
-const Aj = _n.setTimeout,
- Oj = _n.clearTimeout;
-function nc(t, e) {
- e.useNativeTimers
- ? ((t.setTimeoutFn = Aj.bind(_n)), (t.clearTimeoutFn = Oj.bind(_n)))
- : ((t.setTimeoutFn = _n.setTimeout.bind(_n)),
- (t.clearTimeoutFn = _n.clearTimeout.bind(_n)));
-}
-const Rj = 1.33;
-function Pj(t) {
- return typeof t == "string"
- ? Ij(t)
- : Math.ceil((t.byteLength || t.size) * Rj);
-}
-function Ij(t) {
- let e = 0,
- n = 0;
- for (let r = 0, o = t.length; r < o; r++)
- (e = t.charCodeAt(r)),
- e < 128
- ? (n += 1)
- : e < 2048
- ? (n += 2)
- : e < 55296 || e >= 57344
- ? (n += 3)
- : (r++, (n += 4));
- return n;
-}
-function Nj(t) {
- let e = "";
- for (let n in t)
- t.hasOwnProperty(n) &&
- (e.length && (e += "&"),
- (e += encodeURIComponent(n) + "=" + encodeURIComponent(t[n])));
- return e;
-}
-function Dj(t) {
- let e = {},
- n = t.split("&");
- for (let r = 0, o = n.length; r < o; r++) {
- let i = n[r].split("=");
- e[decodeURIComponent(i[0])] = decodeURIComponent(i[1]);
- }
- return e;
-}
-class jj extends Error {
- constructor(e, n, r) {
- super(e),
- (this.description = n),
- (this.context = r),
- (this.type = "TransportError");
- }
-}
-class Yh extends Ot {
- constructor(e) {
- super(),
- (this.writable = !1),
- nc(this, e),
- (this.opts = e),
- (this.query = e.query),
- (this.socket = e.socket);
- }
- onError(e, n, r) {
- return super.emitReserved("error", new jj(e, n, r)), this;
- }
- open() {
- return (this.readyState = "opening"), this.doOpen(), this;
- }
- close() {
- return (
- (this.readyState === "opening" || this.readyState === "open") &&
- (this.doClose(), this.onClose()),
- this
- );
- }
- send(e) {
- this.readyState === "open" && this.write(e);
- }
- onOpen() {
- (this.readyState = "open"),
- (this.writable = !0),
- super.emitReserved("open");
- }
- onData(e) {
- const n = Gh(e, this.socket.binaryType);
- this.onPacket(n);
- }
- onPacket(e) {
- super.emitReserved("packet", e);
- }
- onClose(e) {
- (this.readyState = "closed"), super.emitReserved("close", e);
- }
- pause(e) {}
- createUri(e, n = {}) {
- return (
- e +
- "://" +
- this._hostname() +
- this._port() +
- this.opts.path +
- this._query(n)
- );
- }
- _hostname() {
- const e = this.opts.hostname;
- return e.indexOf(":") === -1 ? e : "[" + e + "]";
- }
- _port() {
- return this.opts.port &&
- ((this.opts.secure && +(this.opts.port !== 443)) ||
- (!this.opts.secure && Number(this.opts.port) !== 80))
- ? ":" + this.opts.port
- : "";
- }
- _query(e) {
- const n = Nj(e);
- return n.length ? "?" + n : "";
- }
-}
-const lb =
- "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(
- ""
- ),
- wf = 64,
- Lj = {};
-let b1 = 0,
- Hl = 0,
- w1;
-function x1(t) {
- let e = "";
- do (e = lb[t % wf] + e), (t = Math.floor(t / wf));
- while (t > 0);
- return e;
-}
-function ab() {
- const t = x1(+new Date());
- return t !== w1 ? ((b1 = 0), (w1 = t)) : t + "." + x1(b1++);
-}
-for (; Hl < wf; Hl++) Lj[lb[Hl]] = Hl;
-let ub = !1;
-try {
- ub =
- typeof XMLHttpRequest != "undefined" &&
- "withCredentials" in new XMLHttpRequest();
-} catch (t) {}
-const $j = ub;
-function cb(t) {
- const e = t.xdomain;
- try {
- if (typeof XMLHttpRequest != "undefined" && (!e || $j))
- return new XMLHttpRequest();
- } catch (n) {}
- if (!e)
- try {
- return new _n[["Active"].concat("Object").join("X")](
- "Microsoft.XMLHTTP"
- );
- } catch (n) {}
-}
-function Bj() {}
-const zj = (function () {
- return new cb({ xdomain: !1 }).responseType != null;
-})();
-class Hj extends Yh {
- constructor(e) {
- if ((super(e), (this.polling = !1), typeof location != "undefined")) {
- const r = location.protocol === "https:";
- let o = location.port;
- o || (o = r ? "443" : "80"),
- (this.xd =
- (typeof location != "undefined" &&
- e.hostname !== location.hostname) ||
- o !== e.port);
- }
- const n = e && e.forceBase64;
- (this.supportsBinary = zj && !n),
- this.opts.withCredentials && (this.cookieJar = void 0);
- }
- get name() {
- return "polling";
- }
- doOpen() {
- this.poll();
- }
- pause(e) {
- this.readyState = "pausing";
- const n = () => {
- (this.readyState = "paused"), e();
- };
- if (this.polling || !this.writable) {
- let r = 0;
- this.polling &&
- (r++,
- this.once("pollComplete", function () {
- --r || n();
- })),
- this.writable ||
- (r++,
- this.once("drain", function () {
- --r || n();
- }));
- } else n();
- }
- poll() {
- (this.polling = !0), this.doPoll(), this.emitReserved("poll");
- }
- onData(e) {
- const n = (r) => {
- if (
- (this.readyState === "opening" &&
- r.type === "open" &&
- this.onOpen(),
- r.type === "close")
- )
- return (
- this.onClose({
- description: "transport closed by the server",
- }),
- !1
- );
- this.onPacket(r);
- };
- Cj(e, this.socket.binaryType).forEach(n),
- this.readyState !== "closed" &&
- ((this.polling = !1),
- this.emitReserved("pollComplete"),
- this.readyState === "open" && this.poll());
- }
- doClose() {
- const e = () => {
- this.write([{ type: "close" }]);
- };
- this.readyState === "open" ? e() : this.once("open", e);
- }
- write(e) {
- (this.writable = !1),
- _j(e, (n) => {
- this.doWrite(n, () => {
- (this.writable = !0), this.emitReserved("drain");
- });
- });
- }
- uri() {
- const e = this.opts.secure ? "https" : "http",
- n = this.query || {};
- return (
- this.opts.timestampRequests !== !1 &&
- (n[this.opts.timestampParam] = ab()),
- !this.supportsBinary && !n.sid && (n.b64 = 1),
- this.createUri(e, n)
- );
- }
- request(e = {}) {
- return (
- Object.assign(
- e,
- { xd: this.xd, cookieJar: this.cookieJar },
- this.opts
- ),
- new or(this.uri(), e)
- );
- }
- doWrite(e, n) {
- const r = this.request({ method: "POST", data: e });
- r.on("success", n),
- r.on("error", (o, i) => {
- this.onError("xhr post error", o, i);
- });
- }
- doPoll() {
- const e = this.request();
- e.on("data", this.onData.bind(this)),
- e.on("error", (n, r) => {
- this.onError("xhr poll error", n, r);
- }),
- (this.pollXhr = e);
- }
-}
-class or extends Ot {
- constructor(e, n) {
- super(),
- nc(this, n),
- (this.opts = n),
- (this.method = n.method || "GET"),
- (this.uri = e),
- (this.data = n.data !== void 0 ? n.data : null),
- this.create();
- }
- create() {
- var e;
- const n = sb(
- this.opts,
- "agent",
- "pfx",
- "key",
- "passphrase",
- "cert",
- "ca",
- "ciphers",
- "rejectUnauthorized",
- "autoUnref"
- );
- n.xdomain = !!this.opts.xd;
- const r = (this.xhr = new cb(n));
- try {
- r.open(this.method, this.uri, !0);
- try {
- if (this.opts.extraHeaders) {
- r.setDisableHeaderCheck && r.setDisableHeaderCheck(!0);
- for (let o in this.opts.extraHeaders)
- this.opts.extraHeaders.hasOwnProperty(o) &&
- r.setRequestHeader(o, this.opts.extraHeaders[o]);
- }
- } catch (o) {}
- if (this.method === "POST")
- try {
- r.setRequestHeader(
- "Content-type",
- "text/plain;charset=UTF-8"
- );
- } catch (o) {}
- try {
- r.setRequestHeader("Accept", "*/*");
- } catch (o) {}
- (e = this.opts.cookieJar) === null ||
- e === void 0 ||
- e.addCookies(r),
- "withCredentials" in r &&
- (r.withCredentials = this.opts.withCredentials),
- this.opts.requestTimeout &&
- (r.timeout = this.opts.requestTimeout),
- (r.onreadystatechange = () => {
- var o;
- r.readyState === 3 &&
- ((o = this.opts.cookieJar) === null ||
- o === void 0 ||
- o.parseCookies(r)),
- r.readyState === 4 &&
- (r.status === 200 || r.status === 1223
- ? this.onLoad()
- : this.setTimeoutFn(() => {
- this.onError(
- typeof r.status == "number"
- ? r.status
- : 0
- );
- }, 0));
- }),
- r.send(this.data);
- } catch (o) {
- this.setTimeoutFn(() => {
- this.onError(o);
- }, 0);
- return;
- }
- typeof document != "undefined" &&
- ((this.index = or.requestsCount++),
- (or.requests[this.index] = this));
- }
- onError(e) {
- this.emitReserved("error", e, this.xhr), this.cleanup(!0);
- }
- cleanup(e) {
- if (!(typeof this.xhr == "undefined" || this.xhr === null)) {
- if (((this.xhr.onreadystatechange = Bj), e))
- try {
- this.xhr.abort();
- } catch (n) {}
- typeof document != "undefined" && delete or.requests[this.index],
- (this.xhr = null);
- }
- }
- onLoad() {
- const e = this.xhr.responseText;
- e !== null &&
- (this.emitReserved("data", e),
- this.emitReserved("success"),
- this.cleanup());
- }
- abort() {
- this.cleanup();
- }
-}
-or.requestsCount = 0;
-or.requests = {};
-if (typeof document != "undefined") {
- if (typeof attachEvent == "function") attachEvent("onunload", k1);
- else if (typeof addEventListener == "function") {
- const t = "onpagehide" in _n ? "pagehide" : "unload";
- addEventListener(t, k1, !1);
- }
-}
-function k1() {
- for (let t in or.requests)
- or.requests.hasOwnProperty(t) && or.requests[t].abort();
-}
-const Qh =
- typeof Promise == "function" && typeof Promise.resolve == "function"
- ? (e) => Promise.resolve().then(e)
- : (e, n) => n(e, 0),
- Fl = _n.WebSocket || _n.MozWebSocket,
- S1 = !0,
- Fj = "arraybuffer",
- _1 =
- typeof navigator != "undefined" &&
- typeof navigator.product == "string" &&
- navigator.product.toLowerCase() === "reactnative";
-class Vj extends Yh {
- constructor(e) {
- super(e), (this.supportsBinary = !e.forceBase64);
- }
- get name() {
- return "websocket";
- }
- doOpen() {
- if (!this.check()) return;
- const e = this.uri(),
- n = this.opts.protocols,
- r = _1
- ? {}
- : sb(
- this.opts,
- "agent",
- "perMessageDeflate",
- "pfx",
- "key",
- "passphrase",
- "cert",
- "ca",
- "ciphers",
- "rejectUnauthorized",
- "localAddress",
- "protocolVersion",
- "origin",
- "maxPayload",
- "family",
- "checkServerIdentity"
- );
- this.opts.extraHeaders && (r.headers = this.opts.extraHeaders);
- try {
- this.ws =
- S1 && !_1 ? (n ? new Fl(e, n) : new Fl(e)) : new Fl(e, n, r);
- } catch (o) {
- return this.emitReserved("error", o);
- }
- (this.ws.binaryType = this.socket.binaryType), this.addEventListeners();
- }
- addEventListeners() {
- (this.ws.onopen = () => {
- this.opts.autoUnref && this.ws._socket.unref(), this.onOpen();
- }),
- (this.ws.onclose = (e) =>
- this.onClose({
- description: "websocket connection closed",
- context: e,
- })),
- (this.ws.onmessage = (e) => this.onData(e.data)),
- (this.ws.onerror = (e) => this.onError("websocket error", e));
- }
- write(e) {
- this.writable = !1;
- for (let n = 0; n < e.length; n++) {
- const r = e[n],
- o = n === e.length - 1;
- Jh(r, this.supportsBinary, (i) => {
- const s = {};
- try {
- S1 && this.ws.send(i);
- } catch (l) {}
- o &&
- Qh(() => {
- (this.writable = !0), this.emitReserved("drain");
- }, this.setTimeoutFn);
- });
- }
- }
- doClose() {
- typeof this.ws != "undefined" && (this.ws.close(), (this.ws = null));
- }
- uri() {
- const e = this.opts.secure ? "wss" : "ws",
- n = this.query || {};
- return (
- this.opts.timestampRequests && (n[this.opts.timestampParam] = ab()),
- this.supportsBinary || (n.b64 = 1),
- this.createUri(e, n)
- );
- }
- check() {
- return !!Fl;
- }
-}
-class Wj extends Yh {
- get name() {
- return "webtransport";
- }
- doOpen() {
- typeof WebTransport == "function" &&
- ((this.transport = new WebTransport(
- this.createUri("https"),
- this.opts.transportOptions[this.name]
- )),
- this.transport.closed
- .then(() => {
- this.onClose();
- })
- .catch((e) => {
- this.onError("webtransport error", e);
- }),
- this.transport.ready.then(() => {
- this.transport.createBidirectionalStream().then((e) => {
- const n = Ej(
- Number.MAX_SAFE_INTEGER,
- this.socket.binaryType
- ),
- r = e.readable.pipeThrough(n).getReader(),
- o = Mj();
- o.readable.pipeTo(e.writable),
- (this.writer = o.writable.getWriter());
- const i = () => {
- r.read()
- .then(({ done: l, value: a }) => {
- l || (this.onPacket(a), i());
- })
- .catch((l) => {});
- };
- i();
- const s = { type: "open" };
- this.query.sid && (s.data = `{"sid":"${this.query.sid}"}`),
- this.writer.write(s).then(() => this.onOpen());
- });
- }));
- }
- write(e) {
- this.writable = !1;
- for (let n = 0; n < e.length; n++) {
- const r = e[n],
- o = n === e.length - 1;
- this.writer.write(r).then(() => {
- o &&
- Qh(() => {
- (this.writable = !0), this.emitReserved("drain");
- }, this.setTimeoutFn);
- });
- }
- }
- doClose() {
- var e;
- (e = this.transport) === null || e === void 0 || e.close();
- }
-}
-const Uj = { websocket: Vj, webtransport: Wj, polling: Hj },
- Kj =
- /^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
- qj = [
- "source",
- "protocol",
- "authority",
- "userInfo",
- "user",
- "password",
- "host",
- "port",
- "relative",
- "path",
- "directory",
- "file",
- "query",
- "anchor",
- ];
-function xf(t) {
- if (t.length > 2e3) throw "URI too long";
- const e = t,
- n = t.indexOf("["),
- r = t.indexOf("]");
- n != -1 &&
- r != -1 &&
- (t =
- t.substring(0, n) +
- t.substring(n, r).replace(/:/g, ";") +
- t.substring(r, t.length));
- let o = Kj.exec(t || ""),
- i = {},
- s = 14;
- for (; s--; ) i[qj[s]] = o[s] || "";
- return (
- n != -1 &&
- r != -1 &&
- ((i.source = e),
- (i.host = i.host
- .substring(1, i.host.length - 1)
- .replace(/;/g, ":")),
- (i.authority = i.authority
- .replace("[", "")
- .replace("]", "")
- .replace(/;/g, ":")),
- (i.ipv6uri = !0)),
- (i.pathNames = Jj(i, i.path)),
- (i.queryKey = Gj(i, i.query)),
- i
- );
-}
-function Jj(t, e) {
- const n = /\/{2,9}/g,
- r = e.replace(n, "/").split("/");
- return (
- (e.slice(0, 1) == "/" || e.length === 0) && r.splice(0, 1),
- e.slice(-1) == "/" && r.splice(r.length - 1, 1),
- r
- );
-}
-function Gj(t, e) {
- const n = {};
- return (
- e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function (r, o, i) {
- o && (n[o] = i);
- }),
- n
- );
-}
-let db = class si extends Ot {
- constructor(e, n = {}) {
- super(),
- (this.binaryType = Fj),
- (this.writeBuffer = []),
- e && typeof e == "object" && ((n = e), (e = null)),
- e
- ? ((e = xf(e)),
- (n.hostname = e.host),
- (n.secure = e.protocol === "https" || e.protocol === "wss"),
- (n.port = e.port),
- e.query && (n.query = e.query))
- : n.host && (n.hostname = xf(n.host).host),
- nc(this, n),
- (this.secure =
- n.secure != null
- ? n.secure
- : typeof location != "undefined" &&
- location.protocol === "https:"),
- n.hostname && !n.port && (n.port = this.secure ? "443" : "80"),
- (this.hostname =
- n.hostname ||
- (typeof location != "undefined"
- ? location.hostname
- : "localhost")),
- (this.port =
- n.port ||
- (typeof location != "undefined" && location.port
- ? location.port
- : this.secure
- ? "443"
- : "80")),
- (this.transports = n.transports || [
- "polling",
- "websocket",
- "webtransport",
- ]),
- (this.writeBuffer = []),
- (this.prevBufferLen = 0),
- (this.opts = Object.assign(
- {
- path: "/engine.io",
- agent: !1,
- withCredentials: !1,
- upgrade: !0,
- timestampParam: "t",
- rememberUpgrade: !1,
- addTrailingSlash: !0,
- rejectUnauthorized: !0,
- perMessageDeflate: { threshold: 1024 },
- transportOptions: {},
- closeOnBeforeunload: !1,
- },
- n
- )),
- (this.opts.path =
- this.opts.path.replace(/\/$/, "") +
- (this.opts.addTrailingSlash ? "/" : "")),
- typeof this.opts.query == "string" &&
- (this.opts.query = Dj(this.opts.query)),
- (this.id = null),
- (this.upgrades = null),
- (this.pingInterval = null),
- (this.pingTimeout = null),
- (this.pingTimeoutTimer = null),
- typeof addEventListener == "function" &&
- (this.opts.closeOnBeforeunload &&
- ((this.beforeunloadEventListener = () => {
- this.transport &&
- (this.transport.removeAllListeners(),
- this.transport.close());
- }),
- addEventListener(
- "beforeunload",
- this.beforeunloadEventListener,
- !1
- )),
- this.hostname !== "localhost" &&
- ((this.offlineEventListener = () => {
- this.onClose("transport close", {
- description: "network connection lost",
- });
- }),
- addEventListener(
- "offline",
- this.offlineEventListener,
- !1
- ))),
- this.open();
- }
- createTransport(e) {
- const n = Object.assign({}, this.opts.query);
- (n.EIO = ib), (n.transport = e), this.id && (n.sid = this.id);
- const r = Object.assign(
- {},
- this.opts,
- {
- query: n,
- socket: this,
- hostname: this.hostname,
- secure: this.secure,
- port: this.port,
- },
- this.opts.transportOptions[e]
- );
- return new Uj[e](r);
- }
- open() {
- let e;
- if (
- this.opts.rememberUpgrade &&
- si.priorWebsocketSuccess &&
- this.transports.indexOf("websocket") !== -1
- )
- e = "websocket";
- else if (this.transports.length === 0) {
- this.setTimeoutFn(() => {
- this.emitReserved("error", "No transports available");
- }, 0);
- return;
- } else e = this.transports[0];
- this.readyState = "opening";
- try {
- e = this.createTransport(e);
- } catch (n) {
- this.transports.shift(), this.open();
- return;
- }
- e.open(), this.setTransport(e);
- }
- setTransport(e) {
- this.transport && this.transport.removeAllListeners(),
- (this.transport = e),
- e
- .on("drain", this.onDrain.bind(this))
- .on("packet", this.onPacket.bind(this))
- .on("error", this.onError.bind(this))
- .on("close", (n) => this.onClose("transport close", n));
- }
- probe(e) {
- let n = this.createTransport(e),
- r = !1;
- si.priorWebsocketSuccess = !1;
- const o = () => {
- r ||
- (n.send([{ type: "ping", data: "probe" }]),
- n.once("packet", (d) => {
- if (!r)
- if (d.type === "pong" && d.data === "probe") {
- if (
- ((this.upgrading = !0),
- this.emitReserved("upgrading", n),
- !n)
- )
- return;
- (si.priorWebsocketSuccess = n.name === "websocket"),
- this.transport.pause(() => {
- r ||
- (this.readyState !== "closed" &&
- (c(),
- this.setTransport(n),
- n.send([{ type: "upgrade" }]),
- this.emitReserved("upgrade", n),
- (n = null),
- (this.upgrading = !1),
- this.flush()));
- });
- } else {
- const f = new Error("probe error");
- (f.transport = n.name),
- this.emitReserved("upgradeError", f);
- }
- }));
- };
- function i() {
- r || ((r = !0), c(), n.close(), (n = null));
- }
- const s = (d) => {
- const f = new Error("probe error: " + d);
- (f.transport = n.name), i(), this.emitReserved("upgradeError", f);
- };
- function l() {
- s("transport closed");
- }
- function a() {
- s("socket closed");
- }
- function u(d) {
- n && d.name !== n.name && i();
- }
- const c = () => {
- n.removeListener("open", o),
- n.removeListener("error", s),
- n.removeListener("close", l),
- this.off("close", a),
- this.off("upgrading", u);
- };
- n.once("open", o),
- n.once("error", s),
- n.once("close", l),
- this.once("close", a),
- this.once("upgrading", u),
- this.upgrades.indexOf("webtransport") !== -1 && e !== "webtransport"
- ? this.setTimeoutFn(() => {
- r || n.open();
- }, 200)
- : n.open();
- }
- onOpen() {
- if (
- ((this.readyState = "open"),
- (si.priorWebsocketSuccess = this.transport.name === "websocket"),
- this.emitReserved("open"),
- this.flush(),
- this.readyState === "open" && this.opts.upgrade)
- ) {
- let e = 0;
- const n = this.upgrades.length;
- for (; e < n; e++) this.probe(this.upgrades[e]);
- }
- }
- onPacket(e) {
- if (
- this.readyState === "opening" ||
- this.readyState === "open" ||
- this.readyState === "closing"
- )
- switch (
- (this.emitReserved("packet", e),
- this.emitReserved("heartbeat"),
- this.resetPingTimeout(),
- e.type)
- ) {
- case "open":
- this.onHandshake(JSON.parse(e.data));
- break;
- case "ping":
- this.sendPacket("pong"),
- this.emitReserved("ping"),
- this.emitReserved("pong");
- break;
- case "error":
- const n = new Error("server error");
- (n.code = e.data), this.onError(n);
- break;
- case "message":
- this.emitReserved("data", e.data),
- this.emitReserved("message", e.data);
- break;
- }
- }
- onHandshake(e) {
- this.emitReserved("handshake", e),
- (this.id = e.sid),
- (this.transport.query.sid = e.sid),
- (this.upgrades = this.filterUpgrades(e.upgrades)),
- (this.pingInterval = e.pingInterval),
- (this.pingTimeout = e.pingTimeout),
- (this.maxPayload = e.maxPayload),
- this.onOpen(),
- this.readyState !== "closed" && this.resetPingTimeout();
- }
- resetPingTimeout() {
- this.clearTimeoutFn(this.pingTimeoutTimer),
- (this.pingTimeoutTimer = this.setTimeoutFn(() => {
- this.onClose("ping timeout");
- }, this.pingInterval + this.pingTimeout)),
- this.opts.autoUnref && this.pingTimeoutTimer.unref();
- }
- onDrain() {
- this.writeBuffer.splice(0, this.prevBufferLen),
- (this.prevBufferLen = 0),
- this.writeBuffer.length === 0
- ? this.emitReserved("drain")
- : this.flush();
- }
- flush() {
- if (
- this.readyState !== "closed" &&
- this.transport.writable &&
- !this.upgrading &&
- this.writeBuffer.length
- ) {
- const e = this.getWritablePackets();
- this.transport.send(e),
- (this.prevBufferLen = e.length),
- this.emitReserved("flush");
- }
- }
- getWritablePackets() {
- if (
- !(
- this.maxPayload &&
- this.transport.name === "polling" &&
- this.writeBuffer.length > 1
- )
- )
- return this.writeBuffer;
- let n = 1;
- for (let r = 0; r < this.writeBuffer.length; r++) {
- const o = this.writeBuffer[r].data;
- if ((o && (n += Pj(o)), r > 0 && n > this.maxPayload))
- return this.writeBuffer.slice(0, r);
- n += 2;
- }
- return this.writeBuffer;
- }
- write(e, n, r) {
- return this.sendPacket("message", e, n, r), this;
- }
- send(e, n, r) {
- return this.sendPacket("message", e, n, r), this;
- }
- sendPacket(e, n, r, o) {
- if (
- (typeof n == "function" && ((o = n), (n = void 0)),
- typeof r == "function" && ((o = r), (r = null)),
- this.readyState === "closing" || this.readyState === "closed")
- )
- return;
- (r = r || {}), (r.compress = r.compress !== !1);
- const i = { type: e, data: n, options: r };
- this.emitReserved("packetCreate", i),
- this.writeBuffer.push(i),
- o && this.once("flush", o),
- this.flush();
- }
- close() {
- const e = () => {
- this.onClose("forced close"), this.transport.close();
- },
- n = () => {
- this.off("upgrade", n), this.off("upgradeError", n), e();
- },
- r = () => {
- this.once("upgrade", n), this.once("upgradeError", n);
- };
- return (
- (this.readyState === "opening" || this.readyState === "open") &&
- ((this.readyState = "closing"),
- this.writeBuffer.length
- ? this.once("drain", () => {
- this.upgrading ? r() : e();
- })
- : this.upgrading
- ? r()
- : e()),
- this
- );
- }
- onError(e) {
- (si.priorWebsocketSuccess = !1),
- this.emitReserved("error", e),
- this.onClose("transport error", e);
- }
- onClose(e, n) {
- (this.readyState === "opening" ||
- this.readyState === "open" ||
- this.readyState === "closing") &&
- (this.clearTimeoutFn(this.pingTimeoutTimer),
- this.transport.removeAllListeners("close"),
- this.transport.close(),
- this.transport.removeAllListeners(),
- typeof removeEventListener == "function" &&
- (removeEventListener(
- "beforeunload",
- this.beforeunloadEventListener,
- !1
- ),
- removeEventListener("offline", this.offlineEventListener, !1)),
- (this.readyState = "closed"),
- (this.id = null),
- this.emitReserved("close", e, n),
- (this.writeBuffer = []),
- (this.prevBufferLen = 0));
- }
- filterUpgrades(e) {
- const n = [];
- let r = 0;
- const o = e.length;
- for (; r < o; r++) ~this.transports.indexOf(e[r]) && n.push(e[r]);
- return n;
- }
-};
-db.protocol = ib;
-function Yj(t, e = "", n) {
- let r = t;
- (n = n || (typeof location != "undefined" && location)),
- t == null && (t = n.protocol + "//" + n.host),
- typeof t == "string" &&
- (t.charAt(0) === "/" &&
- (t.charAt(1) === "/" ? (t = n.protocol + t) : (t = n.host + t)),
- /^(https?|wss?):\/\//.test(t) ||
- (typeof n != "undefined"
- ? (t = n.protocol + "//" + t)
- : (t = "https://" + t)),
- (r = xf(t))),
- r.port ||
- (/^(http|ws)$/.test(r.protocol)
- ? (r.port = "80")
- : /^(http|ws)s$/.test(r.protocol) && (r.port = "443")),
- (r.path = r.path || "/");
- const i = r.host.indexOf(":") !== -1 ? "[" + r.host + "]" : r.host;
- return (
- (r.id = r.protocol + "://" + i + ":" + r.port + e),
- (r.href =
- r.protocol +
- "://" +
- i +
- (n && n.port === r.port ? "" : ":" + r.port)),
- r
- );
-}
-const Qj = typeof ArrayBuffer == "function",
- Xj = (t) =>
- typeof ArrayBuffer.isView == "function"
- ? ArrayBuffer.isView(t)
- : t.buffer instanceof ArrayBuffer,
- fb = Object.prototype.toString,
- Zj =
- typeof Blob == "function" ||
- (typeof Blob != "undefined" &&
- fb.call(Blob) === "[object BlobConstructor]"),
- eL =
- typeof File == "function" ||
- (typeof File != "undefined" &&
- fb.call(File) === "[object FileConstructor]");
-function Xh(t) {
- return (
- (Qj && (t instanceof ArrayBuffer || Xj(t))) ||
- (Zj && t instanceof Blob) ||
- (eL && t instanceof File)
- );
-}
-function oa(t, e) {
- if (!t || typeof t != "object") return !1;
- if (Array.isArray(t)) {
- for (let n = 0, r = t.length; n < r; n++) if (oa(t[n])) return !0;
- return !1;
- }
- if (Xh(t)) return !0;
- if (t.toJSON && typeof t.toJSON == "function" && arguments.length === 1)
- return oa(t.toJSON(), !0);
- for (const n in t)
- if (Object.prototype.hasOwnProperty.call(t, n) && oa(t[n])) return !0;
- return !1;
-}
-function tL(t) {
- const e = [],
- n = t.data,
- r = t;
- return (
- (r.data = kf(n, e)),
- (r.attachments = e.length),
- { packet: r, buffers: e }
- );
-}
-function kf(t, e) {
- if (!t) return t;
- if (Xh(t)) {
- const n = { _placeholder: !0, num: e.length };
- return e.push(t), n;
- } else if (Array.isArray(t)) {
- const n = new Array(t.length);
- for (let r = 0; r < t.length; r++) n[r] = kf(t[r], e);
- return n;
- } else if (typeof t == "object" && !(t instanceof Date)) {
- const n = {};
- for (const r in t)
- Object.prototype.hasOwnProperty.call(t, r) && (n[r] = kf(t[r], e));
- return n;
- }
- return t;
-}
-function nL(t, e) {
- return (t.data = Sf(t.data, e)), delete t.attachments, t;
-}
-function Sf(t, e) {
- if (!t) return t;
- if (t && t._placeholder === !0) {
- if (typeof t.num == "number" && t.num >= 0 && t.num < e.length)
- return e[t.num];
- throw new Error("illegal attachments");
- } else if (Array.isArray(t))
- for (let n = 0; n < t.length; n++) t[n] = Sf(t[n], e);
- else if (typeof t == "object")
- for (const n in t)
- Object.prototype.hasOwnProperty.call(t, n) && (t[n] = Sf(t[n], e));
- return t;
-}
-const rL = [
- "connect",
- "connect_error",
- "disconnect",
- "disconnecting",
- "newListener",
- "removeListener",
- ],
- oL = 5;
-var qe;
-(function (t) {
- (t[(t.CONNECT = 0)] = "CONNECT"),
- (t[(t.DISCONNECT = 1)] = "DISCONNECT"),
- (t[(t.EVENT = 2)] = "EVENT"),
- (t[(t.ACK = 3)] = "ACK"),
- (t[(t.CONNECT_ERROR = 4)] = "CONNECT_ERROR"),
- (t[(t.BINARY_EVENT = 5)] = "BINARY_EVENT"),
- (t[(t.BINARY_ACK = 6)] = "BINARY_ACK");
-})(qe || (qe = {}));
-class iL {
- constructor(e) {
- this.replacer = e;
- }
- encode(e) {
- return (e.type === qe.EVENT || e.type === qe.ACK) && oa(e)
- ? this.encodeAsBinary({
- type: e.type === qe.EVENT ? qe.BINARY_EVENT : qe.BINARY_ACK,
- nsp: e.nsp,
- data: e.data,
- id: e.id,
- })
- : [this.encodeAsString(e)];
- }
- encodeAsString(e) {
- let n = "" + e.type;
- return (
- (e.type === qe.BINARY_EVENT || e.type === qe.BINARY_ACK) &&
- (n += e.attachments + "-"),
- e.nsp && e.nsp !== "/" && (n += e.nsp + ","),
- e.id != null && (n += e.id),
- e.data != null && (n += JSON.stringify(e.data, this.replacer)),
- n
- );
- }
- encodeAsBinary(e) {
- const n = tL(e),
- r = this.encodeAsString(n.packet),
- o = n.buffers;
- return o.unshift(r), o;
- }
-}
-function C1(t) {
- return Object.prototype.toString.call(t) === "[object Object]";
-}
-class Zh extends Ot {
- constructor(e) {
- super(), (this.reviver = e);
- }
- add(e) {
- let n;
- if (typeof e == "string") {
- if (this.reconstructor)
- throw new Error(
- "got plaintext data when reconstructing a packet"
- );
- n = this.decodeString(e);
- const r = n.type === qe.BINARY_EVENT;
- r || n.type === qe.BINARY_ACK
- ? ((n.type = r ? qe.EVENT : qe.ACK),
- (this.reconstructor = new sL(n)),
- n.attachments === 0 && super.emitReserved("decoded", n))
- : super.emitReserved("decoded", n);
- } else if (Xh(e) || e.base64)
- if (this.reconstructor)
- (n = this.reconstructor.takeBinaryData(e)),
- n &&
- ((this.reconstructor = null),
- super.emitReserved("decoded", n));
- else
- throw new Error(
- "got binary data when not reconstructing a packet"
- );
- else throw new Error("Unknown type: " + e);
- }
- decodeString(e) {
- let n = 0;
- const r = { type: Number(e.charAt(0)) };
- if (qe[r.type] === void 0)
- throw new Error("unknown packet type " + r.type);
- if (r.type === qe.BINARY_EVENT || r.type === qe.BINARY_ACK) {
- const i = n + 1;
- for (; e.charAt(++n) !== "-" && n != e.length; );
- const s = e.substring(i, n);
- if (s != Number(s) || e.charAt(n) !== "-")
- throw new Error("Illegal attachments");
- r.attachments = Number(s);
- }
- if (e.charAt(n + 1) === "/") {
- const i = n + 1;
- for (; ++n && !(e.charAt(n) === "," || n === e.length); );
- r.nsp = e.substring(i, n);
- } else r.nsp = "/";
- const o = e.charAt(n + 1);
- if (o !== "" && Number(o) == o) {
- const i = n + 1;
- for (; ++n; ) {
- const s = e.charAt(n);
- if (s == null || Number(s) != s) {
- --n;
- break;
- }
- if (n === e.length) break;
- }
- r.id = Number(e.substring(i, n + 1));
- }
- if (e.charAt(++n)) {
- const i = this.tryParse(e.substr(n));
- if (Zh.isPayloadValid(r.type, i)) r.data = i;
- else throw new Error("invalid payload");
- }
- return r;
- }
- tryParse(e) {
- try {
- return JSON.parse(e, this.reviver);
- } catch (n) {
- return !1;
- }
- }
- static isPayloadValid(e, n) {
- switch (e) {
- case qe.CONNECT:
- return C1(n);
- case qe.DISCONNECT:
- return n === void 0;
- case qe.CONNECT_ERROR:
- return typeof n == "string" || C1(n);
- case qe.EVENT:
- case qe.BINARY_EVENT:
- return (
- Array.isArray(n) &&
- (typeof n[0] == "number" ||
- (typeof n[0] == "string" && rL.indexOf(n[0]) === -1))
- );
- case qe.ACK:
- case qe.BINARY_ACK:
- return Array.isArray(n);
- }
- }
- destroy() {
- this.reconstructor &&
- (this.reconstructor.finishedReconstruction(),
- (this.reconstructor = null));
- }
-}
-class sL {
- constructor(e) {
- (this.packet = e), (this.buffers = []), (this.reconPack = e);
- }
- takeBinaryData(e) {
- if (
- (this.buffers.push(e),
- this.buffers.length === this.reconPack.attachments)
- ) {
- const n = nL(this.reconPack, this.buffers);
- return this.finishedReconstruction(), n;
- }
- return null;
- }
- finishedReconstruction() {
- (this.reconPack = null), (this.buffers = []);
- }
-}
-const lL = Object.freeze(
- Object.defineProperty(
- {
- __proto__: null,
- Decoder: Zh,
- Encoder: iL,
- get PacketType() {
- return qe;
- },
- protocol: oL,
- },
- Symbol.toStringTag,
- { value: "Module" }
- )
-);
-function In(t, e, n) {
- return (
- t.on(e, n),
- function () {
- t.off(e, n);
- }
- );
-}
-const aL = Object.freeze({
- connect: 1,
- connect_error: 1,
- disconnect: 1,
- disconnecting: 1,
- newListener: 1,
- removeListener: 1,
-});
-class hb extends Ot {
- constructor(e, n, r) {
- super(),
- (this.connected = !1),
- (this.recovered = !1),
- (this.receiveBuffer = []),
- (this.sendBuffer = []),
- (this._queue = []),
- (this._queueSeq = 0),
- (this.ids = 0),
- (this.acks = {}),
- (this.flags = {}),
- (this.io = e),
- (this.nsp = n),
- r && r.auth && (this.auth = r.auth),
- (this._opts = Object.assign({}, r)),
- this.io._autoConnect && this.open();
- }
- get disconnected() {
- return !this.connected;
- }
- subEvents() {
- if (this.subs) return;
- const e = this.io;
- this.subs = [
- In(e, "open", this.onopen.bind(this)),
- In(e, "packet", this.onpacket.bind(this)),
- In(e, "error", this.onerror.bind(this)),
- In(e, "close", this.onclose.bind(this)),
- ];
- }
- get active() {
- return !!this.subs;
- }
- connect() {
- return this.connected
- ? this
- : (this.subEvents(),
- this.io._reconnecting || this.io.open(),
- this.io._readyState === "open" && this.onopen(),
- this);
- }
- open() {
- return this.connect();
- }
- send(...e) {
- return e.unshift("message"), this.emit.apply(this, e), this;
- }
- emit(e, ...n) {
- if (aL.hasOwnProperty(e))
- throw new Error('"' + e.toString() + '" is a reserved event name');
- if (
- (n.unshift(e),
- this._opts.retries && !this.flags.fromQueue && !this.flags.volatile)
- )
- return this._addToQueue(n), this;
- const r = { type: qe.EVENT, data: n };
- if (
- ((r.options = {}),
- (r.options.compress = this.flags.compress !== !1),
- typeof n[n.length - 1] == "function")
- ) {
- const s = this.ids++,
- l = n.pop();
- this._registerAckCallback(s, l), (r.id = s);
- }
- const o =
- this.io.engine &&
- this.io.engine.transport &&
- this.io.engine.transport.writable;
- return (
- (this.flags.volatile && (!o || !this.connected)) ||
- (this.connected
- ? (this.notifyOutgoingListeners(r), this.packet(r))
- : this.sendBuffer.push(r)),
- (this.flags = {}),
- this
- );
- }
- _registerAckCallback(e, n) {
- var r;
- const o =
- (r = this.flags.timeout) !== null && r !== void 0
- ? r
- : this._opts.ackTimeout;
- if (o === void 0) {
- this.acks[e] = n;
- return;
- }
- const i = this.io.setTimeoutFn(() => {
- delete this.acks[e];
- for (let s = 0; s < this.sendBuffer.length; s++)
- this.sendBuffer[s].id === e && this.sendBuffer.splice(s, 1);
- n.call(this, new Error("operation has timed out"));
- }, o);
- this.acks[e] = (...s) => {
- this.io.clearTimeoutFn(i), n.apply(this, [null, ...s]);
- };
- }
- emitWithAck(e, ...n) {
- const r =
- this.flags.timeout !== void 0 || this._opts.ackTimeout !== void 0;
- return new Promise((o, i) => {
- n.push((s, l) => (r ? (s ? i(s) : o(l)) : o(s))),
- this.emit(e, ...n);
- });
- }
- _addToQueue(e) {
- let n;
- typeof e[e.length - 1] == "function" && (n = e.pop());
- const r = {
- id: this._queueSeq++,
- tryCount: 0,
- pending: !1,
- args: e,
- flags: Object.assign({ fromQueue: !0 }, this.flags),
- };
- e.push((o, ...i) =>
- r !== this._queue[0]
- ? void 0
- : (o !== null
- ? r.tryCount > this._opts.retries &&
- (this._queue.shift(), n && n(o))
- : (this._queue.shift(), n && n(null, ...i)),
- (r.pending = !1),
- this._drainQueue())
- ),
- this._queue.push(r),
- this._drainQueue();
- }
- _drainQueue(e = !1) {
- if (!this.connected || this._queue.length === 0) return;
- const n = this._queue[0];
- (n.pending && !e) ||
- ((n.pending = !0),
- n.tryCount++,
- (this.flags = n.flags),
- this.emit.apply(this, n.args));
- }
- packet(e) {
- (e.nsp = this.nsp), this.io._packet(e);
- }
- onopen() {
- typeof this.auth == "function"
- ? this.auth((e) => {
- this._sendConnectPacket(e);
- })
- : this._sendConnectPacket(this.auth);
- }
- _sendConnectPacket(e) {
- this.packet({
- type: qe.CONNECT,
- data: this._pid
- ? Object.assign({ pid: this._pid, offset: this._lastOffset }, e)
- : e,
- });
- }
- onerror(e) {
- this.connected || this.emitReserved("connect_error", e);
- }
- onclose(e, n) {
- (this.connected = !1),
- delete this.id,
- this.emitReserved("disconnect", e, n);
- }
- onpacket(e) {
- if (e.nsp === this.nsp)
- switch (e.type) {
- case qe.CONNECT:
- e.data && e.data.sid
- ? this.onconnect(e.data.sid, e.data.pid)
- : this.emitReserved(
- "connect_error",
- new Error(
- "It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"
- )
- );
- break;
- case qe.EVENT:
- case qe.BINARY_EVENT:
- this.onevent(e);
- break;
- case qe.ACK:
- case qe.BINARY_ACK:
- this.onack(e);
- break;
- case qe.DISCONNECT:
- this.ondisconnect();
- break;
- case qe.CONNECT_ERROR:
- this.destroy();
- const r = new Error(e.data.message);
- (r.data = e.data.data),
- this.emitReserved("connect_error", r);
- break;
- }
- }
- onevent(e) {
- const n = e.data || [];
- e.id != null && n.push(this.ack(e.id)),
- this.connected
- ? this.emitEvent(n)
- : this.receiveBuffer.push(Object.freeze(n));
- }
- emitEvent(e) {
- if (this._anyListeners && this._anyListeners.length) {
- const n = this._anyListeners.slice();
- for (const r of n) r.apply(this, e);
- }
- super.emit.apply(this, e),
- this._pid &&
- e.length &&
- typeof e[e.length - 1] == "string" &&
- (this._lastOffset = e[e.length - 1]);
- }
- ack(e) {
- const n = this;
- let r = !1;
- return function (...o) {
- r || ((r = !0), n.packet({ type: qe.ACK, id: e, data: o }));
- };
- }
- onack(e) {
- const n = this.acks[e.id];
- typeof n == "function" &&
- (n.apply(this, e.data), delete this.acks[e.id]);
- }
- onconnect(e, n) {
- (this.id = e),
- (this.recovered = n && this._pid === n),
- (this._pid = n),
- (this.connected = !0),
- this.emitBuffered(),
- this.emitReserved("connect"),
- this._drainQueue(!0);
- }
- emitBuffered() {
- this.receiveBuffer.forEach((e) => this.emitEvent(e)),
- (this.receiveBuffer = []),
- this.sendBuffer.forEach((e) => {
- this.notifyOutgoingListeners(e), this.packet(e);
- }),
- (this.sendBuffer = []);
- }
- ondisconnect() {
- this.destroy(), this.onclose("io server disconnect");
- }
- destroy() {
- this.subs && (this.subs.forEach((e) => e()), (this.subs = void 0)),
- this.io._destroy(this);
- }
- disconnect() {
- return (
- this.connected && this.packet({ type: qe.DISCONNECT }),
- this.destroy(),
- this.connected && this.onclose("io client disconnect"),
- this
- );
- }
- close() {
- return this.disconnect();
- }
- compress(e) {
- return (this.flags.compress = e), this;
- }
- get volatile() {
- return (this.flags.volatile = !0), this;
- }
- timeout(e) {
- return (this.flags.timeout = e), this;
- }
- onAny(e) {
- return (
- (this._anyListeners = this._anyListeners || []),
- this._anyListeners.push(e),
- this
- );
- }
- prependAny(e) {
- return (
- (this._anyListeners = this._anyListeners || []),
- this._anyListeners.unshift(e),
- this
- );
- }
- offAny(e) {
- if (!this._anyListeners) return this;
- if (e) {
- const n = this._anyListeners;
- for (let r = 0; r < n.length; r++)
- if (e === n[r]) return n.splice(r, 1), this;
- } else this._anyListeners = [];
- return this;
- }
- listenersAny() {
- return this._anyListeners || [];
- }
- onAnyOutgoing(e) {
- return (
- (this._anyOutgoingListeners = this._anyOutgoingListeners || []),
- this._anyOutgoingListeners.push(e),
- this
- );
- }
- prependAnyOutgoing(e) {
- return (
- (this._anyOutgoingListeners = this._anyOutgoingListeners || []),
- this._anyOutgoingListeners.unshift(e),
- this
- );
- }
- offAnyOutgoing(e) {
- if (!this._anyOutgoingListeners) return this;
- if (e) {
- const n = this._anyOutgoingListeners;
- for (let r = 0; r < n.length; r++)
- if (e === n[r]) return n.splice(r, 1), this;
- } else this._anyOutgoingListeners = [];
- return this;
- }
- listenersAnyOutgoing() {
- return this._anyOutgoingListeners || [];
- }
- notifyOutgoingListeners(e) {
- if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {
- const n = this._anyOutgoingListeners.slice();
- for (const r of n) r.apply(this, e.data);
- }
- }
-}
-function Wi(t) {
- (t = t || {}),
- (this.ms = t.min || 100),
- (this.max = t.max || 1e4),
- (this.factor = t.factor || 2),
- (this.jitter = t.jitter > 0 && t.jitter <= 1 ? t.jitter : 0),
- (this.attempts = 0);
-}
-Wi.prototype.duration = function () {
- var t = this.ms * Math.pow(this.factor, this.attempts++);
- if (this.jitter) {
- var e = Math.random(),
- n = Math.floor(e * this.jitter * t);
- t = Math.floor(e * 10) & 1 ? t + n : t - n;
- }
- return Math.min(t, this.max) | 0;
-};
-Wi.prototype.reset = function () {
- this.attempts = 0;
-};
-Wi.prototype.setMin = function (t) {
- this.ms = t;
-};
-Wi.prototype.setMax = function (t) {
- this.max = t;
-};
-Wi.prototype.setJitter = function (t) {
- this.jitter = t;
-};
-class _f extends Ot {
- constructor(e, n) {
- var r;
- super(),
- (this.nsps = {}),
- (this.subs = []),
- e && typeof e == "object" && ((n = e), (e = void 0)),
- (n = n || {}),
- (n.path = n.path || "/socket.io"),
- (this.opts = n),
- nc(this, n),
- this.reconnection(n.reconnection !== !1),
- this.reconnectionAttempts(n.reconnectionAttempts || 1 / 0),
- this.reconnectionDelay(n.reconnectionDelay || 1e3),
- this.reconnectionDelayMax(n.reconnectionDelayMax || 5e3),
- this.randomizationFactor(
- (r = n.randomizationFactor) !== null && r !== void 0 ? r : 0.5
- ),
- (this.backoff = new Wi({
- min: this.reconnectionDelay(),
- max: this.reconnectionDelayMax(),
- jitter: this.randomizationFactor(),
- })),
- this.timeout(n.timeout == null ? 2e4 : n.timeout),
- (this._readyState = "closed"),
- (this.uri = e);
- const o = n.parser || lL;
- (this.encoder = new o.Encoder()),
- (this.decoder = new o.Decoder()),
- (this._autoConnect = n.autoConnect !== !1),
- this._autoConnect && this.open();
- }
- reconnection(e) {
- return arguments.length
- ? ((this._reconnection = !!e), this)
- : this._reconnection;
- }
- reconnectionAttempts(e) {
- return e === void 0
- ? this._reconnectionAttempts
- : ((this._reconnectionAttempts = e), this);
- }
- reconnectionDelay(e) {
- var n;
- return e === void 0
- ? this._reconnectionDelay
- : ((this._reconnectionDelay = e),
- (n = this.backoff) === null || n === void 0 || n.setMin(e),
- this);
- }
- randomizationFactor(e) {
- var n;
- return e === void 0
- ? this._randomizationFactor
- : ((this._randomizationFactor = e),
- (n = this.backoff) === null || n === void 0 || n.setJitter(e),
- this);
- }
- reconnectionDelayMax(e) {
- var n;
- return e === void 0
- ? this._reconnectionDelayMax
- : ((this._reconnectionDelayMax = e),
- (n = this.backoff) === null || n === void 0 || n.setMax(e),
- this);
- }
- timeout(e) {
- return arguments.length ? ((this._timeout = e), this) : this._timeout;
- }
- maybeReconnectOnOpen() {
- !this._reconnecting &&
- this._reconnection &&
- this.backoff.attempts === 0 &&
- this.reconnect();
- }
- open(e) {
- if (~this._readyState.indexOf("open")) return this;
- this.engine = new db(this.uri, this.opts);
- const n = this.engine,
- r = this;
- (this._readyState = "opening"), (this.skipReconnect = !1);
- const o = In(n, "open", function () {
- r.onopen(), e && e();
- }),
- i = (l) => {
- this.cleanup(),
- (this._readyState = "closed"),
- this.emitReserved("error", l),
- e ? e(l) : this.maybeReconnectOnOpen();
- },
- s = In(n, "error", i);
- if (this._timeout !== !1) {
- const l = this._timeout,
- a = this.setTimeoutFn(() => {
- o(), i(new Error("timeout")), n.close();
- }, l);
- this.opts.autoUnref && a.unref(),
- this.subs.push(() => {
- this.clearTimeoutFn(a);
- });
- }
- return this.subs.push(o), this.subs.push(s), this;
- }
- connect(e) {
- return this.open(e);
- }
- onopen() {
- this.cleanup(), (this._readyState = "open"), this.emitReserved("open");
- const e = this.engine;
- this.subs.push(
- In(e, "ping", this.onping.bind(this)),
- In(e, "data", this.ondata.bind(this)),
- In(e, "error", this.onerror.bind(this)),
- In(e, "close", this.onclose.bind(this)),
- In(this.decoder, "decoded", this.ondecoded.bind(this))
- );
- }
- onping() {
- this.emitReserved("ping");
- }
- ondata(e) {
- try {
- this.decoder.add(e);
- } catch (n) {
- this.onclose("parse error", n);
- }
- }
- ondecoded(e) {
- Qh(() => {
- this.emitReserved("packet", e);
- }, this.setTimeoutFn);
- }
- onerror(e) {
- this.emitReserved("error", e);
- }
- socket(e, n) {
- let r = this.nsps[e];
- return (
- r
- ? this._autoConnect && !r.active && r.connect()
- : ((r = new hb(this, e, n)), (this.nsps[e] = r)),
- r
- );
- }
- _destroy(e) {
- const n = Object.keys(this.nsps);
- for (const r of n) if (this.nsps[r].active) return;
- this._close();
- }
- _packet(e) {
- const n = this.encoder.encode(e);
- for (let r = 0; r < n.length; r++) this.engine.write(n[r], e.options);
- }
- cleanup() {
- this.subs.forEach((e) => e()),
- (this.subs.length = 0),
- this.decoder.destroy();
- }
- _close() {
- (this.skipReconnect = !0),
- (this._reconnecting = !1),
- this.onclose("forced close"),
- this.engine && this.engine.close();
- }
- disconnect() {
- return this._close();
- }
- onclose(e, n) {
- this.cleanup(),
- this.backoff.reset(),
- (this._readyState = "closed"),
- this.emitReserved("close", e, n),
- this._reconnection && !this.skipReconnect && this.reconnect();
- }
- reconnect() {
- if (this._reconnecting || this.skipReconnect) return this;
- const e = this;
- if (this.backoff.attempts >= this._reconnectionAttempts)
- this.backoff.reset(),
- this.emitReserved("reconnect_failed"),
- (this._reconnecting = !1);
- else {
- const n = this.backoff.duration();
- this._reconnecting = !0;
- const r = this.setTimeoutFn(() => {
- e.skipReconnect ||
- (this.emitReserved("reconnect_attempt", e.backoff.attempts),
- !e.skipReconnect &&
- e.open((o) => {
- o
- ? ((e._reconnecting = !1),
- e.reconnect(),
- this.emitReserved("reconnect_error", o))
- : e.onreconnect();
- }));
- }, n);
- this.opts.autoUnref && r.unref(),
- this.subs.push(() => {
- this.clearTimeoutFn(r);
- });
- }
- }
- onreconnect() {
- const e = this.backoff.attempts;
- (this._reconnecting = !1),
- this.backoff.reset(),
- this.emitReserved("reconnect", e);
- }
-}
-const Xi = {};
-function ia(t, e) {
- typeof t == "object" && ((e = t), (t = void 0)), (e = e || {});
- const n = Yj(t, e.path || "/socket.io"),
- r = n.source,
- o = n.id,
- i = n.path,
- s = Xi[o] && i in Xi[o].nsps,
- l = e.forceNew || e["force new connection"] || e.multiplex === !1 || s;
- let a;
- return (
- l ? (a = new _f(r, e)) : (Xi[o] || (Xi[o] = new _f(r, e)), (a = Xi[o])),
- n.query && !e.query && (e.query = n.queryKey),
- a.socket(n.path, e)
- );
-}
-Object.assign(ia, { Manager: _f, Socket: hb, io: ia, connect: ia });
-function uL(t = {}) {
- let e = window.location.hostname,
- n = t.port || 9e3,
- r = window.location.port ? `:${n}` : "",
- i = `${r ? "http" : "https"}://${e}${r}`;
- return ia(i, { withCredentials: !0 });
-}
-let cL = { resources: !0, call: !0, socketio: !0 };
-const GL = {
- install(t, e = {}) {
- if (
- ((e = Object.assign({}, cL, e)),
- e.resources && t.use(bj, e.resources),
- e.call)
- ) {
- let n = typeof e.call == "function" ? e.call : rj;
- t.config.globalProperties.$call = n;
- }
- e.socketio && (t.config.globalProperties.$socket = uL(e.socketio));
- },
-};
-export {
- bL as $,
- UL as A,
- PL as B,
- G0 as C,
- DL as D,
- jL as E,
- Te as F,
- Ce as G,
- V as H,
- be as I,
- ve as J,
- ne as K,
- We as L,
- Re as M,
- $_ as N,
- xe as O,
- Bn as P,
- Ne as Q,
- Rt as R,
- RL as S,
- DD as T,
- ao as U,
- WL as V,
- Je as W,
- ia as X,
- cj as Y,
- hj as Z,
- bl as _,
- Yt as a,
- GL as a0,
- KL as a1,
- qL as a2,
- JL as a3,
- lr as a4,
- fj as a5,
- IL as a6,
- Oi as a7,
- AL as a8,
- BL as a9,
- ML as aA,
- EL as aB,
- CL as aC,
- Js as aD,
- zf as aE,
- tl as aF,
- Et as aG,
- Lt as aH,
- ca as aI,
- Ek as aJ,
- Tk as aK,
- Ak as aL,
- ma as aM,
- Ck as aN,
- OL as aO,
- hc as aP,
- o1 as aQ,
- pL as aa,
- yL as ab,
- UC as ac,
- gj as ad,
- VL as ae,
- kL as af,
- VC as ag,
- NL as ah,
- nC as ai,
- OD as aj,
- AD as ak,
- HD as al,
- BD as am,
- LD as an,
- TL as ao,
- qD as ap,
- FL as aq,
- pt as ar,
- Oe as as,
- bu as at,
- sx as au,
- qs as av,
- G1 as aw,
- LL as ax,
- vL as ay,
- $L as az,
- Jt as b,
- fi as c,
- Ge as d,
- fL as e,
- hL as f,
- N1 as g,
- mL as h,
- SL as i,
- z as j,
- mn as k,
- xL as l,
- vu as m,
- bt as n,
- D1 as o,
- wL as p,
- Ke as q,
- Q as r,
- Ze as s,
- je as t,
- zt as u,
- Le as v,
- at as w,
- N as x,
- W as y,
- gL as z,
-};
-function __vite__mapDeps(indexes) {
- if (!__vite__mapDeps.viteFileDeps) {
- __vite__mapDeps.viteFileDeps = [];
- }
- return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]);
-}
-//# sourceMappingURL=frappe-ui-n1bXVQkV.js.map
diff --git a/lms/public/frontend/assets/frappe-ui-n1bXVQkV.js.map b/lms/public/frontend/assets/frappe-ui-n1bXVQkV.js.map
deleted file mode 100644
index 1f0604de..00000000
--- a/lms/public/frontend/assets/frappe-ui-n1bXVQkV.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"mappings":"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d,SAAU,gCACV,KAAM,SACP,EACD,mBAAoB,CAClB,aAAc,GACd,SAAU,sCACV,KAAM,SACP,EACD,mBAAoB,CAClB,aAAc,GACd,SAAU,iCACV,KAAM,SACP,EACD,mCAAoC,CAClC,aAAc,GACd,SAAU,sEACV,KAAM,SACP,EACD,0BAA2B,CACzB,aAAc,GACd,SAAU,mDACV,KAAM,SACP,EACD,wBAAyB,CACvB,aAAc,GACd,SAAU,+CACV,KAAM,SACP,EACD,cAAe,CACb,aAAc,GACd,SAAU,oCACV,KAAM,SACP,EACD,OAAQ,CACN,aAAc,GACd,SAAU,6BACV,KAAM,SACP,EACD,eAAgB,CACd,aAAc,GACd,SAAU,6BACV,KAAM,SACP,EACD,aAAc,CACZ,aAAc,GACd,SAAU,6CACV,KAAM,SACP,EACD,UAAW,CACT,aAAc,GACd,SAAU,mCACV,KAAM,SACP,EACD,kBAAmB,CACjB,aAAc,GACd,SAAU,kEACV,KAAM,SACP,EACD,oBAAqB,CACnB,aAAc,GACd,SAAU,kDACV,KAAM,SACP,EACD,qCAAsC,CACpC,aAAc,GACd,SAAU,oEACV,KAAM,SACP,EACD,iBAAkB,CAChB,aAAc,GACd,SAAU,gDACV,KAAM,SACP,EACD,8BAA+B,CAC7B,aAAc,GACd,SAAU,6EACV,KAAM,SACP,EACD,WAAY,CACV,aAAc,GACd,SAAU,2BACV,KAAM,SACP,EACD,eAAgB,CACd,aAAc,yBACd,SAAU,yFACV,KAAM,QACP,EACD,aAAc,CACZ,aAAc,GACd,SAAU,0IACV,KAAM,SACP,EACD,qBAAsB,CACpB,aAAc,GACd,SAAU,gCACV,KAAM,SACP,EACD,yBAA0B,CACxB,aAAc,GACd,SAAU,oDACV,KAAM,SACP,EACD,MAAO,CACL,aAAc,GACd,SAAU,sDACV,KAAM,SACP,EACD,UAAW,CACT,aAAc,GACd,SAAU,gLACV,KAAM,SACP,EACD,SAAU,CACR,aAAc,GACd,SAAU,0DACV,KAAM,SACP,EACD,qBAAsB,CACpB,aAAc,GACd,SAAU,mFACV,KAAM,SACP,EACD,SAAU,CACR,aAAc,GACd,SAAU,g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","names":["makeMap","str","expectsLowerCase","set","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","key","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","looseToNumber","n","toNumber","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","normalizeProps","props","klass","style","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","effectScope","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","activeEffect","ReactiveEffect","trigger","scheduler","pauseTracking","dep","triggerComputed","resetTracking","lastShouldTrack","shouldTrack","lastEffect","preCleanupEffect","postCleanupEffect","computed","effect2","cleanupDepEffect","trackId","pauseScheduleStack","trackStack","pauseScheduling","resetScheduling","queueEffectSchedulers","trackEffect","debuggerEventExtraInfo","oldDep","triggerEffects","dirtyLevel","lastDirtyLevel","scheduleEffects","createDep","cleanup","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","track","target","type","depsMap","newValue","oldTarget","deps","newLength","key2","getDepFromReactive","object","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","toRaw","BaseReactiveHandler","_isReadonly","_shallow","receiver","isReadonly2","shallow","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","isShallow","hadKey","result","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","ComputedRefImpl","getter","_setter","isSSR","triggerRefValue","self","trackRefValue","getterOrOptions","debugOptions","setter","onlyGetter","ref2","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","triggerRef","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","customRef","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","source","defaultValue","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","a","b","comparator","diff","emit","event","rawArgs","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","cached","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","options","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","component","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","updateHOCHostEl","parent","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","warnMissing","currentInstance","selfName","getComponentName","resolve","registry","isSuspense","queueEffectWithSuspense","suspense","ssrContextKey","useSSRContext","inject","watchEffect","doWatch","watchSyncEffect","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","once","onTrack","onTrigger","_cb","unwatch","reactiveGetter","source2","traverse","forceTrigger","isMultiSource","isShallow$1","s","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","queuePostRenderEffect","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","path","segments","depth","currentDepth","withDirectives","directives","getExposeProxy","bindings","dir","modifiers","invokeDirectiveHook","oldBindings","binding","hook","leaveCbKey","enterCbKey","useTransitionState","state","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionPropsValidators","BaseTransitionImpl","getCurrentInstance","prevTransitionKey","children","getTransitionRawChildren","child","rawProps","mode","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","isSameVNodeType","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","leavingVNodes","appear","persisted","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","callHook","callAsyncHook","hook2","hooks","leavingVNode","afterHook","cancelHook","called","cancelled","vnode2","isKeepAlive","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","extraOptions","isAsyncWrapper","defineAsyncComponent","loader","loadingComponent","errorComponent","delay","timeout","suspensible","userOnError","pendingRequest","resolvedComp","retries","retry","load","thisRequest","reject","createInnerComp","onError","loaded","error","delayed","ce","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","current","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onUpdated","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","index","createSlots","dynamicSlots","slot","j","renderSlot","fallback","noSlotted","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","isVNode","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","useSlots","getContext","useAttrs","createSetupContext","normalizePropsOrEmits","mergeModels","applyOptions","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","namespace","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","initProps","isStateful","InternalObjectKey","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","match","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","isVFor","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","unmountChildren","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","currentNamespace","allowed","ch1","ch2","len","arrI","subComponent","isTeleport","isTeleportDisabled","isTargetSVG","isTargetMathML","resolveTarget","select","targetSelector","TeleportImpl","insert","querySelector","createText","createComment","disabled","mainAnchor","targetAnchor","mount","container2","anchor2","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","updateCssVars","shouldRemove","hydrateTeleport","isReorder","node","parentNode","hydrateChildren","targetNode","Teleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","extraProps","mergeRef","mergedProps","mergeProps","createTextVNode","text","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","getAttrsProxy","includeInferred","computed$1","useModel","camelizedName","hyphenatedName","localValue","propValue","modifierKey","i2","propsOrChildren","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","selector","before","wrapper","TRANSITION","ANIMATION","vtcKey","Transition","resolveTransitionProps","DOMTransitionPropsValidators","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","_vtc","endId","expectedType","explicitTimeout","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","styles","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","d","toMs","patchClass","isSVG","transitionClasses","vShowOldKey","vShow","setDisplay","CSS_VAR_TEXT","patchStyle","currentDisplay","isCssString","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","positionMap","newPositionMap","moveCbKey","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","cssTransitionProps","removeMode","TransitionGroup","oldPos","newPos","dx","dy","clone","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","containerOrSelector","normalizeContainer","resolveRootNamespace","isBrowser","isESModule","assign","applyToParams","params","newParams","noop","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","location","currentLocation","query","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","position","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","offset","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","listeners","teardowns","pauseState","popStateHandler","fromState","listener","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","url","push","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","pattern","segmentScores","tokenIndex","token","subSegmentScore","repeatable","optional","regexp","re","subPattern","parse","stringify","avoidDuplicatedSlash","param","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","message","buffer","previousState","tokens","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","parser","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","matched","parentMatcher","mergeMetaFields","normalizeRecordProps","propsObject","meta","defaults","partialOptions","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","handlers","guardToPromiseFn","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","length","routeMatched","currentMatched","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","link","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","runWithContext","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","readyHandlers","errorListeners","ready","list","isReady","scrollBehavior","started","reactiveRoute","unmountApp","promise","recordFrom","recordTo","useRouter","useRoute","isVue2","_extends","memo","getDeps","opts","_opts$initialDeps","depTime","newDeps","depsChanged","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","num","notUndefined","msg","approxEqual","defaultKeyExtractor","defaultRangeExtractor","range","_i","observeElementRect","element","rect","width","height","observer","entry","box","observeElementOffset","measureElement","elementScroll","_ref2","_instance$scrollEleme3","_instance$scrollEleme4","_ref2$adjustments","adjustments","behavior","toOffset","Virtualizer","_opts","_this","_ro","_get","_get2","_get3","_ref3","sync","isScrolling","scrollElement","count","paddingStart","scrollMargin","getItemKey","measurements","furthestMeasurementsFound","furthestMeasurements","measurement","previousFurthestMeasurement","_ref4","itemSizeCache","min","_i2","furthestMeasurement","measuredSize","lane","outerSize","scrollOffset","calculateRange","rangeExtractor","overscan","attributeName","indexStr","prevNode","measuredItemSize","_this$itemSizeCache$g","itemSize","indexes","virtualItems","_i3","findNearestBinarySearch","align","scrollSizeProp","scrollSize","maxOffset","_temp","_ref5","_ref5$align","_temp2","_ref6","_ref6$align","initialAlign","_this$getOffsetForInd","elementInDOM","_this$getOffsetForInd2","_toOffset","_temp3","_ref7","_this$getMeasurements","_ref8","low","high","getCurrentValue","_ref9","getOffset","startIndex","endIndex","useVirtualizerBase","virtualizer","useVirtualizer","f","o","s$5","N","T","F","E","w","M","S","y","H","I","O","P","x","L","C","A","_b","__objRest","__spreadProps","__spreadValues","R","define_process_env_default","B","ue","$","z","J","Q","D","G","W","K","q","U","be","_e","ve","ye","V","Pe","X","Z","ee","te","le","me","Y","ae","he","se","oe","ge","ie","fe","De","ne","de","pe","Oe","Ye","ze","Ie","Se","xe","Te","Ce","Ee","Ve","top","bottom","right","left","auto","basePlacements","clippingParents","viewport","popper","reference","variationPlacements","acc","placement","placements","beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite","modifierPhases","getNodeName","getWindow","ownerDocument","isElement","OwnElement","isHTMLElement","isShadowRoot","applyStyles","_ref","attributes","initialStyles","styleProperties","property","attribute","applyStyles$1","getBasePlacement","max","round","getUAString","uaData","isLayoutViewport","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scaleX","scaleY","visualViewport","addVisualOffsets","getLayoutRect","contains","rootNode","getComputedStyle","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","css","getOffsetParent","window","offsetParent","getMainAxisFromPlacement","within","mathMax","mathMin","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","toPaddingObject","padding","arrow","_state$modifiersData$","arrowElement","popperOffsets","basePlacement","axis","isVertical","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","center","axisProp","_options$element","arrow$3","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","commonStyles","_Object$assign","computeStyles","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","computeStyles$1","passive","_options$scroll","_options$resize","resize","scrollParents","scrollParent","eventListeners","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","scrollLeft","scrollTop","getWindowScrollBarX","getViewportRect","strategy","html","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","body","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","allPlacements","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_options$mainAxis","checkMainAxis","_options$altAxis","checkAltAxis","specifiedFallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","fallbackPlacements","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","flip$1","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","hide$1","distanceAndSkiddingToXY","rects","invertDistance","skidding","distance","_options$offset","_data$state$placement","offset$1","popperOffsets$1","getAltAxis","preventOverflow","_options$tether","tether","_options$tetherOffset","tetherOffset","altAxis","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","minLen","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_len","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","preventOverflow$1","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","documentElement","order","map","visited","modifier","sort","requires","depModifier","orderModifiers","orderedModifiers","phase","debounce","pending","mergeByName","DEFAULT_OPTIONS","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","defaultOptions","effectCleanupFns","isDestroyed","setOptionsAction","cleanupModifierEffects","runModifierEffects","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","createPopper","_sfc_main","$el","templates","_hoisted_1","_hoisted_2","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_ctx","$options","_renderSlot","_normalizeProps","_guardReactiveProps","_createBlock","_Teleport","$props","_normalizeStyle","$data","_Transition","_withCtx","module","this","modules","installedModules","__webpack_require__","moduleId","exports","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","classNames","StorageObject","_parseArray","resultSet","array","_parse","_parseNumber","_parseObject","SPACE","_parseString","argType","_classNames","classSet","it","bind","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","toLength","createProperty","getIteratorMethod","arrayLike","argumentsLength","mapfn","mapping","iteratorMethod","step","iterator","toIndexedObject","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","aFunction","that","anObject","ENTRIES","returnMethod","wellKnownSymbol","ITERATOR","SAFE_CLOSING","iteratorWithReturn","exec","SKIP_CLOSING","ITERATION_SUPPORT","toString","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tryGet","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","defineProperty","getOwnPropertyDescriptor","fails","IteratorPrototype","create","createPropertyDescriptor","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","bitmap","toPrimitive","propertyKey","createIteratorConstructor","getPrototypeOf","setPrototypeOf","redefine","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","FORCED","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","KEY","global","document","exist","setGlobal","copyConstructorProperties","isForced","TARGET","GLOBAL","STATIC","targetProperty","sourceProperty","shared","classof","DESCRIPTORS","createElement","split","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","WeakMap","enforce","getterFor","TYPE","store","wmget","wmhas","wmset","metadata","STATE","ArrayPrototype","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","PrototypeOfArrayIteratorPrototype","arrayIterator","nativeFunctionToString","defineProperties","enumBugKeys","documentCreateElement","IE_PROTO","PROTOTYPE","Empty","createDict","iframe","lt","script","gt","js","iframeDocument","Properties","objectKeys","IE8_DOM_DEFINE","nativeDefineProperty","Attributes","propertyIsEnumerableModule","nativeGetOwnPropertyDescriptor","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","arrayIncludes","arrayIndexOf","names","nativePropertyIsEnumerable","NASHORN_BUG","validateSetPrototypeOfArguments","correctSetter","test","proto","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","Reflect","getOwnPropertySymbols","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","noTargetGet","TAG","SHARED","toInteger","requireObjectCoercible","pos","CONVERT_TO_STRING","first","second","integer","IndexedObject","ceil","floor","argument","postfix","NATIVE_SYMBOL","Symbol","checkCorrectnessOfIteration","INCORRECT_ITERATION","iterable","codePointAt","defineIterator","STRING_ITERATOR","setInternalState","iterated","point","_createClass","Constructor","protoProps","staticProps","_dedupe","_dedupe2","_interopRequireDefault","_defaultAttrs","_defaultAttrs2","_classCallCheck","Icon","contents","tags","combinedAttrs","attrsToString","_icon","_icon2","_icons","_icons2","_tags","_tags2","icon","_toSvg","_toSvg2","_replace","_replace2","elementsToReplace","replaceElement","elementAttrs","getAttrs","svgString","svgDocument","svgElement","attr","toSvg","validIcons","feather","_hoisted_3","_hoisted_4","__props","buttonClasses","solidClasses","subtleClasses","outlineClasses","ghostClasses","focusClasses","variantClasses","themeVariant","disabledClassesMap","disabledClasses","sizeClasses","isIconButton","isDisabled","slotClasses","ariaLabel","handleClick","Popover","Button","FeatherIcon","Combobox","ComboboxInput","ComboboxOptions","ComboboxOption","ComboboxButton","group","option","selectedOption","_hoisted_6","_hoisted_7","_component_Combobox","_cache","$event","isComboboxOpen","_component_Popover","openPopover","togglePopover","_toDisplayString","_hoisted_5","_component_FeatherIcon","isOpen","_component_ComboboxOptions","_component_ComboboxInput","_Fragment","_renderList","_hoisted_8","_createCommentVNode","_component_ComboboxOption","active","selected","_createTextVNode","_hoisted_9","base64map","crypt","bytes","words","hex","base64","triplet","imod4","cryptModule","charenc","charenc_1","isBuffer_1","isBuffer","isSlowBuffer","require$$0","utf8","require$$1","require$$2","bin","md5","FF","GG","HH","II","aa","bb","cc","dd","md5Module","digestbytes","shapeClasses","labelClasses","indicatorContainerClasses","indicatorClasses","iconClasses","colorClasses","palette","idx","color","classes","tryOnScopeDispose","toValue","isClient","createFilterWrapper","filter","bypassFilter","invoke","debounceFilter","ms","timer","maxTimer","lastRejector","_clearTimeout","timer2","maxDuration","pausableFilter","extendFilter","pause","resume","eventFilter","getLifeCycleTarget","watchWithFilter","watchPausable","tryOnMounted","useIntervalFn","interval","immediateCallback","clean","intervalValue","stopWatch","watchDebounced","maxWait","unrefElement","elRef","plain","defaultWindow","useEventListener","events","cleanups","options2","optionsClone","stop","useMounted","useSupported","useRafFn","fpsLimit","intervalLimit","previousFrameTimestamp","rafId","loop","timestamp","useMediaQuery","isSupported","mediaQuery","matches","_global","globalKey","getHandlers","getSSRHandler","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","storage","listenToStorageChanges","writeDefaults","mergeDefaults","initOnMounted","_a2","serializer","pauseWatch","resumeWatch","pausableWatch","updateFromCustomEvent","serialized","useNow","exposeControls","now","controls","DEFAULT_UNITS","DEFAULT_MESSAGES","past","DEFAULT_FORMATTER","date","useTimeAgo","time","updateInterval","timeAgo","formatTimeAgo","messages","fullDateFormatter","units","showSecond","rounding","roundFn","absDiff","getValue","diff2","unit","format","applyFormat","isPast","formatter","unitMax","useWindowSize","initialWidth","initialHeight","listenOrientation","includeScrollbar","Menu","MenuButton","MenuItems","MenuItem","onClick","_component_Menu","open","_component_MenuButton","_mergeProps","_component_Button","_component_MenuItems","_component_MenuItem","_resolveDynamicComponent","items","dropdownItems","crumbs","generateId","useId","htmlId","inputClasses","baseClasses","interactionClasses","func","wait","later","callNow","isValid","$input","onInput","Input","datesAsWeeks","dates","week","monthIndex","year","firstDayOfMonth","lastDayOfMonth","leftPaddingCount","rightPaddingCount","leftPadding","rightPadding","daysInMonth","datesInMonth","finalPadding","adder","incrementer","_hoisted_10","_hoisted_11","_hoisted_12","_component_Input","HDialog","DialogPanel","DialogTitle","TransitionChild","TransitionRoot","actions","action","loading","__async","_component_TransitionRoot","_component_HDialog","_component_TransitionChild","_component_DialogPanel","_component_DialogTitle","FileUploadHandler","__publicField","file","xhr","out","uploadEndpoint","form_data","errorMessage","__emit","inputRef","__expose","textColor","paddingClasses","variant","prefixClasses","suffixClasses","emitChange","handleChange","selectOptions","selectClasses","__default__","controlAttrs","_attrs","descriptionClasses","changedIndex","tabRef","indicator","tabsLength","indicatorLeft","transitionClass","moveIndicator","selectedTab","OrderedMap","found","newKey","place","without","findDiffStart","childA","childB","findDiffEnd","posA","posB","iA","iB","same","minSize","nodeStart","blockSeparator","leafText","nodeText","other","copy","otherPos","retIndex","curPos","schema","joined","nodes","compareDeep","Mark$1","Mark","placed","json","marks","ReplaceError","Slice","openStart","openEnd","fragment","insertInto","removeRange","openIsolating","indexTo","offsetTo","dist","$from","$to","slice","replaceOuter","close","prepareSliceForReplace","replaceThreeWay","replaceTwoWay","checkJoin","sub","joinable","$before","$after","addNode","addRange","$start","$end","$along","extra","ResolvedPos","parentOffset","dOff","after","pred","NodeRange","rem","resolveCache","resolveCachePos","resolveCacheSize","emptyAttrs","Node$2","Node","startPos","includeParents","wrapMarks","one","two","TextNode","ContentMatch","validEnd","nodeTypes","stream","TokenStream","expr","parseExpr","dfa","nfa","checkForDeadEnds","frag","toEnd","types","finished","tp","scan","tok","exprs","parseExprSeq","parseExprSubscript","parseExprAtom","parseExprRange","parseNum","resolveName","typeName","connect","edge","term","edges","cmp","nullFrom","labeled","explore","states","work","dead","defaultAttrs","attrName","computeAttrs","built","given","initAttrs","Attribute","NodeType$1","NodeType","spec","markType","topType","MarkType","rank","Schema","instanceSpec","contentExprCache","contentExpr","markExpr","gatherMarks","excl","mark","ok","DOMParser$1","DOMParser","rules","rule","dom","ParseContext","priority","blockTags","ignoreTags","listTags","OPT_PRESERVE_WS","OPT_PRESERVE_WS_FULL","OPT_OPEN_LEFT","wsOptionsFor","preserveWhitespace","NodeContext","pendingMarks","solid","fill","nextType","markMayApply","topNode","topContext","topOptions","parseStyles","addMarks","removeMarks","nodeBefore","domNodeBefore","matchAfter","ruleID","normalizeList","oldNeedsBlock","continueAfter","nodeType","startIn","contentDOM","cx","block","preserveWS","textNode","parts","useRoot","minDepth","part","$context","deflt","findSameMarkInSet","upto","level","stashMark","prevItem","DOMSerializer","keep","markDOM","inline","toDOM","structure","xmlNS","tagName","space","innerContent","gatherToDOM","lower16","factor16","makeRecover","recoverIndex","recoverOffset","DEL_BEFORE","DEL_AFTER","DEL_ACROSS","DEL_SIDE","MapResult","delInfo","recover","StepMap","ranges","inverted","assoc","oldIndex","oldSize","newSize","del","oldStart","newStart","Mapping","maps","mirror","mirrors","startSize","mirr","totalSize","inverse","corr","stepsByID","Step","stepClass","StepResult","failed","mapFragment","mapped","AddMarkStep","oldSlice","RemoveMarkStep","AddNodeMarkStep","newSet","RemoveNodeMarkStep","ReplaceStep","contentBetween","ReplaceAroundStep","gapFrom","gapTo","gap","inserted","addMark","tr","removed","added","removing","adding","removeMark","toRemove","clearIncompatible","parentType","replSteps","newline","canCut","liftTarget","lift","gapStart","gapEnd","splitting","findWrapping","innerRange","around","findWrappingOutside","findWrappingInside","withAttrs","inside","innerMatch","wrappers","setBlockType","mapFrom","canChangeType","startM","endM","$pos","setNodeMarkup","newNode","canSplit","typesAfter","innerType","rest","overrideChild","baseType","typeAfter","canJoin","joinPoint","join","insertPoint","dropPoint","pass","bias","insertPos","fits","wrapping","replaceStep","fitsTrivially","Fitter","unplaced","fit","moveInline","placedSize","startDepth","sliceDepth","contentAt","frontierDepth","openAtEnd","dropFromFragment","taken","openEndCount","closeNodeStart","addToFragment","contentAfterFits","dropInner","invalidMarks","definesContent","replaceRange","targetDepths","coveredDepths","preferredTarget","preferredTargetIndex","leftNodes","preferredDepth","leftNode","openDepth","targetDepth","expand","closeFragment","startSteps","oldOpen","newOpen","replaceRangeWith","deleteRange","covered","AttrStep","DocAttrStep","TransformError","Transform","classesById","Selection","$anchor","$head","SelectionRange","lastNode","lastParent","selectionToInsertionEnd","textOnly","TextSelection","findSelectionIn","AllSelection","selectionClass","warnedAboutTextSelection","checkTextSelection","TextBookmark","head","dPos","NodeSelection","deleted","NodeBookmark","sel","AllBookmark","startLen","_to","_newFrom","newTo","UPDATED_SEL","UPDATED_MARKS","UPDATED_SCROLL","Transaction","selection","inheritMarks","FieldDesc","desc","baseFields","config","_marks","_old","Configuration","plugins","EditorState","ignore","rootTr","trs","newState","haveNew","oldState","newInstance","fields","field","$config","pluginFields","bindProps","Plugin","createKey","PluginKey","domIndex","reusedRange","textRange","isEquivalentPosition","off","targetOff","scanFor","atomElements","nodeSize","hasBlockDesc","isOnEdge","atStart","atEnd","selectionCollapsed","domSel","keyEvent","keyCode","deepActiveElement","elt","caretFromPoint","nav","agent","ie_edge","ie_upto10","ie_11up","ie_version","gecko","_chrome","chrome","chrome_version","safari","ios","mac","windows","android","webkit","webkit_version","windowRect","getSide","scrollRectIntoView","view","startDOM","scrollThreshold","atTop","bounding","moveX","moveY","startX","startY","dX","dY","storeScrollPos","refDOM","refTop","localRect","scrollStack","stack","resetScrollPos","newRefTop","restoreScrollStack","dTop","preventScrollSupported","focusPreventScroll","stored","findOffsetInNode","coords","closest","dxClosest","coordsClosest","rowBot","rowTop","firstBelow","coordsBelow","childIndex","findOffsetInText","singleRect","inRect","targetKludge","posFromElement","posFromCaret","outsideBlock","sawBlock","elementFromPoint","startI","posAtCoords","caret","nonZero","BIDI","coordsAtPos","atom","supportEmptyRange","rectBefore","rectAfter","flattenV","takeSide","flattenH","withFlushedState","viewState","endOfTextblockVertical","nearest","boxes","maybeRTL","endOfTextblockHorizontal","oldNode","oldOff","anchorNode","anchorOffset","oldBidiLevel","parentDOM","newOff","cachedState","cachedDir","cachedResult","endOfTextblock","NOT_DIRTY","CHILD_DIRTY","CONTENT_DIRTY","NODE_DIRTY","ViewDesc","widget","outerDeco","innerDeco","nodeName","domBefore","domAfter","onlyNodes","nodeDOM","TrailingHackViewDesc","WidgetViewDesc","enter","fromOffset","childBase","anchorDOM","headDOM","brKludge","domSelExtended","mutation","startInside","endInside","dirty","CompositionViewDesc","textDOM","mut","MarkViewDesc","custom","replaceNodes","NodeViewDesc","descObj","applyOuterDeco","CustomNodeViewDesc","TextViewDesc","sameOuterDeco","composition","localComposition","compositionInChild","updater","ViewTreeUpdater","iterDeco","insideNode","compIndex","renderDescs","iosHacks","nearbyTextNode","textPos","findTextInFragment","needsWrap","oldDOM","patchOuterDeco","computeOuterDeco","docViewDesc","docView","skip","descs","written","childDOM","rm","OuterDecoLevel","noDeco","outerDOM","prevComputed","curComputed","curDOM","deco","patchAttributes","prevList","curList","lock","preMatch","maxKeep","markDesc","targetDesc","domNode","nextDOM","locked","ch","lastChild","hack","parentDesc","curDesc","descI","fI","compareSide","onWidget","onNode","locals","decoIndex","restNode","parentIndex","widgets","cutAt","oldCSS","childStart","selectionFromDOM","origin","nearestDesc","inWidget","nearestDescNode","selectionBetween","editorOwnsSelection","hasSelection","selectionToDOM","syncNodeSelection","curSel","selectCursorWrapper","resetEditableFrom","resetEditableTo","brokenSelectBetweenUneditable","temporarilyEditableNear","resetEditable","removeClassOnSelectionChange","setEditable","img","clearNodeSelection","hasFocusAndSelection","anchorInRightPlace","moveSelectionBlock","$side","apply","selectHorizontally","mods","$newHead","nodePos","nodeLen","isIgnorable","skipIgnoredNodes","skipIgnoredNodesBefore","skipIgnoredNodesAfter","moveNode","moveOffset","setSelFocus","textNodeAfter","textNodeBefore","findDirection","mid","selectVertically","beyond","stopNativeHorizontalDelete","empty","nextNode","switchEditable","safariDownArrowBug","focusNode","focusOffset","getMods","captureKeyDown","code","serializeForClipboard","detachedDoc","firstChild","wrapMap","parseFromClipboard","plainText","inCode","asText","parsed","readHTML","restoreReplacedSpaces","contextNode","sliceData","inlineParents","addContext","closeSlice","normalizeSiblings","lastWrap","inLast","addToSibling","closeRight","wrapped","withWrappers","sibling","closeRange","_detachedDoc","metas","firstTag","editHandlers","passiveHandlers","InputState","initInput","eventBelongsToView","runCustomHandler","ensureListeners","setSelectionOrigin","destroyInput","currentHandlers","dispatchEvent","_event","inOrNearComposition","eventCoords","isNear","click","runHandlerOnContext","propName","updateSelection","selectClickedLeaf","selectClickedNode","selectedNode","selectAt","handleSingleClick","selectNode","handleDoubleClick","handleTripleClick","defaultTripleClick","forceDOMFlush","endComposition","selectNodeModifier","flushed","MouseDown","targetPos","timeoutComposition","scheduleComposeEnd","clearComposition","timestampFromCustomEvent","forceUpdate","captureCopy","brokenClipboardAPI","cut","sliceSingleNode","capturePaste","doPaste","preferPlain","singleNode","getText","clipboardData","uris","Dragging","dragCopyModifier","mouseDown","dragging","eventPos","$mouse","isNode","beforeInsert","domChangeCount","$cursor","compareObjs","WidgetType","noSpec","span","oldOffset","Decoration","InlineType","none","DecorationSet","local","decorations","buildTree","predicate","childOff","newLocal","mapChildren","byPos","childNode","childOffset","baseOffset","takeSpansForNode","moveSpans","withoutNulls","dec","localSet","DecorationGroup","removeOverlap","members","mappedDecos","member","sorted","oldEnd","newEnd","dSize","mustRebuild","fromLocal","toLocal","mapAndGatherRemainingDecorations","spans","gather","hasNulls","localStart","subtree","working","insertAhead","viewDecorations","observeOptions","useCharData","SelectionState","DOMObserver","handleDOMChange","mutations","take","ancestors","newSel","typeOver","brs","readSel","checkCSS","previousSibling","cssChecked","cssCheckWarned","safariShadowSelectionRange","parseBetween","from_","to_","find","startDoc","ruleFromNode","isInline","readDOMChange","addedNodes","compositionID","compare","preferredPos","preferredSide","change","findDiff","resolveSelection","$fromA","inlineChange","nextSel","looksLikeJoin","chFrom","chTo","storedMarks","markChange","isMarkChange","parsedSel","curMarks","prevMarks","old","$newStart","$newEnd","skipClosingAndOpening","$next","fromEnd","mayOpen","endA","endB","adjust","isSurrogatePair","EditorView","checkStateComponent","getEditable","updateCursorWrapper","buildNodeViews","computeDocDeco","redraw","updateSel","pluginsChanged","nodeViews","changedNodeViews","updateDoc","oldScrollPos","forceSelUpdate","selectionContextChanged","chromeKludge","prevState","pluginView","movedPos","dispatchTransaction","sel1","sel2","nA","nB","shift","keyName","ignoreKey","normalizeKeyName","alt","ctrl","mod","keymap","keydownHandler","baseName","direct","noShift","fromCode","deleteSelection","dispatch","atBlockStart","joinBackward","$cut","findCutBefore","deleteBarrier","textblockAt","delStep","joinTextblockBackward","joinTextblocksAround","joinTextblockForward","atBlockEnd","findCutAfter","beforeText","beforePos","afterText","afterPos","only","selectNodeBackward","joinForward","selectNodeForward","joinUp","nodeSel","joinDown","newlineInCode","defaultBlockAt","exitCode","above","createParagraphNear","liftEmptyBlock","selectParentNode","joinMaybeClear","conn","canDelAfter","joinAt","selAfter","at","afterDepth","selectTextblockSide","selectTextblockStart","selectTextblockEnd","wrapIn","applicable","wrapInList","listType","doJoin","outerRange","$insert","doWrapInList","joinBefore","splitDepth","splitPos","liftListItem","itemType","liftToOuterList","liftOutOfList","endOfList","indexBefore","sinkListItem","nestedBefore","createChainableState","transaction","CommandManager","rawCommands","editor","command","startTr","shouldDispatch","callbacks","hasStartTransaction","run","chain","formattedCommands","EventEmitter","getExtensionField","extension","splitExtensions","extensions","baseExtensions","nodeExtensions","markExtensions","getAttributesFromExtensions","extensionAttributes","nodeAndMarkExtensions","defaultAttribute","addGlobalAttributes","globalAttribute","addAttributes","mergedAttr","getNodeType","nameOrType","mergeAttributes","objects","mergedAttributes","valueClasses","existingClasses","insertClasses","valueClass","getRenderedAttributes","nodeOrMark","callOrReturn","isEmptyObject","fromString","injectExtensionAttributesToParseRule","parseRule","oldAttributes","newAttributes","cleanUpSchemaItem","getSchemaByResolvedExtensions","allAttributes","extraNodeFields","extendNodeSchema","extensionAttribute","parseHTML","renderHTML","renderText","extraMarkFields","extendMarkSchema","getSchemaTypeByName","isExtensionRulesEnabled","enabled","enabledExtension","getTextContentFromNodes","maxMatch","textBefore","sliceEndPos","chunk","isRegExp","InputRule","inputRuleMatcherHandler","inputRuleMatch","run$1","commands","can","inputRulesPlugin","isNumber","PasteRule","pasteRuleMatcherHandler","pasteRuleMatch","pasteEvent","dropEvent","resolvedFrom","resolvedTo","textToMatch","pasteRulesPlugin","dragSourceElement","isPastedFromProseMirror","isDroppedFromProseMirror","handleDragstart","_view","transactions","isPaste","isDrop","chainableState","findDuplicates","filtered","ExtensionManager","onBeforeCreate","onCreate","onUpdate","onSelectionUpdate","onTransaction","onFocus","onBlur","onDestroy","resolvedExtensions","duplicatedNames","addExtensions","priorityA","priorityB","addCommands","inputRules","pasteRules","allPlugins","addKeyboardShortcuts","defaultBindings","shortcut","keyMapPlugin","addInputRules","addPasteRules","addProseMirrorPlugins","proseMirrorPlugins","addNodeView","nodeview","getPos","HTMLAttributes","mergeDeep","output","Extension","extendedConfig","getTextBetween","startNode","textSerializers","separated","textSerializer","getTextSerializersFromSchema","ClipboardTextSerializer","blur","clearContent","emitUpdate","clearNodes","$mappedFrom","$mappedTo","nodeRange","targetLiftDepth","defaultType","createParagraphNear$1","originRange","contentSlice","deleteCurrentNode","deleteNode","typeOrName","deleteSelection$1","exitCode$1","objectIncludes","object1","object2","findMarkInSet","isMarkInSet","getMarkRange","endPos","getMarkType","extendMarkRange","newSelection","isTextSelection","minMax","resolveFocusPosition","selectionAtStart","selectionAtEnd","minPos","maxPos","isiOS","focus","delayedFocus","isSameSelection","forEach","insertContent","removeWhitespaces","elementFromString","wrappedValue","createNodeFromContent","isFragment","nodeOrFragment","insertContentAt","isOnlyTextContent","isOnlyBlockContent","joinUp$1","joinDown$1","joinBackward$1","joinForward$1","joinItemBackward","joinItemForward","joinTextblockBackward$1","joinTextblockForward$1","isMacOS","keyboardShortcut","capturedTransaction","newStep","isNodeActive","nodeRanges","relativeFrom","relativeTo","selectionRange","matchedNodeRanges","sum","lift$1","liftEmptyBlock$1","liftListItem$1","newlineInCode$1","getSchemaTypeNameByName","deleteProps","propOrProps","newObj","resetAttributes","schemaType","scrollIntoView","selectAll","selectNodeBackward$1","selectNodeForward$1","selectParentNode$1","selectTextblockEnd$1","selectTextblockStart$1","createDocument","parseOptions","setContent","getMarkAttributes","markItem","combineTransactionSteps","oldDoc","transform","findChildrenInRange","nodesWithPos","findParentNodeClosestToPos","findParentNode","getHTMLFromFragment","documentFragment","getNodeAttributes","nodeItem","getAttributes","removeDuplicates","by","simplifyChangedRanges","changes","uniqueChanges","otherChange","getChangedRanges","steps","stepMap","getMarksBetween","getSplittedAttributes","isMarkActive","markRanges","matchedRange","markRange","excludedRange","isList","isNodeEmpty","defaultContent","isNodeSelection","posToDOMRect","resolvedEnd","canSetMark","newMarkType","cursor","currentMarks","someNodeSupportsMark","_pos","parentAllowsMarkType","currentMarksAllowMarkType","otherMark","setMark","trimmedFrom","trimmedTo","setMeta","setNode","updatedState","setNodeSelection","setTextSelection","sinkListItem$1","ensureMarks","splittableMarks","filteredMarks","splitBlock","keepMarks","$first","splitListItem","grandParent","depthBefore","depthAfter","newNextTypeAttributes","newTypeAttributes","joinListBackwards","joinListForwards","nodeAfter","toggleList","listTypeOrName","itemTypeOrName","parentList","canWrapInList","toggleMark","extendEmptyMarkRange","toggleNode","toggleTypeOrName","toggleType","toggleWrap","undoInputRule","undoable","toUndo","unsetAllMarks","unsetMark","updateAttributes","wrapIn$1","wrapInList$1","Commands","Editable","FocusEvents","Keymap","handleBackspace","$parentPos","parentIsIsolating","parentPos","isAtStart","handleDelete","baseKeymap","pcKeymap","macKeymap","allFrom","allEnd","Tabindex","NodePos","isBlock","childNodePos","nodeAttributes","attrKeys","firstItemOnly","childPos","oldSelection","createStyleTag","nonce","suffix","tiptapStyleTag","styleNode","editable","handlePlugins","nameOrPluginKey","allExtensions","selectionHasChanged","nameOrAttributes","attributesOrUndefined","markInputRule","captureGroup","fullMatch","startSpaces","textStart","textEnd","markEnd","nodeInputRule","matchStart","lastChar","textblockTypeInputRule","textInputRule","cutOff","wrappingInputRule","blockRange","currentPos","Node$1","markPasteRule","escapeForRegEx","BOX_CLASS","CONTENT_CLASS","BACKDROP_CLASS","ARROW_CLASS","SVG_ARROW_CLASS","TOUCH_OPTIONS","TIPPY_DEFAULT_APPEND_TO","getValueAtIndexOrReturn","isType","invokeWithArgsOrReturn","splitBySpaces","normalizeToArray","pushIfUnique","unique","arrayFrom","removeUndefinedProps","div","isNodeList","isMouseEvent","isReferenceElement","getArrayOfElements","setTransitionDuration","els","setVisibilityState","getOwnerDocument","elementOrElements","_normalizeToArray","isCursorOutsideInteractiveBorder","popperTreeData","clientX","clientY","popperState","interactiveBorder","topDistance","bottomDistance","leftDistance","rightDistance","exceedsTop","exceedsBottom","exceedsLeft","exceedsRight","updateTransitionEndListener","actualContains","_target$getRootNode","currentInput","lastMouseMoveTime","onDocumentTouchStart","onDocumentMouseMove","onWindowBlur","activeElement","bindGlobalEventListeners","isIE11","pluginProps","renderProps","defaultProps","defaultKeys","setDefaultProps","partialProps","getExtendedPassedProps","passedProps","_name","getDataAttributeProps","propKeys","valueAsString","evaluateProps","innerHTML","dangerouslySetInnerHTML","createArrowElement","getChildren","boxChildren","_getChildren","idCounter","mouseMoveListeners","mountedInstances","createTippy","showTimeout","hideTimeout","scheduleHideAnimationFrame","isVisibleFromClick","didHideDueToDocumentMouseDown","didTouchMove","ignoreOnFirstUpdate","lastTriggerEvent","currentTransitionEndListener","onFirstUpdate","debouncedOnMouseMove","onMouseMove","currentTarget","popperInstance","clearDelayTimeouts","setProps","show","hideWithInteractivity","enable","disable","_props$render","pluginsHooks","hasAriaExpanded","addListeners","handleAriaExpandedAttribute","handleStyles","invokeHook","scheduleShow","getDocument","getNormalizedTouchSettings","touch","getIsCustomTouchBehavior","getIsDefaultRenderFn","_instance$props$rende","getCurrentTarget","getDefaultTemplateChildren","getDelay","isShow","fromHide","shouldInvokePropsHook","pluginHooks","_instance$props","handleAriaContentAttribute","aria","cleanupInteractiveMouseListeners","onDocumentPress","actualTarget","removeDocumentPress","onTouchMove","onTouchStart","addDocumentPress","onTransitionedOut","onTransitionEnd","onTransitionedIn","on","eventType","onMouseLeave","onBlurOrFocusOut","removeListeners","_lastTriggerEvent","shouldScheduleClickHide","isEventListenerStopped","wasFocused","scheduleHide","isCursorOverReferenceOrPopper","getNestedPopperTree","_instance$popperInsta","shouldBail","createPopperInstance","destroyPopperInstance","_instance$props2","popperOptions","getReferenceClientRect","moveTransition","computedReference","tippyModifier","_getDefaultTemplateCh","appendTo","_getNormalizedTouchSe","touchValue","touchDelay","nestedPopper","isAlreadyVisible","isTouchAndTouchDisabled","_getDefaultTemplateCh2","_instance$popperInsta2","_getDefaultTemplateCh3","_box","_content","isAlreadyHidden","_getDefaultTemplateCh4","tippy","targets","optionalProps","elements","instances","BubbleMenuView","tippyOptions","updateDelay","shouldShow","isEmptyTextBlock","isChildOfMenu","selectionChanged","docChanged","_c","composing","nodeViewWrapper","editorElement","editorIsAttached","hasValidSelection","BubbleMenuPlugin","FloatingMenuView","isRootDepth","FloatingMenuPlugin","BubbleMenu","pluginKey","useDebouncedRef","Editor","Editor$1","EditorContent","rootEl","newElement","vueRenderers","vueRenderer","FloatingMenu","VueRenderer","inputRegex","Blockquote","starInputRegex","starPasteRegex","underscoreInputRegex","underscorePasteRegex","Bold","ListItem","TextStyle","BulletList","inputRule","pasteRegex","Code","backtickInputRegex","tildeInputRegex","CodeBlock","languageClassPrefix","language","className","isAtEnd","endsWithDoubleNewline","vscode","vscodeData","Document","dropCursor","editorView","DropCursorView","nodeRect","parentLeft","parentTop","disableDropCursor","Dropcursor","GapCursor","GapBookmark","closedBefore","closedAfter","override","mustMove","$cur","gapCursor","drawGapCursor","handleKeyDown","beforeinput","dirStr","$found","clickPos","Gapcursor","HardBreak","Heading","GOOD_LEAF_SIZE","RopeSequence","Append","Leaf","prototypeAccessors","leftLen","max_empty_items","Branch","eventCount","preserveItems","remap","remaining","addAfter","addBefore","Item","histOptions","newItems","oldItems","lastItem","DEPTH_OVERFLOW","cutOffEvents","mirrorPos","rebasedTransform","rebasedCount","rebasedItems","newUntil","iRebased","newMaps","branch","newItem","cutPoint","mirrorOffset","HistoryState","undone","prevRanges","prevTime","prevComposition","applyTransaction","historyTr","historyKey","rebased","closeHistoryKey","appended","mustPreserveItems","rangesFor","newGroup","isAdjacentTo","mapRanges","adjacent","histTransaction","redo","pop","newHist","cachedPreserveItems","cachedPreserveItemsPlugins","hist","inputType","undo","History","HorizontalRule","$originTo","currentChain","posAfter","Italic","OrderedList","attributesWithoutStart","Paragraph","Strike","shortcuts","StarterKit","_d","_f","_g","_h","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","Placeholder","isLeaf","isAtom","isValidNode","isEmptyDoc","hasAnchor","isEmpty","decoration","TextAlign","alignment","readFromCache","addToCache","cachePos","TableMap","problems","leftA","rightA","topA","bottomA","leftB","rightB","topB","bottomB","row","col","table","rowStart","rowEnd","rowEndIndex","computeMap","findWidth","mapPos","colWidths","rowNode","cellNode","colspan","rowspan","colwidth","colW","widthIndex","expectedPos","missing","tableMap","badWidths","findBadColWidths","hasRowSpan","rowWidth","prevRow","cell","colWidth","freshColWidth","tableNodeTypes","role","tableEditingKey","cellAround","cellWrapping","isInTable","selectionCell","$cell","cellNear","pointsAtCell","moveCellForward","inSameTable","$cellA","$cellB","nextCell","tableStart","removeColSpan","addColSpan","columnIsHeader","headerCell","CellSelection","_CellSelection","$anchorCell","$headCell","cells","tableChanged","rows","rowContent","cellRect","extraLeft","extraRight","anchorTop","headTop","anchorBottom","headBottom","anchorRect","headRect","anchorLeft","headLeft","anchorRight","headRight","anchorCell","headCell","CellBookmark","_CellBookmark","drawCellSelection","isCellBoundarySelection","afterFrom","beforeTo","isTextSelectionAcrossCells","fromCellBoundaryNode","toCellBoundaryNode","normalizeSelection","allowTableNodeSelection","NodeSelection2","lastCell","fixTablesKey","PluginKey2","changedDescendants","curSize","fixTables","fixTable","tablePos","mustAdd","prob","pastedCells","fitSlice","Slice2","ensureRectangular","widths","Fragment2","clipCells","newWidth","newHeight","newRows","growTable","emptyHead","start2","header","emptyRow","isolateHorizontal","cellTop","cellLeft","isolateVertical","updatePos","insertCells","recomp","shiftArrow","deleteCellSelection","maybeSetSelection","Selection2","atEndOfCell","cellSel","baseContent","Slice3","handlePaste","Fragment3","handleMouseDown","startEvent","startDOMCell","domInCell","setCellSelection","cellUnderMouse","$anchor2","starting","TextSelection2","cellPos","mousePos","TableView","cellMinWidth","updateColumnsOnResize","colgroup","overrideCol","overrideValue","totalWidth","fixedWidth","hasWidth","cssWidth","columnResizingPluginKey","PluginKey3","columnResizing","handleWidth","View","lastColumnResizable","ResizeState","pluginState","handleMouseMove","handleMouseLeave","handleMouseDown2","handleDecorations","_ResizeState","activeHandle","handle","domCellAround","edgeCell","updateHandle","currentColWidth","finish","event2","pluginState2","updateColumnWidth","draggedWidth","dragged","displayColumnWidth","domWidth","mapIndex","zeroes","DecorationSet2","Decoration2","selectedRect","addColumn","refColumn","addColumnBefore","addColumnAfter","removeColumn","mapStart","deleteColumn","rowIsHeader","addRow","rowPos","refRow","addRowBefore","addRowAfter","removeRow","nextRow","deleteRow","cellsOverlapRectangle","indexTop","indexLeft","indexBottom","indexRight","mergeCells","Fragment4","mergedPos","mergedCell","splitCell","splitCellWithType","getCellType","baseAttrs","setCellAttr","deprecated_toggleHeader","isHeaderEnabledByType","cellPositions","toggleHeader","isHeaderRowEnabled","isHeaderColumnEnabled","selectionStartsAt","cellsRect","newType","relativeCellPos","toggleHeaderCell","findNextCell","goToNextCell","direction","TextSelection3","deleteTable","tableEditing","Plugin2","updateColumns","createColGroup","cols","tableWidth","tableMinWidth","createCell","cellType","cellContent","getTableNodeTypes","roles","createTable","rowsCount","colsCount","withHeaderRow","headerCells","isCellSelection","deleteTableWhenAllCellsSelected","cellCount","Table","TableCell","TableHeader","TableRow","fileToBase64","reader","src","title","dropImagePlugin","image","images","coordinates","Video","video","videoPill","encodedTlds","encodedUtlds","properties","numeric","ascii","alpha","asciinumeric","alphanumeric","domain","emoji","scheme","slashscheme","whitespace","registerGroup","groups","addToGroups","flags","flagsForToken","State","input","nextState","regex","exactOnly","inputs","templateState","allFlags","ta","ts","tt","WORD","UWORD","LOCALHOST","TLD","UTLD","SCHEME","SLASH_SCHEME","NUM","WS","NL$1","OPENBRACE","CLOSEBRACE","OPENBRACKET","CLOSEBRACKET","OPENPAREN","CLOSEPAREN","OPENANGLEBRACKET","CLOSEANGLEBRACKET","FULLWIDTHLEFTPAREN","FULLWIDTHRIGHTPAREN","LEFTCORNERBRACKET","RIGHTCORNERBRACKET","LEFTWHITECORNERBRACKET","RIGHTWHITECORNERBRACKET","FULLWIDTHLESSTHAN","FULLWIDTHGREATERTHAN","AMPERSAND","APOSTROPHE","ASTERISK","AT","BACKSLASH","BACKTICK","CARET","COLON","COMMA","DOLLAR","DOT","EQUALS","EXCLAMATION","HYPHEN","PERCENT","PIPE","PLUS","POUND","QUERY","QUOTE","SEMI","SLASH","TILDE","UNDERSCORE","EMOJI$1","SYM","tk","ASCII_LETTER","LETTER","EMOJI","DIGIT","NL","EMOJI_VARIATION","EMOJI_JOINER","tlds","utlds","init$2","customSchemes","Start","decodeTlds","Num","Word","UWord","Ws","Emoji","EmojiJoiner","wordjr","uwordjr","fastts","sch","stringToArray","charCount","charCursor","tokenLength","latestAccepting","sinceAccepts","charsSinceAccepts","defaultt","jr","encoded","digits","popDigitCount","popCount","Options","defaultRender","ignoredTags","uppercaseIgnoredTags","ir","operator","isCallable","MultiToken","truncate","formatted","protocol","formattedHref","rel","createTokenClass","Token","Email","Nl","Url","makeState","init$1","qsAccepting","qsNonAccepting","localpartAccepting","Localpart","Domain","Scheme","SlashScheme","LocalpartAt","LocalpartDot","EmailDomain","EmailDomainDot","Email$1","EmailDomainHyphen","EmailColon","DomainHyphen","DomainDot","DomainDotTld","DomainDotTldColon","DomainDotTldColonPort","Url$1","UrlNonaccept","SchemeColon","SlashSchemeColon","SlashSchemeColonSlash","UriPrefix","bracketPairs","OPEN","CLOSE","UrlOpen","UrlOpenQ","UrlOpenSyms","multis","textTokens","secondState","multiLength","initMultiToken","Multi","subtokens","startIdx","endIdx","warn","warnAdvice","INIT","registerCustomProtocol","optionalSlashSlash","init","tokenize","autolink","docChanges","preventAutolink","newRange","nodesInChangedRanges","textBlock","textBeforeWhitespace","wordsBeforeWhitespace","lastWordBeforeSpace","lastWordAndBlockOffset","clickHandler","pasteHandler","textContent","Link","foundLinks","anchors","links","emDash","ellipsis","openDoubleQuote","closeDoubleQuote","openSingleQuote","closeSingleQuote","leftArrow","rightArrow","copyright","trademark","servicemark","registeredTrademark","oneHalf","plusMinus","notEqual","laquo","raquo","multiplication","superscriptTwo","superscriptThree","oneQuarter","threeQuarters","Typography","Highlight","Color","findSuggestionMatch","allowSpaces","allowedPrefixes","startOfLine","$position","escapedChar","prefix","textFrom","matchPrefix","matchPrefixIsAllowed","SuggestionPluginKey","Suggestion","decorationTag","decorationClass","allow","findSuggestionMatch$1","stopped","changed","handleStart","handleExit","decorationNode","commandProps","decorationId","currentDecorationNode","isEditable","MentionPluginKey","Mention","isMention","configureMention","getSuggestionOptions","popup","MentionList","button","_withDirectives","_vShow","componentSlotProps","H1","H2","H3","H4","H5","H6","Underline","ListUnordered","ListOrdered","AlignCenter","AlignLeft","AlignRight","FontColor","__vitePreload","DoubleQuotes","CodeView","Separator","Image","ArrowGoBack","ArrowGoForward","createEditorButton","buttons","_component_BubbleMenu","_component_FloatingMenu","getDefaultOpts","allOptionsOn","showdown","parsers","setFlavor","flavor","preset","ext","validExtension","validate","errMsg","baseMsg","ln","validateExtension","escapeCharactersCallback","wholeMatch","m1","charCodeToEscape","charsToEscape","afterBackslash","regexString","txt","rgxFindMatchPos","matchPos","results","repStr","finalStr","lng","bits","indexOf","mail","encode","targetLength","padString","converterOptions","langExtensions","outputModifiers","setConvFlavor","_constructor","gOpt","_parseExtension","legacyExtensionLoading","validExt","rTrimInputText","rsp","rgx","evtName","globals","ei","nText","HTMLParser","substitutePreCodeTags","mdDoc","pres","presPH","extensionName","ii","writeAnchorTag","linkText","linkId","m5","m6","wm","st","escape","mentions","username","lnk","simpleURLRegex","simpleURLRegex2","delimUrlRegex","simpleMailRegex","delimMailRegex","replaceLink","leadingMagicChars","m2","m3","trailingPunctuation","trailingMagicChars","lnkTxt","append","lmc","tmc","replaceMail","bq","pre","codeblock","nextChar","doctype","doctypeParsed","charset","lang","leadingText","numSpaces","emojiRgx","emojiCode","comments","delim","repFunc","blockText","opTagPos","rgx1","patLeft","patRight","subTexts","newSubText1","hashHTMLSpan","repText","limit","headerLevelStart","setextRegexH1","setextRegexH2","spanGamut","hID","headerId","hLevel","hashBlock","matchFound","atxStyle","hText","inlineRegExp","crazyRegExp","base64RegExp","referenceRegExp","refShortcutRegExp","writeImageTagBase64","altText","writeImageTag","gUrls","gTitles","gDims","parseInside","lead","processListItems","listStr","trimTrailing","isParagraphed","m4","taskbtn","checked","bulletStyle","otp","wm2","styleStartNumber","parseConsecutiveLists","olRgx","ulRgx","counterRxg","parseCL","parseMetadataContents","wholematch","grafs","grafsOut","grafsOutIt","codeFlag","base64Regex","replaceFunc","blankLines","tableRgx","singeColTblRgx","sLine","parseHeaders","parseCells","subText","buildTable","headers","tb","tblLgn","parseTable","rawTable","tableLines","rawHeaders","rawStyles","rawCells","charCodeToReplace","childrenLength","innerTxt","headerLevel","headerMark","listItems","listItemsLenght","listNum","bullet","listItemTxt","childrenLenght","spansOnly","tableArray","headings","headContent","allign","cellSpacesCount","strLen","markdownToHTML","detectMarkdown","line","TextEditorFixedMenu","TextEditorBubbleMenu","TextEditorFloatingMenu","_component_TextEditorBubbleMenu","_component_TextEditorFixedMenu","_component_TextEditorFloatingMenu","_component_editor_content","getGridTemplateColumns","columns","withCheckbox","checkBoxWidth","columnsWidth","alignmentMap","label","isLastRow","selectedText","selections","defaultTrue","allRowsSelected","toggleRow","toggleAllRows","toasts","Toasts","getToastsGroup","toast","Toast","call","_0","_1","warning","response","exception","errorParts","faviconRef","defaultFavIcon","usePageMeta","pageMeta","pageMetaPlugin","createMixin","request","promisifyRequest","createStore","dbName","storeName","dbp","txMode","db","defaultGetStoreFunc","defaultGetStore","customStore","saveLocal","getLocal","setConfig","getConfig","createResource","vm","getCacheKey","cachedResource","fetchFunction","fetch","setData","tempOptions","resourceFetcher","beforeSubmitFunctions","validateFunction","errorFunctions","successFunctions","dataFunctions","invalidMessage","returnValue","getCachedResource","onDocUpdate","socket","subscribe","subscribed","listCache","resourcesByDocType","createListResource","defaultListUrl","defaultDocInsertUrl","defaultDocUpdateUrl","defaultDocDeleteUrl","defaultRunDocMethodUrl","previous","pagedData","updateRowInListResource","reload","getRow","updatedOptions","_start","_pageLength","getCachedListResource","resources","resource","previousRowData","deleteRowInListResource","docname","revertRowInListResource","documentCache","createDocumentResource","defaultDocGetUrl","setValueOptions","autoPropIsPassed","setDoc","methodKey","methodOptions","onSuccess","otherOptions","getCachedDocumentResource","mixinOptions","oldOptions","createResourceForOptions","resourcesPlugin","resourceMixin","frappeRequest","errorResponse","PACKET_TYPES","PACKET_TYPES_REVERSE","ERROR_PACKET","withNativeBlob","withNativeArrayBuffer","isView","encodePacket","supportsBinary","encodeBlobAsBase64","fileReader","toArray","TEXT_ENCODER","encodePacketToBinary","packet","chars","lookup","bufferLength","encoded1","encoded2","encoded3","encoded4","arraybuffer","decodePacket","encodedPacket","binaryType","mapBinary","decodeBase64Packet","decoded","SEPARATOR","encodePayload","packets","encodedPackets","decodePayload","encodedPayload","decodedPacket","createPacketEncoderStream","controller","payloadLength","TEXT_DECODER","totalLength","chunks","concatChunks","createPacketDecoderStream","maxPayload","expectedLength","isBinary","headerArray","Emitter","globalThisShim","pick","NATIVE_SET_TIMEOUT","globalThis","NATIVE_CLEAR_TIMEOUT","installTimerFunctions","BASE64_OVERHEAD","byteLength","utf8Length","qs","qry","pairs","pair","TransportError","reason","description","Transport","details","onPause","hostname","encodedQuery","alphabet","seed","yeast","hasCORS","XHR","xdomain","hasXHR2","XMLHttpRequest","Polling","isSSL","port","forceBase64","total","Request","req","xhrStatus","uri","fromError","unloadHandler","terminationEvent","setTimeoutFn","WebSocket","usingBrowserWebSocket","defaultBinaryType","isReactNative","protocols","closeEvent","ev","lastPacket","WT","decoderStream","encoderStream","transports","pathNames","queryKey","regx","$0","$1","$2","Socket","transport","onTransportOpen","freezeTransport","onerror","onTransportClose","onclose","onupgrade","payloadSize","cleanupAndClose","waitForUpgrade","upgrades","filteredUpgrades","loc","host","withNativeFile","hasBinary","toJSON","deconstructPacket","buffers","packetData","pack","_deconstructPacket","newData","reconstructPacket","_reconstructPacket","RESERVED_EVENTS","PacketType","Encoder","deconstruction","Decoder","reviver","isBinaryEvent","BinaryReconstructor","buf","payload","binData","io","nsp","ack","isTransportWritable","withErr","arg1","arg2","responseArgs","sent","pid","subDestroy","compress","Backoff","rand","deviation","jitter","Manager","_parser","Engine","openSubDestroy","errorSub","nsps","attempt","sameNamespace","newConnection","initSocket","socketio_port","FrappeUI","callFunction"],"sources":["../../../../node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../../node_modules/vue-router/dist/vue-router.mjs","../../../../node_modules/vue-demi/lib/index.mjs","../../../../node_modules/@tanstack/vue-virtual/build/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../../node_modules/@tanstack/virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../../node_modules/@tanstack/virtual-core/build/lib/utils.mjs","../../../../node_modules/@tanstack/virtual-core/build/lib/index.mjs","../../../../node_modules/@tanstack/vue-virtual/build/lib/index.mjs","../../../../node_modules/@headlessui/vue/dist/hooks/use-controllable.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-id.js","../../../../node_modules/@headlessui/vue/dist/utils/dom.js","../../../../node_modules/@headlessui/vue/dist/utils/match.js","../../../../node_modules/@headlessui/vue/dist/utils/env.js","../../../../node_modules/@headlessui/vue/dist/utils/owner.js","../../../../node_modules/@headlessui/vue/dist/utils/focus-management.js","../../../../node_modules/@headlessui/vue/dist/utils/platform.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-document-event.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-window-event.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-outside-click.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-resolve-button-type.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-tracked-pointer.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-tree-walker.js","../../../../node_modules/@headlessui/vue/dist/utils/render.js","../../../../node_modules/@headlessui/vue/dist/internal/hidden.js","../../../../node_modules/@headlessui/vue/dist/internal/open-closed.js","../../../../node_modules/@headlessui/vue/dist/keyboard.js","../../../../node_modules/@headlessui/vue/dist/utils/document-ready.js","../../../../node_modules/@headlessui/vue/dist/utils/active-element-history.js","../../../../node_modules/@headlessui/vue/dist/utils/calculate-active-index.js","../../../../node_modules/@headlessui/vue/dist/utils/micro-task.js","../../../../node_modules/@headlessui/vue/dist/utils/disposables.js","../../../../node_modules/@headlessui/vue/dist/utils/form.js","../../../../node_modules/@headlessui/vue/dist/components/combobox/combobox.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-event-listener.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-tab-direction.js","../../../../node_modules/@headlessui/vue/dist/components/focus-trap/focus-trap.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-store.js","../../../../node_modules/@headlessui/vue/dist/utils/store.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/adjust-scrollbar-padding.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/handle-ios-locking.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/prevent-scroll.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/overflow-store.js","../../../../node_modules/@headlessui/vue/dist/hooks/document-overflow/use-document-overflow.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-inert.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-root-containers.js","../../../../node_modules/@headlessui/vue/dist/internal/portal-force-root.js","../../../../node_modules/@headlessui/vue/dist/internal/stack-context.js","../../../../node_modules/@headlessui/vue/dist/components/description/description.js","../../../../node_modules/@headlessui/vue/dist/components/portal/portal.js","../../../../node_modules/@headlessui/vue/dist/components/dialog/dialog.js","../../../../node_modules/@headlessui/vue/dist/components/disclosure/disclosure.js","../../../../node_modules/@headlessui/vue/dist/utils/get-text-value.js","../../../../node_modules/@headlessui/vue/dist/hooks/use-text-value.js","../../../../node_modules/@headlessui/vue/dist/components/menu/menu.js","../../../../node_modules/@headlessui/vue/dist/internal/focus-sentinel.js","../../../../node_modules/@headlessui/vue/dist/components/tabs/tabs.js","../../../../node_modules/@headlessui/vue/dist/utils/once.js","../../../../node_modules/@headlessui/vue/dist/components/transitions/utils/transition.js","../../../../node_modules/@headlessui/vue/dist/components/transitions/transition.js","../../../../node_modules/@popperjs/core/lib/enums.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../../node_modules/@popperjs/core/lib/utils/math.js","../../../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../../node_modules/@popperjs/core/lib/utils/within.js","../../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../../node_modules/@popperjs/core/lib/utils/debounce.js","../../../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../../node_modules/@popperjs/core/lib/createPopper.js","../../../../node_modules/@popperjs/core/lib/popper.js","../../../../frappe-ui/src/components/Popover.vue","../../../../node_modules/feather-icons/dist/feather.js","../../../../frappe-ui/src/components/FeatherIcon.vue","../../../../frappe-ui/src/components/LoadingIndicator.vue","../../../../frappe-ui/src/components/Button.vue","../../../../frappe-ui/src/components/Autocomplete.vue","../../../../node_modules/crypt/crypt.js","../../../../node_modules/charenc/charenc.js","../../../../node_modules/is-buffer/index.js","../../../../node_modules/md5/md5.js","../../../../frappe-ui/src/components/Avatar.vue","../../../../frappe-ui/src/components/Badge.vue","../../../../node_modules/@vueuse/shared/index.mjs","../../../../node_modules/@vueuse/core/index.mjs","../../../../frappe-ui/src/components/Dropdown.vue","../../../../frappe-ui/src/components/Breadcrumbs.vue","../../../../frappe-ui/src/utils/useId.ts","../../../../frappe-ui/src/components/Checkbox.vue","../../../../frappe-ui/src/utils/debounce.ts","../../../../frappe-ui/src/components/Input.vue","../../../../frappe-ui/src/components/DatePicker.vue","../../../../frappe-ui/src/components/Dialog.vue","../../../../frappe-ui/src/components/ErrorMessage.vue","../../../../frappe-ui/src/utils/fileUploadHandler.ts","../../../../frappe-ui/src/components/FileUploader.vue","../../../../frappe-ui/src/components/TextInput.vue","../../../../frappe-ui/src/components/Select.vue","../../../../frappe-ui/src/components/Textarea.vue","../../../../frappe-ui/src/components/FormControl.vue","../../../../frappe-ui/src/components/Tabs.vue","../../../../node_modules/orderedmap/dist/index.js","../../../../node_modules/prosemirror-model/dist/index.js","../../../../node_modules/prosemirror-transform/dist/index.js","../../../../node_modules/prosemirror-state/dist/index.js","../../../../node_modules/prosemirror-view/dist/index.js","../../../../node_modules/w3c-keyname/index.js","../../../../node_modules/prosemirror-keymap/dist/index.js","../../../../node_modules/prosemirror-commands/dist/index.js","../../../../node_modules/prosemirror-schema-list/dist/index.js","../../../../node_modules/@tiptap/core/dist/index.js","../../../../node_modules/tippy.js/dist/tippy.esm.js","../../../../node_modules/@tiptap/extension-bubble-menu/dist/index.js","../../../../node_modules/@tiptap/extension-floating-menu/dist/index.js","../../../../node_modules/@tiptap/vue-3/dist/index.js","../../../../node_modules/@tiptap/extension-blockquote/dist/index.js","../../../../node_modules/@tiptap/extension-bold/dist/index.js","../../../../node_modules/@tiptap/extension-bullet-list/dist/index.js","../../../../node_modules/@tiptap/extension-code/dist/index.js","../../../../node_modules/@tiptap/extension-code-block/dist/index.js","../../../../node_modules/@tiptap/extension-document/dist/index.js","../../../../node_modules/prosemirror-dropcursor/dist/index.js","../../../../node_modules/@tiptap/extension-dropcursor/dist/index.js","../../../../node_modules/prosemirror-gapcursor/dist/index.js","../../../../node_modules/@tiptap/extension-gapcursor/dist/index.js","../../../../node_modules/@tiptap/extension-hard-break/dist/index.js","../../../../node_modules/@tiptap/extension-heading/dist/index.js","../../../../node_modules/rope-sequence/dist/index.js","../../../../node_modules/prosemirror-history/dist/index.js","../../../../node_modules/@tiptap/extension-history/dist/index.js","../../../../node_modules/@tiptap/extension-horizontal-rule/dist/index.js","../../../../node_modules/@tiptap/extension-italic/dist/index.js","../../../../node_modules/@tiptap/extension-list-item/dist/index.js","../../../../node_modules/@tiptap/extension-ordered-list/dist/index.js","../../../../node_modules/@tiptap/extension-paragraph/dist/index.js","../../../../node_modules/@tiptap/extension-strike/dist/index.js","../../../../node_modules/@tiptap/extension-text/dist/index.js","../../../../node_modules/@tiptap/starter-kit/dist/index.js","../../../../node_modules/@tiptap/extension-placeholder/dist/index.js","../../../../node_modules/@tiptap/extension-text-align/dist/index.js","../../../../node_modules/prosemirror-tables/dist/index.js","../../../../node_modules/@tiptap/extension-table/dist/index.js","../../../../node_modules/@tiptap/extension-table-cell/dist/index.js","../../../../node_modules/@tiptap/extension-table-header/dist/index.js","../../../../node_modules/@tiptap/extension-table-row/dist/index.js","../../../../frappe-ui/src/utils/file-to-base64.js","../../../../frappe-ui/src/components/TextEditor/image-extension.js","../../../../frappe-ui/src/components/TextEditor/video-extension.js","../../../../node_modules/linkifyjs/dist/linkify.es.js","../../../../node_modules/@tiptap/extension-link/dist/index.js","../../../../node_modules/@tiptap/extension-typography/dist/index.js","../../../../node_modules/@tiptap/extension-text-style/dist/index.js","../../../../node_modules/@tiptap/extension-highlight/dist/index.js","../../../../node_modules/@tiptap/extension-color/dist/index.js","../../../../node_modules/@tiptap/suggestion/dist/index.js","../../../../node_modules/@tiptap/extension-mention/dist/index.js","../../../../frappe-ui/src/components/TextEditor/MentionList.vue","../../../../frappe-ui/src/components/TextEditor/mention.js","../../../../frappe-ui/src/components/TextEditor/Menu.vue","../../../../frappe-ui/src/components/TextEditor/icons/h-1.vue","../../../../frappe-ui/src/components/TextEditor/icons/h-2.vue","../../../../frappe-ui/src/components/TextEditor/icons/h-3.vue","../../../../frappe-ui/src/components/TextEditor/icons/h-4.vue","../../../../frappe-ui/src/components/TextEditor/icons/h-5.vue","../../../../frappe-ui/src/components/TextEditor/icons/h-6.vue","../../../../frappe-ui/src/components/TextEditor/icons/text.vue","../../../../frappe-ui/src/components/TextEditor/icons/bold.vue","../../../../frappe-ui/src/components/TextEditor/icons/italic.vue","../../../../frappe-ui/src/components/TextEditor/icons/underline.vue","../../../../frappe-ui/src/components/TextEditor/icons/align-center.vue","../../../../frappe-ui/src/components/TextEditor/icons/align-left.vue","../../../../frappe-ui/src/components/TextEditor/icons/align-right.vue","../../../../frappe-ui/src/components/TextEditor/icons/font-color.vue","../../../../frappe-ui/src/components/TextEditor/icons/list-ordered.vue","../../../../frappe-ui/src/components/TextEditor/icons/list-unordered.vue","../../../../frappe-ui/src/components/TextEditor/icons/double-quotes-r.vue","../../../../frappe-ui/src/components/TextEditor/icons/code-view.vue","../../../../frappe-ui/src/components/TextEditor/icons/link.vue","../../../../frappe-ui/src/components/TextEditor/icons/image-add-line.vue","../../../../frappe-ui/src/components/TextEditor/icons/video-add-line.vue","../../../../frappe-ui/src/components/TextEditor/icons/arrow-go-back-line.vue","../../../../frappe-ui/src/components/TextEditor/icons/arrow-go-forward-line.vue","../../../../frappe-ui/src/components/TextEditor/icons/separator.vue","../../../../frappe-ui/src/components/TextEditor/icons/table-2.vue","../../../../frappe-ui/src/components/TextEditor/commands.js","../../../../frappe-ui/src/components/TextEditor/utils.js","../../../../frappe-ui/src/components/TextEditor/TextEditorFixedMenu.vue","../../../../frappe-ui/src/components/TextEditor/TextEditorBubbleMenu.vue","../../../../frappe-ui/src/components/TextEditor/TextEditorFloatingMenu.vue","../../../../node_modules/showdown/dist/showdown.js","../../../../frappe-ui/src/utils/markdown.js","../../../../frappe-ui/src/components/TextEditor/TextEditor.vue","../../../../frappe-ui/src/components/ListView/utils.js","../../../../frappe-ui/src/components/ListView/ListHeader.vue","../../../../frappe-ui/src/components/Tooltip.vue","../../../../frappe-ui/src/components/ListView/ListRowItem.vue","../../../../frappe-ui/src/components/ListView/ListRow.vue","../../../../frappe-ui/src/components/ListView/ListRows.vue","../../../../frappe-ui/src/components/ListView/ListSelectBanner.vue","../../../../frappe-ui/src/components/ListView/ListView.vue","../../../../frappe-ui/src/components/Toast.vue","../../../../frappe-ui/src/components/toast.js","../../../../frappe-ui/src/utils/call.js","../../../../frappe-ui/src/utils/pageMeta.js","../../../../frappe-ui/src/utils/request.js","../../../../node_modules/idb-keyval/dist/index.js","../../../../frappe-ui/src/resources/local.js","../../../../frappe-ui/src/utils/config.js","../../../../frappe-ui/src/resources/resources.js","../../../../frappe-ui/src/resources/realtime.js","../../../../frappe-ui/src/resources/listResource.js","../../../../frappe-ui/src/resources/documentResource.js","../../../../frappe-ui/src/resources/plugin.js","../../../../frappe-ui/src/utils/frappeRequest.js","../../../../node_modules/engine.io-parser/build/esm/commons.js","../../../../node_modules/engine.io-parser/build/esm/encodePacket.browser.js","../../../../node_modules/engine.io-parser/build/esm/contrib/base64-arraybuffer.js","../../../../node_modules/engine.io-parser/build/esm/decodePacket.browser.js","../../../../node_modules/engine.io-parser/build/esm/index.js","../../../../node_modules/@socket.io/component-emitter/index.mjs","../../../../node_modules/engine.io-client/build/esm/globalThis.browser.js","../../../../node_modules/engine.io-client/build/esm/util.js","../../../../node_modules/engine.io-client/build/esm/contrib/parseqs.js","../../../../node_modules/engine.io-client/build/esm/transport.js","../../../../node_modules/engine.io-client/build/esm/contrib/yeast.js","../../../../node_modules/engine.io-client/build/esm/contrib/has-cors.js","../../../../node_modules/engine.io-client/build/esm/transports/xmlhttprequest.browser.js","../../../../node_modules/engine.io-client/build/esm/transports/polling.js","../../../../node_modules/engine.io-client/build/esm/transports/websocket-constructor.browser.js","../../../../node_modules/engine.io-client/build/esm/transports/websocket.js","../../../../node_modules/engine.io-client/build/esm/transports/webtransport.js","../../../../node_modules/engine.io-client/build/esm/transports/index.js","../../../../node_modules/engine.io-client/build/esm/contrib/parseuri.js","../../../../node_modules/engine.io-client/build/esm/socket.js","../../../../node_modules/socket.io-client/build/esm/url.js","../../../../node_modules/socket.io-parser/build/esm/is-binary.js","../../../../node_modules/socket.io-parser/build/esm/binary.js","../../../../node_modules/socket.io-parser/build/esm/index.js","../../../../node_modules/socket.io-client/build/esm/on.js","../../../../node_modules/socket.io-client/build/esm/socket.js","../../../../node_modules/socket.io-client/build/esm/contrib/backo2.js","../../../../node_modules/socket.io-client/build/esm/manager.js","../../../../node_modules/socket.io-client/build/esm/index.js","../../../../frappe-ui/src/utils/socketio.js","../../../../frappe-ui/src/utils/plugin.js"],"sourcesContent":["/**\n* @vue/shared v3.4.15\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.4.15\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { NOOP, extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 2;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 1) {\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 2) {\n break;\n }\n }\n }\n if (this._dirtyLevel < 2) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 2;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 2 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n var _a;\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n (_a = this.onStop) == null ? void 0 : _a.call(this);\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps && effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n if (effect2._dirtyLevel < dirtyLevel && dep.get(effect2) === effect2._trackId) {\n const lastDirtyLevel = effect2._dirtyLevel;\n effect2._dirtyLevel = dirtyLevel;\n if (lastDirtyLevel === 0) {\n effect2._shouldSchedule = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n }\n }\n }\n scheduleEffects(dep);\n resetScheduling();\n}\nfunction scheduleEffects(dep) {\n for (const effect2 of dep.keys()) {\n if (effect2.scheduler && effect2._shouldSchedule && (!effect2._runnings || effect2.allowRecurse) && dep.get(effect2) === effect2._trackId) {\n effect2._shouldSchedule = false;\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 2,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) == null ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _shallow = false) {\n this._isReadonly = _isReadonly;\n this._shallow = _shallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, shallow = this._shallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return shallow;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(false, shallow);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._shallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(shallow = false) {\n super(true, shallow);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(\n method,\n false,\n false\n );\n readonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n false\n );\n shallowInstrumentations2[method] = createIterableMethod(\n method,\n false,\n true\n );\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\", true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(this, 1),\n () => this.dep && scheduleEffects(this.dep)\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if (!self._cacheable || self.effect.dirty) {\n if (hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 2);\n }\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 1) {\n triggerRefValue(self, 1);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n ref2.dep || (ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n )),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 2, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 2, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 2, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst deferredComputed = computed;\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\"\n};\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseScheduling, pauseTracking, proxyRefs, reactive, readonly, ref, resetScheduling, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","/**\n* @vue/runtime-core v3.4.15\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, getCurrentScope, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, customRef, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.effect.dirty = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n props,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n props,\n null\n /* we know it doesn't need it */\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0) {\n n2.suspense = n1.suspense;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense == null ? void 0 : parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n namespace,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n var _a;\n return ((_a = vnode.props) == null ? void 0 : _a.suspensible) != null && vnode.props.suspensible !== false;\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow$1(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth, currentDepth = 0, seen) {\n if (!isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n if (depth && depth > 0) {\n if (currentDepth >= depth) {\n return value;\n }\n currentDepth++;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, depth, currentDepth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, currentDepth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, currentDepth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, currentDepth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === void 0) {\n prevTransitionKey = key;\n } else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n if (oldInnerChild && oldInnerChild.type !== Comment && (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\") {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.effect.dirty = true;\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode) ? (\n // #7121 ensure get the child component subtree in case\n // it's been replaced during HMR\n !!(process.env.NODE_ENV !== \"production\") && vnode.component ? vnode.component.subTree : vnode.children ? vnode.children[0] : void 0\n ) : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance, \"get\", key);\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"feather\"] = factory();\n\telse\n\t\troot[\"feather\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./dist/icons.json\":\n/*!*************************!*\\\n !*** ./dist/icons.json ***!\n \\*************************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, codesandbox, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, divide-circle, divide-square, divide, dollar-sign, download-cloud, download, dribbble, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, figma, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, info, instagram, italic, key, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, meh, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, square, star, stop-circle, sun, sunrise, sunset, table, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash-2, trash, trello, trending-down, trending-up, triangle, truck, tv, twitch, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */\n/***/ (function(module) {\n\nmodule.exports = {\"activity\":\" \",\"airplay\":\" \",\"alert-circle\":\" \",\"alert-octagon\":\" \",\"alert-triangle\":\" \",\"align-center\":\" \",\"align-justify\":\" \",\"align-left\":\" \",\"align-right\":\" \",\"anchor\":\" \",\"aperture\":\" \",\"archive\":\" \",\"arrow-down-circle\":\" \",\"arrow-down-left\":\" \",\"arrow-down-right\":\" \",\"arrow-down\":\" \",\"arrow-left-circle\":\" \",\"arrow-left\":\" \",\"arrow-right-circle\":\" \",\"arrow-right\":\" \",\"arrow-up-circle\":\" \",\"arrow-up-left\":\" \",\"arrow-up-right\":\" \",\"arrow-up\":\" \",\"at-sign\":\" \",\"award\":\" \",\"bar-chart-2\":\" \",\"bar-chart\":\" \",\"battery-charging\":\" \",\"battery\":\" \",\"bell-off\":\" \",\"bell\":\" \",\"bluetooth\":\" \",\"bold\":\" \",\"book-open\":\" \",\"book\":\" \",\"bookmark\":\" \",\"box\":\" \",\"briefcase\":\" \",\"calendar\":\" \",\"camera-off\":\" \",\"camera\":\" \",\"cast\":\" \",\"check-circle\":\" \",\"check-square\":\" \",\"check\":\" \",\"chevron-down\":\" \",\"chevron-left\":\" \",\"chevron-right\":\" \",\"chevron-up\":\" \",\"chevrons-down\":\" \",\"chevrons-left\":\" \",\"chevrons-right\":\" \",\"chevrons-up\":\" \",\"chrome\":\" \",\"circle\":\" \",\"clipboard\":\" \",\"clock\":\" \",\"cloud-drizzle\":\" \",\"cloud-lightning\":\" \",\"cloud-off\":\" \",\"cloud-rain\":\" \",\"cloud-snow\":\" \",\"cloud\":\" \",\"code\":\" \",\"codepen\":\" \",\"codesandbox\":\" \",\"coffee\":\" \",\"columns\":\" \",\"command\":\" \",\"compass\":\" \",\"copy\":\" \",\"corner-down-left\":\" \",\"corner-down-right\":\" \",\"corner-left-down\":\" \",\"corner-left-up\":\" \",\"corner-right-down\":\" \",\"corner-right-up\":\" \",\"corner-up-left\":\" \",\"corner-up-right\":\" \",\"cpu\":\" \",\"credit-card\":\" \",\"crop\":\" \",\"crosshair\":\" \",\"database\":\" \",\"delete\":\" \",\"disc\":\" \",\"divide-circle\":\" \",\"divide-square\":\" \",\"divide\":\" \",\"dollar-sign\":\" \",\"download-cloud\":\" \",\"download\":\" \",\"dribbble\":\" \",\"droplet\":\" \",\"edit-2\":\" \",\"edit-3\":\" \",\"edit\":\" \",\"external-link\":\" \",\"eye-off\":\" \",\"eye\":\" \",\"facebook\":\" \",\"fast-forward\":\" \",\"feather\":\" \",\"figma\":\" \",\"file-minus\":\" \",\"file-plus\":\" \",\"file-text\":\" \",\"file\":\" \",\"film\":\" \",\"filter\":\" \",\"flag\":\" \",\"folder-minus\":\" \",\"folder-plus\":\" \",\"folder\":\" \",\"framer\":\" \",\"frown\":\" \",\"gift\":\" \",\"git-branch\":\" \",\"git-commit\":\" \",\"git-merge\":\" \",\"git-pull-request\":\" \",\"github\":\" \",\"gitlab\":\" \",\"globe\":\" \",\"grid\":\" \",\"hard-drive\":\" \",\"hash\":\" \",\"headphones\":\" \",\"heart\":\" \",\"help-circle\":\" \",\"hexagon\":\" \",\"home\":\" \",\"image\":\" \",\"inbox\":\" \",\"info\":\" \",\"instagram\":\" \",\"italic\":\" \",\"key\":\" \",\"layers\":\" \",\"layout\":\" \",\"life-buoy\":\" \",\"link-2\":\" \",\"link\":\" \",\"linkedin\":\" \",\"list\":\" \",\"loader\":\" \",\"lock\":\" \",\"log-in\":\" \",\"log-out\":\" \",\"mail\":\" \",\"map-pin\":\" \",\"map\":\" \",\"maximize-2\":\" \",\"maximize\":\" \",\"meh\":\" \",\"menu\":\" \",\"message-circle\":\" \",\"message-square\":\" \",\"mic-off\":\" \",\"mic\":\" \",\"minimize-2\":\" \",\"minimize\":\" \",\"minus-circle\":\" \",\"minus-square\":\" \",\"minus\":\" \",\"monitor\":\" \",\"moon\":\" \",\"more-horizontal\":\" \",\"more-vertical\":\" \",\"mouse-pointer\":\" \",\"move\":\" \",\"music\":\" \",\"navigation-2\":\" \",\"navigation\":\" \",\"octagon\":\" \",\"package\":\" \",\"paperclip\":\" \",\"pause-circle\":\" \",\"pause\":\" \",\"pen-tool\":\" \",\"percent\":\" \",\"phone-call\":\" \",\"phone-forwarded\":\" \",\"phone-incoming\":\" \",\"phone-missed\":\" \",\"phone-off\":\" \",\"phone-outgoing\":\" \",\"phone\":\" \",\"pie-chart\":\" \",\"play-circle\":\" \",\"play\":\" \",\"plus-circle\":\" \",\"plus-square\":\" \",\"plus\":\" \",\"pocket\":\" \",\"power\":\" \",\"printer\":\" \",\"radio\":\" \",\"refresh-ccw\":\" \",\"refresh-cw\":\" \",\"repeat\":\" \",\"rewind\":\" \",\"rotate-ccw\":\" \",\"rotate-cw\":\" \",\"rss\":\" \",\"save\":\" \",\"scissors\":\" \",\"search\":\" \",\"send\":\" \",\"server\":\" \",\"settings\":\" \",\"share-2\":\" \",\"share\":\" \",\"shield-off\":\" \",\"shield\":\" \",\"shopping-bag\":\" \",\"shopping-cart\":\" \",\"shuffle\":\" \",\"sidebar\":\" \",\"skip-back\":\" \",\"skip-forward\":\" \",\"slack\":\" \",\"slash\":\" \",\"sliders\":\" \",\"smartphone\":\" \",\"smile\":\" \",\"speaker\":\" \",\"square\":\" \",\"star\":\" \",\"stop-circle\":\" \",\"sun\":\" \",\"sunrise\":\" \",\"sunset\":\" \",\"table\":\" \",\"tablet\":\" \",\"tag\":\" \",\"target\":\" \",\"terminal\":\" \",\"thermometer\":\" \",\"thumbs-down\":\" \",\"thumbs-up\":\" \",\"toggle-left\":\" \",\"toggle-right\":\" \",\"tool\":\" \",\"trash-2\":\" \",\"trash\":\" \",\"trello\":\" \",\"trending-down\":\" \",\"trending-up\":\" \",\"triangle\":\" \",\"truck\":\" \",\"tv\":\" \",\"twitch\":\" \",\"twitter\":\" \",\"type\":\" \",\"umbrella\":\" \",\"underline\":\" \",\"unlock\":\" \",\"upload-cloud\":\" \",\"upload\":\" \",\"user-check\":\" \",\"user-minus\":\" \",\"user-plus\":\" \",\"user-x\":\" \",\"user\":\" \",\"users\":\" \",\"video-off\":\" \",\"video\":\" \",\"voicemail\":\" \",\"volume-1\":\" \",\"volume-2\":\" \",\"volume-x\":\" \",\"volume\":\" \",\"watch\":\" \",\"wifi-off\":\" \",\"wifi\":\" \",\"wind\":\" \",\"x-circle\":\" \",\"x-octagon\":\" \",\"x-square\":\" \",\"x\":\" \",\"youtube\":\" \",\"zap-off\":\" \",\"zap\":\" \",\"zoom-in\":\" \",\"zoom-out\":\" \"};\n\n/***/ }),\n\n/***/ \"./node_modules/classnames/dedupe.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/classnames/dedupe.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar classNames = (function () {\n\t\t// don't inherit from Object so we can skip hasOwnProperty check later\n\t\t// http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232\n\t\tfunction StorageObject() {}\n\t\tStorageObject.prototype = Object.create(null);\n\n\t\tfunction _parseArray (resultSet, array) {\n\t\t\tvar length = array.length;\n\n\t\t\tfor (var i = 0; i < length; ++i) {\n\t\t\t\t_parse(resultSet, array[i]);\n\t\t\t}\n\t\t}\n\n\t\tvar hasOwn = {}.hasOwnProperty;\n\n\t\tfunction _parseNumber (resultSet, num) {\n\t\t\tresultSet[num] = true;\n\t\t}\n\n\t\tfunction _parseObject (resultSet, object) {\n\t\t\tfor (var k in object) {\n\t\t\t\tif (hasOwn.call(object, k)) {\n\t\t\t\t\t// set value to false instead of deleting it to avoid changing object structure\n\t\t\t\t\t// https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions\n\t\t\t\t\tresultSet[k] = !!object[k];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar SPACE = /\\s+/;\n\t\tfunction _parseString (resultSet, str) {\n\t\t\tvar array = str.split(SPACE);\n\t\t\tvar length = array.length;\n\n\t\t\tfor (var i = 0; i < length; ++i) {\n\t\t\t\tresultSet[array[i]] = true;\n\t\t\t}\n\t\t}\n\n\t\tfunction _parse (resultSet, arg) {\n\t\t\tif (!arg) return;\n\t\t\tvar argType = typeof arg;\n\n\t\t\t// 'foo bar'\n\t\t\tif (argType === 'string') {\n\t\t\t\t_parseString(resultSet, arg);\n\n\t\t\t// ['foo', 'bar', ...]\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\t_parseArray(resultSet, arg);\n\n\t\t\t// { 'foo': true, ... }\n\t\t\t} else if (argType === 'object') {\n\t\t\t\t_parseObject(resultSet, arg);\n\n\t\t\t// '130'\n\t\t\t} else if (argType === 'number') {\n\t\t\t\t_parseNumber(resultSet, arg);\n\t\t\t}\n\t\t}\n\n\t\tfunction _classNames () {\n\t\t\t// don't leak arguments\n\t\t\t// https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments\n\t\t\tvar len = arguments.length;\n\t\t\tvar args = Array(len);\n\t\t\tfor (var i = 0; i < len; i++) {\n\t\t\t\targs[i] = arguments[i];\n\t\t\t}\n\n\t\t\tvar classSet = new StorageObject();\n\t\t\t_parseArray(classSet, args);\n\n\t\t\tvar list = [];\n\n\t\t\tfor (var k in classSet) {\n\t\t\t\tif (classSet[k]) {\n\t\t\t\t\tlist.push(k)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn list.join(' ');\n\t\t}\n\n\t\treturn _classNames;\n\t})();\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/es/array/from.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/core-js/es/array/from.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! ../../modules/es.string.iterator */ \"./node_modules/core-js/modules/es.string.iterator.js\");\n__webpack_require__(/*! ../../modules/es.array.from */ \"./node_modules/core-js/modules/es.array.from.js\");\nvar path = __webpack_require__(/*! ../../internals/path */ \"./node_modules/core-js/internals/path.js\");\n\nmodule.exports = path.Array.from;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/a-function.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/a-function.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/an-object.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/an-object.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/array-from.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/array-from.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar bind = __webpack_require__(/*! ../internals/bind-context */ \"./node_modules/core-js/internals/bind-context.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ \"./node_modules/core-js/internals/call-with-safe-iteration-closing.js\");\nvar isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ \"./node_modules/core-js/internals/is-array-iterator-method.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar createProperty = __webpack_require__(/*! ../internals/create-property */ \"./node_modules/core-js/internals/create-property.js\");\nvar getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ \"./node_modules/core-js/internals/get-iterator-method.js\");\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iteratorMethod = getIteratorMethod(O);\n var length, result, step, iterator;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n result = new C();\n for (;!(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping\n ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)\n : step.value\n );\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/array-includes.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/array-includes.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toLength = __webpack_require__(/*! ../internals/to-length */ \"./node_modules/core-js/internals/to-length.js\");\nvar toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ \"./node_modules/core-js/internals/to-absolute-index.js\");\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\n// false -> Array#indexOf\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n// true -> Array#includes\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/bind-context.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/core-js/internals/bind-context.js ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(/*! ../internals/a-function */ \"./node_modules/core-js/internals/a-function.js\");\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/call-with-safe-iteration-closing.js\":\n/*!****************************************************************************!*\\\n !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***!\n \\****************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/check-correctness-of-iteration.js\":\n/*!**************************************************************************!*\\\n !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***!\n \\**************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/classof-raw.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/classof-raw.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/classof.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/core-js/internals/classof.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classofRaw = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/copy-constructor-properties.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***!\n \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar ownKeys = __webpack_require__(/*! ../internals/own-keys */ \"./node_modules/core-js/internals/own-keys.js\");\nvar getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/correct-prototype-getter.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/create-iterator-constructor.js\":\n/*!***********************************************************************!*\\\n !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***!\n \\***********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ \"./node_modules/core-js/internals/iterators-core.js\").IteratorPrototype;\nvar create = __webpack_require__(/*! ../internals/object-create */ \"./node_modules/core-js/internals/object-create.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/create-property-descriptor.js\":\n/*!**********************************************************************!*\\\n !*** ./node_modules/core-js/internals/create-property-descriptor.js ***!\n \\**********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/create-property.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/core-js/internals/create-property.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/define-iterator.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/core-js/internals/define-iterator.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ \"./node_modules/core-js/internals/create-iterator-constructor.js\");\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ \"./node_modules/core-js/internals/object-get-prototype-of.js\");\nvar setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ \"./node_modules/core-js/internals/object-set-prototype-of.js\");\nvar setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ \"./node_modules/core-js/internals/set-to-string-tag.js\");\nvar hide = __webpack_require__(/*! ../internals/hide */ \"./node_modules/core-js/internals/hide.js\");\nvar redefine = __webpack_require__(/*! ../internals/redefine */ \"./node_modules/core-js/internals/redefine.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\nvar IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ \"./node_modules/core-js/internals/iterators-core.js\");\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n hide(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n hide(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/descriptors.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/descriptors.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/document-create-element.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/core-js/internals/document-create-element.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar exist = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return exist ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/enum-bug-keys.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/core-js/internals/enum-bug-keys.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/export.js\":\n/*!**************************************************!*\\\n !*** ./node_modules/core-js/internals/export.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\").f;\nvar hide = __webpack_require__(/*! ../internals/hide */ \"./node_modules/core-js/internals/hide.js\");\nvar redefine = __webpack_require__(/*! ../internals/redefine */ \"./node_modules/core-js/internals/redefine.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ \"./node_modules/core-js/internals/copy-constructor-properties.js\");\nvar isForced = __webpack_require__(/*! ../internals/is-forced */ \"./node_modules/core-js/internals/is-forced.js\");\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n hide(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/fails.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/core-js/internals/fails.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/function-to-string.js\":\n/*!**************************************************************!*\\\n !*** ./node_modules/core-js/internals/function-to-string.js ***!\n \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\n\nmodule.exports = shared('native-function-to-string', Function.toString);\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/get-iterator-method.js\":\n/*!***************************************************************!*\\\n !*** ./node_modules/core-js/internals/get-iterator-method.js ***!\n \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(/*! ../internals/classof */ \"./node_modules/core-js/internals/classof.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/global.js\":\n/*!**************************************************!*\\\n !*** ./node_modules/core-js/internals/global.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var O = 'object';\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == O && globalThis) ||\n check(typeof window == O && window) ||\n check(typeof self == O && self) ||\n check(typeof global == O && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/has.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/core-js/internals/has.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/hidden-keys.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/hidden-keys.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/hide.js\":\n/*!************************************************!*\\\n !*** ./node_modules/core-js/internals/hide.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/html.js\":\n/*!************************************************!*\\\n !*** ./node_modules/core-js/internals/html.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\nvar document = global.document;\n\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/ie8-dom-define.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/ie8-dom-define.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar createElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/indexed-object.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/indexed-object.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\nvar classof = __webpack_require__(/*! ../internals/classof-raw */ \"./node_modules/core-js/internals/classof-raw.js\");\n\nvar split = ''.split;\n\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/internal-state.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/internal-state.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ \"./node_modules/core-js/internals/native-weak-map.js\");\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar hide = __webpack_require__(/*! ../internals/hide */ \"./node_modules/core-js/internals/hide.js\");\nvar objectHas = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n hide(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/is-array-iterator-method.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar Iterators = __webpack_require__(/*! ../internals/iterators */ \"./node_modules/core-js/internals/iterators.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/is-forced.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/is-forced.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/is-object.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/is-object.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/is-pure.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/core-js/internals/is-pure.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/iterators-core.js\":\n/*!**********************************************************!*\\\n !*** ./node_modules/core-js/internals/iterators-core.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ \"./node_modules/core-js/internals/object-get-prototype-of.js\");\nvar hide = __webpack_require__(/*! ../internals/hide */ \"./node_modules/core-js/internals/hide.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/iterators.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/iterators.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/native-symbol.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/core-js/internals/native-symbol.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar fails = __webpack_require__(/*! ../internals/fails */ \"./node_modules/core-js/internals/fails.js\");\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/native-weak-map.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/core-js/internals/native-weak-map.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ \"./node_modules/core-js/internals/function-to-string.js\");\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-create.js\":\n/*!*********************************************************!*\\\n !*** ./node_modules/core-js/internals/object-create.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ \"./node_modules/core-js/internals/object-define-properties.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\nvar html = __webpack_require__(/*! ../internals/html */ \"./node_modules/core-js/internals/html.js\");\nvar documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ \"./node_modules/core-js/internals/document-create-element.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar PROTOTYPE = 'prototype';\nvar Empty = function () { /* empty */ };\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var length = enumBugKeys.length;\n var lt = '<';\n var script = 'script';\n var gt = '>';\n var js = 'java' + script + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(js);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]];\n return createDict();\n};\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-define-properties.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-define-properties.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar objectKeys = __webpack_require__(/*! ../internals/object-keys */ \"./node_modules/core-js/internals/object-keys.js\");\n\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var i = 0;\n var key;\n while (length > i) definePropertyModule.f(O, key = keys[i++], Properties[key]);\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-define-property.js\":\n/*!******************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-define-property.js ***!\n \\******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ \"./node_modules/core-js/internals/ie8-dom-define.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\n\nvar nativeDefineProperty = Object.defineProperty;\n\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-get-own-property-descriptor.js\":\n/*!******************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***!\n \\******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ \"./node_modules/core-js/internals/descriptors.js\");\nvar propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ \"./node_modules/core-js/internals/object-property-is-enumerable.js\");\nvar createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ \"./node_modules/core-js/internals/create-property-descriptor.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ \"./node_modules/core-js/internals/to-primitive.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ \"./node_modules/core-js/internals/ie8-dom-define.js\");\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-get-own-property-names.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***!\n \\*************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ \"./node_modules/core-js/internals/object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\":\n/*!***************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***!\n \\***************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-get-prototype-of.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar toObject = __webpack_require__(/*! ../internals/to-object */ \"./node_modules/core-js/internals/to-object.js\");\nvar sharedKey = __webpack_require__(/*! ../internals/shared-key */ \"./node_modules/core-js/internals/shared-key.js\");\nvar CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ \"./node_modules/core-js/internals/correct-prototype-getter.js\");\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-keys-internal.js\":\n/*!****************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-keys-internal.js ***!\n \\****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ \"./node_modules/core-js/internals/to-indexed-object.js\");\nvar arrayIncludes = __webpack_require__(/*! ../internals/array-includes */ \"./node_modules/core-js/internals/array-includes.js\");\nvar hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ \"./node_modules/core-js/internals/hidden-keys.js\");\n\nvar arrayIndexOf = arrayIncludes(false);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-keys.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/core-js/internals/object-keys.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ \"./node_modules/core-js/internals/object-keys-internal.js\");\nvar enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ \"./node_modules/core-js/internals/enum-bug-keys.js\");\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-property-is-enumerable.js\":\n/*!*************************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***!\n \\*************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/object-set-prototype-of.js\":\n/*!*******************************************************************!*\\\n !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***!\n \\*******************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar validateSetPrototypeOfArguments = __webpack_require__(/*! ../internals/validate-set-prototype-of-arguments */ \"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js\");\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var correctSetter = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n correctSetter = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n validateSetPrototypeOfArguments(O, proto);\n if (correctSetter) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/own-keys.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/core-js/internals/own-keys.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ \"./node_modules/core-js/internals/object-get-own-property-names.js\");\nvar getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ \"./node_modules/core-js/internals/object-get-own-property-symbols.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\n\nvar Reflect = global.Reflect;\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/path.js\":\n/*!************************************************!*\\\n !*** ./node_modules/core-js/internals/path.js ***!\n \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/redefine.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/core-js/internals/redefine.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar hide = __webpack_require__(/*! ../internals/hide */ \"./node_modules/core-js/internals/hide.js\");\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ \"./node_modules/core-js/internals/function-to-string.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(nativeFunctionToString).split('toString');\n\nshared('inspectSource', function (it) {\n return nativeFunctionToString.call(it);\n});\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else hide(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this);\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/require-object-coercible.js\":\n/*!********************************************************************!*\\\n !*** ./node_modules/core-js/internals/require-object-coercible.js ***!\n \\********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/set-global.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/set-global.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar hide = __webpack_require__(/*! ../internals/hide */ \"./node_modules/core-js/internals/hide.js\");\n\nmodule.exports = function (key, value) {\n try {\n hide(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/set-to-string-tag.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/set-to-string-tag.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(/*! ../internals/object-define-property */ \"./node_modules/core-js/internals/object-define-property.js\").f;\nvar has = __webpack_require__(/*! ../internals/has */ \"./node_modules/core-js/internals/has.js\");\nvar wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ \"./node_modules/core-js/internals/well-known-symbol.js\");\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/shared-key.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/shared-key.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/shared.js\":\n/*!**************************************************!*\\\n !*** ./node_modules/core-js/internals/shared.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar setGlobal = __webpack_require__(/*! ../internals/set-global */ \"./node_modules/core-js/internals/set-global.js\");\nvar IS_PURE = __webpack_require__(/*! ../internals/is-pure */ \"./node_modules/core-js/internals/is-pure.js\");\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.1.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/string-at.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/string-at.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ../internals/to-integer */ \"./node_modules/core-js/internals/to-integer.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\n// CONVERT_TO_STRING: true -> String#at\n// CONVERT_TO_STRING: false -> String#codePointAt\nmodule.exports = function (that, pos, CONVERT_TO_STRING) {\n var S = String(requireObjectCoercible(that));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/to-absolute-index.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/to-absolute-index.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ../internals/to-integer */ \"./node_modules/core-js/internals/to-integer.js\");\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/to-indexed-object.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/to-indexed-object.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ \"./node_modules/core-js/internals/indexed-object.js\");\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/to-integer.js\":\n/*!******************************************************!*\\\n !*** ./node_modules/core-js/internals/to-integer.js ***!\n \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/to-length.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/to-length.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(/*! ../internals/to-integer */ \"./node_modules/core-js/internals/to-integer.js\");\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/to-object.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/core-js/internals/to-object.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ \"./node_modules/core-js/internals/require-object-coercible.js\");\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/to-primitive.js\":\n/*!********************************************************!*\\\n !*** ./node_modules/core-js/internals/to-primitive.js ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/uid.js\":\n/*!***********************************************!*\\\n !*** ./node_modules/core-js/internals/uid.js ***!\n \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + postfix).toString(36));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/core-js/internals/validate-set-prototype-of-arguments.js ***!\n \\*******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(/*! ../internals/is-object */ \"./node_modules/core-js/internals/is-object.js\");\nvar anObject = __webpack_require__(/*! ../internals/an-object */ \"./node_modules/core-js/internals/an-object.js\");\n\nmodule.exports = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) {\n throw TypeError(\"Can't set \" + String(proto) + ' as a prototype');\n }\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/internals/well-known-symbol.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/core-js/internals/well-known-symbol.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(/*! ../internals/global */ \"./node_modules/core-js/internals/global.js\");\nvar shared = __webpack_require__(/*! ../internals/shared */ \"./node_modules/core-js/internals/shared.js\");\nvar uid = __webpack_require__(/*! ../internals/uid */ \"./node_modules/core-js/internals/uid.js\");\nvar NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ \"./node_modules/core-js/internals/native-symbol.js\");\n\nvar Symbol = global.Symbol;\nvar store = shared('wks');\n\nmodule.exports = function (name) {\n return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name]\n || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/es.array.from.js\":\n/*!*******************************************************!*\\\n !*** ./node_modules/core-js/modules/es.array.from.js ***!\n \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $ = __webpack_require__(/*! ../internals/export */ \"./node_modules/core-js/internals/export.js\");\nvar from = __webpack_require__(/*! ../internals/array-from */ \"./node_modules/core-js/internals/array-from.js\");\nvar checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ \"./node_modules/core-js/internals/check-correctness-of-iteration.js\");\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/core-js/modules/es.string.iterator.js\":\n/*!************************************************************!*\\\n !*** ./node_modules/core-js/modules/es.string.iterator.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar codePointAt = __webpack_require__(/*! ../internals/string-at */ \"./node_modules/core-js/internals/string-at.js\");\nvar InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ \"./node_modules/core-js/internals/internal-state.js\");\nvar defineIterator = __webpack_require__(/*! ../internals/define-iterator */ \"./node_modules/core-js/internals/define-iterator.js\");\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = codePointAt(string, index, true);\n state.index += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n !*** (webpack)/buildin/global.js ***!\n \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\r\n} catch (e) {\r\n\t// This works if the window reference is available\r\n\tif (typeof window === \"object\") g = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n\n/***/ \"./src/default-attrs.json\":\n/*!********************************!*\\\n !*** ./src/default-attrs.json ***!\n \\********************************/\n/*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */\n/***/ (function(module) {\n\nmodule.exports = {\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-width\":2,\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"};\n\n/***/ }),\n\n/***/ \"./src/icon.js\":\n/*!*********************!*\\\n !*** ./src/icon.js ***!\n \\*********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _dedupe = __webpack_require__(/*! classnames/dedupe */ \"./node_modules/classnames/dedupe.js\");\n\nvar _dedupe2 = _interopRequireDefault(_dedupe);\n\nvar _defaultAttrs = __webpack_require__(/*! ./default-attrs.json */ \"./src/default-attrs.json\");\n\nvar _defaultAttrs2 = _interopRequireDefault(_defaultAttrs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Icon = function () {\n function Icon(name, contents) {\n var tags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n\n _classCallCheck(this, Icon);\n\n this.name = name;\n this.contents = contents;\n this.tags = tags;\n this.attrs = _extends({}, _defaultAttrs2.default, { class: 'feather feather-' + name });\n }\n\n /**\n * Create an SVG string.\n * @param {Object} attrs\n * @returns {string}\n */\n\n\n _createClass(Icon, [{\n key: 'toSvg',\n value: function toSvg() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var combinedAttrs = _extends({}, this.attrs, attrs, { class: (0, _dedupe2.default)(this.attrs.class, attrs.class) });\n\n return '';\n }\n\n /**\n * Return string representation of an `Icon`.\n *\n * Added for backward compatibility. If old code expects `feather.icons.`\n * to be a string, `toString()` will get implicitly called.\n *\n * @returns {string}\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n return this.contents;\n }\n }]);\n\n return Icon;\n}();\n\n/**\n * Convert attributes object to string of HTML attributes.\n * @param {Object} attrs\n * @returns {string}\n */\n\n\nfunction attrsToString(attrs) {\n return Object.keys(attrs).map(function (key) {\n return key + '=\"' + attrs[key] + '\"';\n }).join(' ');\n}\n\nexports.default = Icon;\n\n/***/ }),\n\n/***/ \"./src/icons.js\":\n/*!**********************!*\\\n !*** ./src/icons.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _icon = __webpack_require__(/*! ./icon */ \"./src/icon.js\");\n\nvar _icon2 = _interopRequireDefault(_icon);\n\nvar _icons = __webpack_require__(/*! ../dist/icons.json */ \"./dist/icons.json\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _tags = __webpack_require__(/*! ./tags.json */ \"./src/tags.json\");\n\nvar _tags2 = _interopRequireDefault(_tags);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Object.keys(_icons2.default).map(function (key) {\n return new _icon2.default(key, _icons2.default[key], _tags2.default[key]);\n}).reduce(function (object, icon) {\n object[icon.name] = icon;\n return object;\n}, {});\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _icons = __webpack_require__(/*! ./icons */ \"./src/icons.js\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _toSvg = __webpack_require__(/*! ./to-svg */ \"./src/to-svg.js\");\n\nvar _toSvg2 = _interopRequireDefault(_toSvg);\n\nvar _replace = __webpack_require__(/*! ./replace */ \"./src/replace.js\");\n\nvar _replace2 = _interopRequireDefault(_replace);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = { icons: _icons2.default, toSvg: _toSvg2.default, replace: _replace2.default };\n\n/***/ }),\n\n/***/ \"./src/replace.js\":\n/*!************************!*\\\n !*** ./src/replace.js ***!\n \\************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* eslint-env browser */\n\n\nvar _dedupe = __webpack_require__(/*! classnames/dedupe */ \"./node_modules/classnames/dedupe.js\");\n\nvar _dedupe2 = _interopRequireDefault(_dedupe);\n\nvar _icons = __webpack_require__(/*! ./icons */ \"./src/icons.js\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Replace all HTML elements that have a `data-feather` attribute with SVG markup\n * corresponding to the element's `data-feather` attribute value.\n * @param {Object} attrs\n */\nfunction replace() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (typeof document === 'undefined') {\n throw new Error('`feather.replace()` only works in a browser environment.');\n }\n\n var elementsToReplace = document.querySelectorAll('[data-feather]');\n\n Array.from(elementsToReplace).forEach(function (element) {\n return replaceElement(element, attrs);\n });\n}\n\n/**\n * Replace a single HTML element with SVG markup\n * corresponding to the element's `data-feather` attribute value.\n * @param {HTMLElement} element\n * @param {Object} attrs\n */\nfunction replaceElement(element) {\n var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var elementAttrs = getAttrs(element);\n var name = elementAttrs['data-feather'];\n delete elementAttrs['data-feather'];\n\n var svgString = _icons2.default[name].toSvg(_extends({}, attrs, elementAttrs, { class: (0, _dedupe2.default)(attrs.class, elementAttrs.class) }));\n var svgDocument = new DOMParser().parseFromString(svgString, 'image/svg+xml');\n var svgElement = svgDocument.querySelector('svg');\n\n element.parentNode.replaceChild(svgElement, element);\n}\n\n/**\n * Get the attributes of an HTML element.\n * @param {HTMLElement} element\n * @returns {Object}\n */\nfunction getAttrs(element) {\n return Array.from(element.attributes).reduce(function (attrs, attr) {\n attrs[attr.name] = attr.value;\n return attrs;\n }, {});\n}\n\nexports.default = replace;\n\n/***/ }),\n\n/***/ \"./src/tags.json\":\n/*!***********************!*\\\n !*** ./src/tags.json ***!\n \\***********************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, archive, at-sign, award, aperture, bar-chart, bar-chart-2, battery, battery-charging, bell, bell-off, bluetooth, book-open, book, bookmark, box, briefcase, calendar, camera, cast, chevron-down, chevron-up, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, codesandbox, code, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, figma, file-minus, file-plus, file-text, film, filter, flag, folder-minus, folder-plus, folder, framer, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, instagram, key, layers, layout, life-buoy, link, link-2, linkedin, list, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, meh, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, play, pie-chart, play-circle, plus, plus-circle, plus-square, pocket, power, printer, radio, refresh-cw, refresh-ccw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, settings, share-2, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, tool, trash, trash-2, triangle, truck, tv, twitch, twitter, type, umbrella, unlock, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */\n/***/ (function(module) {\n\nmodule.exports = {\"activity\":[\"pulse\",\"health\",\"action\",\"motion\"],\"airplay\":[\"stream\",\"cast\",\"mirroring\"],\"alert-circle\":[\"warning\",\"alert\",\"danger\"],\"alert-octagon\":[\"warning\",\"alert\",\"danger\"],\"alert-triangle\":[\"warning\",\"alert\",\"danger\"],\"align-center\":[\"text alignment\",\"center\"],\"align-justify\":[\"text alignment\",\"justified\"],\"align-left\":[\"text alignment\",\"left\"],\"align-right\":[\"text alignment\",\"right\"],\"anchor\":[],\"archive\":[\"index\",\"box\"],\"at-sign\":[\"mention\",\"at\",\"email\",\"message\"],\"award\":[\"achievement\",\"badge\"],\"aperture\":[\"camera\",\"photo\"],\"bar-chart\":[\"statistics\",\"diagram\",\"graph\"],\"bar-chart-2\":[\"statistics\",\"diagram\",\"graph\"],\"battery\":[\"power\",\"electricity\"],\"battery-charging\":[\"power\",\"electricity\"],\"bell\":[\"alarm\",\"notification\",\"sound\"],\"bell-off\":[\"alarm\",\"notification\",\"silent\"],\"bluetooth\":[\"wireless\"],\"book-open\":[\"read\",\"library\"],\"book\":[\"read\",\"dictionary\",\"booklet\",\"magazine\",\"library\"],\"bookmark\":[\"read\",\"clip\",\"marker\",\"tag\"],\"box\":[\"cube\"],\"briefcase\":[\"work\",\"bag\",\"baggage\",\"folder\"],\"calendar\":[\"date\"],\"camera\":[\"photo\"],\"cast\":[\"chromecast\",\"airplay\"],\"chevron-down\":[\"expand\"],\"chevron-up\":[\"collapse\"],\"circle\":[\"off\",\"zero\",\"record\"],\"clipboard\":[\"copy\"],\"clock\":[\"time\",\"watch\",\"alarm\"],\"cloud-drizzle\":[\"weather\",\"shower\"],\"cloud-lightning\":[\"weather\",\"bolt\"],\"cloud-rain\":[\"weather\"],\"cloud-snow\":[\"weather\",\"blizzard\"],\"cloud\":[\"weather\"],\"codepen\":[\"logo\"],\"codesandbox\":[\"logo\"],\"code\":[\"source\",\"programming\"],\"coffee\":[\"drink\",\"cup\",\"mug\",\"tea\",\"cafe\",\"hot\",\"beverage\"],\"columns\":[\"layout\"],\"command\":[\"keyboard\",\"cmd\",\"terminal\",\"prompt\"],\"compass\":[\"navigation\",\"safari\",\"travel\",\"direction\"],\"copy\":[\"clone\",\"duplicate\"],\"corner-down-left\":[\"arrow\",\"return\"],\"corner-down-right\":[\"arrow\"],\"corner-left-down\":[\"arrow\"],\"corner-left-up\":[\"arrow\"],\"corner-right-down\":[\"arrow\"],\"corner-right-up\":[\"arrow\"],\"corner-up-left\":[\"arrow\"],\"corner-up-right\":[\"arrow\"],\"cpu\":[\"processor\",\"technology\"],\"credit-card\":[\"purchase\",\"payment\",\"cc\"],\"crop\":[\"photo\",\"image\"],\"crosshair\":[\"aim\",\"target\"],\"database\":[\"storage\",\"memory\"],\"delete\":[\"remove\"],\"disc\":[\"album\",\"cd\",\"dvd\",\"music\"],\"dollar-sign\":[\"currency\",\"money\",\"payment\"],\"droplet\":[\"water\"],\"edit\":[\"pencil\",\"change\"],\"edit-2\":[\"pencil\",\"change\"],\"edit-3\":[\"pencil\",\"change\"],\"eye\":[\"view\",\"watch\"],\"eye-off\":[\"view\",\"watch\",\"hide\",\"hidden\"],\"external-link\":[\"outbound\"],\"facebook\":[\"logo\",\"social\"],\"fast-forward\":[\"music\"],\"figma\":[\"logo\",\"design\",\"tool\"],\"file-minus\":[\"delete\",\"remove\",\"erase\"],\"file-plus\":[\"add\",\"create\",\"new\"],\"file-text\":[\"data\",\"txt\",\"pdf\"],\"film\":[\"movie\",\"video\"],\"filter\":[\"funnel\",\"hopper\"],\"flag\":[\"report\"],\"folder-minus\":[\"directory\"],\"folder-plus\":[\"directory\"],\"folder\":[\"directory\"],\"framer\":[\"logo\",\"design\",\"tool\"],\"frown\":[\"emoji\",\"face\",\"bad\",\"sad\",\"emotion\"],\"gift\":[\"present\",\"box\",\"birthday\",\"party\"],\"git-branch\":[\"code\",\"version control\"],\"git-commit\":[\"code\",\"version control\"],\"git-merge\":[\"code\",\"version control\"],\"git-pull-request\":[\"code\",\"version control\"],\"github\":[\"logo\",\"version control\"],\"gitlab\":[\"logo\",\"version control\"],\"globe\":[\"world\",\"browser\",\"language\",\"translate\"],\"hard-drive\":[\"computer\",\"server\",\"memory\",\"data\"],\"hash\":[\"hashtag\",\"number\",\"pound\"],\"headphones\":[\"music\",\"audio\",\"sound\"],\"heart\":[\"like\",\"love\",\"emotion\"],\"help-circle\":[\"question mark\"],\"hexagon\":[\"shape\",\"node.js\",\"logo\"],\"home\":[\"house\",\"living\"],\"image\":[\"picture\"],\"inbox\":[\"email\"],\"instagram\":[\"logo\",\"camera\"],\"key\":[\"password\",\"login\",\"authentication\",\"secure\"],\"layers\":[\"stack\"],\"layout\":[\"window\",\"webpage\"],\"life-buoy\":[\"help\",\"life ring\",\"support\"],\"link\":[\"chain\",\"url\"],\"link-2\":[\"chain\",\"url\"],\"linkedin\":[\"logo\",\"social media\"],\"list\":[\"options\"],\"lock\":[\"security\",\"password\",\"secure\"],\"log-in\":[\"sign in\",\"arrow\",\"enter\"],\"log-out\":[\"sign out\",\"arrow\",\"exit\"],\"mail\":[\"email\",\"message\"],\"map-pin\":[\"location\",\"navigation\",\"travel\",\"marker\"],\"map\":[\"location\",\"navigation\",\"travel\"],\"maximize\":[\"fullscreen\"],\"maximize-2\":[\"fullscreen\",\"arrows\",\"expand\"],\"meh\":[\"emoji\",\"face\",\"neutral\",\"emotion\"],\"menu\":[\"bars\",\"navigation\",\"hamburger\"],\"message-circle\":[\"comment\",\"chat\"],\"message-square\":[\"comment\",\"chat\"],\"mic-off\":[\"record\",\"sound\",\"mute\"],\"mic\":[\"record\",\"sound\",\"listen\"],\"minimize\":[\"exit fullscreen\",\"close\"],\"minimize-2\":[\"exit fullscreen\",\"arrows\",\"close\"],\"minus\":[\"subtract\"],\"monitor\":[\"tv\",\"screen\",\"display\"],\"moon\":[\"dark\",\"night\"],\"more-horizontal\":[\"ellipsis\"],\"more-vertical\":[\"ellipsis\"],\"mouse-pointer\":[\"arrow\",\"cursor\"],\"move\":[\"arrows\"],\"music\":[\"note\"],\"navigation\":[\"location\",\"travel\"],\"navigation-2\":[\"location\",\"travel\"],\"octagon\":[\"stop\"],\"package\":[\"box\",\"container\"],\"paperclip\":[\"attachment\"],\"pause\":[\"music\",\"stop\"],\"pause-circle\":[\"music\",\"audio\",\"stop\"],\"pen-tool\":[\"vector\",\"drawing\"],\"percent\":[\"discount\"],\"phone-call\":[\"ring\"],\"phone-forwarded\":[\"call\"],\"phone-incoming\":[\"call\"],\"phone-missed\":[\"call\"],\"phone-off\":[\"call\",\"mute\"],\"phone-outgoing\":[\"call\"],\"phone\":[\"call\"],\"play\":[\"music\",\"start\"],\"pie-chart\":[\"statistics\",\"diagram\"],\"play-circle\":[\"music\",\"start\"],\"plus\":[\"add\",\"new\"],\"plus-circle\":[\"add\",\"new\"],\"plus-square\":[\"add\",\"new\"],\"pocket\":[\"logo\",\"save\"],\"power\":[\"on\",\"off\"],\"printer\":[\"fax\",\"office\",\"device\"],\"radio\":[\"signal\"],\"refresh-cw\":[\"synchronise\",\"arrows\"],\"refresh-ccw\":[\"arrows\"],\"repeat\":[\"loop\",\"arrows\"],\"rewind\":[\"music\"],\"rotate-ccw\":[\"arrow\"],\"rotate-cw\":[\"arrow\"],\"rss\":[\"feed\",\"subscribe\"],\"save\":[\"floppy disk\"],\"scissors\":[\"cut\"],\"search\":[\"find\",\"magnifier\",\"magnifying glass\"],\"send\":[\"message\",\"mail\",\"email\",\"paper airplane\",\"paper aeroplane\"],\"settings\":[\"cog\",\"edit\",\"gear\",\"preferences\"],\"share-2\":[\"network\",\"connections\"],\"shield\":[\"security\",\"secure\"],\"shield-off\":[\"security\",\"insecure\"],\"shopping-bag\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],\"shopping-cart\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],\"shuffle\":[\"music\"],\"skip-back\":[\"music\"],\"skip-forward\":[\"music\"],\"slack\":[\"logo\"],\"slash\":[\"ban\",\"no\"],\"sliders\":[\"settings\",\"controls\"],\"smartphone\":[\"cellphone\",\"device\"],\"smile\":[\"emoji\",\"face\",\"happy\",\"good\",\"emotion\"],\"speaker\":[\"audio\",\"music\"],\"star\":[\"bookmark\",\"favorite\",\"like\"],\"stop-circle\":[\"media\",\"music\"],\"sun\":[\"brightness\",\"weather\",\"light\"],\"sunrise\":[\"weather\",\"time\",\"morning\",\"day\"],\"sunset\":[\"weather\",\"time\",\"evening\",\"night\"],\"tablet\":[\"device\"],\"tag\":[\"label\"],\"target\":[\"logo\",\"bullseye\"],\"terminal\":[\"code\",\"command line\",\"prompt\"],\"thermometer\":[\"temperature\",\"celsius\",\"fahrenheit\",\"weather\"],\"thumbs-down\":[\"dislike\",\"bad\",\"emotion\"],\"thumbs-up\":[\"like\",\"good\",\"emotion\"],\"toggle-left\":[\"on\",\"off\",\"switch\"],\"toggle-right\":[\"on\",\"off\",\"switch\"],\"tool\":[\"settings\",\"spanner\"],\"trash\":[\"garbage\",\"delete\",\"remove\",\"bin\"],\"trash-2\":[\"garbage\",\"delete\",\"remove\",\"bin\"],\"triangle\":[\"delta\"],\"truck\":[\"delivery\",\"van\",\"shipping\",\"transport\",\"lorry\"],\"tv\":[\"television\",\"stream\"],\"twitch\":[\"logo\"],\"twitter\":[\"logo\",\"social\"],\"type\":[\"text\"],\"umbrella\":[\"rain\",\"weather\"],\"unlock\":[\"security\"],\"user-check\":[\"followed\",\"subscribed\"],\"user-minus\":[\"delete\",\"remove\",\"unfollow\",\"unsubscribe\"],\"user-plus\":[\"new\",\"add\",\"create\",\"follow\",\"subscribe\"],\"user-x\":[\"delete\",\"remove\",\"unfollow\",\"unsubscribe\",\"unavailable\"],\"user\":[\"person\",\"account\"],\"users\":[\"group\"],\"video-off\":[\"camera\",\"movie\",\"film\"],\"video\":[\"camera\",\"movie\",\"film\"],\"voicemail\":[\"phone\"],\"volume\":[\"music\",\"sound\",\"mute\"],\"volume-1\":[\"music\",\"sound\"],\"volume-2\":[\"music\",\"sound\"],\"volume-x\":[\"music\",\"sound\",\"mute\"],\"watch\":[\"clock\",\"time\"],\"wifi-off\":[\"disabled\"],\"wifi\":[\"connection\",\"signal\",\"wireless\"],\"wind\":[\"weather\",\"air\"],\"x-circle\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\",\"clear\"],\"x-octagon\":[\"delete\",\"stop\",\"alert\",\"warning\",\"times\",\"clear\"],\"x-square\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\",\"clear\"],\"x\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\",\"clear\"],\"youtube\":[\"logo\",\"video\",\"play\"],\"zap-off\":[\"flash\",\"camera\",\"lightning\"],\"zap\":[\"flash\",\"camera\",\"lightning\"],\"zoom-in\":[\"magnifying glass\"],\"zoom-out\":[\"magnifying glass\"]};\n\n/***/ }),\n\n/***/ \"./src/to-svg.js\":\n/*!***********************!*\\\n !*** ./src/to-svg.js ***!\n \\***********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _icons = __webpack_require__(/*! ./icons */ \"./src/icons.js\");\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Create an SVG string.\n * @deprecated\n * @param {string} name\n * @param {Object} attrs\n * @returns {string}\n */\nfunction toSvg(name) {\n var attrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n console.warn('feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead.');\n\n if (!name) {\n throw new Error('The required `key` (icon name) parameter is missing.');\n }\n\n if (!_icons2.default[name]) {\n throw new Error('No icon matching \\'' + name + '\\'. See the complete list of icons at https://feathericons.com');\n }\n\n return _icons2.default[name].toSvg(attrs);\n}\n\nexports.default = toSvg;\n\n/***/ }),\n\n/***/ 0:\n/*!**************************************************!*\\\n !*** multi core-js/es/array/from ./src/index.js ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! core-js/es/array/from */\"./node_modules/core-js/es/array/from.js\");\nmodule.exports = __webpack_require__(/*! /home/runner/work/feather/feather/src/index.js */\"./src/index.js\");\n\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=feather.js.map","\n","\n \n\n\n","\n \n\n\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n query = e.target.value\n }\n \"\n :value=\"query\"\n autocomplete=\"off\"\n placeholder=\"Search\"\n />\n \n \n \n 0\"\n >\n \n {{ group.group }}\n \n \n \n \n {{ option.label }}\n \n \n \n \n No results found\n \n \n \n \n \n \n\n\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","\n \n
\n \n \n \n \n \n {{ label && label[0] }}\n \n \n \n \n \n \n \n \n\n\n\n","\n \n \n \n \n {{ props.label?.toString() }} \n \n \n \n \n\n\n\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get();\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(\"InjectionState\");\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(ms, trailing = true, leading = true, rejectOnCancel = false) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?[0-9]+\\.?[0-9]*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n stop == null ? void 0 : stop();\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n stop == null ? void 0 : stop();\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.min(max, count.value + delta);\n const dec = (delta = 1) => count.value = Math.max(min, count.value - delta);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(options.locales, { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(options.locales, { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(options.locales, { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(options.locales, { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(options.locales, { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n return watch(\n source,\n (v, ov, onInvalidate) => {\n if (v)\n cb(v, ov, onInvalidate);\n },\n options\n );\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, computedWithControl, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, createSingletonPromise, useTimeoutFn, pausableWatch, toRef, createEventHook, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, toRefs, notNullish, useIntervalFn, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, tryOnBeforeUnmount, identity, isDef, isWorker } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, readonly, nextTick, reactive, markRaw, unref, getCurrentScope, isVue2, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement)))\n handler(event);\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n timeout = setTimeout(\n () => handler(ev),\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], clear, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n !isFocusedElementEditable() && isTypedCharValid(event) && callback(event);\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = computedWithControl(\n () => null,\n () => getDeepActiveElement()\n );\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n activeElement.trigger();\n }, true);\n useEventListener(window, \"focus\", activeElement.trigger, true);\n }\n return activeElement;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n if (getCurrentInstance()) {\n onMounted(() => {\n isMounted.value = true;\n });\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n const delta = timestamp - (previousFrameTimestamp || timestamp);\n if (intervalLimit && delta < intervalLimit) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n fn({ delta, timestamp });\n previousFrameTimestamp = timestamp;\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n !animate.value && update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n el && update();\n });\n watch(() => keyframes, (value) => {\n !animate.value && update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => {\n nextTick(() => update(true));\n });\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (commitStyles)\n animate.value.commitStyles();\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n activeIndex.value === tasks.length - 1 && onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetify = {\n xs: 600,\n sm: 960,\n md: 1264,\n lg: 1904\n};\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 600,\n sm: 1024,\n md: 1440,\n lg: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[k]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => greaterOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n return Object.assign(shortcutMethods, {\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n greaterOrEqual,\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n smallerOrEqual(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const permissionRead = usePermission(\"clipboard-read\");\n const permissionWrite = usePermission(\"clipboard-write\");\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value && permissionRead.value !== \"denied\") {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value && permissionWrite.value !== \"denied\")\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction useClipboardItems(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500\n } = options;\n const isSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const content = ref([]);\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateContent() {\n if (isSupported.value) {\n navigator.clipboard.read().then((items) => {\n content.value = items;\n });\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateContent);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n await navigator.clipboard.write(value);\n content.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n return {\n isSupported,\n content,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n useEventListener(window, \"storage\", update);\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n return data;\n function write(v) {\n try {\n if (v == null) {\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n const oldValue = storage.getItem(key);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n if (window) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue: serialized,\n storageArea: storage\n }\n }));\n }\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n const styleString = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n style.appendChild(document.createTextNode(styleString));\n window.document.head.appendChild(style);\n }\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n el.classList.add(v);\n else\n el.classList.remove(v);\n });\n } else {\n el.setAttribute(attribute2, value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const stopWatch = watch(\n () => unrefElement(target),\n (el) => {\n cleanup();\n if (isSupported.value && window && el) {\n observer = new MutationObserver(callback);\n observer.observe(el, mutationOptions);\n }\n },\n { immediate: true }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue = \"\", observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n updateCssVar,\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n if ((_a = elRef.value) == null ? void 0 : _a.style)\n elRef.value.style.setProperty(toValue(prop), val);\n }\n );\n return variable;\n}\n\nfunction useCurrentElement() {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const system = computed(() => {\n if (mode.system) {\n return mode.system.value;\n } else {\n const preferredDark = usePreferredDark({ window });\n return preferredDark.value ? \"dark\" : \"light\";\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = ref(1);\n if (window) {\n let observe2 = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup2();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe2, { once: true });\n }, cleanup2 = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe2);\n };\n let media;\n observe2();\n tryOnScopeDispose(cleanup2);\n }\n return { pixelRatio };\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),\n y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n var _a2;\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\") {\n x = e.clientX - pressedDelta.value.x;\n if (container)\n x = Math.min(Math.max(0, x), containerRect.width + container.scrollLeft - targetRect.width);\n }\n if (axis === \"y\" || axis === \"both\") {\n y = e.clientY - pressedDelta.value.y;\n if (container)\n y = Math.min(Math.max(0, y), containerRect.height + container.scrollTop - targetRect.height);\n }\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (!filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n let isDataTypeIncluded = true;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const getFiles = (event) => {\n var _a, _b;\n const list = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n return files.value = list.length === 0 ? null : list;\n };\n useEventListener(target, \"dragenter\", (event) => {\n var _a, _b;\n const types = Array.from(((_a = event == null ? void 0 : event.dataTransfer) == null ? void 0 : _a.items) || []).map((i) => i.kind === \"file\" ? i.type : null).filter(notNullish);\n if (_options.dataTypes && event.dataTransfer) {\n const dataTypes = unref(_options.dataTypes);\n isDataTypeIncluded = typeof dataTypes === \"function\" ? dataTypes(types) : dataTypes ? dataTypes.some((item) => types.includes(item)) : true;\n if (!isDataTypeIncluded)\n return;\n }\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n (_b = _options.onEnter) == null ? void 0 : _b.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragover\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n (_a = _options.onOver) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragleave\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_a = _options.onLeave) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"drop\", (event) => {\n var _a;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n (_a = _options.onDrop) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => Array.isArray(target) ? target.map((el) => unrefElement(el)) : [unrefElement(target)]);\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els)\n _el && observer.observe(_el, observerOptions);\n }\n },\n { immediate: true, flush: \"post\", deep: true }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function update() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n useMutationObserver(target, update, {\n attributeFilter: [\"style\", \"class\"]\n });\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const styles = window.getComputedStyle($elem);\n width.value = Number.parseFloat(styles.width);\n height.value = Number.parseFloat(styles.height);\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0.1,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold: 0\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const {\n withCredentials = false\n } = options;\n const close = () => {\n if (eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n }\n };\n const es = new EventSource(url, { withCredentials });\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n eventSource,\n event,\n data,\n status,\n error,\n close\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nfunction isAbsoluteURL(url) {\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries([...headers.entries()]);\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n let executeCounter = 0;\n const execute = async (throwOnFailed = false) => {\n var _a2, _b;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n executeCounter += 1;\n const currentExecuteCounter = executeCounter;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_b = context.options) == null ? void 0 : _b.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse.clone()[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return fetchResponse;\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n throw fetchError;\n return null;\n }).finally(() => {\n if (currentExecuteCounter === executeCounter)\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished,\n statusCode,\n response,\n error,\n data,\n isFetching,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false,\n directory: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n trigger(files.value);\n };\n }\n const reset = () => {\n files.value = null;\n if (input) {\n input.value = \"\";\n trigger(null);\n }\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n input.webkitdirectory = _options.directory;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateFile();\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateFile();\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus();\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n ...gamepad,\n id: gamepad.id,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad) {\n const index = gamepads.value.findIndex(({ index: index2 }) => index2 === gamepad.index);\n if (index > -1)\n gamepads.value[index] = stateFromGamepad(gamepad);\n }\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n if (_gamepads) {\n for (let i = 0; i < _gamepads.length; ++i) {\n const gamepad = _gamepads[i];\n if (gamepad)\n onGamepadConnected(gamepad);\n }\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = target.document ? target.document.documentElement : (_a = target.documentElement) != null ? _a : target;\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= 0 + (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= 0 + (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n isPlaying ? el.play() : el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = shallowReactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return shallowReactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return shallowReactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const type = options.type || \"page\";\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el)\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n elementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true, capture });\n useEventListener(window, \"mouseup\", onReleased, { passive: true, capture });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"drop\", onReleased, { passive: true, capture });\n useEventListener(window, \"dragend\", onReleased, { passive: true, capture });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true, capture });\n useEventListener(window, \"touchend\", onReleased, { passive: true, capture });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true, capture });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) {\n syncRef(page, currentPage, {\n direction: isReadonly(page) ? \"ltr\" : \"both\"\n });\n }\n if (isRef(pageSize)) {\n syncRef(pageSize, currentPageSize, {\n direction: isReadonly(pageSize) ? \"ltr\" : \"both\"\n });\n }\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0))\n return \"deviceOrientation\";\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = -orientation.beta / 90;\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n const value = orientation.gamma / 90;\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument, pointerLockOptions } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e, options2) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock(options2 != null ? options2 : pointerLockOptions);\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n disableTextSelect = false\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n })\n ];\n tryOnMounted(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n if (disableTextSelect) {\n (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"-webkit-user-select\", \"none\");\n (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty(\"-ms-user-select\", \"none\");\n (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty(\"user-select\", \"none\");\n }\n });\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (isSupported.value && typeof screenOrientation.lock === \"function\")\n return screenOrientation.lock(type);\n return Promise.reject(new Error(\"Not supported\"));\n };\n const unlockOrientation = () => {\n if (isSupported.value && typeof screenOrientation.unlock === \"function\")\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow;\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, initialOverflow);\n if (isLocked.value)\n ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n var _a;\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n isIOS && (stopTouchMoveListener == null ? void 0 : stopTouchMoveListener());\n el.style.overflow = (_a = elInitialOverflow.get(el)) != null ? _a : \"\";\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else\n unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const transcript = Array.from(event.results).map((result2) => {\n isFinal.value = result2.isFinal;\n return result2[0];\n }).map((result2) => result2.transcript).join(\"\");\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n utterance && synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorageAsync\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else\n data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const textareaScrollHeight = ref(1);\n function triggerResize() {\n var _a, _b;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style.height = \"1px\";\n textareaScrollHeight.value = (_a = textarea.value) == null ? void 0 : _a.scrollHeight;\n if (options == null ? void 0 : options.styleTarget)\n toValue(options.styleTarget).style.height = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style.height = height;\n (_b = options == null ? void 0 : options.onResize) == null ? void 0 : _b.call(options);\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n useResizeObserver(textarea, () => triggerResize());\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b, _c;\n const {\n document = defaultDocument,\n restoreOnUnmount = (t) => t\n } = options;\n const originalTitle = (_a = document == null ? void 0 : document.title) != null ? _a : \"\";\n const title = toRef((_b = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _b : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_c = document.head) == null ? void 0 : _c.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n tryOnBeforeUnmount(() => {\n if (restoreOnUnmount) {\n const restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n if (restoredTitle != null && document)\n document.title = restoredTitle;\n }\n });\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, calculateRange) {\n watch([size.width, size.height, list], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n let wakeLock;\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = ref(false);\n async function onVisibilityChange() {\n if (!isSupported.value || !wakeLock)\n return;\n if (document && document.visibilityState === \"visible\")\n wakeLock = await navigator.wakeLock.request(\"screen\");\n isActive.value = !wakeLock.released;\n }\n if (document)\n useEventListener(document, \"visibilitychange\", onVisibilityChange, { passive: true });\n async function request(type) {\n if (!isSupported.value)\n return;\n wakeLock = await navigator.wakeLock.request(type);\n isActive.value = !wakeLock.released;\n }\n async function release() {\n if (!isSupported.value || !wakeLock)\n return;\n await wakeLock.release();\n isActive.value = !wakeLock.released;\n wakeLock = null;\n }\n return {\n isSupported,\n isActive,\n request,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => !!window && \"Notification\" in window);\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!isClient || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n wsRef.value = void 0;\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === message)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n if (isClient)\n useEventListener(\"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient && !isWorker)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction depsParser(deps) {\n if (deps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n return `importScripts(${depsString})`;\n}\n\nfunction createWorkerBlobUrl(fn, deps) {\n const blobCode = `${depsParser(deps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n promise.value = {\n resolve,\n reject\n };\n worker.value && worker.value.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow, behavior = \"auto\" } = options;\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const internalX = ref(window.scrollX);\n const internalY = ref(window.scrollY);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo({ left: x2, behavior });\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo({ top: y2, behavior });\n }\n });\n useEventListener(\n window,\n \"scroll\",\n () => {\n internalX.value = window.scrollX;\n internalY.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","\n \n\n\n\n","\n \n \n \n \n \n \n /\n \n \n \n \n \n \n \n {{ item.label }}\n \n \n \n /\n \n \n \n \n\n\n","let id = 0\nfunction generateId() {\n return ++id\n}\n\nexport function useId() {\n return 'frappe-ui-' + generateId()\n}\n","\n \n $emit('update:modelValue', (e.target as HTMLInputElement).checked)\"\n v-bind=\"attrs\"\n />\n \n \n\n\n","export default function debounce(\n func: Function,\n wait: number,\n immediate?: boolean\n) {\n var timeout: number | undefined\n return function () {\n var context = this,\n args = arguments\n var later = function () {\n timeout = undefined\n if (!immediate) func.apply(context, args)\n }\n var callNow = immediate && !timeout\n clearTimeout(timeout)\n timeout = window.setTimeout(later, wait)\n if (callNow) func.apply(context, args)\n }\n}\n","\n \n\n\n\n\n","\n \n \n \n \n \n \n \n \n {{ formatMonth }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ d }}\n \n \n \n \n {\n selectDate(date)\n togglePopover()\n }\n \"\n >\n {{ date.getDate() }}\n \n \n \n \n \n {\n selectDate('')\n togglePopover()\n }\n \"\n >\n Clear\n \n \n \n \n \n\n\n\n","\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ options.title || 'Untitled' }}\n
\n \n \n \n \n \n\n \n \n {{ options.message }}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","\n \n\n\n\n","interface UploadOptions {\n private?: boolean\n folder?: string\n file_url?: string\n doctype?: string\n docname?: string\n fieldname?: string\n method?: string\n type?: string\n upload_endpoint?: string\n}\n\ntype EventListenerOption = 'start' | 'progress' | 'finish' | 'error'\n\ndeclare global {\n interface Window {\n csrf_token?: string\n }\n}\n\nclass FileUploadHandler {\n listeners: { [event: string]: Function[] }\n failed: boolean\n\n constructor() {\n this.listeners = {}\n this.failed = false\n }\n\n on(event: EventListenerOption, handler: Function) {\n this.listeners[event] = this.listeners[event] || []\n this.listeners[event].push(handler)\n }\n\n trigger(event: string, data?: any) {\n let handlers = this.listeners[event] || []\n handlers.forEach((handler) => {\n handler.call(this, data)\n })\n }\n\n upload(file: File | null, options: UploadOptions): Promise {\n return new Promise((resolve, reject) => {\n let xhr = new XMLHttpRequest()\n xhr.upload.addEventListener('loadstart', () => {\n this.trigger('start')\n })\n xhr.upload.addEventListener('progress', (e) => {\n if (e.lengthComputable) {\n this.trigger('progress', {\n uploaded: e.loaded,\n total: e.total,\n })\n }\n })\n xhr.upload.addEventListener('load', () => {\n this.trigger('finish')\n })\n xhr.addEventListener('error', () => {\n this.trigger('error')\n reject()\n })\n xhr.onreadystatechange = () => {\n if (xhr.readyState == XMLHttpRequest.DONE) {\n let error\n if (xhr.status === 200) {\n let r = null\n try {\n r = JSON.parse(xhr.responseText)\n } catch (e) {\n r = xhr.responseText\n }\n let out = r.message || r\n resolve(out)\n } else if (xhr.status === 403) {\n error = JSON.parse(xhr.responseText)\n } else {\n this.failed = true\n try {\n error = JSON.parse(xhr.responseText)\n } catch (e) {\n // pass\n }\n }\n if (error && error.exc) {\n console.error(JSON.parse(error.exc)[0])\n }\n reject(error)\n }\n }\n\n const uploadEndpoint =\n options.upload_endpoint || '/api/method/upload_file'\n xhr.open('POST', uploadEndpoint, true)\n xhr.setRequestHeader('Accept', 'application/json')\n\n if (window.csrf_token && window.csrf_token !== '{{ csrf_token }}') {\n xhr.setRequestHeader('X-Frappe-CSRF-Token', window.csrf_token)\n }\n\n let form_data = new FormData()\n if (file) {\n form_data.append('file', file, file.name)\n }\n form_data.append('is_private', options.private || false ? '1' : '0')\n form_data.append('folder', options.folder || 'Home')\n\n if (options.file_url) {\n form_data.append('file_url', options.file_url)\n }\n\n if (options.doctype) {\n form_data.append('doctype', options.doctype)\n }\n\n if (options.docname) {\n form_data.append('docname', options.docname)\n }\n\n if (options.fieldname) {\n form_data.append('fieldname', options.fieldname)\n }\n\n if (options.method) {\n form_data.append('method', options.method)\n }\n\n if (options.type) {\n form_data.append('type', options.type)\n }\n\n xhr.send(form_data)\n })\n }\n}\n\nexport default FileUploadHandler\n","\n \n \n \n \n\n\n\n","\n \n \n \n \n \n \n \n \n \n\n\n\n","\n \n \n \n \n \n \n\n\n\n","\n \n\n\n\n","\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ description }}
\n \n \n \n\n\n\n","\n (changedIndex = idx)\"\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n","// ::- Persistent data structure representing an ordered mapping from\n// strings to values, with some convenient update methods.\nfunction OrderedMap(content) {\n this.content = content;\n}\n\nOrderedMap.prototype = {\n constructor: OrderedMap,\n\n find: function(key) {\n for (var i = 0; i < this.content.length; i += 2)\n if (this.content[i] === key) return i\n return -1\n },\n\n // :: (string) → ?any\n // Retrieve the value stored under `key`, or return undefined when\n // no such key exists.\n get: function(key) {\n var found = this.find(key);\n return found == -1 ? undefined : this.content[found + 1]\n },\n\n // :: (string, any, ?string) → OrderedMap\n // Create a new map by replacing the value of `key` with a new\n // value, or adding a binding to the end of the map. If `newKey` is\n // given, the key of the binding will be replaced with that key.\n update: function(key, value, newKey) {\n var self = newKey && newKey != key ? this.remove(newKey) : this;\n var found = self.find(key), content = self.content.slice();\n if (found == -1) {\n content.push(newKey || key, value);\n } else {\n content[found + 1] = value;\n if (newKey) content[found] = newKey;\n }\n return new OrderedMap(content)\n },\n\n // :: (string) → OrderedMap\n // Return a map with the given key removed, if it existed.\n remove: function(key) {\n var found = this.find(key);\n if (found == -1) return this\n var content = this.content.slice();\n content.splice(found, 2);\n return new OrderedMap(content)\n },\n\n // :: (string, any) → OrderedMap\n // Add a new key to the start of the map.\n addToStart: function(key, value) {\n return new OrderedMap([key, value].concat(this.remove(key).content))\n },\n\n // :: (string, any) → OrderedMap\n // Add a new key to the end of the map.\n addToEnd: function(key, value) {\n var content = this.remove(key).content.slice();\n content.push(key, value);\n return new OrderedMap(content)\n },\n\n // :: (string, string, any) → OrderedMap\n // Add a key after the given key. If `place` is not found, the new\n // key is added to the end.\n addBefore: function(place, key, value) {\n var without = this.remove(key), content = without.content.slice();\n var found = without.find(place);\n content.splice(found == -1 ? content.length : found, 0, key, value);\n return new OrderedMap(content)\n },\n\n // :: ((key: string, value: any))\n // Call the given function for each key/value pair in the map, in\n // order.\n forEach: function(f) {\n for (var i = 0; i < this.content.length; i += 2)\n f(this.content[i], this.content[i + 1]);\n },\n\n // :: (union