{"version":3,"file":"js/9966-a8f9cedd1e09e1c498bd.js","mappings":"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","sources":["webpack://app/./node_modules/@intlify/shared/dist/shared.mjs","webpack://app/./node_modules/@intlify/message-compiler/dist/message-compiler.mjs","webpack://app/./node_modules/@intlify/core-base/dist/core-base.mjs","webpack://app/./node_modules/vue-i18n/dist/vue-i18n.mjs"],"sourcesContent":["/*!\n * shared v11.1.0\n * (c) 2025 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : create()));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\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(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\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 + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v11.1.0\n * (c) 2025 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16\n};\n// Special value for higher-order compilers to pick up the last code\n// to avoid collision of error codes.\n// This should always be kept as the last item.\nconst COMPILE_ERROR_CODES_EXTEND_POINT = 17;\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 13 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 13 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 7 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '') => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return hasSpace;\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 4 /* TokenTypes.Named */ ||\n context.currentType === 5 /* TokenTypes.List */ ||\n context.currentType === 6 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 8 /* TokenTypes.LinkedDot */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */ ||\n currentType === 9 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 7 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 8 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 7 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 13 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 13 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 11 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 8 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 10 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 13 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 13 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 13 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 13 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 13 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {}) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { COMPILE_ERROR_CODES_EXTEND_POINT, CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v11.1.0\n * (c) 2025 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, hasOwn, isNumber, create, isObject, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray, isPlainObject, assign, isRegExp, warnOnce, isEmptyObject, isDate, join, toDisplayString, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey } from '@intlify/shared';\nimport { detectHtmlTag, defaultOnError, baseCompile as baseCompile$1, COMPILE_ERROR_CODES_EXTEND_POINT, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue$1(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue$1(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue$1(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue$1(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue$1(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction clearCompileCache() {\n compileCache = create();\n}\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nfunction compile(message, context) {\n if ((!__INTLIFY_DROP_MESSAGE_COMPILER__) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit('i18n:init', {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = \n/* #__PURE__*/ createDevToolsHook('function:translate');\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: COMPILE_ERROR_CODES_EXTEND_POINT, // 17\n INVALID_DATE_ARGUMENT: 18,\n INVALID_ISO_DATE_ARGUMENT: 19,\n NOT_SUPPORT_NON_STRING_MESSAGE: 20,\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21,\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22,\n NOT_SUPPORT_LOCALE_TYPE: 23\n};\nconst CORE_ERROR_CODES_EXTEND_POINT = 24;\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7\n};\nconst CORE_WARN_CODES_EXTEND_POINT = 8;\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '11.1.0';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('missing', {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || create();\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key, useLinked) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key, !!useLinked)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key, true)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n };\n return ctx;\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : null;\n const enableDefaultMsg = fallbackFormat ||\n (defaultMsgOrKey != null &&\n (isString(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || create()\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = create();\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || create();\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit('message-resolve', {\n type: 'message-resolve',\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit('message-compilation', {\n type: 'message-compilation',\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit('message-evaluation', {\n type: 'message-evaluation',\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = create();\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit('compile-error', {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key, useLinked) => {\n let val = resolveValue(message, key);\n // fallback\n if (val == null && (fallbackContext || useLinked)) {\n const [, , message] = resolveMessageFormat(fallbackContext || context, // NOTE: if has fallbackContext, fallback to root, else if use linked, fallback to local context\n key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v11.1.0\n * (c) 2025 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { CORE_ERROR_CODES_EXTEND_POINT, createCompileError, CORE_WARN_CODES_EXTEND_POINT, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { getGlobalThis, makeSymbol, format, isObject, create, isPlainObject, isArray, deepCopy, isString, hasOwn, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, warnOnce, isEmptyObject } from '@intlify/shared';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '11.1.0';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\n\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: CORE_WARN_CODES_EXTEND_POINT, // 8\n NOT_FOUND_PARENT_SCOPE: 9,\n IGNORE_OBJ_FLATTEN: 10,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_LEGACY_MODE: 11,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE: 12\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_LEGACY_MODE]: `Legacy API mode has been deprecated in v11. Use Composition API mode instead.\\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]: `'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = create();\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? create()\n : { [locale]: create() });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || create();\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n // prettier-ignore\n let messages = isObject(options.messages)\n ? options.messages\n : create();\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit('fallback', {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved));\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nconst VueDevToolsLabels = {\n 'vue-devtools-plugin-vue-i18n': 'Vue I18n DevTools',\n 'vue-i18n-resource-inspector': 'Vue I18n DevTools',\n 'vue-i18n-timeline': 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n 'vue-i18n-resource-inspector': 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n 'vue-i18n-timeline': 0xffcd19\n};\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: 'vue-devtools-plugin-vue-i18n',\n label: VueDevToolsLabels['vue-devtools-plugin-vue-i18n'],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: 'vue-i18n-resource-inspector',\n label: VueDevToolsLabels['vue-i18n-resource-inspector'],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders['vue-i18n-resource-inspector']\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: 'vue-i18n-timeline',\n label: VueDevToolsLabels['vue-i18n-timeline'],\n color: VueDevToolsTimelineColors['vue-i18n-timeline']\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$2(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: 'vue-i18n-timeline',\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === 'compile-error'\n ? 'error'\n : event === 'fallback' || event === 'missing'\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n *\n * @deprecated will be removed at vue-i18n v12\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, create());\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\n/**\n * @deprecated will be removed at vue-i18n v12\n */\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n if ((process.env.NODE_ENV !== 'production')) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE));\n }\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n if ((process.env.NODE_ENV !== 'production') && __legacyMode) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_LEGACY_MODE));\n }\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode) {\n const scope = effectScope();\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nregisterMessageCompiler(compile);\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n"],"names":["inBrowser","window","name","shareable","Symbol","for","generateFormatCacheKey","locale","key","source","friendlyJSONstringify","l","k","s","json","JSON","stringify","replace","isNumber","val","isFinite","isDate","toTypeString","isRegExp","isEmptyObject","isPlainObject","Object","keys","length","assign","_create","create","obj","_globalThis","getGlobalThis","globalThis","self","global","escapeHtml","rawText","prototype","hasOwnProperty","hasOwn","call","Array","isArray","isPromise","then","catch","objectToString","toString","value","join","items","separator","reduce","str","item","index","msg","err","console","warn","stack","isNotObjectOrIsArray","deepCopy","src","des","Error","pop","forEach","push","createLocation","start","end","loc","CompileErrorCodes","createCompileError","code","options","domain","messages","args","error","SyntaxError","String","location","defaultOnError","CHAR_SP","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isPS","isLS","isLineEnd","isLF","charAt","offset","next","line","column","peekOffset","currentChar","currentPeek","peek","reset","resetPeek","skipToPeek","target","EOF","undefined","createTokenizer","_scnr","currentOffset","currentPosition","createPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","text","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isListIdentifierStart","ret","isNumberStart","isPluralStart","isTextStart","fn","hasSpace","prev","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","isLiteral","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","i","isInvalidIdentifier","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isNamedIdentifierStart","readNamedIdentifier","readListIdentifier","isLiteralStart","literal","current","readLiteral","identifiers","readInvalidIdentifier","isLinkedDotStart","isLinkedDelimiterStart","isLinkedModifierStart","readLinkedModifier","isLinkedReferStart","readLinkedRefer","readText","nextToken","KNOWN_ESCAPES","fromEscapeSequence","match","codePoint4","codePoint6","codePoint","parseInt","fromCodePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinked","linkedNode","parsed","nextConsumeToken","getTokenCaption","parseLinkedModifier","modifier","parseLinkedKey","nextContext","emptyLinkedKeyNode","parseMessage","parseResource","msgNode","hasEmptyMessage","cases","parsePlural","parse","body","onCacheKey","cacheKey","slice","traverseNodes","nodes","transformer","traverseNode","helper","transform","ast","helpers","Set","add","createTransformer","from","optimizeMessageNode","message","static","values","minify","t","resource","b","c","valueNode","v","linked","m","list","named","generateNode","generator","generateResource","needIndent","indent","deindent","generatePluralNode","generateMessageNode","generateLinkedNode","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","optimize","mode","filename","sourceMap","breakLineCode","_needIndent","map","indentLevel","_newline","n","withBreakLine","_breakLineCode","repeat","withNewLine","level","newline","createCodeGenerator","toJSON","generate","resolveProps","PROPS_BODY","createUnhandleNodeError","resolveType","PROPS_CASES","resolveCases","formatMessageParts","formatParts","static_","PROPS_STATIC","resolveStatic","normalize","PROPS_ITEMS","resolveItems","acm","formatMessagePart","resolveValue$1","interpolate","PROPS_MODIFIER","resolveLinkedModifier","resolved","PROPS_KEY","resolveLinkedKey","PROPS_TYPE","PROPS_VALUE","props","defaultValue","prop","defaultOnCacheKey","compileCache","devtools","translateDevTools","createDevToolsHook","hook","payloads","emit","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","NOT_SUPPORT_NON_STRING_MESSAGE","NOT_SUPPORT_LOCALE_PROMISE_VALUE","NOT_SUPPORT_LOCALE_ASYNC_FUNCTION","NOT_SUPPORT_LOCALE_TYPE","createCoreError","getLocale","resolveLocale","_resolveLocale","resolvedOnce","constructor","resolve","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","Map","chain","get","block","appendBlockToChain","defaults","set","blocks","follow","appendLocaleToChain","tokens","split","appendItemToChain","splice","includes","pathStateMachine","literalValueRE","getPathCharType","formatSubPath","path","trimmed","trim","isNaN","exp","test","a","stripQuotes","cache","resolveWithKeyValue","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","_compiler","_resolver","_fallbacker","_additionalMeta","setAdditionalMeta","meta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","onWarn","version","_locale","fallbackLocale","createResources","datetimeFormats","numberFormats","modifiers","upper","toUpperCase","children","lower","toLowerCase","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","__INTLIFY_PROD_DEVTOOLS__","i18n","timestamp","Date","now","initI18nDevTools","handleMissing","updateFallbackLocale","isImplicitFallback","targetLocale","locales","indexOf","compareLocale","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","format","datetimeFormat","to","id","formatter","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg1","arg2","arg3","arg4","matches","dateTime","startsWith","toISOString","getTime","clearDateTimeFormat","has","delete","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","Math","abs","min","createMessageContext","pluralIndex","count","getPluralIndex","pluralRule","orgPluralRule","_list","_named","normalizeNamed","useLinked","parent","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","resolveValue","resolveMessage","getMessageContextOptions","messaged","msgCtx","evaluateMessage","missingRet","getCompileContext","__INTLIFY_DROP_MESSAGE_COMPILER__","I18nErrorCodes","UNEXPECTED_RETURN_TYPE","MUST_BE_CALL_SETUP_TOP","NOT_INSTALLED","REQUIRED_VALUE","INVALID_VALUE","CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN","NOT_INSTALLED_WITH_PROVIDE","UNEXPECTED_ERROR","NOT_COMPATIBLE_LEGACY_VUE_I18N","NOT_AVAILABLE_COMPOSITION_IN_LEGACY","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","instance","adjustI18nResources","gl","componentOptions","__i18nGlobal","mergeLocaleMessage","mergeDateTimeFormat","mergeNumberFormat","createTextNode","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","__root","__injectWithOption","_isGlobal","_ref","_inheritLocale","inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","framework","getCoreContext","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","Reflect","apply","root","getLocaleMessage","composer","availableLocales","sort","isGlobal","setLocaleMessage","_message","getPostTranslationHandler","setPostTranslationHandler","handler","getMissingHandler","setMissingHandler","rules","rt","te","tm","targetLocaleMessages","messageValue","resolveMessages","d","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","createVueI18n","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","convertComposerOptions","__extender","vueI18n","__composer","mergeToGlobal","g","baseFormatProps","tag","scope","validator","getFragmentableTag","Translation","keypath","required","Number","setup","slots","attrs","useI18n","useScope","__useComponent","filter","arg","slot","getInterpolateArg","assignedAttrs","h","renderFormatter","slotKeys","partFormatter","parts","parseValue","makeParams","app","pluginOptions","globalInstall","component","DatetimeFormat","directive","_process","binding","$","i18nInternal","__getInstance","getComposer$1","parsedValue","created","el","textContent","__i18nWatcher","$forceUpdate","unmounted","beforeUpdate","getSSRProps","vTDirective","I18nInjectionKey","createI18n","__legacyMode","__VUE_I18N_LEGACY_API__","legacy","__globalInjection","globalInjection","__instances","globalScope","__global","legacyMode","run","createGlobal","symbol","install","__VUE_I18N_SYMBOL__","provide","opts","__composerExtend","__vueI18nExtend","globalReleaseHandler","globalExportProps","desc","getOwnPropertyDescriptor","wrap","defineProperty","config","globalProperties","$i18n","globalExportMethods","method","dispose","injectGlobalFields","__VUE_I18N_FULL_INSTALL__","mixin","vuei18n","beforeCreate","this","$options","optionsI18n","$root","_vueI18n","__disposer","$t","$rt","$te","$d","$n","$tm","__setInstance","mounted","__deleteInstance","defineMixin","unmountApp","unmount","stop","isCE","appContext","getI18nInstance","getGlobalComposer","getScope","useComponent","vnode","getParentComponentInstance","getComposer","composerOptions","_composer","setupLifeCycle","cached","detectError","hit","newChar","transition","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","len","last","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__"],"sourceRoot":""}