{"version":3,"file":"i18n-dXnUjQop.js","sources":["../../../node_modules/vue-i18n/dist/vue-i18n.esm.js","../../../app/frontend/entrypoints/i18n.js"],"sourcesContent":["/*!\n * vue-i18n v8.27.2 \n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\n/* */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n 'compactDisplay',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'localeMatcher',\n 'notation',\n 'numberingSystem',\n 'signDisplay',\n 'style',\n 'unit',\n 'unitDisplay',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits'\n];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\n\nfunction error (msg, err) {\n if (typeof console !== 'undefined') {\n console.error('[vue-i18n] ' + msg);\n /* istanbul ignore if */\n if (err) {\n console.error(err.stack);\n }\n }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n return val === null || val === undefined\n}\n\nfunction isFunction (val) {\n return typeof val === 'function'\n}\n\nfunction parseArgs () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var locale = null;\n var params = null;\n if (args.length === 1) {\n if (isObject(args[0]) || isArray(args[0])) {\n params = args[0];\n } else if (typeof args[0] === 'string') {\n locale = args[0];\n }\n } else if (args.length === 2) {\n if (typeof args[0] === 'string') {\n locale = args[0];\n }\n /* istanbul ignore if */\n if (isObject(args[1]) || isArray(args[1])) {\n params = args[1];\n }\n }\n\n return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n if (arr.delete(item)) {\n return arr\n }\n}\n\nfunction arrayFrom (arr) {\n var ret = [];\n arr.forEach(function (a) { return ret.push(a); });\n return ret\n}\n\nfunction includes (arr, item) {\n return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n var arguments$1 = arguments;\n\n var output = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments$1[i];\n if (source !== undefined && source !== null) {\n var key = (void 0);\n for (key in source) {\n if (hasOwn(source, key)) {\n if (isObject(source[key])) {\n output[key] = merge(output[key], source[key]);\n } else {\n output[key] = source[key];\n }\n }\n }\n }\n }\n return output\n}\n\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = isArray(a);\n var isArrayB = isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Sanitizes html special characters from input strings. For mitigating risk of XSS attacks.\n * @param rawText The raw input from the user that should be escaped.\n */\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n}\n\n/**\n * Escapes html tags and special symbols from all provided params which were returned from parseArgs().params.\n * This method performs an in-place operation on the params object.\n *\n * @param {any} params Parameters as provided from `parseArgs().params`.\n * May be either an array of strings or a string->any map.\n *\n * @returns The manipulated `params` object.\n */\nfunction escapeParams(params) {\n if(params != null) {\n Object.keys(params).forEach(function (key) {\n if(typeof(params[key]) == 'string') {\n params[key] = escapeHtml(params[key]);\n }\n });\n }\n return params\n}\n\n/* */\n\nfunction extend (Vue) {\n if (!Vue.prototype.hasOwnProperty('$i18n')) {\n // $FlowFixMe\n Object.defineProperty(Vue.prototype, '$i18n', {\n get: function get () { return this._i18n }\n });\n }\n\n Vue.prototype.$t = function (key) {\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n var i18n = this.$i18n;\n return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n };\n\n Vue.prototype.$tc = function (key, choice) {\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n var i18n = this.$i18n;\n return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n };\n\n Vue.prototype.$te = function (key, locale) {\n var i18n = this.$i18n;\n return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n };\n\n Vue.prototype.$d = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n };\n\n Vue.prototype.$n = function (value) {\n var ref;\n\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n };\n}\n\n/* */\n\n/**\n * Mixin\n * \n * If `bridge` mode, empty mixin is returned,\n * else regulary mixin implementation is returned.\n */\nfunction defineMixin (bridge) {\n if ( bridge === void 0 ) bridge = false;\n\n function mounted () {\n if (this !== this.$root && this.$options.__INTLIFY_META__ && this.$el) {\n this.$el.setAttribute('data-intlify', this.$options.__INTLIFY_META__);\n }\n }\n\n return bridge\n ? { mounted: mounted } // delegate `vue-i18n-bridge` mixin implementation\n : { // regulary \n beforeCreate: function beforeCreate () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n = options.__i18nBridge || options.__i18n;\n _i18n.forEach(function (resource) {\n localeMessages = merge(localeMessages, JSON.parse(resource));\n });\n Object.keys(localeMessages).forEach(function (locale) {\n options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n });\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n this._i18n = options.i18n;\n this._i18nWatcher = this._i18n.watchI18nData();\n } else if (isPlainObject(options.i18n)) {\n var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n ? this.$root.$i18n\n : null;\n // component local i18n\n if (rootI18n) {\n options.i18n.root = this.$root;\n options.i18n.formatter = rootI18n.formatter;\n options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n }\n\n // init locale messages via custom blocks\n if ((options.__i18nBridge || options.__i18n)) {\n try {\n var localeMessages$1 = options.i18n && options.i18n.messages ? options.i18n.messages : {};\n var _i18n$1 = options.__i18nBridge || options.__i18n;\n _i18n$1.forEach(function (resource) {\n localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n });\n options.i18n.messages = localeMessages$1;\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot parse locale messages via custom blocks.\", e);\n }\n }\n }\n\n var ref = options.i18n;\n var sharedMessages = ref.sharedMessages;\n if (sharedMessages && isPlainObject(sharedMessages)) {\n options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n }\n\n this._i18n = new VueI18n(options.i18n);\n this._i18nWatcher = this._i18n.watchI18nData();\n\n if (options.i18n.sync === undefined || !!options.i18n.sync) {\n this._localeWatcher = this.$i18n.watchLocale();\n }\n\n if (rootI18n) {\n rootI18n.onComponentInstanceCreated(this._i18n);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n // root i18n\n this._i18n = this.$root.$i18n;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n // parent i18n\n this._i18n = options.parent.$i18n;\n }\n },\n\n beforeMount: function beforeMount () {\n var options = this.$options;\n options.i18n = options.i18n || ((options.__i18nBridge || options.__i18n) ? {} : null);\n\n if (options.i18n) {\n if (options.i18n instanceof VueI18n) {\n // init locale messages via custom blocks\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (isPlainObject(options.i18n)) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Cannot be interpreted 'i18n' option.\");\n }\n }\n } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n this._i18n.subscribeDataChanging(this);\n this._subscribing = true;\n }\n },\n\n mounted: mounted,\n\n beforeDestroy: function beforeDestroy () {\n if (!this._i18n) { return }\n\n var self = this;\n this.$nextTick(function () {\n if (self._subscribing) {\n self._i18n.unsubscribeDataChanging(self);\n delete self._subscribing;\n }\n\n if (self._i18nWatcher) {\n self._i18nWatcher();\n self._i18n.destroyVM();\n delete self._i18nWatcher;\n }\n\n if (self._localeWatcher) {\n self._localeWatcher();\n delete self._localeWatcher;\n }\n });\n }\n }\n}\n\n/* */\n\nvar interpolationComponent = {\n name: 'i18n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n path: {\n type: String,\n required: true\n },\n locale: {\n type: String\n },\n places: {\n type: [Array, Object]\n }\n },\n render: function render (h, ref) {\n var data = ref.data;\n var parent = ref.parent;\n var props = ref.props;\n var slots = ref.slots;\n\n var $i18n = parent.$i18n;\n if (!$i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return\n }\n\n var path = props.path;\n var locale = props.locale;\n var places = props.places;\n var params = slots();\n var children = $i18n.i(\n path,\n locale,\n onlyHasDefaultPlace(params) || places\n ? useLegacyPlaces(params.default, places)\n : params\n );\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag ? h(tag, data, children) : children\n }\n};\n\nfunction onlyHasDefaultPlace (params) {\n var prop;\n for (prop in params) {\n if (prop !== 'default') { return false }\n }\n return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n var params = places ? createParamsFromPlaces(places) : {};\n\n if (!children) { return params }\n\n // Filter empty text nodes\n children = children.filter(function (child) {\n return child.tag || child.text.trim() !== ''\n });\n\n var everyPlace = children.every(vnodeHasPlaceAttribute);\n if (process.env.NODE_ENV !== 'production' && everyPlace) {\n warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return children.reduce(\n everyPlace ? assignChildPlace : assignChildIndex,\n params\n )\n}\n\nfunction createParamsFromPlaces (places) {\n if (process.env.NODE_ENV !== 'production') {\n warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n }\n\n return Array.isArray(places)\n ? places.reduce(assignChildIndex, {})\n : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n if (child.data && child.data.attrs && child.data.attrs.place) {\n params[child.data.attrs.place] = child;\n }\n return params\n}\n\nfunction assignChildIndex (params, child, index) {\n params[index] = child;\n return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/* */\n\nvar numberComponent = {\n name: 'i18n-n',\n functional: true,\n props: {\n tag: {\n type: [String, Boolean, Object],\n default: 'span'\n },\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n },\n locale: {\n type: String\n }\n },\n render: function render (h, ref) {\n var props = ref.props;\n var parent = ref.parent;\n var data = ref.data;\n\n var i18n = parent.$i18n;\n\n if (!i18n) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot find VueI18n instance!');\n }\n return null\n }\n\n var key = null;\n var options = null;\n\n if (isString(props.format)) {\n key = props.format;\n } else if (isObject(props.format)) {\n if (props.format.key) {\n key = props.format.key;\n }\n\n // Filter out number format options only\n options = Object.keys(props.format).reduce(function (acc, prop) {\n var obj;\n\n if (includes(numberFormatKeys, prop)) {\n return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n }\n return acc\n }, null);\n }\n\n var locale = props.locale || i18n.locale;\n var parts = i18n._ntp(props.value, locale, key, options);\n\n var values = parts.map(function (part, index) {\n var obj;\n\n var slot = data.scopedSlots && data.scopedSlots[part.type];\n return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n });\n\n var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n return tag\n ? h(tag, {\n attrs: data.attrs,\n 'class': data['class'],\n staticClass: data.staticClass\n }, values)\n : values\n }\n};\n\n/* */\n\nfunction bind (el, binding, vnode) {\n if (!assert(el, vnode)) { return }\n\n t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n if (!assert(el, vnode)) { return }\n\n var i18n = vnode.context.$i18n;\n if (localeEqual(el, vnode) &&\n (looseEqual(binding.value, binding.oldValue) &&\n looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return\n }\n\n var i18n = vnode.context.$i18n || {};\n if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n el.textContent = '';\n }\n el._vt = undefined;\n delete el['_vt'];\n el._locale = undefined;\n delete el['_locale'];\n el._localeMessage = undefined;\n delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n var vm = vnode.context;\n if (!vm) {\n warn('Vue instance does not exists in VNode context');\n return false\n }\n\n if (!vm.$i18n) {\n warn('VueI18n instance does not exists in Vue instance');\n return false\n }\n\n return true\n}\n\nfunction localeEqual (el, vnode) {\n var vm = vnode.context;\n return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n var ref$1, ref$2;\n\n var value = binding.value;\n\n var ref = parseValue(value);\n var path = ref.path;\n var locale = ref.locale;\n var args = ref.args;\n var choice = ref.choice;\n if (!path && !locale && !args) {\n warn('value type not supported');\n return\n }\n\n if (!path) {\n warn('`path` is required in v-t directive');\n return\n }\n\n var vm = vnode.context;\n if (choice != null) {\n el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n } else {\n el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n }\n el._locale = vm.$i18n.locale;\n el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n var path;\n var locale;\n var args;\n var choice;\n\n if (isString(value)) {\n path = value;\n } else if (isPlainObject(value)) {\n path = value.path;\n locale = value.locale;\n args = value.args;\n choice = value.choice;\n }\n\n return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n var params = [];\n\n locale && params.push(locale);\n if (args && (Array.isArray(args) || isPlainObject(args))) {\n params.push(args);\n }\n\n return params\n}\n\nvar Vue;\n\nfunction install (_Vue, options) {\n if ( options === void 0 ) options = { bridge: false };\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && install.installed && _Vue === Vue) {\n warn('already installed.');\n return\n }\n install.installed = true;\n\n Vue = _Vue;\n\n var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && version < 2) {\n warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n return\n }\n\n extend(Vue);\n Vue.mixin(defineMixin(options.bridge));\n Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n Vue.component(interpolationComponent.name, interpolationComponent);\n Vue.component(numberComponent.name, numberComponent);\n\n // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n var strats = Vue.config.optionMergeStrategies;\n strats.i18n = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n };\n}\n\n/* */\n\nvar BaseFormatter = function BaseFormatter () {\n this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n if (!values) {\n return [message]\n }\n var tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message);\n this._caches[message] = tokens;\n }\n return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n var tokens = [];\n var position = 0;\n\n var text = '';\n while (position < format.length) {\n var char = format[position++];\n if (char === '{') {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n\n text = '';\n var sub = '';\n char = format[position++];\n while (char !== undefined && char !== '}') {\n sub += char;\n char = format[position++];\n }\n var isClosed = char === '}';\n\n var type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type: type });\n } else if (char === '%') {\n // when found rails i18n syntax, skip text capture\n if (format[(position)] !== '{') {\n text += char;\n }\n } else {\n text += char;\n }\n }\n\n text && tokens.push({ type: 'text', value: text });\n\n return tokens\n}\n\nfunction compile (tokens, values) {\n var compiled = [];\n var index = 0;\n\n var mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') { return compiled }\n\n while (index < tokens.length) {\n var token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break\n case 'named':\n if (mode === 'named') {\n compiled.push((values)[token.value]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n }\n }\n break\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n warn(\"Detect 'unknown' type of token!\");\n }\n break\n }\n index++;\n }\n\n return compiled\n}\n\n/* */\n\n/**\n * Path parser\n * - Inspired:\n * Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n 'ws': [BEFORE_PATH],\n 'ident': [IN_IDENT, APPEND],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n 'ws': [IN_PATH],\n '.': [BEFORE_IDENT],\n '[': [IN_SUB_PATH],\n 'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n 'ws': [BEFORE_IDENT],\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n 'ident': [IN_IDENT, APPEND],\n '0': [IN_IDENT, APPEND],\n 'number': [IN_IDENT, APPEND],\n 'ws': [IN_PATH, PUSH],\n '.': [BEFORE_IDENT, PUSH],\n '[': [IN_SUB_PATH, PUSH],\n 'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n \"'\": [IN_SINGLE_QUOTE, APPEND],\n '\"': [IN_DOUBLE_QUOTE, APPEND],\n '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n ']': [IN_PATH, PUSH_SUB_PATH],\n 'eof': ERROR,\n 'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n \"'\": [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n '\"': [IN_SUB_PATH, APPEND],\n 'eof': ERROR,\n 'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n var a = str.charCodeAt(0);\n var b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27)\n ? str.slice(1, -1)\n : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n if (ch === undefined || ch === null) { return 'eof' }\n\n var code = ch.charCodeAt(0);\n\n switch (code) {\n case 0x5B: // [\n case 0x5D: // ]\n case 0x2E: // .\n case 0x22: // \"\n case 0x27: // '\n return ch\n\n case 0x5F: // _\n case 0x24: // $\n case 0x2D: // -\n return 'ident'\n\n case 0x09: // Tab\n case 0x0A: // Newline\n case 0x0D: // Return\n case 0xA0: // No-break space\n case 0xFEFF: // Byte Order Mark\n case 0x2028: // Line Separator\n case 0x2029: // Paragraph Separator\n return 'ws'\n }\n\n return 'ident'\n}\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 */\n\nfunction formatSubPath (path) {\n var trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n var keys = [];\n var index = -1;\n var mode = BEFORE_PATH;\n var subPathDepth = 0;\n var c;\n var key;\n var newChar;\n var type;\n var transition;\n var action;\n var typeMap;\n var actions = [];\n\n actions[PUSH] = function () {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n\n actions[APPEND] = function () {\n if (key === undefined) {\n key = newChar;\n } else {\n key += newChar;\n }\n };\n\n actions[INC_SUB_PATH_DEPTH] = function () {\n actions[APPEND]();\n subPathDepth++;\n };\n\n actions[PUSH_SUB_PATH] = function () {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = IN_SUB_PATH;\n actions[APPEND]();\n } else {\n subPathDepth = 0;\n if (key === undefined) { return false }\n key = formatSubPath(key);\n if (key === false) {\n return false\n } else {\n actions[PUSH]();\n }\n }\n };\n\n function maybeUnescapeQuote () {\n var nextChar = path[index + 1];\n if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[APPEND]();\n return true\n }\n }\n\n while (mode !== null) {\n index++;\n c = path[index];\n\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue\n }\n\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap['else'] || ERROR;\n\n if (transition === ERROR) {\n return // parse error\n }\n\n mode = transition[0];\n action = actions[transition[1]];\n if (action) {\n newChar = transition[2];\n newChar = newChar === undefined\n ? c\n : newChar;\n if (action() === false) {\n return\n }\n }\n\n if (mode === AFTER_PATH) {\n return keys\n }\n }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n var hit = this._cache[path];\n if (!hit) {\n hit = parse$1(path);\n if (hit) {\n this._cache[path] = hit;\n }\n }\n return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n if (!isObject(obj)) { return null }\n\n var paths = this.parsePath(path);\n if (paths.length === 0) {\n return null\n } else {\n var length = paths.length;\n var last = obj;\n var i = 0;\n while (i < length) {\n var value = last[paths[i]];\n if (value === undefined || value === null) {\n return null\n }\n last = value;\n i++;\n }\n\n return last\n }\n};\n\n/* */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-zA-Z]+)?:(?:[\\w\\-_|./]+|\\([\\w\\-_:|./]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-zA-Z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n 'upper': function (str) { return str.toLocaleUpperCase(); },\n 'lower': function (str) { return str.toLocaleLowerCase(); },\n 'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #290\n /* istanbul ignore if */\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n var locale = options.locale || 'en-US';\n var fallbackLocale = options.fallbackLocale === false\n ? false\n : options.fallbackLocale || 'en-US';\n var messages = options.messages || {};\n var dateTimeFormats = options.dateTimeFormats || options.datetimeFormats || {};\n var numberFormats = options.numberFormats || {};\n\n this._vm = null;\n this._formatter = options.formatter || defaultFormatter;\n this._modifiers = options.modifiers || {};\n this._missing = options.missing || null;\n this._root = options.root || null;\n this._sync = options.sync === undefined ? true : !!options.sync;\n this._fallbackRoot = options.fallbackRoot === undefined\n ? true\n : !!options.fallbackRoot;\n this._fallbackRootWithEmptyString = options.fallbackRootWithEmptyString === undefined\n ? true\n : !!options.fallbackRootWithEmptyString;\n this._formatFallbackMessages = options.formatFallbackMessages === undefined\n ? false\n : !!options.formatFallbackMessages;\n this._silentTranslationWarn = options.silentTranslationWarn === undefined\n ? false\n : options.silentTranslationWarn;\n this._silentFallbackWarn = options.silentFallbackWarn === undefined\n ? false\n : !!options.silentFallbackWarn;\n this._dateTimeFormatters = {};\n this._numberFormatters = {};\n this._path = new I18nPath();\n this._dataListeners = new Set();\n this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n ? false\n : !!options.preserveDirectiveContent;\n this.pluralizationRules = options.pluralizationRules || {};\n this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n this._postTranslation = options.postTranslation || null;\n this._escapeParameterHtml = options.escapeParameterHtml || false;\n\n if ('__VUE_I18N_BRIDGE__' in options) {\n this.__VUE_I18N_BRIDGE__ = options.__VUE_I18N_BRIDGE__;\n }\n\n /**\n * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n * @param choicesLength {number} an overall amount of available choices\n * @returns a final choice index\n */\n this.getChoiceIndex = function (choice, choicesLength) {\n var thisPrototype = Object.getPrototypeOf(this$1);\n if (thisPrototype && thisPrototype.getChoiceIndex) {\n var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)\n }\n\n // Default (old) getChoiceIndex implementation - english-compatible\n var defaultImpl = function (_choice, _choicesLength) {\n _choice = Math.abs(_choice);\n\n if (_choicesLength === 2) {\n return _choice\n ? _choice > 1\n ? 1\n : 0\n : 1\n }\n\n return _choice ? Math.min(_choice, 2) : 0\n };\n\n if (this$1.locale in this$1.pluralizationRules) {\n return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])\n } else {\n return defaultImpl(choice, choicesLength)\n }\n };\n\n\n this._exist = function (message, key) {\n if (!message || !key) { return false }\n if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n // fallback for flat key\n if (message[key]) { return true }\n return false\n };\n\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n\n this._initVM({\n locale: locale,\n fallbackLocale: fallbackLocale,\n messages: messages,\n dateTimeFormats: dateTimeFormats,\n numberFormats: numberFormats\n });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true },sync: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n var paths = [];\n\n var fn = function (level, locale, message, paths) {\n if (isPlainObject(message)) {\n Object.keys(message).forEach(function (key) {\n var val = message[key];\n if (isPlainObject(val)) {\n paths.push(key);\n paths.push('.');\n fn(level, locale, val, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push(key);\n fn(level, locale, val, paths);\n paths.pop();\n }\n });\n } else if (isArray(message)) {\n message.forEach(function (item, index) {\n if (isPlainObject(item)) {\n paths.push((\"[\" + index + \"]\"));\n paths.push('.');\n fn(level, locale, item, paths);\n paths.pop();\n paths.pop();\n } else {\n paths.push((\"[\" + index + \"]\"));\n fn(level, locale, item, paths);\n paths.pop();\n }\n });\n } else if (isString(message)) {\n var ret = htmlTagMatcher.test(message);\n if (ret) {\n var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n if (level === 'warn') {\n warn(msg);\n } else if (level === 'error') {\n error(msg);\n }\n }\n }\n };\n\n fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n this._vm = new Vue({ data: data, __VUE18N__INSTANCE__: true });\n Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n this._dataListeners.add(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n var this$1 = this;\n return this._vm.$watch('$data', function () {\n var listeners = arrayFrom(this$1._dataListeners);\n var i = listeners.length;\n while(i--) {\n Vue.nextTick(function () {\n listeners[i] && listeners[i].$forceUpdate();\n });\n }\n }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale (composer) {\n if (!composer) {\n /* istanbul ignore if */\n if (!this._sync || !this._root) { return null }\n var target = this._vm;\n return this._root.$i18n.vm.$watch('locale', function (val) {\n target.$set(target, 'locale', val);\n target.$forceUpdate();\n }, { immediate: true })\n } else {\n // deal with vue-i18n-bridge\n if (!this.__VUE_I18N_BRIDGE__) { return null }\n var self = this;\n var target$1 = this._vm;\n return this.vm.$watch('locale', function (val) {\n target$1.$set(target$1, 'locale', val);\n if (self.__VUE_I18N_BRIDGE__ && composer) {\n composer.locale.value = val;\n }\n target$1.$forceUpdate();\n }, { immediate: true })\n }\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n if (this._componentInstanceCreatedListener) {\n this._componentInstanceCreatedListener(newI18n, this);\n }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n this._localeChainCache = {};\n this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n var this$1 = this;\n\n var orgLevel = this._warnHtmlInMessage;\n this._warnHtmlInMessage = level;\n if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n var messages = this._getMessages();\n Object.keys(messages).forEach(function (locale) {\n this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n });\n }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nprototypeAccessors.sync.get = function () { return this._sync };\nprototypeAccessors.sync.set = function (val) { this._sync = val; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n if (!isNull(result)) { return result }\n if (this._missing) {\n var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n if (isString(missingRet)) {\n return missingRet\n }\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn(\n \"Cannot translate the value of keypath '\" + key + \"'. \" +\n 'Use the value of keypath as default.'\n );\n }\n }\n\n if (this._formatFallbackMessages) {\n var parsedArgs = parseArgs.apply(void 0, values);\n return this._render(key, interpolateMode, parsedArgs.params, key)\n } else {\n return key\n }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n return (this._fallbackRootWithEmptyString? !val : isNull(val)) && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n return this._silentFallbackWarn instanceof RegExp\n ? this._silentFallbackWarn.test(key)\n : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n return this._silentTranslationWarn instanceof RegExp\n ? this._silentTranslationWarn.test(key)\n : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n locale,\n message,\n key,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n if (!message) { return null }\n\n var pathRet = this._path.getPathValue(message, key);\n if (isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n var ret;\n if (isNull(pathRet)) {\n /* istanbul ignore else */\n if (isPlainObject(message)) {\n ret = message[key];\n if (!(isString(ret) || isFunction(ret))) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function !\"));\n }\n return null\n }\n } else {\n return null\n }\n } else {\n /* istanbul ignore else */\n if (isString(pathRet) || isFunction(pathRet)) {\n ret = pathRet;\n } else {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n warn((\"Value of key '\" + key + \"' is not a string or function!\"));\n }\n return null\n }\n }\n\n // Check for the existence of links within the translated string\n if (isString(ret) && (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0)) {\n ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n }\n\n return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n locale,\n message,\n str,\n host,\n interpolateMode,\n values,\n visitedLinkStack\n) {\n var ret = str;\n\n // Match all the links within the local\n // We are going to replace each of\n // them with its translation\n var matches = ret.match(linkKeyMatcher);\n\n // eslint-disable-next-line no-autofix/prefer-const\n for (var idx in matches) {\n // ie compatible: filter custom array\n // prototype method\n if (!matches.hasOwnProperty(idx)) {\n continue\n }\n var link = matches[idx];\n var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n var linkPrefix = linkKeyPrefixMatches[0];\n var formatterName = linkKeyPrefixMatches[1];\n\n // Remove the leading @:, @.case: and the brackets\n var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n if (includes(visitedLinkStack, linkPlaceholder)) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n }\n return ret\n }\n visitedLinkStack.push(linkPlaceholder);\n\n // Translate the link\n var translated = this._interpolate(\n locale, message, linkPlaceholder, host,\n interpolateMode === 'raw' ? 'string' : interpolateMode,\n interpolateMode === 'raw' ? undefined : values,\n visitedLinkStack\n );\n\n if (this._isFallbackRoot(translated)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n var root = this._root.$i18n;\n translated = root._translate(\n root._getMessages(), root.locale, root.fallbackLocale,\n linkPlaceholder, host, interpolateMode, values\n );\n }\n translated = this._warnDefault(\n locale, linkPlaceholder, translated, host,\n isArray(values) ? values : [values],\n interpolateMode\n );\n\n if (this._modifiers.hasOwnProperty(formatterName)) {\n translated = this._modifiers[formatterName](translated);\n } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n translated = defaultModifiers[formatterName](translated);\n }\n\n visitedLinkStack.pop();\n\n // Replace the link with the translated\n ret = !translated ? ret : ret.replace(link, translated);\n }\n\n return ret\n};\n\nVueI18n.prototype._createMessageContext = function _createMessageContext (values, formatter, path, interpolateMode) {\n var this$1 = this;\n\n var _list = isArray(values) ? values : [];\n var _named = isObject(values) ? values : {};\n var list = function (index) { return _list[index]; };\n var named = function (key) { return _named[key]; };\n var messages = this._getMessages();\n var locale = this.locale;\n\n return {\n list: list,\n named: named,\n values: values,\n formatter: formatter,\n path: path,\n messages: messages,\n locale: locale,\n linked: function (linkedKey) { return this$1._interpolate(locale, messages[locale] || {}, linkedKey, null, interpolateMode, undefined, [linkedKey]); }\n }\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n if (isFunction(message)) {\n return message(\n this._createMessageContext(values, this._formatter || defaultFormatter, path, interpolateMode)\n )\n }\n\n var ret = this._formatter.interpolate(message, values, path);\n\n // If the custom formatter refuses to work - apply the default one\n if (!ret) {\n ret = defaultFormatter.interpolate(message, values, path);\n }\n\n // if interpolateMode is **not** 'string' ('row'),\n // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n var follow = false;\n if (!includes(chain, item)) {\n follow = true;\n if (item) {\n follow = item[item.length - 1] !== '!';\n item = item.replace(/!/g, '');\n chain.push(item);\n if (blocks && blocks[item]) {\n follow = blocks[item];\n }\n }\n }\n return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n var follow;\n var tokens = locale.split('-');\n do {\n var item = tokens.join('-');\n follow = this._appendItemToChain(chain, item, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && (follow === true))\n return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n var follow = true;\n for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n var locale = block[i];\n if (isString(locale)) {\n follow = this._appendLocaleToChain(chain, locale, blocks);\n }\n }\n return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n if (start === '') { return [] }\n\n if (!this._localeChainCache) {\n this._localeChainCache = {};\n }\n\n var chain = this._localeChainCache[start];\n if (!chain) {\n if (!fallbackLocale) {\n fallbackLocale = this.fallbackLocale;\n }\n chain = [];\n\n // first block defined by start\n var block = [start];\n\n // while any intervening block found\n while (isArray(block)) {\n block = this._appendBlockToChain(\n chain,\n block,\n fallbackLocale\n );\n }\n\n // last block defined by default\n var defaults;\n if (isArray(fallbackLocale)) {\n defaults = fallbackLocale;\n } else if (isObject(fallbackLocale)) {\n /* $FlowFixMe */\n if (fallbackLocale['default']) {\n defaults = fallbackLocale['default'];\n } else {\n defaults = null;\n }\n } else {\n defaults = fallbackLocale;\n }\n\n // convert defaults to array\n if (isString(defaults)) {\n block = [defaults];\n } else {\n block = defaults;\n }\n if (block) {\n this._appendBlockToChain(\n chain,\n block,\n null\n );\n }\n this._localeChainCache[start] = chain;\n }\n return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n messages,\n locale,\n fallback,\n key,\n host,\n interpolateMode,\n args\n) {\n var chain = this._getLocaleChain(locale, fallback);\n var res;\n for (var i = 0; i < chain.length; i++) {\n var step = chain[i];\n res =\n this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n if (!isNull(res)) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n }\n return res\n }\n }\n return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n var ref;\n\n var values = [], len = arguments.length - 4;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n if (!key) { return '' }\n\n var parsedArgs = parseArgs.apply(void 0, values);\n if(this._escapeParameterHtml) {\n parsedArgs.params = escapeParams(parsedArgs.params);\n }\n\n var locale = parsedArgs.locale || _locale;\n\n var ret = this._translate(\n messages, locale, this.fallbackLocale, key,\n host, 'string', parsedArgs.params\n );\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n } else {\n ret = this._warnDefault(locale, key, ret, host, values, 'string');\n if (this._postTranslation && ret !== null && ret !== undefined) {\n ret = this._postTranslation(ret, key);\n }\n return ret\n }\n};\n\nVueI18n.prototype.t = function t (key) {\n var ref;\n\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n var ret =\n this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n }\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.i(key, locale, values)\n } else {\n return this._warnDefault(locale, key, ret, host, [values], 'raw')\n }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n /* istanbul ignore if */\n if (!key) { return '' }\n\n if (!isString(locale)) {\n locale = this.locale;\n }\n\n return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n key,\n _locale,\n messages,\n host,\n choice\n) {\n var ref;\n\n var values = [], len = arguments.length - 5;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n if (!key) { return '' }\n if (choice === undefined) {\n choice = 1;\n }\n\n var predefined = { 'count': choice, 'n': choice };\n var parsedArgs = parseArgs.apply(void 0, values);\n parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n /* istanbul ignore if */\n if (!message || !isString(message)) { return null }\n var choices = message.split('|');\n\n choice = this.getChoiceIndex(choice, choices.length);\n if (!choices[choice]) { return message }\n return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n var ref;\n\n var values = [], len = arguments.length - 2;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n var args = [], len = arguments.length - 3;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n var _locale = parseArgs.apply(void 0, args).locale || locale;\n return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n }\n this._vm.$set(this._vm.messages, locale, merge(\n typeof this._vm.messages[locale] !== 'undefined' && Object.keys(this._vm.messages[locale]).length\n ? Object.assign({}, this._vm.messages[locale])\n : {},\n message\n ));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, format);\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._dateTimeFormatters[id];\n }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n value,\n locale,\n fallback,\n dateTimeFormats,\n key\n) {\n var _locale = locale;\n var formats = dateTimeFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = dateTimeFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n var id = _locale + \"__\" + key;\n var formatter = this._dateTimeFormatters[id];\n if (!formatter) {\n formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n }\n return formatter.format(value)\n }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n return ''\n }\n\n if (!key) {\n return new Intl.DateTimeFormat(locale).format(value)\n }\n\n var ret =\n this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.d(value, key, locale)\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.d = function d (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._d(value, locale, key)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, format);\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n // eslint-disable-next-line no-autofix/prefer-const\n for (var key in format) {\n var id = locale + \"__\" + key;\n\n if (!this._numberFormatters.hasOwnProperty(id)) {\n continue\n }\n\n delete this._numberFormatters[id];\n }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n value,\n locale,\n fallback,\n numberFormats,\n key,\n options\n) {\n var _locale = locale;\n var formats = numberFormats[_locale];\n\n var chain = this._getLocaleChain(locale, fallback);\n for (var i = 0; i < chain.length; i++) {\n var current = _locale;\n var step = chain[i];\n formats = numberFormats[step];\n _locale = step;\n // fallback locale\n if (isNull(formats) || isNull(formats[key])) {\n if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n }\n } else {\n break\n }\n }\n\n if (isNull(formats) || isNull(formats[key])) {\n return null\n } else {\n var format = formats[key];\n\n var formatter;\n if (options) {\n // If options specified - create one time number formatter\n formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n } else {\n var id = _locale + \"__\" + key;\n formatter = this._numberFormatters[id];\n if (!formatter) {\n formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n }\n }\n return formatter\n }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n }\n return ''\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.format(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.format(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n } else {\n return ret || ''\n }\n};\n\nVueI18n.prototype.n = function n (value) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n var locale = this.locale;\n var key = null;\n var options = null;\n\n if (args.length === 1) {\n if (isString(args[0])) {\n key = args[0];\n } else if (isObject(args[0])) {\n if (args[0].locale) {\n locale = args[0].locale;\n }\n if (args[0].key) {\n key = args[0].key;\n }\n\n // Filter out number format options only\n options = Object.keys(args[0]).reduce(function (acc, key) {\n var obj;\n\n if (includes(numberFormatKeys, key)) {\n return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n }\n return acc\n }, null);\n }\n } else if (args.length === 2) {\n if (isString(args[0])) {\n key = args[0];\n }\n if (isString(args[1])) {\n locale = args[1];\n }\n }\n\n return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n /* istanbul ignore if */\n if (!VueI18n.availabilities.numberFormat) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n }\n return []\n }\n\n if (!key) {\n var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n return nf.formatToParts(value)\n }\n\n var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n var ret = formatter && formatter.formatToParts(value);\n if (this._isFallbackRoot(ret)) {\n if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n }\n /* istanbul ignore if */\n if (!this._root) { throw Error('unexpected error') }\n return this._root.$i18n._ntp(value, locale, key, options)\n } else {\n return ret || []\n }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n get: function get () {\n if (!availabilities) {\n var intlDefined = typeof Intl !== 'undefined';\n availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n };\n }\n\n return availabilities\n }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.27.2';\n\nexport default VueI18n;\n","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\n\nimport sharedLocalesFr from '../locales/fr/shared.json';\nimport sharedLocalesNl from '../locales/nl/shared.json';\n\nVue.use(VueI18n);\n\nconst i18n = new VueI18n({\n locale: 'fr',\n fallbackLocale: 'fr',\n silentTranslationWarn: true,\n messages: {\n ...sharedLocalesFr,\n ...sharedLocalesNl,\n },\n});\n\nexport default i18n;\n"],"names":["numberFormatKeys","warn","msg","err","error","isArray","isObject","obj","isBoolean","val","isString","toString","OBJECT_STRING","isPlainObject","isNull","isFunction","parseArgs","args","len","locale","params","looseClone","remove","arr","item","arrayFrom","ret","a","includes","hasOwnProperty","hasOwn","key","merge","target","arguments$1","output","i","source","looseEqual","b","isObjectA","isObjectB","isArrayA","isArrayB","e","keysA","keysB","escapeHtml","rawText","escapeParams","extend","Vue","values","i18n","choice","value","ref","defineMixin","bridge","mounted","options","VueI18n","localeMessages","_i18n","resource","rootI18n","localeMessages$1","_i18n$1","sharedMessages","self","interpolationComponent","h","data","parent","props","slots","$i18n","path","places","children","onlyHasDefaultPlace","useLegacyPlaces","tag","prop","createParamsFromPlaces","child","everyPlace","vnodeHasPlaceAttribute","assignChildPlace","assignChildIndex","index","vnode","numberComponent","acc","parts","part","slot","bind","el","binding","assert","t","update","oldVNode","localeEqual","unbind","vm","ref$1","ref$2","parseValue","makeParams","install","_Vue","strats","parentVal","childVal","BaseFormatter","message","tokens","parse","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","position","text","char","sub","isClosed","type","compiled","mode","token","APPEND","PUSH","INC_SUB_PATH_DEPTH","PUSH_SUB_PATH","BEFORE_PATH","IN_PATH","BEFORE_IDENT","IN_IDENT","IN_SUB_PATH","IN_SINGLE_QUOTE","IN_DOUBLE_QUOTE","AFTER_PATH","ERROR","pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","str","getPathCharType","ch","code","formatSubPath","trimmed","parse$1","keys","subPathDepth","c","newChar","transition","action","typeMap","actions","maybeUnescapeQuote","nextChar","I18nPath","hit","paths","length","last","htmlTagMatcher","linkKeyMatcher","linkKeyPrefixMatcher","bracketsMatcher","defaultModifiers","defaultFormatter","this$1","fallbackLocale","messages","dateTimeFormats","numberFormats","choicesLength","thisPrototype","prototypeGetChoiceIndex","defaultImpl","_choice","_choicesLength","prototypeAccessors","level","fn","silent","listeners","composer","target$1","newI18n","fallback","handler","formatter","preserve","orgLevel","result","interpolateMode","missingRet","parsedArgs","host","visitedLinkStack","pathRet","matches","idx","link","linkKeyPrefixMatches","linkPrefix","formatterName","linkPlaceholder","translated","root","_list","_named","list","named","linkedKey","chain","blocks","follow","block","start","defaults","res","step","_locale","predefined","choices","id","formats","current","nf","availabilities","intlDefined","VueI18n$1","sharedLocalesFr","sharedLocalesNl"],"mappings":"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","x_google_ignoreList":[0]}